人気ブログランキング |

カテゴリ:Haskell 記事リスト( 17 )

ラムダ計算

Parsec の練習としてラムダ計算を行うインタープリタを作ったが、テストで使っていて、ラムダ計算自身にプログラム言語としての面白さがあるのではないかと感じるようになってきた。そこで、ラムダ計算の記事リストを作ることにする。ラムダ計算についてはほとんど知らないので、このリストについては拡充する予定だ。

ラムダ計算機 Ver 0.1

テキストファイルにコピペして、エディタでアンダースコア2つのパターンを全てスペース2つのパターンに置き換えれば、runghc で起動したり、ghc でコンパイルできる。以下の記事では全てこのインタープリタを使ってラムダ計算プログラムを実行できる。


ラムダ計算



by tnomura9 | 2019-09-22 20:29 | Haskell 記事リスト | Comments(0)

Inside Parsec

Inside Parsec

Text.Parsec のソース解読が一応済んだ(終わったわけではない)ので、記事リストにまとめてみた。場当たり的にソースコードをのぞいてみてその記録をとっただけなので、系統的に記述してるわけではない。そちらの方もチャレンジする必要があるが、Parsec 関連の記事はしばらくお休みする。


by tnomura9 | 2019-09-01 10:13 | Haskell 記事リスト | Comments(0)

Parsec 入門

Pasec 関連の記事が溜まったので『Parsec 入門』として記事リストを作ってみた。

最初の7つの記事はモナドを ghci のコマンドライン上で扱って実験するための予備知識だ。Parsec はパーサにモナドを使うので、モナドの扱い方を知っておく必要があるからだ。

Text.Parsec.Char 以下の記事は Hackage の parsec: Monadic parser combinators に記述されている parsec の機能を網羅する形で実験したものだ。最後の2つの記事は、他のサイトの記事を参考に、Parsec の最終の目的である、文のパースと構文木の作成について調査している。

もちろん、この記事リストだけでは不十分であるが、Parsec でやれることの概要はほぼ調べたつもりだ。





by tnomura9 | 2019-06-20 18:17 | Haskell 記事リスト | Comments(0)

Haskell 木構造関連記事リスト

Haskell のデータ構造、特に木構造の記事を書いていたらずいぶん溜まったので記事リストにした。

Haskell で基本統計量の計算
Haskell の名前付きフィールド
入出力プログラム
数値データの文字列変換
数値データのファイルとのやりとり
IOモナドの扱い方
do 記法の全て
map, fmap, Applicative
Haskell の連想配列
Haskell の集合演算
Data.Set 活用法
Data.Set の関数
unfold 関数
Data.Tree の使い方
unfoldTree 探索
ディレクトリーツリーの取得
便利な Applicative
Data.Tree で遊ぶ
Functor クラス
Data.Tree のタイプクラス
Applicative クラス
箱入りデータ
自前のデータ型を Monad のインスタンスにする。
Monoid クラスの使い方
Foldable クラス
Traversable クラス


by tnomura9 | 2016-10-20 17:43 | Haskell 記事リスト | Comments(0)

Haskell スニペット記事リスト

過去記事の中から Haskell の小さいプログラムをピックアップしてみた。

クイックソート

シーザー暗号を作ってみた

Haskell ワンライナー ghci 版

3の倍数と3のつく数

Maybe モナドのプログラミング

Haskell 木で遊ぶ

ハノイの塔

素因数分解

中央値

パスカルの三角形を作ってみた

川渡りパズル

IO モナドのループの書き方

ファイルの読み書き

ghci で全てを済ませたい

何か実用的なプログラム

機械に教わる

id 関数

Haskell のインデント

ループあれこれ

Haskell でパスワードを作る

正弦波を描く

インパルス応答関数

Haskell で基本統計量の計算

Haskell でユーザ定義のデータを簡単に作る方法



by tnomura9 | 2016-10-02 11:49 | Haskell 記事リスト | Comments(0)

48時間 Scheme 記事リスト

48時間で Scheme を書こう』というネットの文章の読解記事を2011年12月に書いていたが、記事リストがなかったので作ってみた。読み返すための自分用のメモだ。

48時間でSchemeを書こう 最初の一歩

48時間でSchemeを書こう/構文解析

48時間でSchemeを書こう/構文解析 (2)

48時間でSchemeを書こう/評価: 第一部

『48時間でSchemeを書こう』のこれまでのまとめ

Haskell の例外処理

自前のエラーモナドの作り方

Either モナド?

48時間でSchemeを書こう/エラー処理と例外

48時間でSchemeを書こう/評価: 第二部

条件分岐: パターンマッチ2

リストのプリミティブ: car、cdrとcons

ダック・タイピング

存在型 (Existentially quantified data constructors)

48時間でSchemeを書こう/評価: 第二部 (2)

48時間でSchemeを書こう/REPLの作成

Data.IORef モジュール

48時間でSchemeを書こう/変数と代入

48時間でSchemeを書こう/変数と代入 (2)

48時間でSchemeを書こう/変数と代入 (3)

48時間でSchemeを書こう/変数と代入 (4)

48時間でSchemeを書こう/Scheme関数の定義


一度学習したはずなのに???の記事が多かった。学習は忘却との戦いだ。5年という時間を無駄にしないために。

by tnomura9 | 2016-09-25 10:33 | Haskell 記事リスト | Comments(0)

System.Random 記事リスト

今年の1月に始めた Haskell の標準モジュール の System.Random のソース解読を中断していたら、すっかり忘れてしまっていたので記事リストを作ってみた。もう一回読み直して再挑戦だ。

System.Random 記事リスト

Haskell で乱数[ 2015-01-03 12:42 ]
System.Random (1)[ 2015-01-04 00:30 ]
System.Random (2) Haddock[ 2015-01-04 15:01 ]
System.Random (3) Haddock[ 2015-01-05 21:04 ]
System.Random (4) Haddock[ 2015-01-11 17:53 ]
System.Random (5) Haddock[ 2015-01-12 15:06 ]
System.Random (6) Haddock[ 2015-01-12 18:33 ]
System.Random (7) Haddock[ 2015-02-01 12:06 ]
System.Random (8) Haddock[ 2015-02-03 12:00 ]
System.Random (9) Haddock[ 2015-02-08 23:08 ]


by tnomura9 | 2015-08-16 10:50 | Haskell 記事リスト | Comments(0)

群論関連記事のインデックス

最近書いた群論関連記事のインデックス。内容は群論の参考書の 『代数的構造』 遠山啓著 ちくま学芸文庫 の有限群の部分を 三角形のパズルや Haskell のプログラムを使って読み解くといったものだ。したがって、管理人の誤解で誤った内容が紛れ込んでいるかもしれないが、そのときは原典を参照していただければ幸いだ。

イメージを操作する [ 2015-06-01 04:39 ]
三角形を操作する [ 2015-06-01 23:41 ]
正三角形のパズル [ 2015-06-03 13:10 ]
操作の結合 [ 2015-06-03 23:41 ]
演算表を調べる [ 2015-06-04 20:33 ]
三角形パズルの電卓 [ 2015-06-08 01:49 ]
D3電卓で遊ぶ [ 2015-06-09 19:02 ]
D3電卓 [ 2015-06-15 23:07 ]
共役類 [ 2015-06-17 07:55 ]
自己同型 [2015-06-17 10:13]
内部自己同型 [2015-06-21 08:23]


参考図書: 『代数的構造』 遠山啓著 ちくま学芸文庫
by tnomura9 | 2015-06-17 12:05 | Haskell 記事リスト | Comments(0)

The Haskell Cabal 目次

The Haskell Cabal

Cabal/How to install a Cabal package
Hackage 2
How to write a Haskell program
How to write a Haskell program 2
Windows で Cabal パッケージを作る
How to write a Haskell program 3
Cabal User Guide 1
Cabal User Guide 2
Cabal User Guide 3 (Building and installing packages)
Cabal User Guide 4 (Building and installing packages)
Cabal User Guide 5 (Building and installing packages)

Haskell Platform Libraries
The cabal-install package
Distribution.Simple.Utils
cabal-install 関連のリンク
Main.hs
CommandParse
CommandUI
globalCommand
commands
System.Console.GetOpt
System.Console.GetOpt その2
System.Console.GetOpt その3
Text.ParserCombinators.ReadP
Text.ParserCombinators.ReadP その2
Distribution.ReadE
Distribution.Simple.Command
CommnadUI の読み方
commandShowOptions
Distribution.Simple.Setup
CommandParse flags
makeCommand
commandAddAction
commandsRun
option
liftOption 関数
OptDescr
commandOptions
OptionViewer.hs
smart constructors
smart constructors その2
smart constructors その3
smart constructors その4
smart constructors その5
smart constructors その6
commandParsArgs
addCommonFlags
commandGetOpts
by tnomura9 | 2014-01-05 17:27 | Haskell 記事リスト | Comments(0)

All About Monads 読解 目次

All about Monads 読解 1 意図
All About Monads 読解 2 Introduction
All About Monads 読解 3 Meet the Monads
All About Monads 読解 4 Doing it with class
All About Monads 読解 5 The monad laws
All About Monads 読解 6 Monad support in Haskell
All About Monads 読解 7 Monad support in Haskell (続き)
All About Monads 読解 8 Monad support in Haskell (続き)
All About Monads 読解 9 The Identity monad
All About Monads 読解 10 The Maybe monad
All About Monads 読解 11 The Error monad
All About Monads 読解 12 The List Monad
All About Monads 読解 13 The IO monad
All About Monads 読解 14 The State monad
All About Monads 読解 15 The Reader monad
All About Monads 読解 16 The Writer monad
Haskell/Continuation passing style 
Haskell/Continuation passing style 2 Using the Cont monad
Haskell/Continuation passing style 3 callCC
Haskell/Continuation passing style 4 The type of callCC
All About Monads 読解 17 The Continuation monad
All About Monads 読解 18 Part III - Introduction
All About Monads 読解 19 Monad transformers
All About Monads 読解 20 Standard monad transformers
All About Monads 読解 21 Anatomy of a monad transformer
All About Monads 読解 22 More examples with monad transformers
All About Monads 読解 23 More examples with monad transformers (続き)
All About Monads 読解 24 More examples with monad transformers (さらに続き)
All About Monads 読解 25 Managing the transformer stack
All About Monads 読解 26 An example with multiple transformers
All About Monads 読解 27 example25.hs
All About Monads 読解 28 example25.hs
All About Monads 読解 29 example25.hs
All About Monads 読解 30 An example with multiple transformers
All About Monads 読解 31 Heavy Lifling
by tnomura9 | 2013-08-16 04:30 | Haskell 記事リスト | Comments(0)