タグ

Schemeとlispに関するkgbuのブックマーク (13)

  • JVM上のLISPの検討

    JVM上に両方の主な方言の実装がありますが、Schemeがより完成されています。Armed Bear Common Lisp (www.armedbear.org/abcl.html)は、合理的に完成されたCommon Lisp規格の実装ですが、別のCommon Lispシステムがインストールされていないかぎり、ディストリビューションをビルドできないという問題があり、初心者には悩みの種になるかもしれません。 Scheme陣営には、2つの主なプレーヤー、Kawa (www.gnu.org/software/kawaとSISC (www.sisc-scheme.org-- Schemeコードの第2のインタプリタ)があります。この記事のサンプルではKawaを使用します。Kawaは、実際にはJavaバイトコードにコンパイルされた新しい言語を作成するフレームワークであり、Schemeはその実装の1つ

    JVM上のLISPの検討
    kgbu
    kgbu 2010/06/26
    Javaのバイトコードに変換されるKawaフレームワーク上のSchemeの話。Clojureはこの時点では実験的とされていた。
  • 3imp 写経の日々その2(マニアむけ) - 言語ゲーム

    というわけでやっと 4.7 章まで読み終えた感想です。 3imp は特に Lisp 系言語の利点を最大限に発揮した構成になっています。この限られたスペースの中で、コンパイラの実装について不足なく説明しきる事が出来た勝因は S 式とマクロでしょう。私は正直 S 式もマクロも嫌いですが、ことプログラミング言語の実装を解説するという用途において Lisp は最強という感想を持ちました。 まず S 式について。S 式を使うとパーサが不要です。世の中に出回っているコンパイラの教科書のかなりのスペースがパーサの説明になっている事を考えると、パーサが不要というのは画期的です。パーサの説明を省く事によっていきなり質的な議論が出来るからです。 それからマクロについて。3imp のソースは SICP に比べて相当分かりやすいですが、その理由は record-case マクロによるパターンマッチもどきにあると

    3imp 写経の日々その2(マニアむけ) - 言語ゲーム
    kgbu
    kgbu 2010/01/13
    record-caseってunificationというかErlangを思い出すというか。3imp読みたくなった。
  • Why MIT switched from Scheme to Python

    Costanza asked Sussman why MIT had switched away from Scheme for their introductory programming course, 6.001. This was a gem. He said that the reason that happened was because engineering in 1980 was not what it was in the mid-90s or in 2000. In 1980, good programmers spent a lot of time thinking, and then produced spare code that they thought should work. Code ran close to the metal, even Scheme

    Why MIT switched from Scheme to Python
    kgbu
    kgbu 2009/11/06
    MITの基礎プログラミングコースがSICPを教科書としなくなったのは、基本的なパーツを組み上げていくセンスよりも、錯綜するライブラリとフレームワークの海を泳ぐ体力がサバイバルには重要だという判断だったらしい。
  • Matzにっき(2008-02-01)

    << 2008/02/ 1 1. [言語] 「ハッカーと画家」の著者が新しいLisp系言語「Arc」を公開 | エンタープライズ | マイコミジャーナル 2. 「セキュリティ、なめんなよ!」 なめねこも一緒に情報セキュリティ強化宣言 | ネット | マイコミジャーナル 3. 「サイオステクノロジーはグルージェントの未来技術に期待し子会社化」:ITpro 2 1. [Ruby] Nimble Method: Garbage Collection is Why Ruby on Rails is Slow: Patches to Improve Performance 5x; Memory Profiling 2. [言語] LuaJIT roadmap 2008 3. [Ruby] What will Matz do? 4. [Ruby] EURUKO 2008 − European Ruby

  • Route 477(2009-08-26)

    ■ [ruby][memo] サンプルコード http://blog.deadbeaf.org/2009/08/26/mitaka-rb-4/ 標準クラスのサンプルコード bitclustに装備? 海外の人はどうするの リファレンスとは独立したサイト(A)であるべきか そこにrubydocなりbitclustなりからリンクする gemなどのサンプルコード (A)とは別サイト? gem配布サイトが複数あるので特定のgem配布サイトが実装するわけにはいかない http://gemcutter.org/ が当に公式になれば、そこにサンプルコード書ける機能があると楽しそうだ 結論 サンプルコード自体に価値があるものだからどこに書いてもいい、定番サイトができればそこに移住すればいい。 Rurimaphone++ ■ [scheme] 小さすぎるR5RS、大きすぎるR6RSに対するScheme分割案

    Route 477(2009-08-26)
    kgbu
    kgbu 2009/08/28
    「純粋なSmall Schemeと、それを使って実装されるLarge Scheme」というのは、わかりやすい。それにVMの仕様が付けば揃い踏みかしら。
  • The Kawa language framework

    kgbu
    kgbu 2009/08/04
    Javaで実装されたSchemeなどの言語
  • Route 477(2009-07-28)

    ■ [book][lisp] Let Over Lambdaを読んでCommon Lispに興味を持った 途中まで読んだ。 4434133632 Lispマクロを使っていろいろ遊ぶぜ!という。内容は濃いけど、章(テーマ)が7つあり、一つ一つの節は短めなので少しずつ読んでいくことができる。 Lisp方言には「Common Lisp」と「Scheme」(あとArcとかClojureとか)があるわけだけど、 書で「Lisp」と書いてあればCommon Lispの方を指す。だからLispコンパイラの存在は当然だし、リーダーマクロもある。 第3のアンクオート「,.」とか全く知らなかったぜ。 んでまあ、マクロと関係ないんだけど、Schemeはシンプルさを取るために、Lispが持っていたいろいろなものを切り捨ててるんだなぁというのを今さら。 loopマクロとか、「Common Lisp使いの書くLi

    Route 477(2009-07-28)
  • Kawa internals: Compiling Scheme to Java

    Abstract Kawa is a set of Java classes useful for implementing dynamic languages, such as those in the Lisp family. Kawa is also an implementation of near-R5RS Scheme using these classes, and which compiles Scheme to the bytecode instructions of the Java Virtual Machine. This paper discusses the various issues involved in implementing Scheme using an abstract machine designed for a very different

    kgbu
    kgbu 2009/07/31
    Lispのようなダイナミックな言語を実装できるJavaのライブラリ。KAWA Schemeというのがあるらしい。
  • 本を読む 「Shibuya.lispテクニカルトーク#3」観覧

    Lispコミュニティ「Shibuya.lisp」のテクニカルセミナーイベント「Shibuya.lispテクニカルトーク#3」が開催されました。今回はGaucheの川合史朗(Shiro)さんも登壇するなど、やはりすごく面白い話をいろいろ聞けました。 以下、観覧メモ。間違いがあったらご指摘ください。 今回は、メイントークでCommon Lispの2件も継続を活用していたのが印象的でした。継続は力なり。あと、Lispとは関係ありませんが、なぜかプレゼンターのうち2人もタイル型ウィンドウマネージャを使っている方がいました。 開会の挨拶(佐野匡俊) 前回からのアップデートが紹介されました。なんといっても、Shiroさんが開発した、Lingrを継ぐチャット「Chaton」が大きいトピックでした。一方、逆引きCL/Scheme/Clojureは停滞ぎみで、知りたい側の人の声が欲しいとか。 次回のテクニカ

  • プログラム言語とその他のメモ。

    プログラミングそのものは、あまり好きではない。 当然、実用的な内容はない。 2005年4月以降どうなるか不明。 Lispの(S式以外の)特徴(未完成) Scheme、Common Lisp、Emacs Lispの比較(未完成) 内容のわりに長い。 自己出力プログラムと自己参照プログラム 計算できない問題・関数について 停止問題とかbusy beaver関数の事など。 Schemeでラムダ計算 不動点オペレータについて 再帰的定義に使うYオペレータとかの事。 継続の説明(前置き) 継続の使用法 Schemeでの継続の使用。 SchemeとActor理論 CPS(Continuation Passing Style)について 「SchemeとActor理論」と同じ内容なので、 どうするか考え中。 CPSで多値(とか) values、call-with-valuesがあるから、 無理してS

  • gauche.night

    プレスリリースイベント概要口上説明gauche.nightブログ日時2008-03-08 (土) 17:00開場 18:00開演会場TOKYO CULTURE CULTURE(お台場)チケット出演実況中継二次会主催団体感想、反響リンク集表示的意味論と操作的意味論について プレスリリース gauche.night:プレスリリース イベント概要 口上 書籍「プログラミングGauche」がオライリー・ジャパンからついに刊行。 その発売を記念してgauche.nightが帰ってきた! SchemeとGaucheとλとS式を愛するすべての人に贈るマクロな一夜。 説明 第1部: 座談会「R6RSを斬る」 第2部: デモ大会「gauche.gong」 gauche.nightブログ http://karetta.jp/blog/gauche-night 日時 2008-03-08 (土) 17:00開場

    gauche.night
  • ひげぽん OSとか作っちゃうかMona- - 「計算機プログラムの構造と解釈(SICP)」を読み終えて

    約半年をかけて計算機プログラムの構造と解釈(SICP)を読み終わりました。 (途中で、練習問題をスキップしたりしましたが・・・) 半年もかけたのでちょっとだけ振り返って見ます。 SICPを読む過程で得たもの まずはSICPを読む過程で得たものからざっと列挙してみよう。 構文解析を理解し自前で実装できるようになった 字句解析を理解し自前で実装できるようになった ストリームを理解した 遅延評価を理解した 手続きが first class objectである言語での考え方を学んだ 型変換の導入の動機とその意味を理解した 手続きの抽象化の導入の動機と過程を学んだ 高階関数を使ったり書けるようになったりした クロージャを理解した Schemeを書けるようになった 再帰処理を自然に書けるようになった フルスクラッチでインタプリタを書けるようになった コンパイラを自前で書くことが出来そうだとの感触を得た

    ひげぽん OSとか作っちゃうかMona- - 「計算機プログラムの構造と解釈(SICP)」を読み終えて
  • なんでも継続

    Shiro Kawai まだ下書き Schemeの特徴をあげるときに、「継続」や「call/cc」が出て来ないことはない。 でも、R5RSのcall/ccの項をいくら読んでも、どうもよくわからない。 call/ccを使えばC言語のbreakみたいなのとか、コルーチンとかいう スレッドもどきとかが書ける、というのはわかったけど、一体そういうのが書けて 何が嬉しいのか、そこんとこがピンと来ないんだ。 今、そこにある継続 プログラミングの世界の概念には、禅の公案のようなものがある。 それを説明する文章はほんの一文なのに、最初に目にする時、 その文は全く意味をなさない、暗号のように感じられる。 だがひとたびその概念を理解すると、 その概念の説明は確かにその一文で説明されているのがわかるのだ。 そんな、「分かれば分かる」という禅問答の中でも 「継続」は最も謎めいたものの一つと言えるだろう。 文献を

  • 1