タグ

programmingとlispに関するwatarumのブックマーク (18)

  • not found

  • カリー化 - Wikipedia

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

  • not found

  • codepad

    codepad is an online compiler/interpreter, and a simple collaboration tool. Paste your code below, and codepad will run it and give you a short URL you can use to share it in chat or email. Language: C C++ D Haskell Lua OCaml PHP Perl Plain Text Python Ruby Scheme Tcl

  • メタプログラミング - Wikipedia

    メタプログラミング (英語: metaprogramming) [注釈 1]とはプログラミング技法の一種で、一般に「プログラムを記述するプログラム」を書くこと、またはそのプログラムを指す[1]。対象言語に埋め込まれたマクロ言語によって行われることもある。 一般に、スクリプト言語はメタプログラミングが得意だとされている。コンパイル型言語は実行前にソースコードを一括で変換するという特性上、翻訳と実行を繰り返すスクリプト言語よりも実行時の割り込みや変換の自由度が低い[2]。 代表的なメタプログラミングの例はLispのマクロである。Lispはデータ、コードが全てS式で表現されるが、マクロによりS式が言語処理系に解釈される前に別なS式へと変換することができる。これにより例えば、 という記述から 構造体定義 point型 コンストラクタ make-point (省略時の初期値は0, 0) アクセサ p

  • アクターモデル - Wikipedia

    アクターモデル(英: actor model)とは、1973年、カール・ヒューイット、Peter Bishop、Richard Steiger が発表した並行計算の数学的モデルの一種[1]。アクターモデルでは、並行デジタル計算の汎用的基要素として「アクター」という概念を導入している。アクターモデルは並行性の理論的理解のフレームワークとして使われるほか、並行システムの実装の理論的基礎としても利用されてきた。 アクターモデルはそれ以前の計算モデルとは異なり、物理法則を発想の基としている。他にも、LISP言語、Simula言語、ケーパビリティ・システム、パケット通信、初期のSmalltalkなどの影響を受けている。アクターモデルは「数百・数千のマイクロプロセッサから構成され、個々にローカルメモリを持ち、高性能通信ネットワークで通信を行う並列コンピュータが近い将来登場するとの予測」から開発され

  • Geekなぺーじ:Lispの名言が凄すぎる

    名言を集めたWikiquoteのLisp項目が凄すぎます。 「Lisp programming language」です。 さすが最強言語Lispです。 非常にアグレッシブです。 (ちょっとネタが古いと思いますが、許してください。。。) 以下、一部抜粋してみました。 主張が強そうなのを抜粋しているので多少内容が偏っていると思います。 誤訳していそうなのと、他にも面白いのがあるので原文を是非ご覧下さい。 Lispについて Emacsは、Lispという唯一美しいコンピュータ言語で書かれている - Neal Stephenson 未だかつてデザインされたプログラミング言語の最高峰 - Alan Kay Lisp("List Processing"の略)は最も重要で魅力的なコンピュータ言語だ。そしてそれはAlgolが発明された頃にJohn McCarthyによって発明された。 - Douglas H

  • Lisp:よくある正解 - Lispについての正しい認識と、それでもLisperがLispを使う理由

    Lispについての正しい認識と、それでもLisperがLispを使う理由 yoriyukiさんのエントリがなかなか 真実を突いていたので、ネタにさせていただきます。 原因のほとんどは経路依存性とかネットワーク効果によるもので、Lisp自体の性質とは無関係だと思います。と言った上で、私が何となくLisp系言語を使わない理由としては、 Too dynamic: 実行時にコードが差し替えられることがすごい利点だ、と言っている人がいましたが、逆に言えば今どのコードが走っているか理解しにくい、という欠点にも繋がる。 Meta programming:S式のおかげでMeta Programmingがしやすいが、Meta Programmingを多用したプログラムは理解しにくい。 動的型付け:利点でもあるけど、特有のバグを引き起こす。 識別子に関数と値の2種類が別々にバインドできる。これは私には非常に美

    Lisp:よくある正解 - Lispについての正しい認識と、それでもLisperがLispを使う理由
  • SBCL - Steel Bank Common Lisp

    内部実装についての詳細に興味のある人は SBCL Internals という CLiki から読んでゆくと良いでしょう.0.9.9 から Win32 対応パッチのマージが開始 されたので,今後は Windows でも SBCL が使えるようになるのかもしれません ね.現在でも SBCL のビルド程度は可能ですが,添付のモジュール等の対応具 合もあり趣味人以外が使える段階ではないです. 0.9.17 から、MSI 形式のインストーラが用意されて、インストールが楽になり つつあります。まぁ、Win32 上ではスレッドも使えないうえ、 Win32 サポート はほとんどないので、CLISP に比べてあまりメリットがありませんが、一応 SLIME 環境も構築できています。イメージのサイズが大きすぎて未だに PHS 回 線しかない私には配布できません。 http://prdownloads.sourc

  • Part4 Javaで作るオリジナル言語

    Part4では,Lisp(リスプ:List Processor)インタプリタをJava言語を使って作っていきます。Lispは非常に歴史が古く,様々な分野で利用されている言語です。しかし,皆さんの中にはLisp自体をよく知らないという方もいらっしゃるかもしれません。どんなものを作るかわからないままでは面白みも半減してしまいますから,まずはLispのごく基的な動作を紹介しましょう。 まずは簡単Lisp講座 Lispの質は,すべてがリスト(正確にはS式,詳細は後述)で表現されることにあります。リストは要素を順序付きで並べたもので,“(1 2 3 4)”のように要素の並びをカッコでくくって表記します。このリストの要素は1,2,3,4の四つです。 「すべてがリストで表現される」という言葉の通り,Lispではプログラムもこのようなリストとして表現します。Lisp処理系は,与えられたリストの一つ目の

    Part4 Javaで作るオリジナル言語
  • 卑猥乙な人の発表

    更新日:5月21日10時42分

    卑猥乙な人の発表
  • LISP - Wikipedia

    LISP(リスプ)は、関数型プログラミング言語である。S式と前置記法などが特徴である。 1958年秋から開発を始め[1]、1960年3月にLISP Iのマニュアルが書かれ[2]、1960年4月[3]に初めて論文発表されたLISPは、現在でも広範囲に使用されている高水準プログラミング言語の中ではFORTRAN、COBOLに次いで3番目に古い[4](世界で3番目に作られたプログラミング言語という意味では無く、他の言語が使われなくなったという意味)。 これまでに多数の方言が存在してきたが、今日広く使われているLISP方言は、Common Lisp、Scheme、Clojureなどである。 元々、LISPは、アロンゾ・チャーチのラムダ計算表記法に影響を受け、コンピュータプログラムのための実用的かつ数学的な表記法として作られた。そして、すぐに人工知能研究に好まれるプログラミング言語になった。最初期の

    LISP - Wikipedia
  • 高階関数 - Wikipedia

    高階関数(こうかいかんすう、英: higher-order function)とは、第一級関数をサポートしているプログラミング言語において少なくとも以下のうち1つを満たす関数である。 関数(手続き)を引数に取る 関数を返す 高階関数は厳密には第一級関数をサポートしているプログラミング言語において定義される。C言語やPascalでは、関数へのポインタを利用して高階関数を模倣することができるが、関数ポインタによって第一級関数をサポートしているとみなされてはいない。高階関数は主に関数型言語やその背景理論であるラムダ計算において多用される。 また、ある関数(手続き)の引数となる関数(手続き)のことを関数引数[1]や手続き引数[2]と呼ぶこともある。

    高階関数 - Wikipedia
  • 計算機プログラムの構造と解釈 - Wikipedia

    『計算機プログラムの構造と解釈』(Structure and Interpretation of Computer Programs。原題の略称SICPがよく使われる)は、1985年にMIT出版から刊行された、計算機科学分野の古典的な教科書。著者はマサチューセッツ工科大学 (MIT) の教授ハル・アベルソンとジェラルド・ジェイ・サスマン、ジュリー・サスマン。かつてMITコンピュータ科学科の6.001として知られるプログラミングの入門講義で使われていた[1]。第2版(ハードカバー版 ISBN 0-262-01153-0、ペーパーバック版 ISBN 0-262-51087-1)が1996年に刊行された[2]。計算機科学の古典として広く認められている。 表紙に魔術師が描かれているため魔術師(Wizard Book)としても知られ、まれに表紙の色をとって紫(Purple Book)とも呼ばれる

    計算機プログラムの構造と解釈 - Wikipedia
  • 書評 - 入門Common Lisp : 404 Blog Not Found

    2007年01月22日14:30 カテゴリ書評/画評/品評Lightweight Languages 書評 - 入門Common Lisp 正三郎さんの紹介をみて早速注文を入れたのがついさっき届いたので。 入門Common Lisp 新納浩幸 新納浩幸著「入門Common Lisp」: ホットコーナーの舞台裏出版社は、毎日コミュニケーションズ。最近、よくこういうのも出してくれ てますよね。ありがたいことです。 書「入門Common Lisp」は、「入門Haskell」に続く、毎日コミュニケーションズの「入門シリーズ」。 1章 Lispの概要 2章 xyzzy上でのLispプログラミング 3章 Lispの基文法 4章 式は評価され値を返す 5章 繰り返しは再帰呼び出しで書く 6章 代入式は使わない 7章 高階関数が利用できる 8章 λ(ラムダ)計算 APPENDIX ざっと見た感想から言

    書評 - 入門Common Lisp : 404 Blog Not Found
  • プログラミング言語はLispに回帰しているんだろう - http://rubikitch.com/に移転しました

    Lispはいまだ一騎当千の最強言語の地位を不動のものにしている(と思う)が、考案されたのが50年も昔というのには驚かされる。古代の神秘という感じ。 歴史には詳しくないけど、初期のLispからlambda式やGCってあったよな?あと、Schemeも30年以上前に生まれたんだっけ。あのころからレキシカルクロージャーがあったんだよね。すごいよなあ。 RubyはLispの長所をたくさんとりいれた。Javaも最近になってクロージャーが導入されたっけ。GCは今な言語にはほぼ必ずといっていいほど備わっている。いろいろな言語がLispに近づこうとしているような。Lispの考え方からいろいろな言語が生まれて、進化の先はLispに回帰するということか… せっかく最強言語のLispがありながら、おれおれ言語がどんどん登場していくさまはおもしろい。括弧が嫌いなのかな。Lispの表現力の源はS式だというのに括弧を拒

    プログラミング言語はLispに回帰しているんだろう - http://rubikitch.com/に移転しました
  • Lispは本当に最強か? : 404 Blog Not Found

    2008年04月26日17:30 カテゴリLightweight Languages Lispは当に最強か? これはある程度さまざまな言語で経験を積んだプログラマーが必ず抱く感慨なのだけど.... プログラミング言語はLispに回帰しているんだろう - ’(rubikitch wanna be (a . lisper)) せっかく最強言語のLispがありながら、おれおれ言語がどんどん登場していくさまはおもしろい。括弧が嫌いなのかな。Lispの表現力の源はS式だというのに括弧を拒否したら表現力が落ちるよなぁ… これって果たして当なのだろうか、ということを改めて考えてみる。 違うものは、違って見えるべきだ - Different things ought to look different 「Lisp最強」と思っている人々が、「なのに何でLispが普及しないのか」という設問に対する回答とし

    Lispは本当に最強か? : 404 Blog Not Found
  • Geekなぺーじ:Lispは神の言語

    神はLispで世界を創世したそうです。 歌詞を聴かなければ、普通のフォークソングに聞こえてしまうのが凄いと思いました。 Bob Kanefsky, "Eternal Flame" : MP3 歌詞 : 原文 gnu.org : Eternal Flame (song parody)より。 I was taught assembler in my second year of school. It's kinda like construction work -- with a toothpick for a tool. So when I made my senior year, I threw my code away, And learned the way to program that I still prefer today. Now, some folks on the Int

  • 1