タグ

Lispに関するAkinekoのブックマーク (25)

  • Big Sky :: Go言語で Lisp 処理系を作った。

    1週間ほど前の深夜、ふと Go で連結リスト構造を書いていたら次第に car/cdr 形式になってしまい、気付いたら手が滑って Lisp 処理系を作り始めてしまいました。 なぜかこんな時間から突然 lisp を書き始めてしまった。 — mattn (@mattn_jp) March 26, 2020 初日は深夜だったのでパーサを書いた所で終了。次の日の夕方には四則演算と FizzBuzz が動きました。実は Lisp 処理系を書くのは人生でたぶん4回目くらいで、前回はC言語で書きました。 GitHub - mattn/cisp: Minimal Lisp Interpreter https://github.com/mattn/cisp 今回のルールとして「過去の自分の実装や他の実装は見ない」というオレオレルールを作ってしまったので幾分時間が掛かってしまった様に思います。テストコードはさす

    Big Sky :: Go言語で Lisp 処理系を作った。
  • Lispのアイデア | POSTD

    Lispと聞くと、冷蔵庫のような大きいサイズのコンピュータや、大文字のアルファベット文字列や括弧の並びといったような過去の時代のことが頭に浮かびます。そう、非常に多くの括弧。何故、オブジェクト指向プログラミングの作成者たちは、そんなにもLispの アイデア に魅了されるのでしょうか。そしてまた、アイデアとされるプログラミング言語というものは、どうやったら説明できるでしょうか。こうしたことを教えてくれなかったコンピュータ科学の教育を責めるべきでしょうか。 Lispは、John McCarthyが書いた Recursive Functions of Symbolic Expressions and Their Interpretation by Machines, Part I という論文によって、初めて世界に登場しました。その中で、McCarthyはプログラミングに新しい多くのアイデアを導入

    Lispのアイデア | POSTD
    Akineko
    Akineko 2017/02/11
  • Emacsを書く前のLisp - Qiita

    Emacs Lispを書き始める前に知っておくと良いLispの基礎について。この記事を読んでもEmacsのスキルは上がりません。あと、話の段取り上、めんどくさい方法から順に説明することがあるよ。 対象読者 むかしの自分 Emacsを使ってるけどLispについてちょっとは知っておきたいひと リスト (りんご ばなな みかん)のように要素を並べたものがリスト。データ構造に詳しくないひとは「配列みたいなもの」だと思ってもいい。厳密には連結リスト(linked list)なのでちょっと違ふんだけど、まあ似たようなもの。(あとで説明します) ちなみに、()の中に要素を空白で区切ってならべるリストの書きかたを「S式 (S-expression)」と呼ぶ。Lispのリストは原則としてこの方式で書かれるけど、べつに覚えてなくてもいいです。 リストによるプログラミング プログラムとして評価したい式を(+ 1

    Emacsを書く前のLisp - Qiita
  • Lisp講義1

    PFI社内セミナーで強力な型システムがもたらす様々な恩恵について発表した際の資料です。 補足的な記事はこちらをどうぞ: http://blog.konn-san.com/article/20120412/how-wonderful-to-be-typed また、発表の模様は以下の ustream からご覧になれます。 http://www.ustream.tv/recorded/21781769

    Lisp講義1
    Akineko
    Akineko 2013/09/18
  • Web系女子がLispと出会って統計学に目覚めるまでのお話 - あんちべ!

    こんにちは!今年の春からWeb系企業でHTML/CSSデザイナーとして働きだしたキラキラ女子(を目指してる)のあんちべ(23)です!よろしくお願いします!私は普段自社のWebサービスCSSなどを書いている*1のですが、最近データマイニングに興味を持ち始め、データを分析して、自社サービスの売り上げ改善に貢献したいなーと思うようになりました!でも。。。私は文系出身で統計学とか全然わからない*2し、プログラミングも得意じゃない*3し、高価な統計解析ソフトを買うのも辛いです。。。無い無い尽くしですね><;!そんな私に救いの手が!インストール作業不要で、便利な統計処理機能が色々あって、しかも無料という素晴らしいソフト*4を発見しました!その名も"Incanter"です!なんでも、 Lispっていう古くから使われてきた実績のあるプログラミング言語で動いてて、Lispの文法でどんな処理をすればよいかを

    Web系女子がLispと出会って統計学に目覚めるまでのお話 - あんちべ!
    Akineko
    Akineko 2012/12/11
  • not found

    Akineko
    Akineko 2011/10/21
  • なぜ数ある言語からCommon Lispを選んだのか - 八発白中

    はてなに入ってからよく「なんでCommon Lispで書くんですか?」と聞かれます。アリエルにいるときは全く聞かれなかった質問です。今まで当たり前のように受け入れていたことを改めて尋ねられるとはっとさせられます。 「Common Lispが一番書きやすいからです」 「あっ…すいませんでした」 なぜ謝られたし。これではまるで僕が変人扱いです。だけどたぶんこれが普通の感覚で、アリエルは変な人が多かったんでしょう。 こう言われることもあります。 「でも、Lispってカッコが多いじゃないですか」 これもまた久しく忘れていた感覚で、思わず答えに詰まってしまいました。Common Lispのカッコがそれほど多くないということは既に証明されているというのに。 先週末にid:m2ymと会って話をしたときにも同じような話をしました。閉じカッコがたくさん続いているとか、letのカッコの数が1個多いとか、そうい

    なぜ数ある言語からCommon Lispを選んだのか - 八発白中
    Akineko
    Akineko 2011/10/21
  • 小学生から使い始めるLisp

    [top] [set] [bbs] 小学生から使い始めるLispです.Lispはご存知ですか? ( )を多用する言語で算数や数学やアルゴリズムが書きやすい言語でゲームも作れます. このサイトでは小学生が学校で学んだ算数の計算をアルゴリズムにするとどうなるのかの勉強と アルゴリズムに興味を持って貰えるように構築してます。 自分でアルゴリズムを変更してみてよりいいものを構築したりできればプログラムの勉強になります.BBSで発表したものはここで紹介します.こちらの都合 でソースを改良することもあります. [設定方法と使い方] 例題を見て > の後に入力して[Enter]キーで実行されます. 掲示板 [初 心者] [初級者] [中級者] [上級者] [開発者] [BBSの書式 の説明] 何か作った場合は掲示板で公開してください。便利なものはここで使えるようにします。 プログラム

    Akineko
    Akineko 2011/05/22
  • Lisp

    Randall Munroe

    Akineko
    Akineko 2011/04/30
  • http://hagi.is.s.u-tokyo.ac.jp/~yh/yoiko.html

    Akineko
    Akineko 2011/04/07
  • 魔法言語 リリカル☆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
    Akineko
    Akineko 2011/03/17
  • not found

    Akineko
    Akineko 2011/02/22
  • ((Pythonで) 書く ((さらに良い) Lisp) インタプリタ)

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

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

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

  • Emacs Lisp が「書ける」ようになるまで - 技術日記@kiwanami

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

    Emacs Lisp が「書ける」ようになるまで - 技術日記@kiwanami
  • Lisp は「C 言語並みに速い」「C 言語より速い場合がある」

    だそうです。 On LispOn Lisp 後注より Gabriel, Richard P. Performance and Standardization. Proceedings of the First International Workshop on Lisp Evolution and Standardization, 1988, p.60ある処理系で triangle を試していて, Gabriel は次のことを発見した:「プログラマが C コンパイラにレジスタ割り当ての指示を与えたときと比べても, C 版の反復による実装よりも Lisp 版のほうが 17% も高速だった.」彼の論文では Lisp で実装したほうが C より高速になるプログラムが他にもいくつか挙がっており, なかには 43% も高速になったものもある. Lisp:よくある誤解Lisp:よくある誤解 「Lisp

    Lisp は「C 言語並みに速い」「C 言語より速い場合がある」
    Akineko
    Akineko 2010/06/21
  • 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
  • bwin·必赢(中国)唯一官方网站

  • newLISP基礎文法最速マスター

    待っていても誰も書きそうにないので自分で作りました。 これは何?Lisp風スクリプト言語newLISPの文法一覧です。(→newLISP公式ページ) S式について多少でも知っている人は他の処理系と比較してもよし。 そもそもS式を知らない人はLisp入門にしてもよし。 (先に他の有名なScheme処理系やCommon Lispに手を出す方が無難ですが) newLISPの簡易リファレンスとして利用できるかと思います。ただし無保証です。 対話環境として使う$ newlisp -C newLISP v.10.1.7 on Win32 IPv4 UTF-8, execute 'newlisp -h' for more info. > _ スクリプトを実行する$ newlisp file.lsp 評価コマンドラインからの利用では、複数行にわたるS式の評価は[cmd]~[/cmd]タグを用いる必要があり

    Akineko
    Akineko 2010/03/16
  • Logo基礎文法最速マスター :発動編 - みねこあ

    発動編は、実践編です。接触編がかなりマニアックだったので、発動編は 普通に最速マスターを目指しました。 他の言語をある程度知っている人はこれを読めば Logo の基礎をマスターして Logo を書くことができるようになります。弄りながら遊んでくださいまし。 エントリーは MSW Logo で動作確認しています。Lisp同様 Logo は方言が激しいので、他の処理系では動かなかったりするかもです。そこらへんはご容赦。 コメント コメントは Lisp同様 セミコロン「;」で一行コメントになります。 ;この行はコメント print "hello ;ここ以降も行末までコメント 語(= シンボル) Logo のプログラムを構成する最小の要素は、 語(word) と リスト(list) です。 語は いわゆるシンボル(シンボルに馴染みのないかたは文字列リテラルみたいなものと思いねぇ)、リストは []

    Logo基礎文法最速マスター :発動編 - みねこあ
    Akineko
    Akineko 2010/02/05