タグ

Lispに関するoto-oto-otoのブックマーク (28)

  • Rubyネタ: ホットコーナー

    ブログ(iiyu.asablo.jpの検索) ホットコーナー内の検索 でもASAHIネット(asahi-net.or.jp)全体の検索です。 検索したい言葉のあとに、空白で区切ってki4s-nkmrを入れるといいかも。 例 中村(show) ki4s-nkmr ウェブ全体の検索 ASAHIネット(http://www.asahi-net.or.jp)のjouwa/salonからホットコーナー(http://www.asahi-net.or.jp/~ki4s-nkmr/ )に転載したものから。 --- おれが勝手にALGOLシンタックスのLispだとわめているRubyネタ。 http://www.itmedia.co.jp/enterprise/articles/0612/22/news012.html まつもとゆきひろ――第1回:オープンソースという「お仕事」 http://www.itm

  • Lisp:よくある正解

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

  • Lispが何故使われないか - 数学猫の生活と意見

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

  • Matzにっき(2006-12-27)

    << 2006/12/ 1 1. [Ruby] Ruby Advent Calendar : 25 Days of Ruby Joy and Celebration 2 1. [教会] 宣教師の手伝い 2. [言語] ボヘミアンの勝利(?) 3. [Ruby] Erubis - A faster alternative to ERB / eRuby 3 1. [教会] ブルークリスマス 4 1. [Ruby] 日 Ruby 会議 2007 2. 凄い漢字 5 1. [原稿] 日経Linux 2006年2月号 2. チープ教育 3. [Ruby] erubycon 6 1. [原稿] 日経Linux 2006年2月号 2. スライド 3. 懇親会 4. [Ruby] TopFunky's PodCast Interview with Matz - O'Reilly Ruby 5. [言語]

  • Scheme:マクロ:CommonLispとの比較

    安全なマクロ束縛変数の衝突自由変数の衝突S式≠プログラム?議論、コメント 関連: Scheme:マクロ:anaphoric ifの代替, Scheme:マクロの効用, Scheme:マクロの危険 2007/05/15 00:08:13 PDT追記: 黒田さんの再反論と、それに対するコメント:Scheme:マクロ:CommonLispとの比較:意味論。 安全なマクロ MSIの黒田さんの About Schemeより: first class symbol がないということは様々な弊害を引き起こしますが、なかでも深刻なのは、名前の衝突に関して無力な点です。 そうすると、実質 macro が書けない… 例えば以下の arithmetic-if は、いかなる名前とも衝突しない uninterned な名前を var に割当てることで、 どういうコンテクストにおいても動作保証のできるマクロ展開結

  • Scheme:マクロ:CommonLispとの比較

    安全なマクロ束縛変数の衝突自由変数の衝突S式≠プログラム?議論、コメント 関連: Scheme:マクロ:anaphoric ifの代替, Scheme:マクロの効用, Scheme:マクロの危険 2007/05/15 00:08:13 PDT追記: 黒田さんの再反論と、それに対するコメント:Scheme:マクロ:CommonLispとの比較:意味論。 安全なマクロ MSIの黒田さんの About Schemeより: first class symbol がないということは様々な弊害を引き起こしますが、なかでも深刻なのは、名前の衝突に関して無力な点です。 そうすると、実質 macro が書けない… 例えば以下の arithmetic-if は、いかなる名前とも衝突しない uninterned な名前を var に割当てることで、 どういうコンテクストにおいても動作保証のできるマクロ展開結果を

    Scheme:マクロ:CommonLispとの比較
  • About Scheme

    (2006年11月21日に開催した Lisp セミナー 後の懇親会に出席して) 先日のセミナーのあと、懇親会で何人かの方に 「Scheme についてどう思うか?」を聞かれました。 わたしは何を隠そう、初めて Scheme を知ったとき最終兵器を手に入れたような気分になった者の1人です。 もうこれで他のプログラミング言語を学ぶ必要はない、とまで思ったものです。 幸い、それが大間違いだったことにほどなく気がつき、 いまでは Scheme には ALGOL としての期待しか持っていません。 端的に言ってしまえば Scheme は Lisp ではないです。 この2つを混同するのは味噌糞いっしょ、ってやつで、つつしむべきです。 Confusing Common Lisp and Scheme is permissible once in a human life. -- Erik Naggumなぜか

  • 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 の比較について意見を求めるものがあって、 読み上げたあとしば

  • 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で作るオリジナル言語
  • TechCrunch Japanese アーカイブ » Y Combinatorカンパニーって誰?

    TechCrunch Japanese アーカイブ » Y Combinatorカンパニーって誰?
  • ホワット・ア・ワンダフル・ワールド lambda 式の Just-In-Time コンパイラ

    Author:あろは (alohakun) デバッガ開発者見習い(予定) 連絡先 : alohakun ___at___ gmail.com mixi : http://mixi.jp/show_friend.pl?id=182927 twitter : http://twitter.com/alohakun このページはインラインフレームを使用しています ET はコンパイラが簡単に作れる,作れると口で言うだけでは説得力が無いので,実際にちょー Tiny なネイティブコンパイラを書いてみました. (単に BINARY HACKS の件でテンションが上がったという説もあり.バイナリアンたるもの,ちょっとでも不便を感じたら,一日一ネイティブコンパイラ (another day, another language compiler) ぐらい書かないと!(それは無いな.Io/sed/brainf

  • defmacro - Writing A Lisp Interpreter In Haskell

    Introduction A while ago, after what now seems like eternity of flirting with Haskell articles and papers, I finally crossed the boundary between theory and practice and downloaded a Haskell compiler. I decided to do a field evaluation of the language by two means. I was going to solve a problem in a domain that Haskell is known to excel at followed by a real world problem1 that hasn't had much ex

  • ある元UNIX少年の独白

    正直に白状しよう。記者はWindows歴が10年以上と長いが,まだまだWindowsを己の身体の一部であるかのようにスムーズに操作できるまでには熟達していないということを。マウスを用いたファイルのドラッグ&ドロップは苦手だし,フォルダの中から所望のファイルを目視で見つけるスピードも,自慢ではないが遅い。場合によっては,作業の内容にもよるが,わざわざ別のUNIX機にファイル群を移して作業するケースもある。 もちろん,Windowsは世界中で何十億人ものユーザーが利用しているOSであり,その成熟度は極めて高い。他のOSと比べてみても,GUI(Graphical User Interface)の操作感覚やGUI部品の完成度を含めたデザインは,一歩先を行っていると言ってよい。OSとして最大のユーザー数を誇るWindowsGUIには,その上で稼働している個々のアプリケーション・ソフトウエアを含めて

    ある元UNIX少年の独白
  • ホワット・ア・ワンダフル・ワールド マクロの条件付き展開ってできないのかねぇ…

    ふと思いついて,パタンマッチでコンパイルタイムにマクロメタプログラミングできないのかねぇと. ようするに,C++ のこれがやりたかった. template<int n> struct fact{enum{fn = n * fact<n - 1>::fn};}; template<> struct fact<0>{enum {fn = 1};}; ノリ的にはこういう風に書きたいんだけど… (疑似コード) (defmacro fact (0) 1) (defmacro fact (n) `(* n (fact ,(- n 1)))) そして,(fact 10) とかが 3628800 という静的な形でソースコード上に貼り付けられて欲しい. しっかし,よく考えたら,Common Lisp の macro は (今日一日調べた限りでは…) テンプレートの特殊化とかできないから,単に上書きされるだけ

  • ホワット・ア・ワンダフル・ワールド はじめての C (ommon Lisp)

    さてと,とりあえず Common Lisp でもイジってみっぺかと. CMUCL - CMU Common Lisp を見てたら,「Common Lisp で実装された Emacs ライクなエディタ」 という一文を発見し,おー,Linux にも xyzzy みたいなのがあったのかー と.CMU (名門カーネギーメロン大学ですな) の Common Lisp 実装に手を出してみることに. # apt-get install cmucl-clm cmucl-docs binfmt-support cmucl-clm ってやつが,たぶんエディタか IDE なのかなー と思ってインストールしてみたのですが,どこにもコマンドが無い… まぁいいや.気にしない. さーて何を試そうかな.やっぱり,CL っつったら,(declare (optimize (speed 3) (debug 0) (safety

  • 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))

  • http://www.jssac.org/Editor/Suushiki/V12/No3/V12N3_102.pdf

    oto-oto-oto
    oto-oto-oto 2006/10/03
    中西正和
  • 2006-09-27

    コード書く。 なんかやろうとして飽きた↓ http://morihyphen.hp.infoseek.co.jp/files/sexpr-spirit.tar.gz 飽きたのを置いとくというのもアレなんだけど… まあ、つまり、boost::spiritすばらしいです。というような。 integer = int_p[ integer.val = construct_<TaggedVal>(arg1) ]; symbol = (+(alpha_p | ch_p('-') | ch_p('_')))[ symbol.val = phoenix::bind(&symval)(arg1,arg2) ]; list_elem = (sexp[list_elem.val = arg1] >> list_elem[list_elem.val = construct_<TaggedVal>(list_ele

    2006-09-27
  • Smalltalk の nil とその振る舞い - Smalltalkのtは小文字です

    Ruby の開発者向けのメーリングリストや、2ちゃんねるの関連スレで、nil の文字列化(あるいは文字列型への変換)に関する仕様変更についての話題で、いつになく活発に議論が展開されているのに触発されたので、Smalltalk の nil やその振る舞いについて、Ruby や LISP との比較がてら、特徴を整理してみました。 nil とは何か? Ruby では nil は、クラス「NilClass」のインスタンスです。気持ちは分かるのですが、これだと、じゃあ nil って何よ…的な感じがしていけません。Smalltalk では「UndefinedObject」のインスタンスとすることで、その役割が比較的、明確(?)にクラス名に込められています。と、言っても、UndefinedObject として定義されているのに未定義とはこれいかに…という意味での“未定義”ではなく、変数や配列の要素が未定

    Smalltalk の nil とその振る舞い - Smalltalkのtは小文字です
  • 人工知能の第一人者J・マッカーシー氏に聞く--AI研究、半世紀の歴史を振り返る

    --実現できるかどうかはともかく、もう1つの言わば高次元の目標として、コンピュータ知能に独創性をプログラミングするという試みがあるようですね。 ええ。それはやってみる価値のある研究テーマです。実は、私は、1963年に、そのテーマに途中まで取り組んだことがあります。当時は、問題の創造的な解決という言い方をしていました。問題、つまりステートメント自体には含まれていない要素を含む解決策を導き出す試みです。しかし、結局はほんの入り口を覗いた程度だったのですが。 --独創性というのは、単純にプログラムに何らかのランダム性(偶発的な要素)を取り入れることと考えてよいのですか。それとも、まったく別次元の話なのでしょうか。 原理上は、論理システムでは、規則的にもランダムにもセンテンスを生成することは可能です。そして、最終的には何らかのアイデアが出てくることになるのですが、この「最終的に」というのが、はるか

    人工知能の第一人者J・マッカーシー氏に聞く--AI研究、半世紀の歴史を振り返る