タグ

Lispに関するgrafiのブックマーク (20)

  • DWIM - Wikipedia

    DWIM (do what I mean) computer systems attempt to anticipate what users intend to do, correcting trivial errors automatically rather than blindly executing users' explicit but potentially incorrect input. Software[edit] The term was coined by Warren Teitelman in his DWIM package for BBN Lisp, part of his PILOT system, sometime before 1966.[1][2][3] InterLisp[edit] Teitelman's DWIM package "correct

  • Lisp:S式の理由

    S式は人に優しいか Shiro: Lispの不人気の理由として筆頭に上げられるのが、括弧だらけの 独特の見た目。とっつきにくい、一般的な表記法と違っていてわかりにくい、 等々、様々なことが言われてきました。しかし、 S式を捨てたLispも開発されましたが 流行ったとはいい難く、Lispな人々はいまだに括弧に固執しているかのようです。 S式のメリットをLisperに尋ねれば、エディタがどうの、マクロがどうの、といった 回答が真っ先に返って来ると思うんですが、そういう理屈をいくら理解しても S式がダメな人がS式を好きになったりはしません。どうも、もっと根的な 感覚に大きな隔たりがあるような気がします。非Lisperから理解しがたい、 Lisperの持つ感覚とはどんなものなんでしょうか。Lisp脳から見た世界は どんなものなのでしょうか。 構文木を人間が書く? S式は言ってみれば言語の構文木そ

    Lisp:S式の理由
    grafi
    grafi 2013/03/14
  • 名前渡しと暗黙的なカリー化とLispを組み合わせたら面白かった - 標高+1m

    この記事は2012年アドベントカレンダーの記事ではありません。 Nadekoympbyc/Nadeko · GitHub 少し前に『すごいHaskell楽しく学ぼう』を買いまして、にわかHaskellerやってたんですが、使う言語は仕組みを理解したいと思ってとりあえずデフォルトの遅延評価とデフォルトのカリー化をLispにくっつけてみました。 もともとLispにしようとは思ってなかったんですが、S式よりかっこいい構文が思いつかなかったので。(優先順位嫌い) 質的でないところを書く手間を省くために、パーサはSchemeの(read)で済ませました。 VMは最初SECDマシンを書いて、後からKrivine's Machine(Kマシン)を改造したものに置き換えました。ここ少し詳しく書こう。 Krivine Machineで検索かけるといろいろ論文が出てきますが、 http://pop-art.

    名前渡しと暗黙的なカリー化とLispを組み合わせたら面白かった - 標高+1m
    grafi
    grafi 2013/01/22
    後置風になるの面白い
  • R6RSの歩き方

    Revised^6 Report on Algorithmic Language Scheme -- アルゴリズム言語 Scheme に関する報告書第6改訂版。 2007年9月に正式に決定された。正式な文書は http://www.r6rs.org/ から 入手できる。 R5RSまでのミニマリズムから、実用主義へ大きく方針変更がなされたため、 仕様の分量もR5RSの50ページからR6RSは全4部、計187ページへと大きく膨らんでいる (ただしコア言語の仕様は90ページ、あとはライブラリや設計上の選択の理由説明である)。 そのため、それまでのミニマリズムを良しとするSchemerと、実用に使えるリッチな 仕様を望むSchemerの間でたいへんな議論となった。 結局、Schemeコミュニティ内で投票が行われ、賛成67票、反対35票、棄権10票で 批准された。しかし、批准の基準である総投票数の6

    R6RSの歩き方
    grafi
    grafi 2012/12/18
  • Scheme:マクロ:CommonLispとの比較:意味論

    前回までのあらすじ MSIの黒田さん wrote in About Scheme: 「Schemeじゃまともなマクロが書けないでしょう」 Shiro wrote in Scheme:マクロ:CommonLispとの比較: 「Schemeではhygienic macroという形でその問題を解決してます」 MSIの黒田さん wrote in GaucheNight: 「でもR5RSではセマンティクスが文字の並びで定義されてるんだから、S式の操作でプログラム生成をするマクロとは相容れないんじゃないの」 何が問題なのか Shiro(2007/05/16 04:43:15 PDT追記): 論点がわかりにくいという話があったので最初に整理しておきます。 R5RSにおいて、Schemeの正式な構文は 7.1節に、 基構文(lambda、if、set!、関数呼び出し、変数参照)のセマンティクスは 7.2

    Scheme:マクロ:CommonLispとの比較:意味論
    grafi
    grafi 2012/12/17
  • Scheme 入門 17. 遅延評価

    1. 初めに 遅延評価 (lazy evaluation) とは、値が必要になるまで計算しないという計算方法です。 この方法の利点はデータに繰り返し構造を自然に組み込むことができ、 無限を簡潔に表現できることです。これによって、プログラムのモジュール化が促進され、 プログラムが美しくなります。遅延評価の利点については なぜ関数プログラムは重要かを見てください。 全体的に遅延評価を取り入れた言語としては Haskell が有名ですが、 Scheme も部分的に遅延評価を取り入れています。 2. 遅延評価にかかわる関数 R5RS では遅延評価にかかわる関数として次のものが用意されています。 評価法が指示されているが実際の計算が行われていない中間状態をプロミスといい、 プロミスを強制 (force)することで値が計算されます。 (delay proc) proc をプロミスにします。 (prom

    grafi
    grafi 2012/11/10
  • Undelimited continuations are not functions

  • Trampoline (computing) - Wikipedia

    This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages) This article may need to be rewritten to comply with Wikipedia's quality standards. You can help. The talk page may contain suggestions. (June 2009) This article's lead section may be too short to adequately summarize the key points. Please consi

  • call/cc 入門 (Coroutine with call/cc) - MAYAH

    call/cc を使って簡単な Coroutine を作ります。call/cc 入門だと思ってもらえれば幸いです。 coroutine とは ここでは coroutine を「実行の途中でリターンでき、さらにそこ(実行の途中)から再開することが出来る何か」の意味で使用します。適当な疑似言語で書くと次の通り。関数の途中でのリターンを suspend(), 途中からの再開を resume() で表すことにします。 ここでは、これを scheme の call/cc を用いて表すことを目指します。 call/cc とは call/cc とは、call-with-current-continuation という scheme の関数で、「現在の継続(current continuation)を生成し、それを関数に渡してその関数を実行する」ものです。読者の殆どは「継続」についてよく知っているかもしれ

  • Computation Structures | Electrical Engineering and Computer Science | MIT OpenCourseWare

    6.004 offers an introduction to the engineering of digital systems. Starting with MOS transistors, the course develops a series of building blocks — logic gates, combinational and sequential circuits, finite-state machines, computers and finally complete systems. Both hardware and software mechanisms are explored … Show more 6.004 offers an introduction to the engineering of digital systems. Start

    Computation Structures | Electrical Engineering and Computer Science | MIT OpenCourseWare
  • 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との比較
    grafi
    grafi 2012/03/07
    意味的な話がまとまってるし、実装方針もつかめそう
  • Island Life - 仕事でLispを使うこと(2)

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

    Island Life - 仕事でLispを使うこと(2)
  • Island Life - 仕事でLispを使うこと

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

    Island Life - 仕事でLispを使うこと
  • Y Combinator - LoveRubyNet

    $Id: ycombinator.html,v 1.6 2002/06/27 23:37:39 aamine Exp $ [ruby-list:35058] に刺激を受けて Y combinator を解読してみた。 こんなもん読むくらいなら以下の参考ページを読んだほうがいい。 参考にした (というかほとんどそのままな) ページ (英語) http://www.ececs.uc.edu/~franco/C511/html/Scheme/ycomb.html 動機 再帰関数は再帰するときに自分自身を名前で呼ぶのが普通である。 これをなんとかして名前を使わず、関数そのものを呼ぶように させたい。 求めかた まず単純な fact (階乗) を以下に示す。言語は Scheme である。 (define fact (lambda (n) (if (zero? n) 1 (* n (fact (- n

  • wxPythonでハングマン

    GUIでずーっと苦労してるんですけれども(笑)。 今回、Qtからはじまって、GTK+、wxWidgetsと調べまわっていました。あっちこっちのブログなりWebページなり見て回ってたんですが。 そして非常に意外だったのは、その殆どのケースでは「プログラムを作り上げる」トコまで行ってないんですね(笑)。曲がりなりにもアプリケーションを一作り上げている、殆ど唯一の例外は我らが@kaorin_linux氏のおっさんでも解るPythonくらいで、他は殆ど、Qt CreatorなりGladeなりwxGladeなりで、ウィンドウを作るだけで終わっちゃってる、つまりGUIのスケルトンを生成する事で終わっちゃってるんです。つまり、当に知りたい、要するに「動くプログラムを作る」トコまで到達してないんです。 より正確に言うと、アプリケーションを作った例ってのはあります。ただし、それはテキストエディタだったり

    wxPythonでハングマン
  • Common LispがWeb業界を駆逐するとき | gihyo.jp

    深町英太郎氏のブログ記事です。深町氏はCommon LispをはじめEmacs Lisp、ClojureなどLISP系言語が気に入っているようで、この記事ではCommon Lispの普及および環境の改善を目指して書かれています。 深町氏はCommon Lispが好きであるにもかかわらず、Webサービスを開発する際にはPerlでCPANを利用したほうが早く開発できると述べています。その理由はライブラリの質と量にあり、Perlには選べるほどのライブラリがそろっている一方、Common Lispの場合はあればラッキーというほど貧弱です。さらにあったとしてもAPIが洗練されていない、ドキュメントがない、日語が扱えない、パッチなしではビルドできないなど、非常にお粗末な現状であることを嘆いています。 そこでPerlPythonRubyなどの言語から学び、Common LispでWebアプリケーシ

    Common LispがWeb業界を駆逐するとき | gihyo.jp
    grafi
    grafi 2011/04/27
  • WebブラウザをインターネットOSのシェルにしてGaucheと対話する

    Shibuya.lispテクニカルトーク第3回 (2009/07/04)源馬 照明さんによる「WebブラウザをインターネットOSのシェルにしてGaucheと対話する」です。次: 失敗したら会社終わるようなプロジェクト当にlispを使ってみた (sm7542139)前: Emacs上での携帯絵文字の表示と入力補完 (sm7542051)マイリスト: mylist/13373941

    WebブラウザをインターネットOSのシェルにしてGaucheと対話する
  • Clojure のロゴが美しすぎる件 - A Memorandum

    関数型言語の理論的基盤であるラムダがあしらわれた Clojure のロゴが美しすぎる。 Python Erlang Lua Ruby Scala Groovy Erlang Haskell Perl PHP Go R プログラミングClojure 第2版 作者: Stuart Halloway and Aaron Bedra,川合史朗出版社/メーカー: オーム社発売日: 2013/04/26メディア: 単行(ソフトカバー)この商品を含むブログ (11件) を見る

    Clojure のロゴが美しすぎる件 - A Memorandum
  • Stevey's Blog Rants: Lisp is Not an Acceptable Lisp

    It's been over four months since Eric Kidd posted his infamous Why Ruby is an acceptable LISP article. You know, the one that got approximately 6.02e23 comments, ranging from "I agree!" through "I hate you!" to "I bred them together to create a monster!" Any time the comment thread becomes huge enough to exhibit emergent behavior, up to and including spawning new species of monsters, you know you'

  • รวม Cartoon เด่นจากทั่วโลกพร้อมข้อมูลจัดเต็ม

    ผลงานของ โอดะ เออิจิโระ ที่เป็นเรื่องเกี่ยวกับการผจญภัยในท้องทะเลที่สุดตืนเต้นที่ตีพิมมาแล้วครบ 20 ปี เป็นเป็นการตูนที่ได้รับความนิยมมากที่สุดในประเทศญี่ปุ่น

  • 1