LoginSignup
26
36

More than 1 year has passed since last update.

Haskellを始める時に役立つ資料

Last updated at Posted at 2022-03-08

Haskellを始める時に役立つ資料


関数型プログラミングが初めてで、読んでもちょっとわからないって方は
OCamlをおすすめします。
OCamlで始める関数型プログラミング
プログラミングの基礎は名著です。この本でわからないって方は厳しいと思います。



※追記
haskellをやっていて、副作用云々はいいから..
ってなった方はOCamlベースのF#がおすすめです。
haskellと並行してやるのもおすすめです。
F# を知ってほしい




日本語リンク集


Haskell 超入門
網羅的に説明されており、とりあえず始める人におすすめ


ウォークスルー Haskell
網羅的に説明されており、とりあえず始める人におすすめ


Haskell 基本構文のまとめ
すごいHaskell楽しく学ぼうの1〜5章の内容をまとめ


Haskellらしさって?「型」と「関数」の基本を解説!【第二言語としてのHaskell】
実践編!Haskellらしいアプリケーション開発。まず型を定義すべし【第二言語としてのHaskell】
発展編! Haskellで「型」のポテンシャルを最大限に引き出すには?【第二言語としてのHaskell】
力作 わかりやすい


お気楽 Haskell プログラミング入門
お気楽じゃありません。じっくり学べます。


Haskell個人メモ
確認用


Haskellチートシート
確認用


j5ik2o/haskell-cheat-sheet.md
確認用


とほほのHaskell入門
忘れた時の確認用


What I Wish I Knew When Learning Haskell 2.2 の日本語訳
全部翻訳ではありませんが有用です


やさしい Haskell 入門
古いですが読んで見ても


すごいH本が楽しかったのでまとめた
定番本のまとめ

すごいH本読んだからまとめ 1 「関数の呼び方、関数の定義の仕方」
定番本のまとめ

本物のプログラマはHaskellを使う
日経ソフトウエア 連載



関数の合成


Haskellの関数合成、または (.) 関数


関数合成を機械的に扱う試み


Haskellの関数合成でひっかかってたこと


Haskell の関数合成



モナド

完全に理解しなくても、プログラミングしていく過程で理解していく
で良いと思います。

箱で考えるFunctor、ApplicativeそしてMonad
絵を見ながら考えるとわかりやすい


だんだんわかる モナド入門
絵を見てからおすすめ


関数型つまみ食い: モナドが難しいと思われている理由
わかりやすい


作って理解する Haskell の Monad
手を動かすのは大事


30分でわかるJavaScriptプログラマのためのモナド入門
一部で誤解されてる方。自分的にはすごく役に立ちました。


難しいのは見た目だけ!?Haskellのモナドの「たった2つのルール」を簡単に理解する!
わかりやすい


モナドはポケモン。数学が出てこないモナド入門
わかりやすい


世界一わかりやすいStateモナドのしくみ、あるいは猫でもわからないモナドのおはなし
モナドって結局なんなの


爆速でモナドを理解する
演算子>=>について


モナドを理解する - 迷える者への手引き
じっくりやらないと理解できないかも


モナドって結局何なのよ?
わかりやすい


いろんなMonadをdo構文で
do構文


モナド則がちょっと分かった?
モナド則の絵を描いてみた
IOモナドを素手で触ってみた
Haskell 超入門の7shiさん。


モナド初学者の鬼門, Effect / IO モナドを攻略する
純粋な関数と純粋でない関数


Maybeモナド と Listモナド
問題集


絶対に理解出来ないモナドチュートリアル
悩んで進展が無いならコードを書こう


確率とモナドと確率的プログラミング
確率分布はモナドだ


モナドのすべて
モナモナ


「Haskellのモナド完全に理解した」試験問題
チェック


圏論入門
圏論は知らなくてもプログラミング出来ますが、時間があれば




ビルドツール


Haskellのビルドツール"stack"の紹介


Haskellのstackによるプロジェクトについて



Haskell 文字列


Haskell 文字列変換入門
それぞれの文字列の特徴

Haskellの文字列型:分類と特徴
Haskellの文字列型について



SDL2のstack buildが失敗する

msys2の環境で


mingw-w64-x86_64-pkg-config

mingw-w64-x86_64-pkgconf

がコンフリクトして起こる問題のようです。

pkgconfはcmake等に必要

pkg-configはSDL2に必要

うーん

ghcup, stack関連のフォルダ全削除して
ghcupで再びクリーンな環境で

pacman -S mingw-w64-x86_64-pkgconf mingw-w64-x86_64-SDL2 mingw-w64-x86_64-SDL2_mixer mingw-w64-x86_64-SDL2_ttf

でstack buildすると上手くいきました。



プログラミング サンプル


プログラム・プロムナード/Haskellプログラミング


AtCoder に登録したら解くべき精選過去問 10 問を Haskell で解いてみた


Ninety-Nine Haskell Problems


Haskell for all


Haskell by Example


CPUの創りかた


Haskell で簡単な CLI ツールを作ってみる


Haskellで処理系を作る


cyga/real-world-haskell


lotz84/haskell
すごい情報量。1つ1つが下記のような感じです
graphics, 構文解析器 , web



F#


MSが作ったOcamlベースの言語 .NET

OCamlを始める時に役立つ資料

F#を始める時に役立つ資料



Windows GUI

とりあえず覚える為にWindowsアプリ作成するか
WindowsアプリだしGUIはどうしようって方は

win32 api

Win32をラッピング
haskell/win32

win32を使ったサンプル

Webview2

webview2でGUIをHTMLで作成
Webview2呼び出しをDLL化しました。
DLLはC++で作成

メッセージでやり取り、jsをインジェクション
https://github.com/kxkx5150/Haskell-Webview2









26
36
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
26
36