タグ

lispに関するmotchangのブックマーク (17)

  • Lispを実装したくなったら読んでほしい本6選 - Arantium Maestum

    言語実装 Advent Calendar 2022の1日目の記事として書いた。 Lisp Advent Calendar 2022でも枠が空いていたのでダブル投稿。 プログラミング言語を実装してみたい!と思ったらまずは簡単なLispインタプリタから始めるというのは一つの王道だと思う。 複雑な構文解析は要らず最低限の再帰下降法パーサで手に入る構文木を、そのまま再帰的な関数で実行していくtree walking評価器。メモリ確保もヒープにそのまま置いていって、メモリ解放は実装言語のGCに任せるなりプログラムの終了時までやらなかったり。そんなインタプリタを作る経験から得られるものは非常に大きく、どんなプログラマでも一回は試してみてもいいのではないか?と思っている。(個人的な感想です) そんな簡易Lispを実装してみて沼にハマってしまい、より精緻な言語処理系を作りたいと思ったとする。その時点で:

    Lispを実装したくなったら読んでほしい本6選 - Arantium Maestum
  • プログラマーなら絶対見ておけ!読んでおけ!という神コード、神ロジックはありますか?

    回答 (4件中の1件目) https://www.amazon.com/Purely-Functional-Structures-Chris-Okasaki-ebook-dp-B00AKE1V04/dp/B00AKE1V04/ref=mt_other?_encoding=UTF8&me=&qid= これを知っておけば、関数型言語でなくても、大概の状況で適切な構造体やアルゴリズムが思いつくようになります。 PDFもあります。

    プログラマーなら絶対見ておけ!読んでおけ!という神コード、神ロジックはありますか?
  • LISP with GC in 436 bytes

    SectorLISP now supports garbage collection. This is the first time that a high-level garbage collected programming language has been optimized to fit inside the 512-byte boot sector of a floppy disk. Since we only needed 436 bytes, that means LISP has now outdistanced FORTH and BASIC to be the tiniest programming language in the world. SectorLISP consists of 223 lines of assembly. It provides a LI

  • Risp (in (Rust) (Lisp))

    Many years ago, Peter Norvig wrote a beautiful article about creating a lisp interpreter in Python. It’s the most fun tutorial I’ve seen, not just because it teaches you about my favorite language family (Lisp), but because it cuts through to the essence of interpreters, is fun to follow and quick to finish. Recently, I had some time and wanted to learn Rust. It’s a beautiful systems language, and

    Risp (in (Rust) (Lisp))
  • プログラミング言語の未来はどうなるか | κeenのHappy Hacκing Blog

    κeenです。最近JEITAのソフトウェアエンジニアリング技術ワークショップ2020に参加したんですが、そこで五十嵐先生、柴田さん、Matzとパネルティスカッションをしました。その議論が面白かったので個人的に話を広げようと思います。 年末年始休暇に書き始めたんですが体調を崩したりと色々あって執筆に時間がかかってしまいました。 時間を置いて文章を書き足していったので継ぎ接ぎ感のある文体になってるかもしれませんがご容赦下さい。 というのを踏まえて以下をお読み下さい。 いくつか議題があったのですが、ここで拾うのは一番最後の「プログラミング言語の未来はどうなるか」という話題です。 アーカイブが1月末まで残るようです。もうあと数日しかありませんが間に合うかたはご覧下さい。 そのとき各人の回答を要約すると以下でした。 五十嵐先生:DSLを簡単に作れる言語というのが重要。それとプログラム検証、プログラム

    プログラミング言語の未来はどうなるか | κeenのHappy Hacκing Blog
    motchang
    motchang 2021/01/28
    アドホックな照明系が入った処理系おもしろそうだなぁ
  • SICP勉強会の進捗状況

    motchang
    motchang 2018/07/11
    👀
  • Amazon.co.jp: 対話によるCommon Lisp入門 POD版: 栗原正仁: 本

    Amazon.co.jp: 対話によるCommon Lisp入門 POD版: 栗原正仁: 本
  • 逆引きEmacs Lisp

    逆引きEmacs LispはEmacs Lispを使ってやりたい事から、その方法を調べられる逆引きのリファレンスです。 ページの追加や編集、情報の追加等は自由に行って頂いて構いません。

    逆引きEmacs Lisp
  • 2016年の抱負: Emacs Lisp を書く会社を立ち上げる - だるい

    私には、Emacs Lisp によるウェブアプリケーション開発シーンを盛り上げていきたいという熱い想いがあります。 最近、「次に来る大物Web言語」と称され Elixir などが注目されている様子が伺えますが、ウェブアプリケーションのサーバーサイド実装において次に来る言語というのであれば、個人的には Emacs Lisp こそを推していきたいと思います。なぜなら Emacs Lisp には、インタプリタでありそして同時にプログラミング環境でもある Emacs というソフトウェアが存在するからです。Emacs と最も親和性が高く、最もプラグインが豊富な言語こそが Emacs Lisp です。これを単なる Emacs の設定やプラグインを記述するための言語に留めておくには惜しいと言えるでしょう。 残念ながら現状 Emacs Lisp でのウェブアプリケーション開発は全くといって注目されていない

    motchang
    motchang 2016/01/02
    gongo さんと るびきちさんを呼ぼう。 / アイコンぇ…
  • 魔法言語 リリカル☆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
    motchang
    motchang 2015/03/15
    魔法言語 リリカル☆Lisp
  • xmpfilter のような自動注釈を Emacs Lisp で実現する lispxmp.el をリリース - http://rubikitch.com/に移転しました

    Emacs Lisp 式の値を自動注釈する lispxmp.el をリリースしました。 Ruby の xmpfilter *1 を Emacs Lisp でも実現します。ちょっと手を加えれば Common Lisp や Scheme とかにも対応できるでしょう。 http://www.emacswiki.org/emacs/LispXmp M-x install-elisp http://www.emacswiki.org/cgi-bin/wiki/download/lispxmp.el たとえば、こんなファイルに対して ;; 単純な例 (+ 3 4) ; => (current-buffer) ; => ;; もちろんループの中にも対応 (require 'cl) (loop for i from 1 to 3 for y = (* i 2) do (* i 10) ; => (+ i

    xmpfilter のような自動注釈を Emacs Lisp で実現する lispxmp.el をリリース - http://rubikitch.com/に移転しました
  • Lisperがクリスマスに贈るべきプレゼント三選 - 本トのこと。

    (この記事はLisp Advent Calendar 6日目のためのエントリです。) こんにちは、めいまおです。 一行もLispは書けませんがLisp Advent Calendarを書こうと思います、と言おうと思ったら一行は書けるのであった。 (format t "Hello, World!!1~%")— ミネコ (@meymao) 2013年9月13日 もうすぐクリスマスですね。 Lisperの皆さんはクリスマスといえばTerminalにLispでクリスマスツリーを飾ったりなどして過ごされることと思いますが、クリスマスなので奥様や彼女、意中のあの娘への贈り物も大事です。 そこで、僭越ながらLisperが彼女に贈るべきプレゼント三選を勝手に用意しました。どうぞ箸休めにお付き合いください。 第三位:ハンガー 寒い時期は着込む量に比例してハンガーの使用頻度も高くなりますが、意外と持ってなくて

    Lisperがクリスマスに贈るべきプレゼント三選 - 本トのこと。
    motchang
    motchang 2013/12/07
    これがほんとのカジュアルってか
  • あなたがLispを無視することができない理由 - 八発白中

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

  • Lisp講義1

    5. • 3 • 3 • 6 • 2 • (+ 1 2) • (- 5 2) • (* 2 3) • (/ 8 4) LISPの文法 式(プログラム) 評価結果(実行後)

    Lisp講義1
  • ((Rubyで) 書く (Lisp) インタプリタ)

    Peter Norvigさんの((Pythonで) 書く (Lisp) インタプリタ)(青木靖さん訳)という記事がすごい。100行ほどのPythonコードで、Schemeのインタプリタの基部分を書いている。Pythonのコードは見た目がRubyのコードとよく似ているので、Rubyしか知らない僕でも何となく読める。 この記事を解読してRuby版Schemeインタプリタを書いたら、インタプリタ Pyhon Scheme それからRubyのことも、もう少し分かるようになるかもしれない。こんなお得な勉強方法はないぞ。きっと。 そんなわけで… 以下では上記記事を参照しながら、Ruby版Schemeインタプリタを書いていきます。文では適宜Norvigさんの解説およびコードを引用しつつ、自分の理解とRubyのコードをpythonのコードと対応させていきます。Rubyのインタプリタ名はlisr.rbと

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

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

  • LISPを学ぶサイトを作った - 西尾泰和のはてなダイアリー

    作りたいもの: プログラミング言語のコア概念を学ぶサイト、その2の続編。 ブラウザの上で対話的にLISPのコードを実行できるサイトを作りました。 http://nhiro.org/learn_language/LISP-on-browser.html 現状ではまだ説明が足りないから、LISPをまだまったく知らない人がこのサイトを見て理解できるようになるかというと、そうではない。 TODO サンプルコードを1歩ずつ学べる粒度で用意する ツリーのリアルタイム可視化のコードとくっつける see 構文木を可視化するサイトを作った コードリーディングのための解説を書く 関連記事 ブラウザ上で演算子の優先順位と結合性を学ぶ

    LISPを学ぶサイトを作った - 西尾泰和のはてなダイアリー
  • 1