タグ

実装とlispに関するpoginのブックマーク (3)

  • 新しいプログラミング言語を学ぶとき、簡単なLisp処理系を作るという話

    私は新たにプログラミング言語を学ぶとき、しばしば簡単なLisp処理系を作ってみます。いくつかの言語で取り組んでいるうちに、このLisp処理系群に小さな共通基盤も出来上がったりしているので、これを紹介しつつ、Lisp処理系の実装がプログラミング言語の学習にどう丁度いいのかを紹介します。 Rosetta Lisp 自作のLisp処理系群を、ロゼッタ・ストーンから名を借りてRosetta Lispと呼んでいます。Rosetta Lispは以下のような特徴を持ちます。 一定の共通した言語仕様・VMの仕様に基づいて動作する Rosetta Lispは (Rosetta Lispに準拠するLisp処理系群は)、いずれも共通した命令セットのVM上でLispプログラムを実行するように実装されています。 Lispの簡単な実装では、よくインタプリタ形式が採用されます。kanaka/malやrui314/min

    新しいプログラミング言語を学ぶとき、簡単なLisp処理系を作るという話
  • 2016年の抱負: Emacs Lisp を書く会社を立ち上げる - だるい

    私には、Emacs Lisp によるウェブアプリケーション開発シーンを盛り上げていきたいという熱い想いがあります。 最近、「次に来る大物Web言語」と称され Elixir などが注目されている様子が伺えますが、ウェブアプリケーションのサーバーサイド実装において次に来る言語というのであれば、個人的には Emacs Lisp こそを推していきたいと思います。なぜなら Emacs Lisp には、インタプリタでありそして同時にプログラミング環境でもある Emacs というソフトウェアが存在するからです。Emacs と最も親和性が高く、最もプラグインが豊富な言語こそが Emacs Lisp です。これを単なる Emacs の設定やプラグインを記述するための言語に留めておくには惜しいと言えるでしょう。 残念ながら現状 Emacs Lisp でのウェブアプリケーション開発は全くといって注目されていない

  • リーダーマクロと行カバレッジとステップ実行を作った - aharisuのごみ箱

    これはKPF#x09のネタとして作成して発表したものです。台風の影響で勉強会は延期になってしまいましたが、これ以上公開を先延ばししたくないので予定通り公開します。 リポジトリはこちら。github上にあります。 今回はGaucheにリーダーマクロ、行カバレッジ計測、ステップ実行の三つを実装しました。 それぞれ説明しているためかなり長くなっています。 目次代わりにそれぞれの章へのジャンプを作っておくので、気になるところだけ見ていってください。 はじめに Gaucheにリーダーマクロを導入する 行カバレッジ計測 ステップ実行 おわりに はじめに今回使っているGaucheのバージョンは0.9.4です。 他のバージョンで動作する保障はありません。 また、リーダーマクロについての説明の関係上COMMON LISPのリーダーマクロについて触れていたり、その知識を前提として説明している部分があります。で

    リーダーマクロと行カバレッジとステップ実行を作った - aharisuのごみ箱
  • 1