タグ

言語処理系とHaskellに関するbaboocon19820419のブックマーク (2)

  • Haskell で学ぶ Ruby (その1)

    IGGG アドベントカレンダー 8日目の記事です. 今回は自分が敬愛するエンジニアの人が執筆してる「Ruby で学ぶ Ruby」を真似して, Haskell で実装していきたいと思う. Ruby で学ぶ Ruby ascii.jp にて連載中であり,コンセプトとしては Ruby 初学者に Ruby を作りながら Ruby を学んでもらおうというモノっぽい. 当に初学者向きで,プログラミングすらほとんど知らなくても読み進めれるようになっている. 「Ruby 作る」というのは「Ruby で書かれたソースコード実行できるプログラムを作る」と言う意味で,もちろん,単純に eval してお終いとかではない. もちろん,そんなこと初学者にできてしまったら Matz も驚きで,イロイロと種がある. 一つは,実際に作るのは Ruby のサブクラス(小規模版)であり,これを MinRuby と呼んでいる.

  • Haskell で学ぶ Ruby (その2)

    Qiita の言語実装 advent Calendar 2016 の21日目用の記事です. (1日遅れですいません) 前に書いた その1 に続いて,「Ruby で学ぶ Ruby」中の MinRuby を Haskell で実装していきたいと思います. ソースコードはコチラ MinRuby ascii.jp にて連載中の 「Ruby で学ぶ Ruby」 でステップバイステップに作成中の処理系. 名前の通り,Ruby のサブクラスになってる. 自分はそれを,大好きな Haskell で実装してみようと試みてる. 連載の方は Ripper というライブラリを使って構文解析を省略してるが,Haskell にそんなライブラリが無いので構文解析から少しずつ書いてる. 今のところ連載の方は,整数演算,論理演算,変数,条件分岐,ループ,組み込み関数が使える. 自分の方は今のところ分岐もどきまで... ステ

  • 1