タグ

JavaScriptとLispに関するpoad1010のブックマーク (2)

  • カリー化 - Wikipedia

    カリー化 (currying, カリー化された=curried) とは、複数の引数をとる関数を、引数が「もとの関数の最初の引数」で戻り値が「もとの関数の残りの引数を取り結果を返す関数」であるような関数にすること(あるいはその関数のこと)である。クリストファー・ストレイチーにより論理学者ハスケル・カリーにちなんで名付けられたが、実際に考案したのはMoses Schönfinkelとゴットロープ・フレーゲである。 ごく簡単な例として、f(a, b) = c という関数 f があるときに、F(a) = g(ここで、g は g(b) = c となる関数である)という関数 F が、f のカリー化である。 関数 f が の形のとき、 をカリー化したものを とすると、 の形を取る。uncurryingは、これの逆の変換である。 理論計算機科学の分野では、カリー化を利用すると、複数の引数をとる関数を、一つ

  • 凄い。JavaScript上で動作するLisp·Javathcript MOONGIFT

    JavathcriptはJavaScript上で簡単なLispを実行するプロジェクトです。 最近、Webブラウザ上でJavaScript以外の言語を動かそうとするプロジェクトが熱くなっています。DartやCoffeeScript、RubyPHPなどがありますがそこに新しい仲間の登場です。JavathcriptはJavaScriptで実装されたLispエンジンです。 デモコードです。 実行結果です。 Canvasを使うデモです。 Emacsに慣れ親しんでいる人であればしょっちゅう目にする言語と思われますが、括弧が多く特徴的なので最初はとっつきが悪く感じるかも知れません。関数、スコープ、文字列、数字、オブジェクト、Lisp in Lisp、グラフィックスの描画といった機能があります。 JavathcriptはJavaScript製のソフトウェア(ソースコードは公開されていますがライセンスは明

    凄い。JavaScript上で動作するLisp·Javathcript MOONGIFT
  • 1