48時間でSchemeを書こう学習メモ
はじめに Haskellの学習のため「48時間でSchemeを書こう」をやっていきます。 内容には間違いが多々含まれる可能性がありますので、 間違いがあればコメントで指摘して頂けると幸いです。 ...
12 search resultsShowing 1~12 results
You need to log-in
はじめに Haskellの学習のため「48時間でSchemeを書こう」をやっていきます。 内容には間違いが多々含まれる可能性がありますので、 間違いがあればコメントで指摘して頂けると幸いです。 ...
参考URL 48時間でSchemeを書こう/REPLの作成 ソース REPL REPLとはRead-Eval-Print-Loopの略です。 その名の通り、読んで、評価して、表示、を繰り返すプロ...
参考URL 48時間でSchemeを書こう/評価: 第二部 ソース equal 型が違っても同じ評価値になるならば真を返すequal関数を実装します。 例としてString "2"とNumber...
参考URL 48時間でSchemeを書こう/評価: 第二部 ソース 条件分岐 if文を評価できるようにします。 eval (List [Atom "if", pred, conseq, alt]...
参考URL 48時間でSchemeを書こう/評価: 第二部 ソース プリミティブの追加 「評価: 第一部」では加減乗除、商や余りを求める プリミティブを定義しました。 ここでは更に追加のプリミテ...
参考URL 48時間でSchemeを書こう/エラー処理と例外 ソース エラー型定義 エラーが発生したときに原因をわかりやすくするため、 エラー型を定義します。 data LispError = ...
参考URL 48時間でSchemeを書こう/評価: 第一部 ソース プリミティブ evalで加減乗除などの計算を行えるようにします。 まずListの先頭がAtomのときにマッチするパターンを 追...
参考URL 48時間でSchemeを書こう/評価: 第一部 ソース ListValの表示 ListValをprint関数などで表示(文字列化)可能にします。 List,DottedList以外は...
参考URL 48時間でSchemeを書こう/構文解析 ソース List Listのパーサーを作成します。 ListはLispValのリストです。 LispValにはListも含まれるので再帰的な...
参考URL 48時間でSchemeを書こう/構文解析 ソース LispVal Lispで使われる型を定義します。 data LispVal = Atom String | List [LispV...
参考URL 48時間でSchemeを書こう/構文解析 ソース spaceの除去 入力文字列に含まれた余計なスペースを除去するための関数を作ります。 spaces :: Parser () spa...
参考URL 48時間でSchemeを書こう/構文解析 ソース Parsec Haskellのパーサライブラリです。 パーサを作るのにいろいろと便利な機能があるようです。 以降、Parsecの機能...
12 search resultsShowing 1~12 results
Qiita is a knowledge sharing service for engineers.