このチャプターの目次
これは、ひとり Advent Calendar 2021 として、1日1章ずつ公開していくものです。
題材は、カーニハンのトイ・マシン・シミュレータ
をHaskellで実装するというものです。同じ題材で、第一回 関数型プログラミング(仮)の会
で「命令プログラムを関数プログラミングっぽく書く」という話をしましたが、ここでは、関数プログラミングの過程を楽しんでいただけるようにすすめます。
準備 (toy00)
プロジェクトディレクトリを作成します。ビルドツールは、stack
を使うことにします。
% stack new toy
ソースコードエディタとしては、Visual Studio Code(以降 vscode と呼ぶことにします)を使います。
% code toy
Toy
モジュールファイル src/Toy.hs
をとりあえず作成しましょう。まずは、モジュール宣言を書いておきましょう。
src/Toy.hs
module Toy where
次に Main
モジュールファイル app/Main.hs
を以下のように編集します。
- モジュール宣言
-
Toy
モジュールをインポート -
main
はundefined
app/Main.hs
module Main where
import Toy
main :: IO ()
main = undefined
この段階で、プロジェクトのルートディレクトリで stack build
をやっておきます。これで、toy.cabal
が生成されて、Toy
モジュールがエクスポーズドなモジュールとみなされるようになります。
% stack build
エラーが出ないことを確認しておきましょう。