タグ

LISPに関するmatatabityのブックマーク (32)

  • oden-lang.org - このウェブサイトは販売用です! - oden lang リソースおよび情報

    This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.

  • Worse Is Better

    Takは関数呼び出しと固定小数点数演算を計測するGabrielベンチマークだ。Traverseは構造体の生成とアクセスを計測するGabrielベンチマークだ。LexerはCコンパイラのトークナイザで、ディスパッチと文字の操作を計測する。 これらのベンチマークは1987年にSun 3上で標準のSun Cコンパイラを使って最高度の最適化を有効にして実行された。Lispはnon-intrusiveなガーベジコレクタを走らせていない。 1.3 優れた環境 モダンなプログラミング環境がLispとAIの伝統に由来するということは間違いない。初めてのビットマップ端末(Stanford/MIT)、マウスポインティングデバイス(SRI)、フルスクリーンテキストエディタ(Stanford/MIT)、およびウィンドウ環境(Xerox PARC)はすべてAIの研究に携わっていた研究所から出てきている。今日でもなお

  • lisp-in-your-language

    I'm a fan of Lisp programming languages, but there's an incredible conceptual elegance that struggles to materialise as readable elegance for many unfamiliar programmers. The underlying concepts are incredibly simple, but the learning curve can represent a disproportionate challenge. Brief History # Lisp is a derivation of the phrase List Processing. The fundamental idea of the language is that yo

  • 増補版:気軽に試してみよう!今こそ Lisp 入門 - Lisp の調べ

    1. 関数型プログラミングでもっと言いたかったこと (1) λ計算 λ計算は関数型プログラミングでは基中の「キ」ですが、文は初心者向けということでカットしていますが、ここでは少し説明します。 λ計算(λ-calculus)はα変換とβ-簡約、η-変換の規則があります。 α-変換は束縛変数の名前を変える変換で、β-変換(簡約)は関数適用です。 η-変換はすべての引数で同じ値を返す関数は等価である(関数の外延性)とするものです。 α-変換の例はλx.fx → λy.fy であり、β-変換の例は(λx.fx)3 → f3であり、η-変換の例は λx.fx → f(但しxはfで自由でないとき)です。 Lisp 風に書くのであれば、(lambda (x) (f x))→(lambda (y) (f y))、((lambda (x) (f x)) 3)→(f 3)、(lambda (x) (f x

  • kanaka/mal: mal - Make a Lisp

    1. Mal is a Clojure inspired Lisp interpreter 2. Mal is a learning tool Each implementation of mal is separated into 11 incremental, self-contained (and testable) steps that demonstrate core concepts of Lisp. The last step is capable of self-hosting (running the mal implementation of mal). See the make-a-lisp process guide. The make-a-lisp steps are: step0_repl step1_read_print step2_eval step3_en

    kanaka/mal: mal - Make a Lisp
  • テンプレートメタLisp - ひそやか日記

    C++のテンプレート機能で純Lispを書いたので晒してみる。↓ https://gist.github.com/hisocu/0bbc012127d6afd7c8dflpp(Lisp++)という適当な名前です。 使い方 とりあえず例 #include <lpp.h> int main() { using namespace lpp::sym; using namespace lpp::ext; lpp::meta::meval::eval<t, nil> a; // t lpp::meta::meval::eval<s<cdr, s<cons, t, nil>>, nil> b; // (cdr (cond t nil)) lpp::meta::meval::eval<s<cond, s<nil, nil>, s<t, s<quote,quote>>>,nil> c; // (cond

    テンプレートメタLisp - ひそやか日記
  • Lisp to C Translator - Think Stitch - PRINCIPIA

    Lisp から C 言語への変換器を作ってみたいと思います. 遊べる程度には機能があって,変換はできるだけ楽をするという方針でいきたいと思います. Lisp の仕様 まず入力となる Lisp の言語仕様を決めます. データ型 データ型はシンボル,整数(即値のみ),ペア,あと手続き(クロージャ)です. nil はシンボルで空リストと真偽値の偽を表すとします. 構文 構文を以下のように決めました. 定数リテラル 変数 (quote c) (lambda (var ...) body) (if test then else) (set! var expr) (begin form0 form1 ...) 関数適用 (fn arg ...) 細かいところは以下のようにします. 定数リテラルは整数のみ quote で指定できる式はシンボルか整数だけ.リストは cons で作る. lambda bod

  • 弱LisperがMITでSICP(シクピー)を受講した結果 - Qiita

    SICPとは何か Structure and Interpretation of Computer Programsという古めかしい表紙のをご存知でしょうか? これはもともと、マサチューセッツ工科大学(Massachusetts Institute of Technologies; MIT)の電気工学および計算機科学(Electrical Engineering & Computer Science; EECS)系の学部の授業の一目として提供されていた同名の授業から発生した教科書です。教科書は無料公開されています。 HTML版 http://mitpress.mit.edu/sicp/full-text/book/book.html Kindle版 https://github.com/jonathanpatt/sicp-kindle PDF版 https://github.com/s

    弱LisperがMITでSICP(シクピー)を受講した結果 - Qiita
  • Lispインタープリター勉強会を開催しました - エンタープライズギークス (Enterprise Geeks)

    2014年12月3日に、広島にてLispインタープリター勉強会(http://great-h.doorkeeper.jp/events/16621)を開催しました。 勉強会の開催にあたり、会場の設営や機材の調達など、「すごい広島(http://great-h.doorkeeper.jp/)」の方々には大変お世話になりました。ありがとうございました。この場を借りてお礼申し上げます。 当日使用した資料とソースコードは以下の通りです。 [資料] [ソースコード] http://goo.gl/wtkXro 勉強会当日、会場には13名の方が来場され、また、ustreamでも流されました。ustream視聴者数はユニークユーザ数では無いですが30名になりました。 (上は勉強会終了後の写真で、Lispにちなんで、手でカッコとラムダのポーズを取っています。) この勉強会の後、当日中に自前の四則演算インター

    Lispインタープリター勉強会を開催しました - エンタープライズギークス (Enterprise Geeks)
  • Tutorial:Lispで人工知能 - Common LISP users jp

    Tag: チュートリアル セマンティックウェブ・ダイアリー: Lispで人工知能 http://blog.livedoor.jp/s-koide/ チュートリアルで利用する処理系には、Allegro CLの試用版を想定 PAIPによるLisp入門 Lispで人工知能プログラム始めます Lispで人工知能プログラム始めます フリーなCommon Lispをインストールしよう フリーなCommon Lispをインストールしよう(Debian SBCL 編) REPL : Lisp の対話機能 Lisp: 基のキ Lisp: 基のキ Lispの基その2 Lispの基その3 Lispの基その4 関数の定義 Lispの関数定義,述語,条件文 再帰プログラムいろいろ 再帰プログラムいろいろ(続き) 変数束縛とスコーピング 変数束縛はLispのもう一つの質である. 変数束縛はLispのもう一

  • Yaneu Labs --- コンピュータ将棋プログラムをLISPで書く

    *[hatefu:labs.yaneu.com/20090905/] コンピュータ将棋プログラムをLISPで書く 「コンピュータ将棋プログラムをLISPで書く」と言うとコンピュータ将棋開発関係者にすら完全にネタかと思われているのが実状ではあるが、私はこれを機にその誤解を解いておきたい。 ここでは、私がC#で書いたLISPエンジンのソースを公開し、これが実際にコンピュータ将棋プログラムの開発において非常に有効であることを示す。 * YaneLisp version 1.10 今回の記事はあまりに長文なので最後まで読む前に眠くなる人のために、まず始めに私が実装したLISPのバイナリとソースを配布しておく。ライセンスはNYSLとする。 勢いに任せて実装したので、かなり雑な作りだが、必要ならばC#側で関数を追加するなりすればいいと思う。このLISPの製作に要した時間は丸2日ぐらい。 # YaneL

  • Common Lisp is still hard to satisfy. - Qiita

    Abstract マクロは、構文拡張により言語の高い次元の抽象化を行うことができる、Lisp 特有の機能です。マクロは、S式をコンパイルするとき、そのheadがマクロをもつシンボルであったならば、対応する macro-function を呼び出して式を変形させるという動作をします。コンパイルは構文木のrootから順に行われます。 この記事では、マクロ一般の能力ではなく、 現在の Common Lisp におけるマクロシステム について、それが制限を持っているということを示します。また、この制限を克服できる新たなマクロシステムを提案します。 マクロとは (略) マクロに関係するマクロ、関数、変数は以下です。 (defmacro name lambda-list &body body) (macrolet bindigs &body body) (eval form) (compile nam

    Common Lisp is still hard to satisfy. - Qiita
  • 計算機プログラムの構造と解釈 第二版

    [ 目次, 前節, 次節, 索引 ] 2014-03-06 更新 [ 目次, 前節, 次節, 索引 ]

  • リリカル☆Lisp開発日記 » Blog Archive » ScratchでLisp作った

    突然ですが問題です。この画像は何でしょうか。 答え: Lispインタプリタのソースコード 「なんちゅうソースコードだ」と思った方はぜひこちらからお試しください。 「中を見る (See inside)」を押すことでソースコードが読め、その場で書き換えることも出来ます。 — というわけでScratchでLispインタプリタを作りました。ScratchとはSmalltalkを元に作られたSqueak、を元に作られた教育用のプログラミング言語/開発環境だそうです。キーボートで文字を打ち込むのではなく、マウスでブロックを並べることによってプログラムを作ります。子供でも簡単にプログラムを作成することができるらしいので、つまり子供でも簡単にLispインタプリタが作成できるということですね。 一見、非常に低機能な言語のように見えますが、一通りの機能は揃っているので、足らない部分は努力で補えます。 ビット演

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

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

  • ISLISP Reference(Japanese)

  • Scheme演習

    成績について Schemeの成績はレポートのみ(出席は取らない) レポートは完全にできていなくても提出できた分をそれなりに評価する 課題について 提出は hara2001-scheme @ ui.is.s.u-tokyo.ac.jp へメールで送ってください 送信されたE-mailに対して自動的に返信メールが送られます 添付ファイルではなくメール文に直接貼ってください (ただしどうしても文字化けしてしまう人はテキストファイルを添付してください) Subjectは "Report (課題番号) 学生証番号" で送ってください 例: Report (1) 123456 課題の文の先頭に Scheme演習 第1回レポート 理科I類2年 123456 須木 異夢 という形式で名前等を書いてください 締め切りは次のScheme演習の前日 授業で出題する前に課題を提出してもかまいません (質問も受

  • putigame 2013

    [目的 / Goal] 画面下を動いている風子をラジコンヘリでキャッチしてください。 目標が移動するUFOキャッチャーみたいなものです。 画面左上に見えるヘリの電池が切れたらゲームオーバーです。 Catch Fuko. This is a kind of crane game (but you use a radio-controlled helicopter). It's game over if the battery runs down (see upper left). [遊び方 / How to Play] ←→: ヘリの移動 / move helicopter ↓: ヘリの降下+キャッチ / descend down and try to catch SPACE: ステージの選択 / select stages [登場人物 / Characters] 風子 / Fuko 公子さ

  • Scheme:マクロの効用

    普通のやつらの上を行けでLispにおけるマクロの効用が述べられているが, 「じゃあ具体的にマクロを使って『こりゃ便利だ』っていう例を見せてよ」 と言われてもなかなかすぐに出て来ない。 そこで、なんかいいマクロの使用例を思い付いたら書いてってみるコーナー。 通りすがりのマクロ初心者です。便利なマクロの具体例はすごく知りたいので、この項、期待してます。 Paul Graham「On Lisp」を読書中でなかなか良いけど、日語の解説があった方が理解が早まるので。 もくじ マクロを使う局面定型パターンの簡略化関数呼び出しのインライン展開の代用新しい構文による抽象化ミニ言語の埋め込み宣言的なコードに見せるコンパイル時の処理具体例クラス定義でのリーダーの生成リストの内包表記 (List comprehension)リストの構築他の処理系の移植 関連:Scheme:マクロの危険 マクロを使う局面 なん

  • もうひとつの Scheme 入門

    勾配の緩やかな初心者向け Scheme 入門ページです。 コンピュータは使ったことがあるが、プログラミング経験があまりない人を想定しています。 Scheme の解説はすでに山ほど優れたものがありますが、あえて解説記事を書いてみました。 Scheme のような抽象的な話題は波長が合えばすんなりと理解できますが、あわないと全く理解できません。 他の解説を読んで今ひとつよく理解できなかった人は試しに読んでみてください。 この記事の目標はコンピュータ科学の教科書の決定版である SICP を読める程度の Scheme の知識を提供することです。 目次: 処理系のインストール Scheme を電卓代わりに使う リストを作ろう 関数を定義しよう 分岐 局所変数 繰り返し 高階関数 入出力 代入 文字、文字列 シンボル型 連想リスト、ハッシュ表 ベクトルと構造体 構文の定義 (マクロ) 継続 遅延評価 非