タグ

ブックマーク / lispuser.net (6)

  • LISPMEMO

    LISPUSERLISPMEMOLisp is a programmable programming language. -- John Foderaro flatline さんとこの On Lisp ネタに反応。 http://d.hatena.ne.jp/flappphys/20070324#p1 サークルの先輩から「なんかどのLispも動的スコープだと思っている人が多くない?」と指摘を受ける. ELispは最初から動的スコープ. Schemeは静的スコープで有名である.動的スコープの実現はライブラリによる方針を取っている.SRFIに(割と歴史の古い)fluid-letが提案されたものの取り消され,現在 "parameter" 系が標準になっているらしい.マルチスレッドとの相性が肝のようだ. http://practical-scheme.net/gauche/man/gauche-r

  • Qi - Lisp for 21 Century

    2008年11月に導入され、Common Lisp によって実装された言語です。 Qi II は効率的で型安全な Lisp プログラムを生成し、そのプログラムはいかなるマシン上でも動作させることができます。 Qi II は私が2005年4月に導入したQi Iをさらに進化させたものです。 たくさん: Qi II は CAR / CDR を強制しない。かわりに、パターンマッチを使う事ができる。典型的な Qi プログラムは Lisp プログラムと比較して非空白文字が40%程度になる。 Qi II はオプショナルな静的型チェックを備えている。実際のアプリケーションで、「神さま、プログラムが型エラーでクラッシュしませんように…」と祈る必要がなくなる。 Qi II はラムダ計算と一貫性がある。Common Lisp で部分適用のような概念が利用できる。 Qi II はとても速いコードを生成する。

    kiyo_hiko
    kiyo_hiko 2014/02/05
    S式とホーン節がせめてくる 静的型付けはオプション
  • LISPMEMO

    Common Lisp による日常作業 CSV ファイルを読む (read-line, read-line-into, simple-stream-read-line とか) 以前のエントリ CSV ファイルを読むコード で、ちょろっと いかにも Scheme なコードなのでループと状態マシンに書き直すとかの高速化の余地がありますね。 今迄ちっこいファイルしか読んでなかったので、ちょっとメモリ使用量が多いなー。 まぁ、Gauche と違って immutable な文字列じゃないんで共有とかできないから効率わるいんじゃろ。 などと目を背けていたのですが、ある程度の規模の CSV を読んだら途端に性能問題が。うがぁ。 簡単に体感できる量だと 20MB 程度のデータを読み書きしてみればわかります。 (use text.csv) (length (call-with-input-file "KEN

    kiyo_hiko
    kiyo_hiko 2013/08/28
    read-sequence、read-line-into
  • LISPMEMO

    LISPUSERLISPMEMOLisp isn't a language, it's a building material. -- Alan Kay 先日 ANSI Common Lisp の bfs がわかりにくい、という話があったので。 A -> B, C B -> C C -> D で、このようなネットワークの A から C までの最短経路を求める。 (defun shortest-path (start end net) (bfs end (list (list start)) net)) (defun bfs (end queue net) (if (null queue) nil (let ((path (car queue))) (let ((node (car path))) (if (eql node end) (reverse path) (bfs end (app

  • LISPMEMO

    LISPUSERLISPMEMOLisp is like a ball of mud - you can throw anything you want into it, and it's still Lisp. -- Anonymous 404 Blog Not Found:Code Snippets - reduce(l|r)を実装汁! ネタ。 Common Lisp には標準であったので話にならなかった。10 分を切れてよかった。 (defun reducel (fn lst) (reduce fn lst)) (defun reducer (fn lst) (reduce fn lst :from-end t)) つまらないので Prolog 版。うむ、やっぱり Prolog はいい。call で高階関数も使えるし(funcall が許せない人には不評かもしれないが)。 % red

  • CLISP - GNU CLISP

    英語原文: http://clisp.sourceforge.net/summary.html Common Lisp は高水準、汎用目的、オブジェクト指向、動的、関数型といった 特徴を備えたプログラミング言語です。 CLISP はドイツの Karlsruhe 大学の Bruno Haible、Munich 大学の Michael Stoll らによって開発された Common Lisp の実装です。ANSI Common Lisp に 規定された標準に加えて、多くの拡張を備えた Lisp です。 CLISP はインタプリタとコンパイラ、デバッガ、CLOS、MOP、FFI、国際化メッ セージ、正規表現、ソケットインターフェース、ここに列挙した以上のものを 含んでいます。CLX、Garnet や CLUE/CLIO を通じて X11 インターフェースが 利用可能ですし、コマンドラインの行編集

  • 1