タグ

lispに関するtodeskingのブックマーク (8)

  • L2Lisp in Ruby:CodeZine

    はじめに P.Graham著『On Lisp』に示されているように、現代的なLispプログラミングでは静的スコープ(字句的スコープ)と末尾呼出し(末尾再帰を含む)の最適化のもとでのマクロが重要な意味をもちます。しかし、今まで処理系作成の初心者が内部に手を入れやすい手頃な大きさの実装が事実上ありませんでした。 ここでは、そういったモダンな特徴を備えた小さなLispインタープリタL2LispをRubyで作ってみます。L2Lisp(Little Lambda Lisp)は、Lispの理論的背景であるラムダ算法(lambda calculus)に対し、有力なLisp方言であるSchemeと同程度に忠実である一方、その他の点では広く普及しているEmacs Lispのサブセットとしたオリジナルの小型Lispです。 実行例としてtak関数を定義し、実行する様子を示します。Ruby以外に必要なのはL2Li

    todesking
    todesking 2007/07/24
    末尾再帰最適化とかコンパイルして名前解決とかまでやってる!!すごい!!
  • http://twitter.com/otsune/statuses/38002972

    http://twitter.com/otsune/statuses/38002972
    todesking
    todesking 2007/04/25
    これはヒットした
  • Lispが何故使われないか - 数学猫の生活と意見

    原因のほとんどは経路依存性*1とかネットワーク効果*2によるもので、Lisp自体の性質とは無関係だと思います。と言った上で、私が何となくLisp系言語を使わない理由としては、Too dynamic: 実行時にコードが差し替えられることがすごい利点だ、と言っている人がいましたが、逆に言えば今どのコードが走っているか理解しにくい、という欠点にも繋がる。Meta programming:S式のおかげでMeta Programmingがしやすいが、Meta Programmingを多用したプログラムは理解しにくい。動的型付け:利点でもあるけど、特有のバグを引き起こす。識別子に関数と値の2種類が別々にバインドできる。これは私には非常に美しくなく感じます。主観ですが。一方でSchemeは言語仕様が弱い。(特にModule機能が標準でない)Proprietaryな実装が中心。CMU LispはStand

  • LispUser.net : 最高にキモい Lisp コードを書いてみよう with 100 行リーダーマクロ

    LISPUSERLISPMEMOLisp is like a ball of mud - you can throw anything you want into it, and it's still Lisp. -- Anonymous Ruby 方面でみかけたネタに触発されました.Lisp はプログラマブルな言語な のでリーダーもプログラマブルです.そこでリーダーをいじって let や defun などの構文を括弧じゃなくて end にでもしてみましょうか. 100 行程度を目標にトライしました.使ったライブラリは CL-Yacc のみです. できあがったのがこちら. #@suck-lisp defun fib (n) if (< n 0) (error "oops") elif (= n 0) 0 elif (= n 1) 1 else let x <- (fib (- n 1))

    todesking
    todesking 2006/12/27
    リーダマクロの話
  • 2006年11月21日に開催した Lisp セミナー パネルディスカッションに参加して

    (2006年11月21日に開催した Lisp セミナー パネルディスカッションに参加して) スクリプト言語ってのがあります。つづりが P や R で始まるあれです。 これについては次の言葉で言い付くされているかと思いますので、引用しておきます。 (Common) Lisp has been the language from which inferior people picked good ideas when they could not handle the full language. -- Erik Naggumこれで終わればいいんですが、 先日のセミナにおいて、パネルディスカッションの際、 司会も兼ねてたもんですから、 質問表をわたされてそいつを読み上げる役を負わされており、 その中に、あるスクリプト言語と Lisp の比較について意見を求めるものがあって、 読み上げたあとしば

    todesking
    todesking 2006/12/05
    わはは。
  • bookshelf.jp

    This domain may be for sale!

    todesking
    todesking 2006/08/05
    Emacs Lispにおけるバイトコードについて
  • Japan Lisp User Group: Resources: Lisp Implementations in Japan (Japanese)

    解説: プログラマなら一度はLISPを作るとも言われており、実験的なものを含めれば無数にあるでしょうが、ここではおおむね次のような条件としています: 実行系(binary or source)が公に入手可能なもの(販売、オンライン、書籍、等) 歴史的に重要なもの。 単におもしろいと思ったもの。 掲載基準: 主に、日語が使える(または使えるらしいという未確認情報がある)処理系、 および日製(と思われる)処理系。 日でポピュラー、日で宣伝販売されていたことがある、PC9801で動作する、というだけで掲載しているものもあります。 原則として「汎用ソフトウエア開発ツールで、LISPが主目的であるもの」に限定しています。script処理系は原則除外ですが、境界は明確ではありません(できません)。 dialect(方言): "classic"とは、LISP1.5に近い古典的な文法・意味をもつ

    todesking
    todesking 2006/06/20
    日本のLisp処理系
  • Life with Cygwin

    沖ソフトウェア株式会社は、沖通信システム株式会社および株式会社沖インフォテックと平成22年10月1日をもって合併いたしました。新会社名は、株式会社OKIソフトウェアとなります。3社が行っております事業は新会社にて従来通り継続いたします。

  • 1