タグ

lispに関するamachangのブックマーク (8)

  • ちょっと変わったLisp入門 - @IT

    Lispの一種であるScheme。いくつかある処理系の中でも気軽にスクリプトを書けるGaucheでLispの世界を体験してみよう(編集部) 「Gaucheでメタプログラミング」と題して、これからGaucheを使ったプログラミングの連載を書かせていただきます吉田裕美です。よろしくお願いいたします。 Gaucheとは 今回の連載で取り上げるGaucheはハワイ在住の日ハッカー、川合史朗さんが作った、Lispの一種であるSchemeのオープンソース処理系です。 Gaucheの特徴は、PerlRubyのように気軽に使える軽い処理系だということです。Perl同様に正規表現や文字列操作が行え、ちょっとしたツールの作成にも使えます。しかし、非常に強力なCommon Lisp風オブジェクトシステムを持ち、Lispならではのマクロに加え、Webやグラフィックスなどの豊富なライブラリも持っているので実用

    ちょっと変わったLisp入門 - @IT
    amachang
    amachang 2008/11/09
    素晴らしすぎる/さすが yuumi さんという感じ。
  • XML を S 式に変換する XSLT スタイルシート - アリゾナではもう働きたくない社長の blog - キッスブログ (Xiss Blog)

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    XML を S 式に変換する XSLT スタイルシート - アリゾナではもう働きたくない社長の blog - キッスブログ (Xiss Blog)
    amachang
    amachang 2008/03/25
    XML を SXML に変換する XSLT
  • わーい \(^o^)/ LispをPostScriptで書いたLispで書いたよー! (リリカル☆Lisp 開発日記)

    zickです。 最近、巷(*)ではLisp(Scheme?)を実装するのが流行っているようで。 その流れにのっとって私も変なものをつくってみました。 ***PostScriptで書いたlisp*** ソース 実行結果 名前はまだないのですが、仮にpslispと呼びます。 このpslispはPostScriptで書いたLispインタプリタです。 単に式を評価するだけではなく、その値を図示してくれる優れもの(?)です。 実は去年の4月ごろにほぼ完成していたんですが、 条件分岐などを加え、再帰が使えるようになりました。 ***pslispで書いたlisp*** ソース 実行結果 pslispで動かすためにエスケープ文字を付加し、改行を消しているためカオスなことになってます。 まあ、これだけ見てもなんのことやらといった感じですが、 自分で書いたlispインタプリタの上でさ

    amachang
    amachang 2008/01/24
    PostScript で Lisp の処理系を実装!すげー!
  • Scheme on JavaScript 作りました - yukobaのブログ

    昨日は、1000speakers の第1回のイベントがありました。1次会は Ustream にて参加し、2次会から現地で参加しました。 2次会でSICP読書会の話で盛り上がり、水曜日の読書会に参加しようと言うことになり、amachang など数名の方々に色々と Scheme の書き方を教えてもらいました。 3次会が楽しかったです!23:30頃からサイボウズラボにて3次会が始まったんですが、僕が、せっかく教えて頂いたので、Scheme の実装を JavaScript で始めたら、西尾くん(id:nishiohirokazu)と id:amachang が参加し始め、実装大会となりました。 その5時間の成果が、http://goldenscheme.accelart.jp/ です。 全員、基文法は実装できました!! 処理系を実装するに当たり、言語を問わず、一般論として、難しいのは2カ所です。

    Scheme on JavaScript 作りました - yukobaのブログ
    amachang
    amachang 2008/01/21
    たのしかったっすねーー!!またやろうやろう
  • LL魂 | スパムとか

    LL魂行って来ました。つかrhacoのLTしてきました。 LTで時間が余ったので余計なことを喋ろうとしたとたんにタイムアップのどら。格好わるいめに遭いました。 LTの間、Conveyor(使い方1、使い方2)のid:shigeponさんが関西からやってきて、id:rhacoなひと、java-jaのyoshioriとともに「スパムを監視するオフ」を行っていたようです。 LT終わって、会場の一番後ろの席に戻ってみたらIsoparametric以外PythonというかDjangoの人たちは皆いなくなっていて、なんだか悲しい思いをしました。 その後、yoshioriやamachangの集団に混ぜてもらいました(無理矢理飲み会に参加するメソッド)。 rhacoな人のrhaco記念撮影にのっかって、PHP/Python/Lisp/(追加)Javaの人たち(希望者含む)記念撮影をしたわけ

    amachang
    amachang 2007/08/06
    パイソンや Lisp は書けないけど、リスペクトしてる一人として混ぜてもらいました。この写真は宝物><!
  • 絵を描いて学ぶ・プログラマのためのラムダ計算 - 檜山正幸のキマイラ飼育記 (はてなBlog)

    JavaScriptで学ぶ・プログラマのためのラムダ計算」は、1回では述べ切らなくて、一段落付いたところで区切りました。これはかえって良かったですね、ブックマークやトラックバックでフィードバックが得られたので。 そのフィードバックなどをかんがみて、「残り=次回の話題」として予告した内容とはい違ってしまうのだけど、今回は、文章では伝わりにくい(前回うまく伝わらなかったと思える)ラムダ計算の大事なツボを、なんとか表現してみようと思います。 [このエントリーの内容はだいぶ前にほぼ出来上がっていたのだけど、ココに書いてある事情で、“お絵描き”がなかなか出来なかったのです。] ※印刷のときはサイドバーが消えます。 内容: 知っていて損はない 計算は身体的に理解しよう ラムダ項のツリー表示:準備 ラムダ項のツリー表示:描く! β変換に対応するツリーの描き換え もっとβ変換をやってみよう 計算現象を

    絵を描いて学ぶ・プログラマのためのラムダ計算 - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • ラムダ計算 - Wikipedia

    この記事には参考文献や外部リンクの一覧が含まれていますが、脚注による参照が不十分であるため、情報源が依然不明確です。 適切な位置に脚注を追加して、記事の信頼性向上にご協力ください。(2020年5月) ラムダ計算(ラムダけいさん、英語: lambda calculus)は、計算模型のひとつで、計算の実行を関数への引数の評価(英語: evaluation)と適用(英語: application)としてモデル化・抽象化した計算体系である。ラムダ算法とも言う。関数を表現する式に文字ラムダ (λ) を使うという慣習からその名がある。アロンゾ・チャーチとスティーヴン・コール・クリーネによって1930年代に考案された。1936年にチャーチはラムダ計算を用いて一階述語論理の決定可能性問題を(否定的に)解いた。ラムダ計算は「計算可能な関数」とはなにかを定義するために用いられることもある。計算の意味論や型理論

    amachang
    amachang 2007/02/08
    ら・む・だ!
  • シャープ変数(sharp variables) - FAX

    JavaScript #5= {}について、Days on the Moonのnanto_viさんから、詳細な情報を頂きました。いつもいつもありがとうございます。(無断で、コメントをブログ文に転載してしまいごめんなさいね。) nanto_vi これはシャープ変数(sharp variables)と呼ばれるJavaScript拡張機能ですね。循環参照を持つオブジェクトをリテラル形式で書くときなどに用いられます。#n=の後にオブジェクトを指定することで、#n#を使いそのオブジェクトを参照することができるようになります。 var o = #1= { next: { next: { next: #1# } } }; o == o.next.next.next; // true Enumerable.prototype = { map: #1= function () { ... }, col

  • 1