タグ

関連タグで絞り込む (310)

タグの絞り込みを解除

clに関するkiyo_hikoのブックマーク (294)

  • Lisp:S式の理由

    S式は人に優しいか Shiro: Lispの不人気の理由として筆頭に上げられるのが、括弧だらけの 独特の見た目。とっつきにくい、一般的な表記法と違っていてわかりにくい、 等々、様々なことが言われてきました。しかし、 S式を捨てたLispも開発されましたが 流行ったとはいい難く、Lispな人々はいまだに括弧に固執しているかのようです。 S式のメリットをLisperに尋ねれば、エディタがどうの、マクロがどうの、といった 回答が真っ先に返って来ると思うんですが、そういう理屈をいくら理解しても S式がダメな人がS式を好きになったりはしません。どうも、もっと根的な 感覚に大きな隔たりがあるような気がします。非Lisperから理解しがたい、 Lisperの持つ感覚とはどんなものなんでしょうか。Lisp脳から見た世界は どんなものなのでしょうか。 構文木を人間が書く? S式は言ってみれば言語の構文木そ

    Lisp:S式の理由
    kiyo_hiko
    kiyo_hiko 2014/02/27
    「'+' が可換な演算だということに慣れた人に とって、文字列の連結に '+' を使うのは非常に奇妙です」
  • リスト

    動的なデータの並び 数値や文字など、LISP で扱うことができる何らかのデータをまとめてリストとして管理することができます。 リストは、一般的なプログラミング言語における配列のようなものだと思って良いですが、LISP 言語には明確に配列という機能も存在するため、リストと配列は異なります。 LISP のリストは、近年のオブジェクト指向型フレームワークにおける動的配列やイテレータのような、順次アクセス型の動的なデータ並びに近い存在です。 リストも LISP が扱う一つのデータ型で、組み込み関数 list で定義することができます。 list &rest args この関数の引数には、リストのデータ並びに指定する任意のデータを指定します。 このとき、リストに配置される各々のデータを要素と呼びます。 例えば (list 10 20 30) とあった場合、数値 10、20、30 がリストの要素となる

    kiyo_hiko
    kiyo_hiko 2014/02/27
    当たり前っちゃ当たり前なんだけどど忘れすることがありそうでメモ → quote特殊オペレーターはリストを評価から保護するからリストになる、list関数は引数を評価してリストつくる(関数だから当然作用的順序評価の対象)
  • 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

  • CLHS: Macro SETF, PSETF

    kiyo_hiko
    kiyo_hiko 2014/02/25
    (setf operator 'setf can 'bind values 'multiply) 。setfとpsetfの違いは、setfが先頭から順に束縛していくけどpsetfは元々環境にあった値で束縛する。だから処理系を起動して(psetf x 100 y x)はエラるけど(setf x 100 y x)ではxとyが100に束縛される
  • quicklispでライブラリを簡単ロード: いろいろ備忘録

    Common LispというかSBCLにおいて、各種ライブラリのロードといえば ASDFが有名。 しかし、もっと簡単にライブラリのロードが出来るQuicklispというものを発見した。 入手は例えば、 wget http://beta.quicklisp.org/quicklisp.lisp とすればOK(curlでも良いが)。 ■インストール インストール自体は非常に簡単。 1. sbcl --load quicklisp.lispで、quicklispをロードしつつSBCLを起動。 2. (quicklisp-quickstart:install)でインストール。 以上。 次回以降のSBCL起動時に自動的にロードされるようにしたいなら、 (ql:add-to-init-file) としておけば、.sbclrcに設定が書き込まれる。 ライブラリの読み込みは、 (ql:quickload

    kiyo_hiko
    kiyo_hiko 2014/02/24
    Win8.1で(ql:add-to-init-file)がどうしても成功しなくて使えない よさげなんだがな
  • モダンCommon Lisp: Quicklispによるライブラリ環境

    このエントリはModern Common Lispの一部です。 Common Lispのライブラリを利用するのに、以前はASDF-Installを使っていました。しかし、ASDF-Installは外部のシェルコマンドに依存するためWindowsでの利用が面倒だったり、接続先のサーバが落ちていてダウンロードできなかったり、ダウンロードできたとしてもビルドできないといったことが多くありました。 これを解決するためにZach Beaneが開発したのがQuicklispです。現在BETA公開中で、いくつか制限事項はありますが、誰でも利用できるようになっています。 Quicklisp BETA セットアップ まずはQuicklisp自身をインストールします。以下のリンクからQuicklispをダウンロードしてください。 Quicklispをダウンロードする あなたのLisp処理系 (きっとSBCL以

  • 円形グラフプロット - Let's write β

    角度と値を元にした円形のグラフを書く必要がある場面があったので、 とりあえずの出力結果を確認するためにlispbuilder-sdlをつかって書いてみました。 (ql:quickload :lispbuilder-sdl) (ql:quickload :lispbuilder-sdl-gfx) (defun read-plot-data (file-name) (with-open-file (in file-name :direction :input :if-does-not-exist nil) (loop for deg = (read in nil) for val = (read in nil) while (and deg val) collect (cons deg val)))) (defun deg->rad (deg) (* COMMON-LISP:PI (/ deg

    円形グラフプロット - Let's write β
  • StrNet.com is for sale | HugeDomains

  • Lispの力の源泉 - 同図像性 - slow living in the sky

    上の写真は、"On Lisp"や"ハッカーと画家"などの著者ポール・グレアムです。 ポール・グレアムは、自身のブログでLispに関する記事を多く執筆しており、現在はLisp方言のArcに力を入れているようです。 以下の内容は、このポール・グレアムのLispに関する知見を元に自分なりにまとめたものです。 Lispのすごさとは 今まで自分は、"Lispはすごい" と思いながらも、実は半信半疑な部分がありました。 ところが、意外なところでそれがわかったのは、プログラミングClojure 第2版 を読んだときでした。 以下、その文章の引用です。 言語の中からその言語を変えてしまうというのはLispに特有の利点だ。この利点は次に挙げるようなさまざまな側面をもつ。 Lispは同図像性を持つ(homoiconic)言語だ。すなわち、LispのコードはLispのデータでもある。これによって、「プログラムを

    kiyo_hiko
    kiyo_hiko 2014/02/21
    はい
  • #9LISP How to use ASDF

    What the FUCK is the prerequisite of LOL? LOLの調子は如何でしょうか?僕は引っかかりまくりながらやっています(笑)。色んな意味で(笑)。 あのは想定読者がちょっと微妙なところがあります(実際、プログラミング関係のだとマトモな編集者が介在してるのか分かんないケースが多々あって、想定読者が絞りきれていず、結果、著作者の独りよがりなを良く見かけますが(※1))。例えば最初の数章が割に冗長なんですけど、先に進んでいくと今度はCommon Lispに精通していなければ意味が分からない部分が散見してたりして。 これ、ホント誤解して欲しくないんですけど、敢えて言っておきます。LOLの評価に関して言うとCommon Lispに精通している人の意見なんて聞いてもしょーがないです。彼らは、そもそも、Lispのの出版数自体が少ない(C言語/Java/JavaS

    kiyo_hiko
    kiyo_hiko 2014/02/21
    ASDF、パッケージ、Let over Lambda // http://d.hatena.ne.jp/Isuzu_T/20121103/1351951302
  • 誰得なAlexandriaの紹介 - Qiita

    Alexandriaとは AlexandriaはCommon Lispのユーティリティライブラリです。必須ではないけれどあったら便利な関数やマクロが収録されています。 ここではAlexandriaに収録されている関数やマクロの中で、割と日の目を見ないものをみっつ紹介します。当は真面目にド定番なのを紹介した記事を書いていたのですが、Firefoxさんが固まって電子の海へ還っていきました。正直ワロタ。 destructuring-case destructuring-caseはcaseとdestructuring-bindの組み合わせです。 destructuring-case keyform &body clauses という感じのマクロで、それぞれのclauseは ((case-keys . destructuring-lambda-list) form*) という構造になっています。

    誰得なAlexandriaの紹介 - Qiita
    kiyo_hiko
    kiyo_hiko 2014/02/21
    「Alexandriaにはwith-gensymsやonce-only、define-constant、compose、curry、mappendなどの定番かつ便利な関数やマクロも多く収録されています」
  • GitHub - lispbuilder/lispbuilder: Lispbuilder provides a range of libraries for developing useful portable Common Lisp applications

    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

    GitHub - lispbuilder/lispbuilder: Lispbuilder provides a range of libraries for developing useful portable Common Lisp applications
    kiyo_hiko
    kiyo_hiko 2014/02/21
    Native Windowまで読んだ。
  • JavaScriptをS式で(parenscript) - the Unspeakable One

    S式でJavaScriptを書けるライブラリ Parenscript。全部S式じゃないと嫌だっていう欲張りな貴方にピッタリ!ゆるふわ括弧な愛されWEBアプリが作れます! 実際のところ、letter: Parenscript で jQuery を使う場合は chain をで見かけて興味はあったけど今まで使わなかった。ので、Hackathonの時に書いたJavascriptをParenscriptで書き直してみたのでした。 Hackathonで書いていた JavaScriptはこんな有様。 var x = 0; var y = 0; var dx = 1; var dy = 1; var img = new Image(); img.src = 'http://www.lisperati.com/lisplogo_alien_128.png'; setInterval('draw()', 5)

    JavaScriptをS式で(parenscript) - the Unspeakable One
  • Blog | PCL -> Clojure, Chapter 3 | Relevance

    kiyo_hiko
    kiyo_hiko 2014/02/18
    実践Common LispのClojureへの読み替えらしい
  • CLHS: Special Operator IF

    kiyo_hiko
    kiyo_hiko 2014/02/12
    then-form、else-formとも単一の式をつかう elispだとelse-formがimplicit prognになっていた (http://www.fan.gr.jp/~ring/doc/elisp_20/elisp_10.html) がCLだとそんなことはない模様
  • Land of Lisp- The Music Video!

    Land of Lisp...the music video! If you like this video, you'll love "Land of Lisp" the book: http://nostarch.com/lisp.htm

    Land of Lisp- The Music Video!
    kiyo_hiko
    kiyo_hiko 2014/02/06
    なんだこれ!
  • not found

  • Averages/Simple moving average - Rosetta Code

    Averages/Simple moving average You are encouraged to solve this task according to the task description, using any language you may know. Computing the simple moving average of a series of numbers. Task Create a stateful function/class/instance that takes a period and returns a routine that takes a number as argument and returns a simple moving average of its arguments so far. A simple moving avera

    Averages/Simple moving average - Rosetta Code
    kiyo_hiko
    kiyo_hiko 2014/02/05
    PicoLispかっこいい
  • 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式とホーン節がせめてくる 静的型付けはオプション
  • SBCLに日本語関連のライブラリやGUIライブラリを導入してみた - とりあえず暇だったし何となくはじめたブログ

    最近Common Lispをちゃんと勉強しよう!という事でちょいちょいsbclで遊んでいます。 それで、asdfを利用して色々ライブラリを導入してみたので、そのメモです。 HTTPリクエストなら、drakma、html→S式の解析なら、cl-html-parse、とライブラリがかなり充実しているな、というのが現在の印象です。 日語関連のライブラリの導入 使い方はいまいち理解してませんが、文字エンコーディングの判定処理や日語を扱うためのライブラリを導入してみます。 http://lispuser.net/commonlisp/japanese.htmlから以下の3ファイルを落としてきました。 mecabなんぞ使うんかという疑問も湧きましたが、まあ、とりあえず導入してみます。 guess.tar.gz jp.tar.gz mecab.tar.gz Common Lisp的な作法がよく分から

    kiyo_hiko
    kiyo_hiko 2014/02/03
    CL-GTK2