タグ

lispに関するnowokayのブックマーク (5)

  • JVM上のLISPの検討

    現在Javaワールドで最もエキサイティングなことの1つは、別のプログラミング言語を仮想マシンで動くようにすることです。JRuby、Groovy、Scala、およびJavaScriptエンジンRhinoの周囲にはさまざまな試みがあります。しかし、どうしてそこで止めてしまうのでしょう。メインストリームの外側へ一歩を踏み出したいと当に思うなら、Javaとは完全に異なる世界に飛び込もうと考えるなら、Lispは重要なオプションです。しかも、オープンソースのJVM用Lispプログラミング言語実装は複数あり、すぐに検討を始められます。 ところで、Lispの価値は何だと思いますか。1つには、この50歳の言語が、我々が今日あたりまえのことと考える多くのアイディアの触媒となってきたことです。if-then-else構造はもともとLispから発生しましたし、オブジェクト指向やガベージコレクションを備えた自動メ

    JVM上のLISPの検討
  • NetBeans Common LISP ? [cld.blog-city.com]

  • CodeZine:JavaScriptでつくるSchemeインタプリタの基礎の基礎(lisp)

    はじめに 現存するプログラミング言語の中で2番目に古いのがLispです。生まれは古くても、いまだに使われ続け、また、Rubyなどの新しい言語にも影響を与えています。そのLispの派生であり、シンプルさが売りなのがSchemeです。 ここではSchemeの簡単なインタプリタをJavaScriptで作ってみます。対象読者 稿はLispやSchemeは少し触ったことはあるけど、インタプリタは書いたことがないという方を読者対象としています。また、JavaScriptの文法や、簡単なデータ構造についての知識を前提とし、説明は省きます。必要な環境 テキストエディタと、JavaScriptが動くWebブラウザがあれば十分です。他に特に用意するものはありません。概要作成するインタプリタについて インタプリタのコードはJavaScriptで書き、HTMLのフォームを使って、Schemeのプログラムの入力お

  • Emacs Lisp のダメなところ - あどけない話

    Emacs Lisp をこよなく愛する僕の目から、Emacs Lisp がダメだと思うところをまとめておきます。 文化的な問題 Emacs Lisper の多くは、Lisp が好きで使っているのではなく、Emacs が好きだからしかたなく使っているのでしょう。当は C で書きたいのに、無理して Lisp を利用している感じです。 そのため、Emacs に付いてくる Emacs Lisp のコードは、Lisp らしくないものがほとんどです。単に C での発想を Lisp で表現しています。 これらのコードは、読みこなせないぐらい関数が大きく、副作用のある部分とない部分が分離されていません。また高階関数を用いて、データ構造を走査するコードと実際に仕事をするコードを分離するという意識も低いようです。 GoogleMapReduceという論文のお陰で、Lisp の写像関数(map)と畳込み

    Emacs Lisp のダメなところ - あどけない話
  • 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

  • 1