Haskell勉強会

関数型プログラミングの学習日記

Haskell

Haskell入門 1.1.1 関数型プログラミング言語

「Haskell入門 関数型プログラミング言語の基礎と実践」の読書メモ。 第1章 はじめてのHaskell 1.1.1 関数型プログラミング言語(p.3) haskell.hatenablog.com 1.1.1 関数型プログラミング言語 関数型プログラミングの定義 参照透過性 式(expression) 式…

Haskell入門 1.1 Haskell の特徴

「Haskell入門 関数型プログラミング言語の基礎と実践」の読書メモ。 第1章 はじめてのHaskell 1.1 Haskell の特徴(p.2) haskell.hatenablog.com 1.1 Haskell の特徴 Column Haskellの歴史 第1章では Haskellの特徴 Stack(ビルドツール)を中心とした開発…

Haskell入門 関数型プログラミング言語の基礎と実践

Haskellの本を買いました。 これまでに買ったHaskellの本と少し違う切り口の説明なので、Haskellの学習方法について参考にしてみたいと思います。 「Haskell入門 関数型プログラミング言語の基礎と実践」 Haskell入門 関数型プログラミング言語の基礎と実践 …

入門Haskellプログラミング UNIT 1 関数型プログラミングの基礎

入門Haskellプログラミングの読書メモ。 haskell.hatenablog.com (p.13 ~) UNIT 1 関数型プログラミングの基礎 関数型プログラミング学習時の注意点 UNIT 1 関数型プログラミングの基礎 プログラミングという行為を理解する方法には主に2つあります。 命令…

入門Haskellプログラミング LESSON 1 Haskellを使用するための準備

入門Haskellプログラミングの読書メモ。 haskell.hatenablog.com (p.1 ~) LESSON 1 Haskellを使用するための準備 Haskellのインストール GHCiの利用 LESSON 1 Haskellを使用するための準備 レッスン1では、次の内容を取り上げます。 Haskellの開発ツールの…

ghcでHaskellのコンパイル

UbuntuでHaskellを学習。 haskell.hatenablog.com (p.3) 前回の続きです。 haskell.hatenablog.com main = do print "Hello, World!" インタープリターで一時的にHaskellコードを実行するのではなく、コンパイラーでコンパイルする方法をメモ。 端末を起動…

GHCiでHaskellスクリプトの実行

UbuntuでHaskellを学習。 haskell.hatenablog.com (p.3) とりあえず、ユーザーのホームディレクトリーに「haskell」というフォルダーを作る。 VSCodeで「hello.hs」という空ファイルを作る。 以下のコードを書く。 main = do print "Hello, World!" 端末を…

Haskellの代数的データ型

Haskellの学習で直和型や直積型など、代数的データ型を理解すれば良いという話がありました。 haskell.hatenablog.com 本物のHaskellを書くには何が必要ですか? この言語の中核は非常に単純です。 作成方法と使用方法を理解している場合 純粋な関数と値 パ…

Haskellを習得するための4つのポイント

Haskellを習得するコツが提案されていました。 1.純粋な関数と値 2.パターンマッチング 3.直和型と直積型 4.副作用を作るためにIOをつなぐ方法 williamyaoh.com Haskellを習得するために、最初は難しいことを学ばなくても大丈夫、とのこと。 In part…

圏論とダイクストラの構造化プログラミングの対応

YouTubeでモナド(圏論)の動画を見ていたら、興味深い説明がありました。 www.youtube.com 上記動画のスライド speakerdeck.com 動画だと5分35秒あたり、スライドだと19ページ目に、モナドの使いどころの説明がありました。 ダイクストラの構造化プログラミ…

モナドの説明図

モナドの説明図で分かりやすい図がありました。(メモ) 後で深掘りしてみたいと思います。 www.cs-study.com 1.モナド (Monads) モナドは,関数型言語で副作用を閉じ込めるのに使われているという触れ込みなどでプログラマの関心を集めています. ここで…

Windows上のVisual Studio CodeでHaskellを書く環境を整えたい

普段はWindowsでVisual Studio Codeを使っています。 Haskellの練習をするときも、使い慣れているVS Codeが使えたらいいな、と思いました。 Haskellを書きやすくするためのプラグインがいろいろあるみたいだけど、導入や設定の方法がよく分かりませんでした…

ウォークスルー Haskell

「型クラス」など、Haskellに出てくる用語を検索していたら、分かりやすい説明がありました。 walk.northcol.org 1. 型クラスとは型クラス(type class)は,データ型をカテゴライズする役割を持つ概念です. 例えば,数値型全般を表す Num という型クラスは…

プログラミングHaskell 第2版

「プログラミングHaskell 第2版」というHaskellの本を買いました。 プログラミングHaskell 第2版(紙書籍+電子書籍)www.lambdanote.com プログラミングHaskell 第2版 作者: Grahum Hutton,山本和彦 出版社/メーカー: ラムダノート 発売日: 2019/08/02 メデ…

入門Haskellプログラミング

今日本屋に行って関数型プログラミングの本を探してみると、Haskellの新刊がありました。 入門Haskellプログラミング 作者: Will Kurt,株式会社クイープ 出版社/メーカー: 翔泳社 発売日: 2019/07/31 メディア: 大型本 この商品を含むブログを見る パラパラ…

Haskellの右結合と左結合

Haskellの勉強メモ。 haskell.hatenablog.com (p.121) 関数の型 Haskellでは、演算子もまた関数です。 演算子に()(丸カッコ)を付けると、関数として扱えます。 まだ、:tでその型も確認できます。 Prelude> :t (&&) (&&) :: Bool -> Bool -> Bool ->が2個も…

Haskellの矢印の記号「->」の読み方

Haskellの勉強メモ。 haskell.hatenablog.com (p.120) 関数の型 Prelude> :t not not :: Bool -> Bool ->という矢印のような表現が型の部分に出てきました。 関数の型はこのように「何かの型->何かの型」という型で表され、「矢印の元の型の値を受け取って、…

Haskellで型を調べる:tコマンド

Haskellの勉強メモ。 haskell.hatenablog.com (p.119) 型の確認と型注釈 GHCiでは、:t(コロンt)コマンドで実際にGHCiが認識している型を確認できます。 「:t」とは「:type」の省略形でした。 haskell.jp 型(type)の情報の出力(:tコマンド) GHCの対話環境…

Haskellのインストール Stack編

OCamlの本を読み終えて、積読になってたHaskellの本を読み始めました。 haskell.hatenablog.com 「関数プログラミング実践入門」(増補改定)という本です。 以前読んだときは、なんか分かりづらい話だな!と思いましたw 関数型プログラミングの本を数冊読…

[増補改訂] 関数プログラミング実践入門

「関数プログラミング実践入門」というHaskellの本を買いました。 この本は、2016年に改訂版が出ているので、間違って古いほうを買わないように気を付けてください。 [増補改訂]関数プログラミング実践入門 ──簡潔で、正しいコードを書くために (WEB+DB PRES…

新しいHaskell本「Haskell入門 関数型プログラミング言語の基礎と実践」

Amazon見てたら、なんか新しいHaskell本が出るみたい。 Haskell入門 関数型プログラミング言語の基礎と実践 作者: 本間雅洋,類地孝介,逢坂時響 出版社/メーカー: 技術評論社 発売日: 2017/09/27 メディア: 大型本 この商品を含むブログを見る 発売日は、今月…

HaskellのGHCiでファイルに書いたプログラムをロードする方法

Haskellのプログラムをファイルに書いて、インタープリター(GHCi)で読み込み、実行する方法のメモ。 スクリプトファイルの用意 フォルダを用意する ファイルを作成する サンプルコードを書く GHCiで実行する GHCiを起動する 外部ファイルからプログラムを…

Haskell コメントの書き方

Haskellのプログラム中にコメントを書くには、 単一行:「--」の後に続けて書く。 複数行:「{-」と「-}」の間に書く。 (参考) Haskell-プログラムの記述について CapmNetwork -- コメントmain = putStrLn "Hello, Haskell!" {-複数行でのコメント-} 基本…

R.I.P. 村主 崇行さん

「すごいHaskellたのしく学ぼう!」の情報を検索していたら、翻訳者の一人、村主崇行さんがお亡くなりになっていました。(ビックリ!) すごいHaskellたのしく学ぼう! 作者: Miran Lipovača,田中英行,村主崇行 出版社/メーカー: オーム社 発売日: 2012/05/23…

Haskellの解説記事

Haskellの教材になりそうな情報を集めてみました。 ネットの記事は、体系化されていない断片的な情報になりがちだけど、狭い範囲を重点的に解説してくれていればOK? はてなブックマーク Qiita 「すごいHaskellたのしく学ぼう!」まとめ はてなブックマーク …

Haskellのインストール

Haskellを練習するために、Haskellの実行環境を用意します。 haskell.hatenablog.com Haskell Platform Stack やっぱHaskell Platform Haskellの動作チェック ghciの起動 ghciの終了 まとめ Haskell Platform (「イントロダクション」p.viii ~) Haskellを…

すごいHaskellたのしく学ぼう!

Haskellの参考書で、分かりやすそうな本がありました。 「すごいHaskell たのしく学ぼう!」という本です。 すごいHaskellたのしく学ぼう! 作者: Miran Lipovača,田中英行,村主崇行 出版社/メーカー: オーム社 発売日: 2012/05/23 メディア: 単行本(ソフトカ…