はじめてのHaskell

HaskellをやるためにはまずHaskellコンパイラを導入します。
最も広く使われているものは、The Glasgow Haskell Compiler (GHC) です。
導入の方法は色々ありますが、手っ取り早く必要なものを揃えるには、Haskell Platform をダウンロードするのがベストです。
Haskell Platform には GHC コンパイラだけでなく、便利なHaskellのライブラリのセットも同梱されています。
Haskell Platform を手に入れるには、http://hackage.haskell.org/platform/ に行って、利用している OS 向けの指示に従ってください

GHC の構成

ghc
速いネイティブコードを生成する最適化コンパイラ
ghci
対話型インタプリタとデバッガ
runghc
コンパイルせずにHaskellプログラムをスクリプトとして走らせるプログラム

Jungle-haskell

非破壊木構造を扱うHaskell module

実際に使ってみよう

研究室のリポジトリからソースを持ってくる

$ hg clone ssh://one@firefly.cr.ie.u-ryukyu.ac.jp/hg/Members/toma/Jungle-haskell/

Main.hsという、実際にmoduleをimportして利用しているプログラムがあるので参考にする

利用できる型や関数など

Jungle
木とStringを組にして保持するデータ型
Tree
RootNode?を保持しているデータ型
Node
childrenとattributesを持つデータ型
childrenとして、他のNodeを持つことができる
Children
IntとNodeを組にして保持するデータ型
Attributes
StringとByteString?を組にして保持するデータ型

関数

createJungle
空のJungleを作成する
createTree
Jungleと木の名前を渡すと、その名前の空の木を含んだJungleを返す
getTreeByName?
Jungleと木の名前を渡すと、木を返す
木の名前が存在しない場合でも、空の木を返す
getRootNode?
Treeから、RootNode?を得ることができる
getChildren
NodeからChildrenを得る
getAttributes
NodeからAttributesを得る
at
ChildrenとIntを渡すとNodeを得られる 存在しない場合でも、空のNodeを返す
get
AttributesとStringを渡すと、ByteString?が得られる 存在しない場合でも、空のByteString?が得られる
addNewChildAt?
Treeと、子を追加したいNodeのPath、子を追加したい場所、追加したいNodeを渡すと、追加したTreeを返す
deleteChildAt?
Treeと、子を削除したいNodeのPath、削除したい子の場所を渡すと、削除したTreeを返す
putAttribute
Treeと、Attributeを追加したいNodeのPath、Attributeに関連付けたいString、追加したいByteString?を渡すと、追加したTreeを返す
deleteAttribute
Treeと、Attributeを削除したいNodeのPath、Attributeに関連付けたStringを渡すと、削除したTreeを返す

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2013-03-27 (水) 20:06:31 (4048d)