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
LISPUSERLISPMEMOLisp is like a ball of mud - you can throw anything you want into it, and it's still Lisp. -- Anonymous Ruby 方面でみかけたネタに触発されました.Lisp はプログラマブルな言語な のでリーダーもプログラマブルです.そこでリーダーをいじって let や defun などの構文を括弧じゃなくて end にでもしてみましょうか. 100 行程度を目標にトライしました.使ったライブラリは CL-Yacc のみです. できあがったのがこちら. #@suck-lisp defun fib (n) if (< n 0) (error "oops") elif (= n 0) 0 elif (= n 1) 1 else let x <- (fib (- n 1))
This phrase, or the phrase "SHALL NOT", means that the guideline is an absolute prohibition. You must ask permission to violate a MUST NOT. This word, or the adjective "RECOMMENDED", means that there may exist valid reasons in particular circumstances to ignore the demands of the guideline, but the full implications must be understood and carefully weighed before choosing a different course. You m
->English 10/5/2001 初出 5/30/2002 追記 6/10/2002 英語版へのリンク追加 「プログラミング言語は満載した機能を特色の第一とするものではない。 あとになって機能の追加が必要と判明するような弱点と制限を取り除いて設計すべきである。」 (アルゴリズム言語Schemeに関する第五改訂報告書、犬飼 大訳 [1])。 言語の機能とライブラリ ポピュラーな言語に親しんできたプログラマの多くは、 Schemeに触れた時、こう感じるんじゃないか。 「一体こんなに機能の少ない言語で、どんなプログラムが書けるっていうんだ。」 Schemeの規格書はほんの50ページしか無い。 Schemeプログラマはそれを言語の簡潔さの証とかなんとか言ってるけど、 入出力は最低限のものしかないし、作ったファイルを消すことさえ出来ない。 文字列処理もC言語の標準ライブラリ以下じゃないか。 ス
shiroさんに教わったのでメモっておきます ;;; from shiro (defun gauche-info-index (topic) (interactive (list (read-string (concat "Gauche help topic : ") (current-word)))) (switch-to-buffer-other-window (get-buffer-create "*info*")) (info "/usr/share/info/gauche-refe.info.gz") ;;(info "/usr/local/share/info/gauche-refe.info.gz") ;;うちは/usr/local/ (Info-index topic)) ;;(define-key global-map "\C-xH" 'gauche-info-index
簡易 Scheme を JavaScript で実装した。基本的な関数の呼び出しや定義が行える。 完全に再現したわけでは無いので、Scheme 方言言語 Tetorang と呼ぶことにしよう。 使用はこちら。 http://512bit.org/scheme/scheme.html Google Chrome で動きます。ぎりぎり FireFox でも動くかも。IE では多分動きません。 使い方 Scheme っぽい言語の REPL。 下部のテキストエリアに scheme 文を打つと、その文と実行結果が上に表示される。実行方法はテキストエリア上で Shift+Enter. 「Shift + Enter で実行」って文の右にグレーで数値が表示されていて、これは括弧の深さを表す。(テキストエリア上で (((()))) とか打つと動作がわかると思う。) この機能は括弧が多い scheme で、括
こんにちは、tahara です。 いいかげん Jenkins くら導入しようよ、ということで導入しました(ステージングへの cap が Asset Pipeline の precompile で時間がかかるようになって、手で cap するのがめんどうになったのが本当の理由です)。 Jenkins のセットアップは色々なとこに情報があったのですんなりいきました。 でも、Jenkins から Skype への通知でてこずりました。 Skype Plugin があるので、これを使えば問題ないよね、と思っていたのですが、一日格闘しても動かせず。 Skype Plugin をあきらめ Common Lisp 経由で Skype を使うことにしたら、すんなりできました。 Jenkins → ビルドシェル → Common Lisp → D-Bus → Skype という流れになります。 まず Linu
SLIME の公式ページ から入手可能です.現在は ArmedBearCL, AllegroCL, CLISP , Corman Lisp, CMUCL, ECL, LispWorks, OpenMCL, SBCL, Scieneer Common Lisp といった処理系に対応.( Scheme48 に対応した SLIME48 もあります) 別プロセスで起動した lisp 処理系とソケット経由で通信する 関数の引数表示 シンボルの補完機能 ( **例:** ``m-v-b TAB => multiple-value-bind`` ) コマンド一発で HyperSpec が引ける コンパイラの note, warning, error をソース上で示してくれる(下線が引かれて,カーソルを合わせると詳細がでる) 親切なデバッガ(バックトレース上でカーソルを合せると詳細が表示されたりとか) 現
Peter Norvig / 青木靖 訳 このページには2つの目的がある。コンピュータ言語の実装について一般的な記述をすることと、Lispの方言であるSchemeのサブセットをPythonで実装する具体的な方法を示すことである。私はこのインタプリタをLispy (lis.py)と呼ぶ。何年か前に私はJavaとCommon LispでSchemeインタプリタを書く方法を示した。今回の目標は、アラン・ケイが「ソフトウェアのマクスウェル方程式」と呼んだところの簡潔さと取っつきやすさを可能な限り実現するということだ。 SchemeのサブセットLispy の構文と意味論 コンピュータ言語の多くは様々な構文的な決まり(キーワード、中置演算子、カッコ、演算子優先順、ドット記法、セミコロンなど)を持っているが、Lisp族言語の1つとして、Schemeの構文はすべてカッコ付きの前置記法であるリストを基本とし
that book is dead sexy —Xach on #lisp (more blurbs) This page, and the pages it links to, contain text of the Common Lisp book Practical Common Lisp published by Apress These pages now contain the final text as it appears in the book. If you find errors in these pages, please send email to book@gigamonkeys.com. These pages will remain online in perpetuity—I hope they will serve as a useful introdu
英語原文: 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. レキシカルスコープとダイナミックスコープの違い 言語によって、変数のスコープに関する仕様が異なる。スコープには、レキシカルスコープとダイナミックスコープがある。採用しているスコープにより、変数の参照の仕方が違う。 レキシカルスコープでは、プログラムとして書かれた字句を解析すれば、変数のスコープを把握できる。実行時のことは考えなくて良い。これに対して、ダイナミックスコープでは、実行時における関数の呼び出され方により、参照できる変数が異なる。 用語の説明を見る前に、具体例を見た方が理解しやすい。 Scope (computer science) - Wikipedia の Lexical scoping and dynamic scoping によると、 … if function f invokes a separately-defined function g, then under
リスト、ハッシュマップ、ベクタ、集合のリテラルがある ;リスト (1 2 3 4) ;ハッシュマップ {:a 1, :b 2, :c 3} ;ベクタ [1 2 3 4] ;集合 #{1 2 3 4} よく使う基本データ型のリテラルがあるというのはソースコードに図が入ってるみたいで考えるよりも早く理解できる。しかもいじりやすい。他の多くの言語でもこれらの基本データ型のリテラルは用意されているが、Clojure ではこれらはとてもよく使う重要なビルディングブロック。 リスト、ハッシュマップ、ベクタ、集合、文字列 をシーケンスとして抽象化 (take 2 '(a b c d)) ;リスト ;=> (a b) (take 2 {:a 1 :b 2 :c 3 :d 4}) ;ハッシュマップ ;=> ([:a 1] [:b 2]) (take 2 [:a :b :c :d]) ;ベクタ ;=> (:a
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く