タグ

Lispに関するscrewboundのブックマーク (46)

  • 「Clojureシンタックスハイライター開発から考えるこれからのLispに必要なもの」を発表しました - Homoiconic Days

    7/27に開かれたLisp Meetup #30で「Clojureシンタックスハイライター開発から考えるこれからのLispに必要なもの」というタイトルで話してきました。 Clojureシンタックスハイライター開発から考えるこれからのLispに必要なもの from sohta 内容としては、去年のShibuya.lispのテクニカルトークで話した内容を重点をズラして焼き直したものです。終わった後にいくつか意見をいただきましたが、絶対数は多くないのでどう受け止められているのかはちょっと気になるところです。 「これからのLispに必要なもの」とタイトルにはあるものの、具体的に「これが必要だ」と言えてないのが残念な感じですが。。。この発表でいいたかったのは、「LispコードをCASEツールで解析できる対象にしていきませんか」という提案です。 ICSE勉強会なんかの話を聞いていると、他の言語(特にJ

    「Clojureシンタックスハイライター開発から考えるこれからのLispに必要なもの」を発表しました - Homoiconic Days
  • On Lispとか読んでRubyとLispの違いをちょっと考えた - yarbの日記

    全400ページのうち3/4がマクロの説明に当てられている、Paul Grahamの「On Lisp」を8割ほど読んだ。冒頭のCommon Lisp入門で紹介されている標準関数やユーティリティ関数のネーミングのひどさ(やたらと数字でサフィックス付けるとか、rplacaとかってどうよ?)や、破壊的操作をする関数の挙動の不統一感に、「これならRubyのほうがいいんじゃね?」とか思ったし、with系マクロも、「なんだRubyのブロックでいいじゃん」とか思ったりもしたけど、確かに読み進めると全然違う世界が垣間見えてきた気がする。 CLOSの説明の導入編に当たるところで、Paul Grahamは素のLispの上にオブジェクトシステムを作ってみせる。これが想像以上に簡単な話で、そうか、なるほど、ハッシュテーブルとクロージャがあれば、大抵のことはできるのだと、ちょっと驚いた。継承のモデルにしたって、メソッ

    On Lispとか読んでRubyとLispの違いをちょっと考えた - yarbの日記
  • Gauche:LandOfLisp

    ちょっとだけトリッキーなのはgame-readで、Common Lispのreadは 後続の空白文字(改行文字含む)を消費するので、 > (game-repl) とタイプしてRETを打った時、入力バッファは空で、game-read はすぐに ユーザの入力待ちになるのだけれど、Gaucheのreadは後続の空白文字を消費しない。 gosh> (game-repl) とタイプしてRETを打つと、REPLは閉じ括弧まで読んですぐに(RETを入力に残したまま) game-replを実行する。その中から読まれる game-read は最初に 残っていたRETを見るので、最初のread-line で空の文字列が帰ってくる。 移植版ではこのケースへの対応が入っている。 Shiro(2016/02/02 23:30:58 UTC): 現在の開発版Gaucheでは、REPLについては後続の空白を 読み飛ばす

    Gauche:LandOfLisp
  • Land of Lisp

    地球上でもっともパワフルなプログラミング言語であると言われながら、その謎めいたシンタックスやアカデミックな評判の高さなどから敬遠されることもあったLisp。そんなLispの不遇な時代に終わりを告げるのが書『Land of Lisp』(Lispの国)です。不思議なマンガやout-of-this-worldなゲームの数々とともに、ベテランLisperの著者が、謎多きCommon Lispを伝授。リストの操作、入出力、再帰などの基礎から始めて、さらにマクロや高階プログラミング、ドメイン特化言語などへと話題をすすめながら、Lispのより高度なテクニックについて解説しています。 翻訳者によるサポートページ(http://practical-scheme.net/wiliki/wiliki.cgi/Shiro:LandOfLisp) 謝辞 はじめに Lispがクールで、そして奇妙なわけ Lispがそ

    Land of Lisp
  • かなり本気で携帯Lispしてわかったこと - mitamex4uの日記

    もう年単位の昔、ガラケーでL4uというLispを作って製品に使いました。 思い出しながらまとめておきます。 ・Javaは1オブジェクトに最低12バイト必要なので、リスト1つで20バイト消費します。lispのようにリストを多用する言語は、そのままではメモリーにかなり厳しいです。 -1つ1つのリストを使う代わりに配列でまとめることでメモリー消費を抑える。 -どうしてもリストを使う場合は、まとめて確保したリストのプールから割り当ててメモリーの断片化を防ぐ。 -オブジェクトをキャッシュして使い回すことで、オブジェクト生成を減らす ・S式のバイナリーフォーマットBINGOSは高速化、省メモリーに役立った。 -BINGOSは、MessagePackよりも先に作られた(はず)。フォーマットの基的な考え方はMessagePackとほとんど同じ。違う部分は、Tuple,Symbol,ASCII文字列、UN

    かなり本気で携帯Lispしてわかったこと - mitamex4uの日記
  • 2008.10.18 L4u Tech Talk

    2. でかいことを掲げたわけなのですが、どこの馬の骨ともわからないようなやつが言っても説得力0なので、まずは自己紹介からさせていただきます。 今回、スライドが 76 ページあるので、かなり駆け足で行きますね。スライドは Web からダウンロードできるようにしますので、お話だけ集中して聴いてください。尻切れトンボになるかもしれませんが、これを聞き終わったら、きっとあなたもプロジェクトに Lisp が使いたくなって、 L4u が使いたくなるかもしれません。 3. プロフィール mitamex こと日向野保夫と申します。 10年前にゼンリン電子地図帳 Zi を開発 Zi8 まで Web 系 GIS とか地図系のプログラムを多く作る。 株式会社匠技研所属 http://www.takugi.com ドコモ標準バンドルのゼンリン地図+ナビの開発に携わる。

    2008.10.18 L4u Tech Talk
  • Rails3.1の初期化プロセスを細かく追いかけたRailsGuidesの記事を和訳したよ:ミームの死骸を越えてゆけ

    This domain may be for sale!

    Rails3.1の初期化プロセスを細かく追いかけたRailsGuidesの記事を和訳したよ:ミームの死骸を越えてゆけ
  • yebo blog: JavaScriptの実装はLispで書かれていた

    2011/11/27 JavaScriptの実装はLispで書かれていた JavaScriptは、1995年に当時のネットスケープ・コミュニケーションズのブレンダン・アイクによって開発され、Netscape Navigator 2.0で実装されたと知られている(最初はLiveScriptと呼ばれていた)。HackerNewsに、JavaScriptの最初の実装(動作)がLispで書かれていたとあった。このコードはWaldemar Horwat氏寄贈になっている。彼は、1997年にアイクからJavaScriptの開発を引き継いでおり、EMCAScriptの標準化に尽力している(現在はGoogle)。このLispコードは、JavaScript 2.0 (ECMAScript 4)あるいはEpimetheusとして知られる実装なのかな。Brendan Eich | Popularitymodes

  • lispの瘴気

    @AntiBayes つぼさか大先生が横にいらっしゃるだけで冷や汗でるくらい、全てについてdisりまくっていらっしゃってコワイ… @AntiBayes 施策:「テキストマイニング教育、一筋縄ではいかない。担当者も変わっていくので、ツールのオペレーションやテキストマイニングとはなにか、問い合わせできる体制をつくり、マニュアル化し、共有フォルダでどんどん知見を貯めていく必要がある。データとツールがあれば出来るものではない」 @AntiBayes 複雑な分析を見せびらかすと、大抵の人は嫌がる。単語頻度、係り受け頻度、言葉ネットワークなどという簡単な統計指標を用いて「こんなことやあんな事が出来ますよ」と紹介するのが重要。テクニカルな分析をテキストマイニングそもそも知らない人にいきなり見せないようにしましょう

    lispの瘴気
  • multiple-value-blog1: でっかい括弧

    multiple-value-blog1 2011/11/20 でっかい括弧 この記事は、#:g1: でっかい括弧に引っ越しました!ラベル: paren mc さんの投稿 @ 23:10 0 件のコメント 0 件のコメント: コメントを投稿 登録 コメントの投稿 [Atom] << ホーム

  • 竹内関数で音楽生成 - aike’s blog

    Lisperの人ならみんな知ってる竹内関数(たらいまわし関数)という関数があります。 定義としてはこんな感じ。 そのシンプルな定義からは想像もつかないほど複雑で膨大な再帰呼び出しがおこなわれるとても興味深い関数です。たとえば引数にTarai(10,5,0)を与えると343,073回も再帰呼び出しされたりします。 この関数呼び出しの引数がどのように変化するか知りたくてプログラムを書いて調べてみたところ、Tarai(10,5,0)の場合は3つの引数がそれぞれ0〜10(xは-1〜10)の間で少しずつ変化するなかで、2つの値を固定してひとつの値が下降していくような挙動があったりして、なんだか音楽の3和音のコード進行を思わせるような動き方です。 そういうことなら、ということで実際に音にして聴いてみました。Tarai関数が呼ばれるたびに引数のx、y、zを、0=ミ、1=ファ、2=ソ、……、のように音に割

    竹内関数で音楽生成 - aike’s blog
  • not found

  • 【ELIS復活祭(その1)】「若い人にLISPの技術を伝えたい」,伝説のLISPマシン「ELIS」のイベントが開催

    LISPというプログラミング言語がある。FORTRANに次いで古い言語だとされ,主に人工知能やエキスパート・システムの研究・開発に使われてきた。現在ではあまり開発者人口は多くないが,若い技術者が中心になってLISPに特化したコミュニティ「Shibuya.lisp」を立ち上げたり,長らく絶版だった「初めての人のためのLISP」という書籍が復刊されたりするなど,再び注目を集めつつある。 人工知能の研究が華やかなりし1980年代前後には,LISPの実行をハードウエアでサポートするコンピュータ,いわゆる「LISPマシン」(Wikipediaの記述)と呼ばれる製品カテゴリが存在した。その一つが,NTT 電気通信研究所が開発し,NTTインテリジェントテクノロジ(現在のNTTアイティ)が1987年に発売した「ELIS」というワークステーションである。世界で初めて1チップLSIのCPUで実現されたLISP

    【ELIS復活祭(その1)】「若い人にLISPの技術を伝えたい」,伝説のLISPマシン「ELIS」のイベントが開催
  • Revenge of the Nerds

    技術野郎の復讐---Revenge of the Nerds---[訳註1] Paul Graham, May 2002. Copyright 2002 by Paul Graham. これは、Paul Graham:Revenge of the Nerds を、原著者の許可を得て翻訳・公開するものです。 プロジェクト杉田玄白正式参加テキスト。 <版権表示> 和訳テキストの複製、変更、再配布は、この版権表示を残す限り、自由に行って結構です。 (「この版権表示」には上の文も含まれます。すなわち、再配布を禁止してはいけません)。 Copyright 2002 by Paul Graham 原文: http://www.paulgraham.com/icad.html語訳:Shiro Kawai (shiro @ acm.org) <版権表示終り> Paul Graham氏のエッセイをま

    Revenge of the Nerds
  • Lispの真実

    Leon Bambrick / 青木靖 訳 2006年9月24日 日曜 ここにLispの真実が明らかにされ、いくつかの代替が提示される。 Lispを学ぶことはあなたの人生を変える。 あなたの脳はすごく大きくなり、そんなに大きくなるものだとは思わなかったほどになるだろう。 あなたは自分のアプリケーションをすべて、ほんの一握りのコードで書き換えるだろう。 社会はあなたを避けるようになる。あなたも社会を避けるようになる。 あなたは自分のまわりの物やまわりの人すべてに不満を感じるようになる。 Lispは非常にシンプルであり、ほんの数分で学ぶことができる。私はさっきバスを待っている間に学んだ。 Lispは非常にシンプルであり、どんな言語を使おうと数ページのコードで実装できる。しかしそんなことをすることはないだろう。ひとたびLispを学んだなら、あなたはLisp以外の言語で何かを書こうとは思わなくなる

  • Practical Scheme

    これはあくまで実装の一例であって、詳細は言語処理系のデザインに任されています。 また、以降の例ではスタックは下方(アドレスの低い方)に伸びるものとします。 まず、C等の手続き型言語におけるスタックフレームの使い方を復習しておきましょう。 次のように、関数Aが関数Bと関数Cを呼び出しているものとします。 int A(int a, ...) { int b, c; B(b); C(c); } int B(int b) { int b1; /* other calculation */ } int C(int c) { int c1; /* other calculation */ } 関数Aが呼ばれた直後のスタックには、保存された呼び出し元のレジスタ、戻りアドレス、 そしてAの引数 (a等) とローカル変数 (b, c) 等が積まれます。スタックポインタ(SP)はスタックの再下端を指し、またフ

    Practical Scheme
  • Gauche:Inlining

    手続きのコンパイル時インライン展開に関する雑多なメモ。 インライン化の属性インライン化のセマンティクスインライン化の意義ビルトイン・インライン関数環境を持つ関数のインライン展開 インライン化の属性 「インラインの方法」、つまり「この手続きをインライン展開するならどうしたら良いか」 という情報は手続き自体に属する。 「インライン許可」、つまり「この手続きはインライン展開が可能ならやっていいよ」 という属性は束縛に属する。 基的に、束縛がimmutableかつ値が定数(コンパイル時に確定する値)であれば、 コンパイラは変数参照を値に置き換えることができる。その値が手続きであって インライン可能であれば、そこでインライン展開を行える。 インライン化のセマンティクス inlineされた手続きfooを呼んでいる手続きは、コンパイル後にfooのグローバルな 束縛が置き換えられても影響を受けない。これ

    Gauche:Inlining
  • 某所でのshiroさん講演のtwitterまとめ - ヤドカリデンキ商会(ブログ版)

    garaemonさん、kabusさん、ありがとうございましたgaraemon講演タイトル: Lisp, メタプログラミング, プログラマの使命linkgaraemon流しのプログラマってかっこよすぎだろ...linkgaraemonプログラマになろうと思ってるひと? => 4, 5人linkgaraemonコードを書きたいが音. 好きなコードをかきまくれるキャリアlinkgaraemon今や誰でもコードを書ける時代.linkgaraemonがんばってコーディングすればするほどコードベースが大きくなってる.linkgaraemon90年代; 昔のUNIXは簡単だった. いまや一人でコードをよめないlinkgaraemonはたしてそれで良いのか? >> 膨張するコードベースlinkgaraemon文章とのアナロジーで考える. プロの物書きは顧客の満足できる質の文章を書く.linkgaraem

  • http://sicpinclojure.com/

    http://sicpinclojure.com/
  • GitHub - vii/teepeedee2: Fast webserver for dynamic pages

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - vii/teepeedee2: Fast webserver for dynamic pages