タグ

lispとあとで読むに関するgikanのブックマーク (17)

  • Land of Lisp - ぱたへね

    漫画が独特の味を出しているCommon Lispの、Land of Lispを読みました。とても面白かったので紹介します。 の内容 ゲームを作りながら、Common Lispや関数型プログラミングについて学べるです。他の「ゲームで学ぶ・・・」系のと違うのは、既存のゲームをCommon Lispで実装していくので、できあがったゲームがそれなりに面白い事です。ゲームのI/Fは基CUIですが、一部の出力に関してはgraphvizやsvgを使ってグラフィカルに出力されていて面白くなっています。Common Lispの基的な文法以外にも、Functional programmingゲームAI、Webサーバー、Lazy Programmingと扱っているトピックは広いです。 基的なスタンスが「Lispサイコー」なので、そういうのが好きな人も十分楽しめると思います。 ゲームの紹介 いく

    Land of Lisp - ぱたへね
  • Rails3.1の初期化プロセスを細かく追いかけたRailsGuidesの記事を和訳したよ:ミームの死骸を越えてゆけ

    This domain may be for sale!

    Rails3.1の初期化プロセスを細かく追いかけたRailsGuidesの記事を和訳したよ:ミームの死骸を越えてゆけ
  • 竹内関数で音楽生成 - aike’s blog

    Lisperの人ならみんな知ってる竹内関数(たらいまわし関数)という関数があります。 定義としてはこんな感じ。 そのシンプルな定義からは想像もつかないほど複雑で膨大な再帰呼び出しがおこなわれるとても興味深い関数です。たとえば引数にTarai(10,5,0)を与えると343,073回も再帰呼び出しされたりします。 この関数呼び出しの引数がどのように変化するか知りたくてプログラムを書いて調べてみたところ、Tarai(10,5,0)の場合は3つの引数がそれぞれ0〜10(xは-1〜10)の間で少しずつ変化するなかで、2つの値を固定してひとつの値が下降していくような挙動があったりして、なんだか音楽の3和音のコード進行を思わせるような動き方です。 そういうことなら、ということで実際に音にして聴いてみました。Tarai関数が呼ばれるたびに引数のx、y、zを、0=ミ、1=ファ、2=ソ、……、のように音に割

    竹内関数で音楽生成 - aike’s blog
  • Practical Scheme

    このページでは、プログラミング言語Schemeの紹介、および 自作のSchemeのライブラリやアプリケーションの紹介をしてゆきます。 特に、ファイルをパーズしてテキストファイルを生成したりとか、 プロセスを監視したりとか、ちょっとしたGUIをでっちあげる と言った、職業プログラマとしてやってく上で避けて通れない雑用に便利な ライブラリが中心になる予定です。 SchemeはLisp系の言語で、見かけはLispに良く似ています。 Lispと聞いたら人工知能用言語だとか、もう古くさい言語だとか思われることも 多いんですが、CommonLispで書かれた実用的なアプリケーションはいろいろ ありますし、Schemeも拡張言語としてそれなりに使われています。 ただ、いかんせんマイナーな言語であることは間違いなく、メンテできる人が居ない とか他に分かる人が居ないという理由で採用が見送られることがあるのは

    Practical Scheme
  • LISPやSchemeを学びたくなる読み物 - 9LISP (Kyushu.lisp)のブログ

    この記事は今日書いていますが、明日のために書いています。あ、今日というのは、今日からすると昨日のことです。明日というのが今日のことです。つまり、この記事を書いてるのは昨日で、昨日からすると、今日、明日の記事を書いています。えっと。つまりですね。明日(今日のことです)は用事があってブログを更新できないので、今日(昨日のことです)ブログを書いてるわけです。つまり、俺がお前でお前が俺です。 今回は、valvallowさんがまとめてくれた「LISPやSchemeを学びたくなる読み物」のリンク集を掲載します。9LISPの公式サイトにあがってるのをパクってるだけです。 http://sites.google.com/site/kyushulispkpf/home/lispya-schemewo-manabi-taku-naru-yomimono なぜ、LISPなのか?が見えてくる気がしますが、見えてこ

    LISPやSchemeを学びたくなる読み物 - 9LISP (Kyushu.lisp)のブログ
  • 非同期と継続と私 - 技術日記@kiwanami

    非同期のプログラミングの解説の中にはよく「継続(渡し)」が良く出てきます。継続といえば Scheme の call/cc ですが、やっぱり JSDeferred のサンプルのページにも出てきます。直感的にはあんまり関係ないような気がしますが、関係があるようです。 さらに、非同期と遅延評価の関係も気になります。非同期は「結果が後で来る」感じですが、遅延評価は「必要になるまで結果を計算しない」ということで、後回しにする感じが似ています。 今回、deferred.el を作った後にこれらについて考えてみたところ、なんとなく自分の中で実用的な結論に達したのでまとめてみました。以下、その過程とまとめです。 あらすじ 継続渡し(CPS)と非同期 CPS変換から非同期化 Deferredで非同期化 遅延評価と非同期 遅延関数のCPS変換から非同期化 Deferredで非同期化 明示的形式と暗黙的形式 継

    非同期と継続と私 - 技術日記@kiwanami
  • not found

  • ((Pythonで) 書く (Lisp) インタプリタ)

    Peter Norvig / 青木靖 訳 このページには2つの目的がある。コンピュータ言語の実装について一般的な記述をすることと、Lispの方言であるSchemeのサブセットをPythonで実装する具体的な方法を示すことである。私はこのインタプリタをLispy (lis.py)と呼ぶ。何年か前に私はJavaとCommon LispでSchemeインタプリタを書く方法を示した。今回の目標は、アラン・ケイが「ソフトウェアのマクスウェル方程式」と呼んだところの簡潔さと取っつきやすさを可能な限り実現するということだ。 SchemeのサブセットLispy の構文と意味論 コンピュータ言語の多くは様々な構文的な決まり(キーワード、中置演算子、カッコ、演算子優先順、ドット記法、セミコロンなど)を持っているが、Lisp族言語の1つとして、Schemeの構文はすべてカッコ付きの前置記法であるリストを基とし

  • [mac][emacs] Cocoa Emacsの設定近況 « 岩家ぶろぐ

    はじめに この数日で,Perl開発環境としてのEmacsの設定 | おいぬま日報 とか Emacsテクニックバイブル ~作業効率をカイゼンする200の技~ とか WEB+DB PRESS Vol.58 のEmacs特集とかを読んで,私のEmacs環境的にいろいろインプットできた気がするので,それらをまとめてアウトプット. 以下,新たに知った中で,個人的によく使うだろうと思った機能,以前の言及 からの設定の変更とかなどを書いていきます. なお,.emacsの変更以外にもインストール作業等が必要なものが多々ありますが,そのあたりは省略していますのであしからず. インプットいろいろ ヘルプいくつか <f1> k(describe-key) <f1> b(describe-bindings) <f1> v(describe-variable) <f1> f(describe-function) 同

  • 「Lisp信者」にその素晴らしさを熱く語られたときの平和で適当なかわし方

    Lispほど、ハマってる人と興味がない人との温度差が激しいものはないと言えるでしょう。 「Lisper」と言うスラングでも有名ですが、ハマっている人の中には、「Lispの素晴らしさをもっと広く伝えなければ!」と言う使命感を抱いて、ことあるごとに啓蒙活動に励もうとする“信者”が少なくありません。 その博愛の気持ちは尊いといえば尊いのですが、勧められる側がさほどLispに興味がない場合は、どう対処していいのか困ります。今日も全国各地で、Lisp信者の熱い勧誘を受けて、勧められる側が苦笑を浮かべているという構図が繰り広げられていることでしょう。 Lispに興味がない側のあなたが、そういう災難にあったときはどう対処すればいいのか。信者の勧誘に対する平和で適当なかわし方を考えてみましょう。 「Lisp様」を否定するのは危険 程度の差こそあれ、「Lisp」を熱く勧めたがる信者の皆さんは、「Lispによ

  • Webで読めるLisp関連書籍

    2022 (2) ► 10月 (1) ► 2月 (1) ► 2021 (51) ► 11月 (2) ► 10月 (2) ► 9月 (4) ► 8月 (4) ► 7月 (4) ► 6月 (4) ► 5月 (3) ► 4月 (10) ► 3月 (7) ► 2月 (4) ► 1月 (7) ► 2020 (155) ► 12月 (7) ► 11月 (10) ► 10月 (8) ► 9月 (8) ► 8月 (11) ► 7月 (21) ► 6月 (19) ► 5月 (14) ► 4月 (20) ► 3月 (13) ► 2月 (10) ► 1月 (14) ► 2019 (293) ► 12月 (11) ► 11月 (12) ► 10月 (24) ► 9月 (29) ► 8月 (27) ► 7月 (36) ► 6月 (40) ► 5月 (24) ► 4月 (35) ► 3月 (42) ► 2月 (6

    Webで読めるLisp関連書籍
  • なぜLispなのか

    Hofstadter『メタマジック・ゲーム』 ミンスキー「ゲーデルはLispを思いついておくべきだった。もし彼がLispを思いついていたならば彼の不完全性定理の証明はもっと簡単なものになっていただろう」 ゲーデルの証明の一番難しいところは、数学的体系に自分自身を語らせるところにある。天才のひらめきが何段階か必要になる。しかし、Lispは、少なくともゲーデルが必要としていた意味で、まさに自分自身を直接語ることができる ゲーデルはLispを発明した! 不完全性定理のLisp, Mathematicaによる記述 和田英一「Lispへのこだわり」(PDF) Eric S. Raymond「ハッカーになろう」LISP は、それをモノにしたときのすばらしい悟り体験のために勉強しましょう。この体験は、その後の人生でよりよいプログラマーとなる手助けとなるはずです。たとえ、実際には LI

  • 「計算機プログラムの構造と解釈(SICP)」を読み終えて by なつたん - なつたん

    ひげぽんさんの所をパクってテンプレートにして書いてみました。 練習問題をスキップしつつ、私も約半年でで読み終えました。とても楽しい日々を過ごすことができました。 SICPを読む過程で得たもの ・遅延評価とstream ・制約プログラミング、ロジックプログラミング、amb ・Emacs(Meadow)+gauche+Quackの組み合わせ便利 ・同じ事を表現するのに、抽象度を上げたり、下げたりできること。 ・手加減してあればLispのソースも追えるようになった。手加減していないのは駄目。 ・Lisp特有の、手続きを評価する→S式ができる→また評価する→S式ができる、という気持ち悪い再帰の存在。 ・SICP読み仲間ではないけどいろんなblogつながり。組み込みとFPGAだけでない、いろんな世界がある事をあらためて感じた。 SICPを読みはじめたときの動機を振り返る ・関数型言語について Lis

    「計算機プログラムの構造と解釈(SICP)」を読み終えて by なつたん - なつたん
  • Lispの仏さま 竹内郁雄の目力 − @IT自分戦略研究所

    竹内郁雄氏(61歳)                   撮影:大星直輝 竹内氏によると、Lispはすべての言語の原点なのだという。「いまRubyがブームだが、Rubyは要するにカッコのないLisp。XMLもぶ厚いカッコのあるLisp。いろいろなプログラミング技法を見ますが、『Lispにあった』ということが多いです」(竹内氏) 竹内氏の業績をひと言で語るのは難しい。1971~1973年、日電信電話公社(現NTT) 武蔵野電気通信研究所 基礎研究部において、Lispを使った自然言語処理システムの研究を行い、1974~1979年、同研究所で人工知能研究を支援するための記号処理システムを次々に開発。1980~1986年、同研究所などで同社比約1000倍の規模の記号処理システムTAO/ELISを、ハードウェアからOS、応用ソフトまで一貫して設計・実装した。ELISについては竹内氏の功績を含めコン

    Lispの仏さま 竹内郁雄の目力 − @IT自分戦略研究所
  • bwin·必赢(中国)唯一官方网站

  • おとうさん、ぼくにもYコンビネータがわかりましたよ! - 2009-04-09 - きしだのはてな

    やっと、Yコンビネータが何を意味するものなのか、どういう意義があるのかがわかりました。 名前を使わず再帰ができますよ!というだけのものじゃなかったのですね。 まずλありき 関数の話をしたいのです。 そのとき、いちいち hoge(x) = x * 2 としてhogeを・・・、とか名前をつけて話を進めるのがめんどうなので、関数を値としてあらわすと便利ということで、λという値を定義するのです。 そうすると、上のhoge関数なんかはλ(x)(x*2)などとあらわせますが、引数をあらわすのに()を使うといろいろまぎらわしいので、 λx.x*2 のように表記します。 というのがλ。 このとき、λになにかわたされたら、引数としてあらわされる部分を単純におきかえます。 (λx.x*2)y とあったら、xの部分をyでおきかえて (λx.x*2)y → y * 2 となります。λの引数部分を与えられた引数で置

    おとうさん、ぼくにもYコンビネータがわかりましたよ! - 2009-04-09 - きしだのはてな
  • マンガで分かるLisp(Manga Guide to Lisp)

    スポンジで虎を倒せるんだよ? (you can take down a tiger with a sponge, right?)

  • 1