タグ

lispに関するiNoのブックマーク (31)

  • ((Rubyで) 書く (Lisp) インタプリタ) - hp12c

    ブログを下記に移転しました。デザイン変更により移転先では記事が一層読みやすくなっていますので、よろしければ移動をお願い致します。 ((Rubyで) 書く (Lisp) インタプリタ) : melborne.github.com - Peter Norvigさんの((Pythonで) 書く (Lisp) インタプリタ) という記事(青木靖さん訳)がすごい 100行ほどのPythonコードで Schemeのインタプリタの基部分を書いている Pythonのコードは見た目がRubyのコードとよく似ているので Rubyしか知らない僕でも何となく読める この記事を解読してRuby版Schemeインタプリタを書いたら インタプリタ Pyhon Scheme それからRubyのことも もう少し分かるようになるかもしれない こんなお得な勉強方法はないぞ きっと そんなわけで... 以下では上記記事を参照し

    ((Rubyで) 書く (Lisp) インタプリタ) - hp12c
  • http://tips.lisp-users.org/clojure/

  • JavaScript で Lisp の処理系 (と REPL) を実装してみた - mooz deceives you

    MiSPLi: http://mooz.github.com/mispli/ MiSPLi Emacs に出会ったのが三年前. それから一年程して elisp をいじり始めたので, 僕と Lisp との付き合いはかれこれ二年ほどになる. JavaScript を始めたのが一年前だから, 僕の中では C 言語に次いで付き合いの長い言語だ. 必要にかられたときにちょこちょこと elisp を書いて, 終わったらしばらく別れを告げる. そんな中途半端な付き合いを続けていた三月も終盤, 竹内先生の書かれた「初めての人のための LISP」を読み, その内容に深い感銘を受けた. Lisp を Lisp で実装する, といった章があり, これまで何となしに使っていた Lisp の中身を垣間見ることができたような, そんな気分になっていた. その時に, 「ひょっとしたら僕にも Lisp の処理系を実装でき

    JavaScript で Lisp の処理系 (と REPL) を実装してみた - mooz deceives you
  • SICP(計算機プログラムの構造と解釈)を読み終えて : Serendip – Webデザイン・プログラミング

    最後のC言語での実装の2問が残っているけれども、一旦これで終了とする。 2008年の11月に開始したので約1年と1ヶ月ちょっとかかったことになる。 SICP を読む過程で得たもの 1章で scheme での基的なプログラミングに慣れて、カッコの存在を忘れることが出来た。 弟子が尋ねた。「先生、私は先生がカッコをまるで魔術師のように扱っているのを常々敬服しています。どうすれば先生のようになれるのでしょうか?」 師「えっ?カッコ?あ、そうか。そんなものもあったな。いやあ、すっかり忘れておったわ」 このあたりでは、まだ再帰に慣れていなくて、末尾再帰の意味もよく解ってなかった。 また、高階手続きを普通に使えるようになった。 2章で抽象化の有用性やその導入方法を理解できた。 1章2章は数学的な知識が必要な部分も多く、その部分で苦労した。 2章のデータ抽象や3章の環境モデルでオブジェクト指向の舞台裏

    iNo
    iNo 2009/12/31
  • Limp - Lisp IDE : vim online

    Limp's goal is to provide a compelling alternative to Slime for Vim. It will let you send s-expressions to a running Lisp. It will do this for you: * booting/attaching/detaching a Lisp (SBCL) from Vim or a command-line script, optionally specifying a core; * send code to the attached Lisp (and limited introspection, see Help Describe); * automatically close brackets; * ease s-exp navigation and (s

  • ゲストブック閉鎖

    ゲストブックは閉鎖しました。 ご了承ください。

  • About - Steel Bank Common Lisp

    Steel Bank Common Lisp (SBCL) is a high performance Common Lisp compiler. It is open source / free software, with a permissive license. In addition to the compiler and runtime system for ANSI Common Lisp, it provides an interactive environment including a debugger, a statistical profiler, a code coverage tool, and many other extensions. SBCL runs on Linux, various BSDs, macOS, Solaris, and Windows

  • Practical Common Lisp

    that book is dead sexy —Xach on #lisp (more blurbs) This page, and the pages it links to, contain text of the Common Lisp book Practical Common Lisp published by Apress These pages now contain the final text as it appears in the book. If you find errors in these pages, please send email to book@gigamonkeys.com. These pages will remain online in perpetuity—I hope they will serve as a useful introdu

    iNo
    iNo 2009/10/12
    実践Common Lisp
  • Impromptu: Scheme ベースのライブコーディング環境 - Radium Software

    Impromptu は Andrew Sorensen 氏によって作成されたライブコーディング環境だ。言語としては Scheme をベースとしており,それに映像や音楽を扱うためのライブラリ群と,リアルタイムにコードを記述し実行するためのエディット環境が統合されている。 実際に触ってみると,関数型言語とライブコーディングの親和性が,なかなか良いことが分かってくる。エディターの出来も良く,リアルタイムにコードを書きつつ実行するという作業をスムースに流れるようサポートしてくれる。 上のビデオでは, Impromptu のサンプルプログラムを参考にしつつ,簡単なアルゴリズム作曲のコードを組んでみた。ちなみに,ビデオ中に登場する "my:play" 等の関数は,作業を簡略化するためにあらかじめ用意しておいた関数なので悪しからず。 いくつかのデメリットもあるものの(最大の弱点は Mac OS 版しか存

    Impromptu: Scheme ベースのライブコーディング環境 - Radium Software
  • MapReduceの本質 - 中しまのメモ

    また一つ、『計算機プログラムの構造と解釈』から面白いネタが飛び出してきた。 計算機プログラムの構造と解釈 一見なんでもないようなschemeの例題から、GoogleのIndex生成アルゴリズムとして名高いMapReduceの概要を理解するための機会を得た。 あの例題の質は何だったのか? きっかけは、先日の「プロセスの抽象化(シーケンスへの作用)」というエントリーに関して、会社の先輩から興味深い指摘をいただいたことだった。エントリーの内容は、抽象化によって「木構造の要素に対して作用する手続き」を改善するという話だが、その改善前後の手続きをもう一度掲載する。 【A】改善前の実装 (define (sum-odd-squares tree) (cond ((null? tree) 0) ((not (pair? tree)) (if (odd? tree) (square tree) 0))

    MapReduceの本質 - 中しまのメモ
  • Yabuki Taro’s Home Page

    なぜ Lisp なのか Quote...Unquote ダグラス・R. ホフスタッター著, 竹内郁雄ほか訳『メタマジック・ゲーム』 ミンスキー「ゲーデルは Lisp を思いついておくべきだった。もし彼が Lisp を思いついていたならば彼の不完全性定理の証明はもっと簡単なものになっていただろう」 ゲーデルの証明の一番難しいところは、数学的体系に自分自身を語らせるところにある。天才のひらめきが何段階か必要になる。しかし、Lisp は、少なくともゲーデルが必要としていた意味で、まさに自分自身を直接語ることができる。 ゲーデルは Lisp を発明した! ダイクストラ「謙虚なるプログラマ」 LISPは冗談まじりに「コンピュータを誤用するための、もっとも知的な方法」と言われることがありますが、私はこれはすばらしい褒め言葉だと思います。なぜならこれはあらゆる種類の自由を可能にしているからです。LISP

  • もうひとつの Scheme 入門

    勾配の緩やかな初心者向け Scheme 入門ページです。 コンピュータは使ったことがあるが、プログラミング経験があまりない人を想定しています。 Scheme の解説はすでに山ほど優れたものがありますが、あえて解説記事を書いてみました。 Scheme のような抽象的な話題は波長が合えばすんなりと理解できますが、あわないと全く理解できません。 他の解説を読んで今ひとつよく理解できなかった人は試しに読んでみてください。 この記事の目標はコンピュータ科学の教科書の決定版である SICP を読める程度の Scheme の知識を提供することです。 目次: 処理系のインストール Scheme を電卓代わりに使う リストを作ろう 関数を定義しよう 分岐 局所変数 繰り返し 高階関数 入出力 代入 文字、文字列 シンボル型 連想リスト、ハッシュ表 ベクトルと構造体 構文の定義 (マクロ) 継続 遅延評価 非

  • Flatline

    ここには特に何もありません. 主だった情報は学校に置いてある私のサイト user.ecc.u-tokyo.ac.jp/~t50473 を参照のこと. On Lisp邦訳草稿のコピー. onlisp_j.pdf onlisp_j.tex onlisp_j.cls ChangeLog HTML版 komaba.utmc.or.jp 内で検索 WWW全体から検索

    iNo
    iNo 2009/07/12
    On Lisp 日本語訳
  • 独習 Scheme 三週間 Teach Yourself Scheme in Fixnum Days

    非決定性 McCarthy の非決定性オペレータ amb [cite{jmc:amb}, cite{wc:amb}, cite{zmc:amb}] は Lisp 自身と同じくらい古いものですが、Lisp にはありません。amb は 0個あるいはそれ以上の式を引数としてとり、それらの、非決定的な (あるいは「あいまいな」)な選択を作ります。プログラムを意味のあるものに 収束させるこれらの選択を好んでつかいます。ここで、 曖昧選択の深さ優先選択をつかい、他の選択肢を探索するための バックトラックに Scheme の制御オペレータ call/cc を使う amb の Scheme への埋め込みについて検討しましょう。 結果は、拡張言語にたよることなく、Scheme で直接書けるような 探索問題の分野で使用できるエレガントなバックトラッキング戦略が できあがります。この埋め込みは Prolog

    iNo
    iNo 2009/07/07
    非決定性プログラミング amb
  • 長文日記

  • gaucheでUnixコマンドプログラミング目次 - どらや記

    プログラミングGauche 作者: Kahuaプロジェクト,川合史朗出版社/メーカー: オライリージャパン発売日: 2008/03/14メディア: 大型購入: 22人 クリック: 713回この商品を含むブログ (244件) を見る SICPばかりやってるんじゃ飽きちゃうよね、ということでUnixコマンドをgaucheで作ってみようという試み。コマンドを作ることによって色々なプログラミングのエッセンスを吸収できるんじゃないのぐへへ、という下心満載でやっていこうと思います。 この連載の目的は、gaucheでUnixコマンドプログラミングをすることによって gaucheで実用的なプログラミングの習得 マルチプラットフォームなツールの作成の習得 を目的としています。 目次 第一回:gaucheでUNIXコマンドプログラミング(catコマンド基礎編) - どらや記 第二回:gaucheによるUNI

    gaucheでUnixコマンドプログラミング目次 - どらや記
  • GaucheによるSchemeプログラミング

  • 長文日記

  • 長文日記

  • Mosh 0.1.0 をリリースしました - higepon blog

    Mosh 0.1.0 をリリースしました。これは大きな一区切りとなる安定版のリリースです。 Mosh は R6RS 完全準拠となりました。*1 ソースコードダウンロード。 Windows 用インストーラ。 追加・変更点は以下の通りです。 新しいリファレンスマニュアルを追加 Socket API を追加 詳細はリファレンスマニュアル Socketまたは、example/irc-client.ss を参照ください FFI (Foreign Function Interface) を追加 FFI は Mosh から C 言語のライブラリを呼び出す仕組みです リファレンスマニュアル Foreign Function Interface または test/ffi.scm を参照ください R6RS の以下の仕様を実装(ココサブさん、ひげぽんによる) 数値(複素数含む)、算術計算。 ファイル I/O パ