ブックマーク / blog.bugyo.tk (16)

  • リリカル☆Lisp開発日記 » Blog Archive » Common Lispのenvironmentがよく分からない

    Common Lisp HyperSpecをまじめに読んでたら、だんだんenvironmentが分からなくなってきたのでメモ。 なお、ここでのenvironmentはenvironment objectではなくbindingの集合の意味でのenvironment。 3.1.1 Introduction to Environmentsを読むと、”the global environment”, “a lexical environment”, “a dynamic environment” と書いてあるところから、global environmentはただ一つだけ存在して、lexical environmentとdynamic environmentは複数存在することがうかがえる。ただし明示的にそんなことは書いてない。 3.1.1.2と3.1.1.3によると、プログラム実行中のある時点でac

    natsutan
    natsutan 2016/01/16
  • リリカル☆Lisp開発日記 » Blog Archive » [LSP42] ドキッ!LISPだらけの大運動会

    (この記事はLISP Implementation Advent Calendar 25日目のためのエントリかもしれません。) 背景 今年の春、訳あって42個のプログラミング言語でLISP処理系を実装しました。ソースコードはすべてGitHub上においてます。作り終えたらやりたくなることは一つ。そう、速度の比較ですね。そんなわけで42個のLISP処理系の速度を計測しました。言語によって100倍以上の速度差があるため、すぐ終わるベンチマークでは速い言語同士の比較ができず、時間のかかるベンチマークだと遅い言語が終わらないため、3種類のベンチマークを用意して速度を比べました。計測には time コマンドの total を使用し、各言語3回の計測を行い、その中間値を使用しました。ハッキリ言っていい加減な値なので、きちんとした結果を知りたい人は各自42個の言語処理系を用意して計測しなおしてください。

    natsutan
    natsutan 2014/12/25
    今年も楽しかったです。ありがとうございました。
  • リリカル☆Lisp開発日記 » Blog Archive » [LSP42] HaxeとF#

    (この記事はLISP Implementation Advent Calendar 15日目のためのエントリです。) HaxeとF#でLISPを作りました。 https://github.com/zick/HaxeLisp https://github.com/zick/FSharpLisp 動機 今年の春、訳あって42個のプログラミング言語でLISP処理系を実装することになりました。これはその25〜26個目です。 両方とも名前を思いついたから選んだといった感じです。HaxeはNekoを使った時に、NekoVM上で動く言語として紹介されているのを見て知りました。F#は前回C#をやったから選んだといった感じです。 Haxeの思い出 代数的データ型 Haxeには代数的データ型があります。私は特に代数的データ型が好きなわけではないんですが、少し前にSMLとOCamlを使って少し慣れたので、使って

    natsutan
    natsutan 2014/12/17
    F#の時代きたっ
  • リリカル☆Lisp開発日記 » Blog Archive » 自作Lispインタプリタを公開して後悔しないように

    (この記事はLisp Advent Calendar 2日目のためのエントリです。) 「え、お前の家、カレーに味噌汁付けてるの!?」 頑張って作っていたLispインタプリタがついに完成。友達に自慢してソースコードを見せてみたら 「え、なんでそんな実装になってるの? それって変じゃない?」 といった反応が返ってきたことはありませんか。きっとありますよね。昔から「人の数だけLispがある」と言われていまして、書く人によって色々と違いが出てくるのは当然です。しかし、どんな違いが出てくるのかを知らないと、要らぬ混乱を招く可能性があります。 この記事を読むことで、一言に「自作Lispインタプリタ」と言っても、色々なやり方があることを知り、友人の心ない発言に傷ついたり、逆に人を傷つけないようにする知識を身につけた気分になれます。 「あの人は自分でごみ集めを書いてくれたのに」 Lispインタプリタを書く

    natsutan
    natsutan 2013/12/02
    そのLispでどんなCoolなアプリケーション作ったの?の方向に行ってはいけない何かがある
  • リリカル☆Lisp開発日記 » Blog Archive » メリークリスプマス!

    【メリークリスプマス!】 この記事は再生紙を使用しています。 This entry was posted on 火曜日, 12月 25th, 2012 at 12:00 AM and is filed under 雑記. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

    natsutan
    natsutan 2012/12/25
    今年はただこれが言いたかっただけじゃ無いかと。
  • リリカル☆Lisp開発日記 » Blog Archive » 高階関数の使い方はこうかい?

    【高階関数の使い方はこうかい?】 この言葉を言った後の冷えきった空気に後悔することが多いので注意。 This entry was posted on 水曜日, 12月 12th, 2012 at 12:00 AM and is filed under 雑記. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

    natsutan
    natsutan 2012/12/12
    ねこかわいい!
  • リリカル☆Lisp開発日記 » Blog Archive » ついに値を2つ入れたぞ!

    【ついに値を2つ入れたぞ!】 関数consを呼び出すときは、このセリフを叫び、 ガッツポーズを決めましょう。 This entry was posted on 月曜日, 12月 3rd, 2012 at 12:00 AM and is filed under 雑記. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

    natsutan
    natsutan 2012/12/03
    コメントが厳しいwww>もうちょうっと、レベルをあげてください。
  • リリカル☆Lisp開発日記 » Blog Archive » ILC 2010行ってきました

    カタカナ英語の発音でもそれなりに通じたようです。 (スライドにちゃんと文字が書いてるし。) 質問は、それなりに聞き取れました。多分。 でも、返答を考えながら英語を話そうとした結果、 説明と英語の両方が崩壊し、訳が分からないことに。 質問された方は苦笑しながら”OK.”といってくれました。 大体そんな感じです。 This entry was posted on 月曜日, 10月 25th, 2010 at 2:38 PM and is filed under 雑記. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

    natsutan
    natsutan 2010/10/25
    OK
  • 院試 - リリカル☆Lisp開発日記

    natsutan
    natsutan 2009/08/17
    僕の検討が効いたな
  • http://blog.bugyo.tk/lyrical/2009/08/lisp-5-1.html

    natsutan
    natsutan 2009/08/10
    コメントを荒らしてしまった。
  • マンガで分かるLisp [Section 1.1] - リリカル☆Lisp開発日記

    何の考えもなしに、Section 1.1と名付けた。反省はしていない。 このマンガを描いてくれた兄に 「これは "マンガで分かるLisp" ではなく "Lispマンガですね分かります" だろ」 と言われた。その通りだと思った。

    natsutan
    natsutan 2009/06/22
    娘にLispを触らせると、保育園児から老人までになりますね
  • http://blog.bugyo.tk/lyrical/2009/04/--2-.html

    natsutan
    natsutan 2009/04/20
    さびれてません><
  • 続・defmacro! - リリカル☆Lisp開発日記

    natsutan
    natsutan 2009/03/09
    あれ、無性に読みたくなってきたぞ
  • Lispがメモリを食い尽くす - リリカル☆Lisp開発日記

    あるとき、emacs上でSLIMEを動かしながらCLのコードを書いてると、 突然HDDアクセスが多発して、ほとんどフリーズに近い状態になりました。 調べてみたら、Lispプロセスが一人でメモリを500MB以上も使っていました。 図1. メモリをいつくLispプロセス 一度プロセスを殺して再起動したら直りましたが、時々同じ現象に遭遇します。 メモリを512MBしか積んでいない私のPCにはこれはかなり致命的なのですが、 たまにしか起こらないので原因がよく分からず非常に困りました。 分かっているのは、この現象が起こると同時にemacsとSLIMEのコネクションが切れるということだけ。 そういや、CLISPは使用するメモリの量をあらかじめ制限できたような出来なかったような... それができたらどうにかなるかも。...根的な解決策じゃない気もしますが(笑)

    natsutan
    natsutan 2008/09/29
    えろい!
  • 禁断の乗り物CDR(クダー)の謎を追え! - リリカル☆Lisp開発日記

    データを入れるところが2つある箱をコンスセルという。 左側の入れ物がCAR(カー)で右側がCDR(クダー)。 どうして左側がCARなのか分かる? 車は左側通行だからさ! --- Lisp初学者が一度は聞くことになる(と私は思い込んでいる)決まり文句です。 しかし、ここで誰もが疑問に思うのが「CDR」の存在です。 CARが左側通行の乗り物ということは、CDRという右側通行の乗り物があるのでしょうか。 しかし、CDRの正体を尋ねてみても、 「そんなCDRらないことを聞くな。」 と、お決まりの返事をされ、結局CDRの正体を教えてくれません。 ひょっとしたら皆が決して触れようとしない、「クダー」という名の乗り物が存在するのではないのか。 そして、真のLisperのみが隠れてクダーに乗っているのではないか。 そう考え、私なりに色々と想像してみました。 「クダー」という独特の響きや、

  • 第3回 慢性的CL勉強会[まとめ] (リリカル☆Lisp 開発日記)

    Lingrのログはこちら。 *疑問への回答* 今回も予習した内容に返答をもらえました。 ありがとうございます。 - loopマクロって多用するものなの? 多用するらしいです。 loopを使えてこそCLer? - ignoreとignorable この二つは変数を使わないときに出る警告を抑えるそうです。 Prologで言うところの、 _(anonymous variable) がignore、 _から始まる変数(underscore variable)がignorableのようです。 (パターンマッチをするわけではないので少々意味が違いますが。) - #'car と 'car #'の場合はコンパイル時にオブジェクトが決定されますが、 'の場合は実行時にシンボルから関数を探すようです(だから#'の方が最適化される)。 fletでローカルな束縛を作っても'だと大域関数になる

    natsutan
    natsutan 2008/06/20
    それFPGAで(ry >これが……専用マシンか、と少し悔しくなりました(笑)
  • 1