[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

タグ

lispに関するohnishiakiraのブックマーク (22)

  • On Lisp

    Paul Graham氏の著書On Lispの邦訳を無償で公開しています.Common Lispのマクロに関する貴重な情報がいっぱいです.

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

  • 最小限Lisp - 西尾泰和のはてなダイアリー

    Web-DB Vol.60が手元にある人はぜひLispの章を見てみてくださいね。Lispのコードがほとんど構文木と同じであって、その構文木を実行するときにどうなるか、という話。 下のコードを見ればわかるとおり、Lispのコードではリストの区切りにカンマがないけどもPythonにはあるってところと、LispのアトムはPythonでは文字列で表現しているので引用符がくっついている。それくらいの違いしかない。で、その構文木がこれくらいのコードで実行出来る、と。 でまあ、これはコードに特殊形式がないから全部「各要素をevalしてから計算をする」という流れになっているのだけども、それじゃifとか実現できなくて困るよね?どうすればいいと思う?というのは機会があればまた今度書く。 # -*- encoding: utf-8 -*- """ mini-Lisp Lisp解説のための、Lisp風構文木を受け

    最小限Lisp - 西尾泰和のはてなダイアリー
  • ((Rubyで) 書く (Lisp) インタプリタ) - hp12c

    ブログを下記に移転しました。デザイン変更により移転先では記事が一層読みやすくなっていますので、よろしければ移動をお願い致します。 ((Rubyで) 書く (Lisp) インタプリタ) : melborne.github.com - Peter Norvigさんの((Pythonで) 書く (Lisp) インタプリタ) という記事(青木靖さん訳)がすごい 100行ほどのPythonコードで Schemeのインタプリタの基部分を書いている Pythonのコードは見た目がRubyのコードとよく似ているので Rubyしか知らない僕でも何となく読める この記事を解読してRuby版Schemeインタプリタを書いたら インタプリタ Pyhon Scheme それからRubyのことも もう少し分かるようになるかもしれない こんなお得な勉強方法はないぞ きっと そんなわけで... 以下では上記記事を参照し

    ((Rubyで) 書く (Lisp) インタプリタ) - hp12c
  • なぜRubyは許容可能なLISPなのか - masatoi’s blog

    LISPの真実を読んでたら最後に出てきたので、かなり古い記事だけれども、Eric Kidd氏のWhy Ruby is an acceptable LISPを訳してみました。まつもとさんによる反応もあり、そのエントリの中で原文はほぼ要約されています。 一年前、私はRubyに注目してはいたものの、それを無視することにした。RubyPythonほどポピュラーではないし、LISPほど強力というわけでもない。なのに何故気にかけなければならないというのか。 もちろん、これらの評価基準は考えなおすこともできる。もしRubyがLISPよりもポピュラーで、Pythonよりも強力だったらどうなるだろうか?*1 それはRubyを興味深いものにするに足るのではないか? この疑問に答える前に、LISPを強力たらしめているものは何なのかを定義しておくべきだろう。Paul GrahamはLISPの美徳について雄弁に語

    なぜRubyは許容可能なLISPなのか - masatoi’s blog
  • ((Pythonで) 書く ((さらに良い) Lisp) インタプリタ)

    ((Pythonで) 書く ((さらに良い) Lisp) インタプリタ) Peter Norvig / 青木靖 訳 前のエッセイでは、90行のPythonコードでシンプルなLispインタプリタを書く方法を示した(lis.py)。このエッセイでは、3倍込み入っているが、より完全なlispy.pyを実装しよう。それぞれの節で1つの機能追加を扱っている。 (1) 新しいデータ型 - 文字列、論理型、複素数、ポート Lispyへの新しいデータ型の追加は3つの部分からなる。データの内部表現、それを扱う手続き、読み書きのためのシンタックスだ。ここでは4つの型を追加する(入力ポート以外はPythonのネイティブ表現をそのまま使う)。 文字列 文字列リテラルはダブルクォーテーションで囲まれる。文字列の中で \n は改行を、\" はダブルクォーテーションを意味する。論理型  構文 #t と #f はTrue

  • SBCL - Steel Bank Common Lisp

    内部実装についての詳細に興味のある人は SBCL Internals という CLiki から読んでゆくと良いでしょう.0.9.9 から Win32 対応パッチのマージが開始 されたので,今後は Windows でも SBCL が使えるようになるのかもしれません ね.現在でも SBCL のビルド程度は可能ですが,添付のモジュール等の対応具 合もあり趣味人以外が使える段階ではないです. 0.9.17 から、MSI 形式のインストーラが用意されて、インストールが楽になり つつあります。まぁ、Win32 上ではスレッドも使えないうえ、 Win32 サポート はほとんどないので、CLISP に比べてあまりメリットがありませんが、一応 SLIME 環境も構築できています。イメージのサイズが大きすぎて未だに PHS 回 線しかない私には配布できません。 http://prdownloads.sourc

  • Re: Problem with DRAKMA on SBCL / Linux

  • Drakma - A Common Lisp HTTP client

    Abstract Drakma is a full-featured HTTP client implemented in Common Lisp. It knows how to handle HTTP/1.1 chunking, persistent connections, re-usable sockets, SSL, continuable uploads, file uploads, cookies, and more. The code comes with a BSD-style license so you can basically do with it whatever you want. Contents Abstract Contents Examples Loading Drakma with Quicklisp Log headers to the REPL

  • LTkのサンプル

    "The easy way to do Lisp GUI programming" LTkはCommon Lispか ら簡単にGUIプログラミングを行うためのものです。内部的にはTcl/Tkが呼び出される のですが、「Tcl/Tkの知識は不要」というのが謳文句です。またAnsi Common LispとTcl/Tkが動けばいいのでOSを問わず利用でき、インストー ルはとても簡単です。 このページには、Tcl/Tkの例をLTkに焼きなおしてみたコードなどを、 自分の覚え書きの意味で整理して置いてあります(LTkの日語のドキュ メントがまだまだ少ないので意味あるかなというつもり)。GUIの説明な のに画像がないというとても不親切なページでもあります。 LTkを触り出した経緯ですが、私自身はたいしたプログラミングはしな いし、めったにGUIを付けることもないのですが、それでも時には簡単 なGU

  • HTTPクライアント作成 - sileのブログ

    簡単なcommon lispのHTTPクライアントをHTTPの勉強を兼ねて作成。 ソースコード(*.lisp)は、約170行程度。 まだまだ十分な完成度とは云えないが、せっかくなので公開してみる。 これ、tiny-http(0.1.3)。※置き場は暫定 インストールが必要な依存packageは次の通り、cl-ppcre(正規表現)、cl+ssl(ssl)、guess(文字コード判定)、common-utils(自分用のutility関数群)。 以下、説明など。 機能・特徴 GET、POST、HEADメソッドに対応 HTTPS対応 HTTPヘッダの取得や追加が自由 文字コードを、そこそこちゃんと適切に扱ってくれる 小さい? 欠点・難点 URL指定に非対応 30x系のレスポンスを自動的にリダイレクトしてくれない 巨大データを扱うことを想定していない POSTが使いづらい 未対応・非対応が結構あ

    HTTPクライアント作成 - sileのブログ
  • SBCLに日本語関連のライブラリやGUIライブラリを導入してみた - とりあえず暇だったし何となくはじめたブログ

    最近Common Lispをちゃんと勉強しよう!という事でちょいちょいsbclで遊んでいます。 それで、asdfを利用して色々ライブラリを導入してみたので、そのメモです。 HTTPリクエストなら、drakma、html→S式の解析なら、cl-html-parse、とライブラリがかなり充実しているな、というのが現在の印象です。 日語関連のライブラリの導入 使い方はいまいち理解してませんが、文字エンコーディングの判定処理や日語を扱うためのライブラリを導入してみます。 http://lispuser.net/commonlisp/japanese.htmlから以下の3ファイルを落としてきました。 mecabなんぞ使うんかという疑問も湧きましたが、まあ、とりあえず導入してみます。 guess.tar.gz jp.tar.gz mecab.tar.gz Common Lisp的な作法がよく分から

    SBCLに日本語関連のライブラリやGUIライブラリを導入してみた - とりあえず暇だったし何となくはじめたブログ
  • jstudyで「JavaScriptとLisp」ってタイトルのLTしました - あと味

    昨日、jstudyの第一回目のイベントがめでたく開催されました。 Twitterで見かけて、速攻で申し込んだんですが、せっかくだからLTしたいなと思い、稚拙ながら「JavaScriptとLisp」というタイトルでLTをさせていただくことができました。 発表するまで、ネタとしてどうなんだろうと不安でしたが、予想外に反応があったので良かったです。 jstudyの感想 jQuery、Dojo、JavaScriptの設計手法 x 2、ECMAScript5の仕様、jsdo.itの紹介、iPadJavaScriptJavaScriptの高速化手法、JavaScriptで昔を懐かしむなどなど、JavaScript好きにはとっても楽しいひと時を過ごすことができました。 LTに立候補していた人があまりいないように思いましたが、実際には11名?の方が発表し、最初から最後まで飽きることなく楽しめました。

    jstudyで「JavaScriptとLisp」ってタイトルのLTしました - あと味
  • Common Lisp クエックブック

    素敵な断片 Common Lisp の素敵な断片です。 数値のコンマ編集 (format nil "~:D" 1000000) ;; ==> "1,000,000" 標準出力を束縛する (with-output-to-string (*standard-output*) (write-string "Hello ") (format t "~{~a~^, ~}" '(1 2 3))) ;; ==> "Hello 1, 2, 3" アナフォリックマクロ Anaphora より抜粋。マクロを定義するマクロ。it を予約語であるかのように使う。 (defmacro anaphoric (op test &body body) `(let ((it ,test)) (,op it ,@body))) (defmacro aif (test then &optional else) `(anapho

  • JavaScript で Lisp の処理系 (と REPL) を実装してみた - mooz deceives you

    MiSPLi: http://mooz.github.com/mispli/ MiSPLi Emacs に出会ったのが三年前. それから一年程して elisp をいじり始めたので, 僕と Lisp との付き合いはかれこれ二年ほどになる. JavaScript を始めたのが一年前だから, 僕の中では C 言語に次いで付き合いの長い言語だ. 必要にかられたときにちょこちょこと elisp を書いて, 終わったらしばらく別れを告げる. そんな中途半端な付き合いを続けていた三月も終盤, 竹内先生の書かれた「初めての人のための LISP」を読み, その内容に深い感銘を受けた. Lisp を Lisp で実装する, といった章があり, これまで何となしに使っていた Lisp の中身を垣間見ることができたような, そんな気分になっていた. その時に, 「ひょっとしたら僕にも Lisp の処理系を実装でき

    JavaScript で Lisp の処理系 (と REPL) を実装してみた - mooz deceives you
  • プログラマは皆どのようにして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と化して行くのか?
  • ガベージコレクションのアルゴリズムと実装。洋書ガベコレ本の話題も: ホットコーナー

    ブログ(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/ )に転載したものから。 --- 菊池先生から教わってピアノの楽譜を探しに、新宿ジュンク堂に行ったら、 ガベージコレクションのがあった。しかも、著者は日人二人。そして、 「Lispの神様 竹内郁雄監修」などというポップとともにエスカレータ横に平 積みになってました。 日初の日人によるガベージコレクション(GC)です

  • 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 - 言語の強み
  • 竹内郁雄教授最終講義「研究・開発は楽しく」(東京大学) - Cafe Babe

    3月3日に東京大学で竹内郁雄教授の最終講義がおこなわれた. なお,今回は参加者が多かった他の最終講義の参加人数から推測して340名の会場を用意したのだが,予想をはるかに上回る参加人数(400名くらい?)で,一部の人達は立ち見になってしまった.また,鵺シール・竹内郁雄最終講義スペシャルバージョン(普通は文字がオレンジ,これは文字がブルー)も300枚用意したのだが,全然足りなくて一部の人達には渡すことができなかった.この場を借りて準備不足をお詫びしたい. なお,最終講義の様子は二台のビデオカメラで撮影してある.大学の許可が出れば,公開されるかもしれないので,その時はこのブログでもお知らせしようと思う. さて,今回の講義の題名は「研究・開発は楽しく」である.竹内先生によると,通常の最終講義で喋る内容はすでに別の場所で喋ったので,それは講演の資料として配ることにして,最終講義では別の話にしたいとい

    竹内郁雄教授最終講義「研究・開発は楽しく」(東京大学) - Cafe Babe
  • マンガで分かるLisp(Manga Guide to Lisp)

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