タグ

lispとprogramming languageに関するh-hiraiのブックマーク (22)

  • Lisperはプログラムに何を見るか - 八発白中

    男子校に通う中学生の僕らにとって「家庭科」の授業は休憩時間のようなものだった。 僕の中学校には家庭科室というものがない。だから、いつもの教室で野菜の種類やそれに含まれる栄養素なんかを教わるというだけの、正直退屈な授業だった。話される内容はどれもただ暗記すればいいものなので、授業を聴かなくても定期試験前に教科書を読み通すだけで九〇点は取れる教科だった。 学校としても文科省の教育課程に沿うがためだけに時間割にねじ込んでいるに過ぎなかったと思う。特別教室がないことでも真面目にこの教科を取り扱う気がないことがわかるし、生徒の方でもその学校の態度を敏感に感じとっていた。 そんなやる気のない男子学生の前に立って話すのは教師にとって楽しいものではなかっただろう。僕らの先生は、落ち着いた雰囲気でどこかしたたかさのある、髪の長い女の先生だった。 その日も彼女はいつも通り、キノコに含まれる何々という栄養素が、

    Lisperはプログラムに何を見るか - 八発白中
    h-hirai
    h-hirai 2015/06/30
    マクロも自分で使い道が思いつけない言語機能、というか代表格だ
  • リリカル☆Lisp開発日記 » Blog Archive » 自作Lispインタプリタを公開して後悔しないように

    (この記事はLisp Advent Calendar 2日目のためのエントリです。) 「え、お前の家、カレーに味噌汁付けてるの!?」 頑張って作っていたLispインタプリタがついに完成。友達に自慢してソースコードを見せてみたら 「え、なんでそんな実装になってるの? それって変じゃない?」 といった反応が返ってきたことはありませんか。きっとありますよね。昔から「人の数だけLispがある」と言われていまして、書く人によって色々と違いが出てくるのは当然です。しかし、どんな違いが出てくるのかを知らないと、要らぬ混乱を招く可能性があります。 この記事を読むことで、一言に「自作Lispインタプリタ」と言っても、色々なやり方があることを知り、友人の心ない発言に傷ついたり、逆に人を傷つけないようにする知識を身につけた気分になれます。 「あの人は自分でごみ集めを書いてくれたのに」 Lispインタプリタを書く

    h-hirai
    h-hirai 2013/12/02
    すばらしいまとめ。あとタグを新しく作った。
  • not found

    h-hirai
    h-hirai 2010/08/25
    …やっぱり多いね、って結論になっちゃってる気が。
  • t, nil, '(), #t, #f

    メモっておきたかったので、勝手にまとめました。「誰でも編集可」です。 私の日語がカオスですいませんでした・・・。 「scheme も Common Lisp みたいに、nil が偽で空リストも偽で空リストが nil 、だと良いのになー。」「(car nil) や (car '()) が nil なのも良いなー。」と思ったのでした。なんで Scheme はそうじゃないんだろう?というのが切欠です。 Chaton の方からも転載・・・。 http://practical-scheme.net/chaton/gauche/a/2010/05/19#entry-4bf3a94b-4dcf6

    t, nil, '(), #t, #f
  • プログラマは皆どのようにしてLisperと化して行くのか?

    LispでWebサービスを作ればYahoo!に60億で買ってもらえると聞いて 実はCと同じくらい速いコードが書けると聞いて ルンバがLispで書かれていると聞いて リリカルなので 面接で笑われてカッとなった マンガでわかるらしいので iPhoneアプリが開発できると聞いて iアプリでLispが書けると聞いて 初めて手に入れたポケコンがAI-1000だった ハッカーと画家を読んでしまった 普通のやつらの上を行きたいので 舌足らずなので セグウェイを制御するコードが一日で書けるようになると聞いて How to become a Hackerを読んだ 専用の求人情報に応募できると聞いて プログラミングClojureを読んだ 初めての人のためのLispを読んだ 自前のLispで書かれた将棋が強かったので LispとPostScriptがあればハッピーになれると聞いて LOLの熱にあてられた On

    プログラマは皆どのようにしてLisperと化して行くのか?
    h-hirai
    h-hirai 2010/04/02
    Shiroさん率高い。
  • Lisp code batton - Shibuya.lisp Tech Talk #5

    Storytelling For The Web: Integrate Storytelling in your Design Process

    Lisp code batton - Shibuya.lisp Tech Talk #5
    h-hirai
    h-hirai 2010/03/26
    あ、この発表があったんだっけ。参加申し込めばよかった。
  • Island Life - 言語の強み

    About 南の島のプログラマ。 たまに役者。 Practical Schemeの主。 WiLiKi:Shiro 最近のエントリ 米国の大学進学無限cxr高校受験Defense振り返ってみると2019年は色々学んで楽...覚えるより忘れる方が難しい(こともある)眼鏡のつると3DプリンタIris Klein Acting ClassSAG-AFTRA conservatory: Voice Acting創作活動って自分を晒け出さねばならないと...More... 最近のコメント shiro on 歳を取ると時間が速く過ぎるのは、新しいことに挑戦しないから? (2023/03/14)1357 on 歳を取ると時間が速く過ぎるのは、新しいことに挑戦しないから? (2023/03/01)ベアトリーチェ on ハイポハイポハイポのシューリンガン (2022/04/02)ベアトリーチェ on ハイポハ

    Island Life - 言語の強み
    h-hirai
    h-hirai 2010/03/17
    やっぱ、あの人たちみたいにはなれねぇや……。と、遠巻きにしてるだけだということにときどき気付かされるのであったw
  • LISPMEMO

    LISPUSERLISPMEMOLisp is a programmable programming language. -- John Foderaro Emacs Lisp は (Scheme よりは) Common Lisp に近い、ということかと思います。 以下理由: 真偽: T, NIL で Scheme 族ではない 基が反復。Schemer が使うとほぼ間違いなく再帰が深過ぎというエラーがでる Lisp-2 : 変数と関数の名前空間が別 (let ((car '(item))) (car car)) => item ダイナミックスコープ (CLはレキシカルスコープとダイナミックスコープ、Schemeは基レキシカルのみ) マクロが伝統的な defmacro 破壊的操作を恐れない (むしろ推奨)。命名規則も nrevse とか。 伝統的に関数型っぽく書く事を重視しない Comm

    h-hirai
    h-hirai 2010/02/26
    Emacs Lisp と Common Lisp (とScheme) do とか while とか使わんだろJK、みたいな via http://twitter.com/dico_leque/status/9661875979
  • 『プログラミングClojure』のできるまで(編集者サイド)

    訳者のShiroさんが経緯を書かれているので、編集者の視点から振り返ってみます。 プログラミングClojure http://ssl.ohmsha.co.jp/cgi-bin/menu.cgi?ISBN=978-4-274-06789-1 Stuart Halloway 著 川合史朗 訳 Island Life - 『プログラミングClojure』のできるまで (訳者サイド) http://blog.practical-scheme.net/shiro/20100125-making-programming-clojure 企画のきっかけは、Lisp50での評判を読んだことでした。 http://hisashim.livejournal.com/431911.html その後はShiroさんの記事のとおり。 翻訳編集は、LispやJVMをはじめとする各種技術に詳しい方たちに原稿をレビュー

  • Island Life - 『プログラミングClojure』のできるまで (訳者サイド)

    About 南の島のプログラマ。 たまに役者。 Practical Schemeの主。 WiLiKi:Shiro 最近のエントリ 米国の大学進学無限cxr高校受験Defense振り返ってみると2019年は色々学んで楽...覚えるより忘れる方が難しい(こともある)眼鏡のつると3DプリンタIris Klein Acting ClassSAG-AFTRA conservatory: Voice Acting創作活動って自分を晒け出さねばならないと...More... 最近のコメント Jessica Kirkpatrick on CLtL2 (2025/06/28)shiro on 歳を取ると時間が速く過ぎるのは、新しいことに挑戦しないから? (2023/03/14)1357 on 歳を取ると時間が速く過ぎるのは、新しいことに挑戦しないから? (2023/03/01)ベアトリーチェ on ハイポハ

    Island Life - 『プログラミングClojure』のできるまで (訳者サイド)
    h-hirai
    h-hirai 2010/01/26
    「そしてもちろん、最終目標はLisp族によるJavaエンタープライズの乗っ取りである。ふはははは。 」
  • 『プログラミング Clojure』 - 月の塵

    Clojure, レビューに参加させていただいていた『プログラミング Clojure』の献が昨日届きました。来週には書店にも並ぶでしょうか。総勢十名近くのレビュアーがいたということで、(誤植についてはいくらか見落としがあるかもしれませんが)日語として不自然な部分、技術的な間違いについてはかなり少なくなっているのではないかと思います。関係者のみなさま、おつかれさまでした。内容は、というと、 Clojure の言語機能をひと通り眺めながら、 Lancet というビルドシステムを開発するというものになっています。内容自体はそれほど目新しいものではありませんが、開発の進め方がかなり「Lisp らしい」ものになっています。例えば、第 3 章では Clojure から Java のライブラリを使う方法を説明し、それをもとに Ant の機能を Lancet に組み込んで行くのですが、ここで普通なら

    h-hirai
    h-hirai 2010/01/22
    むぅ、おもしろそうだなぁ。てか、shiroさんつー時点で購入決定なのだった。via http://twitter.com/chaton_gauche/status/8023917967
  • Yaneu Labs --- コンピュータ将棋プログラムをLISPで書く

    *[hatefu:labs.yaneu.com/20090905/] コンピュータ将棋プログラムをLISPで書く 「コンピュータ将棋プログラムをLISPで書く」と言うとコンピュータ将棋開発関係者にすら完全にネタかと思われているのが実状ではあるが、私はこれを機にその誤解を解いておきたい。 ここでは、私がC#で書いたLISPエンジンのソースを公開し、これが実際にコンピュータ将棋プログラムの開発において非常に有効であることを示す。 * YaneLisp version 1.10 今回の記事はあまりに長文なので最後まで読む前に眠くなる人のために、まず始めに私が実装したLISPのバイナリとソースを配布しておく。ライセンスはNYSLとする。 勢いに任せて実装したので、かなり雑な作りだが、必要ならばC#側で関数を追加するなりすればいいと思う。このLISPの製作に要した時間は丸2日ぐらい。 # YaneL

    h-hirai
    h-hirai 2009/09/05
    斜め読みしかしてないけど Shiro さんの CiSE が用途にぴったりなんでわ、と思った
  • 2004年 9月 (2)。

    Last Modified: Tue Sep 21 07:53:52 EDT 2004 (09/21, 20:53 JST) Sep 20 [Mon] (11:00) あいかわらずお人好しすぎるのだ、オレは…。 まあ、騙すよりは騙される側でいるほうが罪がなくていいのだけどね。 はて、なぜオレはそう考えるのだろう。か?? (11:07) 硬貨設定問題のつづき。じつはきのうの宿題の第 2問目はこうである: 出典はこちら ある国では、客と店員が協力して、買い物のさいに使う硬貨の個数の和がもっとも少なくなるように 買い物する。たとえば US で 24セントのものを買いたいときは、客は 24セント (硬貨6個) ちょっきりは 払わずに、わざと 25セント (硬貨1個) を払い、店員が 1セントのおつりを返すのだ。こうすることにより 「客の出した硬貨の数」 と 「おつりに含まれる硬貨の数」 の和が最小

    h-hirai
    h-hirai 2009/07/21
    「こっちの言語マイノリティにとっては Python は「カッコつけたいだけの馬鹿が使う人気言語」ってイメージ」ひょっとしてこっちではRubyがそうなんだろうか via http://twitter.com/natsutan/status/2755798717
  • Pythonのjoinがキモいとか言ってると、多重ディスパッチ派の人がやってきますよ - みずぴー日記

    ','.join() がなぜキモイのか - methaneのブログ Pythonの','.join()がキモいと思ってた時代が僕にもありました - by edvakf in hatena この辺を読んだ感想。 joinがArrayのメソッドであるべきか、Stringのメソッドであるべきかを議論していると、多重ディスパッチ派の人が嬉々としてやってきますよ。 で、「これだから単一ディスパッチのオブジェクト指向はダメなんだ。joinはArrayとStringのコンビネーションで定義するべきメソッドだ」とか言って、こんなコードを書くと思います。 (define-method join ((x <string>) (xs <list>)) (string-join (map x->string xs) x)) 念のため ボクは多重ディスパッチ派閥じゃないですよ。 ボクの考えでは、これはオブジェクト指

    Pythonのjoinがキモいとか言ってると、多重ディスパッチ派の人がやってきますよ - みずぴー日記
  • マンガで分かるLisp (その1)

    | Home | Next>

  • Lispチュートリアル - pattersonの日記

    2日間みっちり!Lispチュートリアル & 事例紹介セミナーの1日目参加した MOP (Metaobject Protocol) in One Day Gregor Kiczales 著 The Art of the Metaobject Protocol(略してAMOPというらしい)をベースとしてMOPについて理解することを目的としたセミナー。ならばとAMOP買って読んでみたが、いまいちよくわからない。やや後悔。 そもそもMOPってなに? Metaobject Protocolなんて言われてもさっぱりわからない。Metaobjectって言われるとOOPっぽいし、Protocolって言われるとネットワークプロトコルみたいなものを考えてします。だいたいLipsにはCLOSっていうOOの仕組みがあるのに、これとは別にMOPが必要な意味がわからない。セミナーでわかるといいが、受講者のレベルが高そ

    Lispチュートリアル - pattersonの日記
    h-hirai
    h-hirai 2009/04/23
    こんなセミナーやってたのかー。
  • シンボルとパッケージ - ファイヤープロジェクト

    Common Lispのシンボルには,いろいろな情報が格納されている.また,Common Lispにはパッケージというものがあって,これによってシンボルの名前空間を拡張できる. シンボルの構成 シンボル名 属性リスト パッケージ シンボルのインターン パッケージの定義と移動 シンボルの構成シンボルは以下から構成される. シンボル名 パッケージ 変数値 関数 属性リスト シンボルは簡単に作成できて,見ためも単なる文字列のように見えるが,内部では構造を持っていて,いろいろな情報を持っている. シンボル名前節のとおり,シンボルは単なる名前ではなく実体を伴うオブジェクトである.人間はシンボル名を通して,シンボルを単なる名前として認識できる.シンボルのシンボル名はsymbol-nameによって参照できる. (symbol-name ‘SYMBOL) “SYMBOL” (symbol-name ‘Sy

  • http://cl-www.msi.co.jp/articles/lisp-talk.html

  • Lispは未来に生きている - リリカル☆Lisp開発日記

    Lispは常に未来を先取りしてきました。 GCがJavaやLL等により一般に浸透するよりも遥か昔からGCを備えていたし、 「クロージャ! クロージャ!」と騒がれる遥か昔よりクロージャを備えてました。 Lispは"現在"ではなく"未来"に生きているんです。 Lispが未来に生きていることは簡単なプログラムを書くことですぐに分かります。 もうすぐ、UNIX timeが「1234567890」になると騒がれていますが、 Lispの中ではそんな時間は既に通り過ぎているのです。 CL-USER> (decode-universal-time 1234567890) 30 ; 31 ; 8 ; 15 ; 2 ; 1939 ; 2 ; NIL ; -9 Common Lispの中での時間が「1234567890」を迎えたのは、 日時間で1939年2月15日8時31分30秒です。 UNIX

  • ClojureがSTMとLISPをJVMにもたらす

    Clojure(リンク)はLISPファミリの言語のかなり新しいメンバであり、Javaプラットフォームで動作する。2007年に導入され、すで高い関心を集めている。ひとつの理由はClojureの並行処理へのアプローチであり、ソフトウェアトランザクショナルメモリ(STM)のコンセプトを踏まえている。 Stuart Halloway氏は「Programming Clojure」(リンク) (Pragmatic Programmersで公開されている)の著者であるが、このは現在ベータ版である。私達はStuart氏とClojureやSTM、ツール、さらにたくさんのことを話した。 InfoQ: Clojureは並行処理の支援にSTMを使用していますが、STMについて簡単に教えて下さい。 STMはもっと大きな話である、ミュータブルな状態のための明確なAPIの一部です。みなさんのコードを純粋な機能的でミュ

    ClojureがSTMとLISPをJVMにもたらす