タグ

programmingとlispに関するtarchanのブックマーク (16)

  • シェルスクリプトでLISP処理系を作ってみた

    2022-01-22追記】簡易版のLISP処理系をPOSIX準拠シェル(+sed)で作成する様子の動画を作成してみました. この記事は,筆者がシェルスクリプトで簡易実装している純LISP処理系の開発についてまとめたものです.『PureLISP.sh』と呼んでおり,次のGitHubリポジトリでパブリックドメインとして開発・公開しています. 基的には,上記リポジトリのREADMEの内容を記事として膨らませたような構成です.このことから,今回の記事内容に関するコメント等だけでなく,『PureLISP.sh』そのものへの御意見等(GitHubのIssues/Forkを含む)も受け付けます.ただし,開発の経緯・目的から,次の3点は維持します. 最低限必要な要素で構成されたLISP処理系を志向すること POSIX準拠のシェルスクリプトで実装すること パブリックドメインにて開発・公開すること なお,

    シェルスクリプトでLISP処理系を作ってみた
  • Making Crash Bandicoot – GOOL – part 9

    This is part of a now lengthy series of posts on the making of Crash Bandicoot. Click here for the PREVIOUS or for the FIRST POST. I also have a newer post on LISP here. I’m always being asked for more information on the LISP based languages I designed for the Crash and Jak games. So to that effect, I’m posting here a journal article I wrote on the subject in 1996. This is about GOOL, the LISP lan

    Making Crash Bandicoot – GOOL – part 9
  • 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
    tarchan
    tarchan 2014/01/23
    >なぜ1950年代の言語が時代遅れにならないかという簡単な説明は、 それが技術じゃなくて数学だったということだ。数学は色あせない。
  • 長文日記

    長文日記
  • あなたがLispを無視することができない理由 - 八発白中

    (この記事はLisp Advent Calendar 1日目のためのエントリです。) 禅が好んで用いる比喩がある。月を指すには指が必要である。だが、その指を月と思う者はわざわいなるかな。 — 鈴木大拙「禅」 これをLispに例えるなら、こう言うことができるかもしれない。 Lispを書くには括弧が必要である。だが、その括弧をLispと思う者はわざわいなるかな。 Lispを普段書いている身としてはLispについて括弧がどう、というのは些細なものに思えるが、Lispを知らない人からすると自然な考えだろう。人間は知らないものを理解しようとするとき、自分が今まで見たもの、知っているものと比較して手がかりを得ようとする。Lispが他のプログラム言語と比較してユニークなものは、やはりその括弧で表現されたS式だ。 しかし、Lispが括弧を使った奇妙な構文を用いるのは理由がある。そしてそれがLispの強力さ

  • LisperはなぜLispが読みやすいし書きやすいと思うのか? - nobkzのブログ

    まぁ、なんというか、Lispネタです。はい。 括弧のせいで挫折した! なんかこういう話をよく聞く。ぶっちゃけ、あなたがちゃんと真面目に読んでないからでは?とか思ったりするのだが、まぁそれは置いておこう。 要は、括弧が多過ぎて、カッコとコッカの対応が取れないというあたりかな?挫折する理由としては。何となく思うのが エディタが良くない 多くの場合コレだと思う。あと 書き方が良くない まぁコレもあるよね。地味に全然インデントしてなかったりする。そりゃあ読みにくいですよ。 大学のセンセの教え方が良くない! 知るか! Lisper 「Lispは読みやすい!」 Lisperは多分みんな、「Lispの読みやすい」と思うだろう。@valvallowさんあたり、いつも叫んでいる。 末期症状? ”Lisperが「Lispが読みやすい」と言うのは、Lisp病の末期症状である!(?) "とのこと。知らんがな。 ま

    LisperはなぜLispが読みやすいし書きやすいと思うのか? - nobkzのブログ
    tarchan
    tarchan 2013/09/06
    >括弧が多過ぎて、カッコとコッカの対応が取れない
  • not found

  • 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
  • Emacs Lisp が「書ける」ようになるまで - 技術日記@kiwanami

    先日の関西Emacsでは、Emacs Lisp の入門記事がうけるとか、「書ける」ようになる情報がないらしいという話を聞きました。確かに、Emacsの初歩的な操作入門と、良く書ける人がアプリやブログなどでelispをばしっと書いてるのはよく見ます。入門から書けるようになるまでの間の過程は見たこと無かったかもしれないと思いました。 ということで、Emacsの先人たちにはまだまだ及びませんが、いくつかのアプリを書いてみた自分がたどった方法を書いてみます。先にまとめると以下の2つになると思います。 elispでどうしても書きたい物があること たくさん書いて動かして(こっちが先)、そしてInfoや他人のコードを見て勉強する 書ける以前のまとめ Emacs歴10年以上。すでに生活の一部。 でも設定を書くのに使っていたぐらい。 既存のアプリの分かりやすいバグを手元でちょっと直すとか。 LISP系の言語

    Emacs Lisp が「書ける」ようになるまで - 技術日記@kiwanami
  • Yaneu Labs --- コンピュータ将棋プログラムをLISPで書く

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

    tarchan
    tarchan 2010/08/04
    難易度高!>このソースを理解できる能力があるなら、GPS将棋のソースを流用せずとも自分でコンピュータ将棋プログラムが書けそうである。
  • 魔法言語 リリカル☆Lisp

    About ★「魔法言語 リリカル☆Lisp」はノベルゲーム風のLispチュートリアルです。 "アリサ"や"すずか"達と楽しくLispを学べます。 全12話構成で各話の最後には練習問題が用意されています。 Lisp処理系にはNScripter上で動作するLispインタプリタであるNScLisperを使用。 別の処理系をインストールする必要はありません!! Lispとは ★CやC++Java、BASIC、PerlRubyPHPPython、ML、Haskellなどと同じプログラミング言語の一つです。 マサチューセッツ工科大学のJohn McCarthy教授を中心とする研究グループによって開発され、1962年に発表されました。 LispとはList Processorの略で名前通りリストの処理を得意とします。 このことから人工知能の開発に多く用いられています。 NScLisperとは

    魔法言語 リリカル☆Lisp
  • マンガで分かるLisp(Manga Guide to Lisp)

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

  • 『計算機プログラムの構造と解釈』について

    最終更新日: 2000-12-02 (公開日: 2000-12-02) ちょっと感傷的。「今年」は 2000年のこと。 目次 ことはじめ 2.2.4節の図形言語 書評 関連リンク集 ことはじめ 今年の4月に『 計算機プログラムの構造と解釈 』(SICP)を知った。これはす ごいである。MITの入門コース用の教科書らしいのだが、僕にとっ ては難しい (一応は情報科学が専門の大学院生なんだが)。が、難 しい以上に楽しい。物の計算機科学を感じる。perl だとか CGI だとか、くだらんことをやっていないで、もっと早く読むべきだっ た。 このでは、プログラミング言語として Lisp の 1つの方言である Scheme を採用している。僕は Lisp を長い間、敬遠してきた。あ んな括弧の多い言語、 IQの高い人間じゃないと理解できないに違 いない、そもそも実用性がないんじゃないか、と思って

  • そろそろLISPブームが再来する - やねうらおブログ(移転しました)

    思うに、LISPには名著が多い。100年に一度の名著であるSICP*1は言うに及ばず、 ハッカーと画家 コンピュータ時代の創造者たちで有名なPaul Graham氏のOn Lisp。 あと、日のLispハッカーとして名高い竹内郁雄先生の初めての人のためのLISP (ソフトウェアライブラリ (3))。このは、何年も前に絶版になっているが、目次からして、なにやらおかしい。 [目次] 1 初めての人のためのLisp 2 CARとCDRで世間を渡れば権兵衛もたじろぐ 3 解釈は評価なり・・・辞書なくして世は渡れず 4 基関数を修了するや,突然関数定義 なんと大それた・・・ 5 今度はcond,再帰と再起を混同せぬように 6 またも再帰するから再帰なのだ 7 Gogogo・・・,do,do,do・・・,loop,loop,loop・・・, やっぱりOは丸い 8 Lispの御尊のお出まし

    そろそろLISPブームが再来する - やねうらおブログ(移転しました)
  • Part4 Javaで作るオリジナル言語

    Part4では,Lisp(リスプ:List Processor)インタプリタをJava言語を使って作っていきます。Lispは非常に歴史が古く,様々な分野で利用されている言語です。しかし,皆さんの中にはLisp自体をよく知らないという方もいらっしゃるかもしれません。どんなものを作るかわからないままでは面白みも半減してしまいますから,まずはLispのごく基的な動作を紹介しましょう。 まずは簡単Lisp講座 Lispの質は,すべてがリスト(正確にはS式,詳細は後述)で表現されることにあります。リストは要素を順序付きで並べたもので,“(1 2 3 4)”のように要素の並びをカッコでくくって表記します。このリストの要素は1,2,3,4の四つです。 「すべてがリストで表現される」という言葉の通り,Lispではプログラムもこのようなリストとして表現します。Lisp処理系は,与えられたリストの一つ目の

    Part4 Javaで作るオリジナル言語
  • 1