タグ

pythonとlispに関するjjzakのブックマーク (8)

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

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

  • ((Pythonで) 書く ((さらに良い) Lisp) インタプリタ)

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

  • Peter Norvig

    #1 Gettysburg Powerpoint Presentation and its making (slides) #2 AI: A Modern Approach (book) and AI on the Web (links) #3 World's Longest Palindrome (for 20:02 02/20 2002) #4 Teach Yourself Programming in 10 Years (essay) #5 Paradigms of AI Programming (book) with code #6 Java IAQ and Python IAQ (FAQs) #7 Design Patterns in Dynamic Languages (slides) #8 Lisp compared to Python, Java, and itself i

  • みずぴー日記

    JSXの特徴は、トップページにも書いてあるとおり「faster, safer, easier」の3つです。安全性とか簡単さについては人とか状況によって様々な定義や意見がありますが、唯一Fasterだけは客観的に測れます。 しかしJSXと速度については、トップページにあるBox2Dとshootingのデータ*1とAOBench on JSXぐらいしかありません。 というわけでWebkitで使われているSunSpider 1.0.2 JavaScript BenchmarkをJSXに移植してJavascriptと速度を比較してみました。*2 環境 sunspider Benchmark for JSX - JSX版ベンチマーク Sunspider Benchmark for Javascript - Javascript版ベンチマーク GitHub - mzp/sunspider-jsx: s

    みずぴー日記
  • ヒビノキロク

    理由は id:nozom:20090202 を見てください。 はてな市民制度について はてな市民とは によると はてなキーワードを編集するためにははてな市民でなければならない はてな市民になるためにははてなダイアリーかはてなグループ日記を30日以上利用しなければならない 最後の利用から30日以上利用がない場合一時的にはてな市民ではなくなる ということで、移転先のはてなグループの方はほぼ週1更新なのではてな市民になるまであと約6ヶ月もかかるが、さすがにそれは待っていられないのではてなダイアリーの方を更新してみるテスト。 たぶん今後も何回か同じことがあると思います。 ユーザーページへのGoogle Analyticsの設置についてのアンケートで反対したことがいつの間にか*1導入されていたため、日をもってこの日記の使用を中止します。 他のサービスに移ることも考えたのですが、当面の間 g:noz

    ヒビノキロク
  • 紫藤のページ

    紫藤のページにようこそ! Lisp, Haskell, Python, Sather などの関数型言語の解説、小品プログラムを載せています。 ここでは関数型プログラミング言語をものすごく広い意味で使っており、 手続きをデータとして扱える言語を指します。 (Python, Sather などは普通はオブジェクト指向言語に分類されます。) また、xyzzy のマクロに関するメモもあります。 面白そうな割りに、web 上に文書が少ない題材を取り上げています。 リンクはご自由にお張りください。 更新ログ [Sep 15, 2014](Python) Set を用いたライフゲームの実装 を作成 [Jul 21, 2014]デコレータを用いた bottle.py のアクセスコントロール を作成 [Jul 13, 2014]Maildir のバックアップ を作成 [Jun 28, 2014]自宅サーバの

  • Life with Cygwin

    沖ソフトウェア株式会社は、沖通信システム株式会社および株式会社沖インフォテックと平成22年10月1日をもって合併いたしました。新会社名は、株式会社OKIソフトウェアとなります。3社が行っております事業は新会社にて従来通り継続いたします。

  • M.Hiroi's Home Page

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • 1