合っているのか自信がないのでblogに貼るだけにしておく 今のところ 文字のリスト(sequence)から文字列を作成する上手い方法が見つかっていない。 暫定的な対応策は以下 (defn cs-to-str [cs] (String. #^"[C" (into-array Character/TYPE cs))) 文字列を結合する (str "foo" "bar") ; => "foobar" 大文字・小文字に揃える (. "Hi, Clojurian" toUpperCase) ; => "HI, CLOJURIAN" (. "Hi, Clojurian" toLowerCase) ; => "hi, clojurian" 大文字と小文字を入れ替える (defn swap-case [str] (cs-to-str (map #(cond (Character/isUpperCase %
ブログ パスワード認証 閲覧するには管理人が設定した パスワードの入力が必要です。 管理人からのメッセージ Website under construction 閲覧パスワード Copyright © since 1999 FC2 inc. All Rights Reserved.
感想文です。 まあ、前言った通り、 「Lispの実装をLispで行う?ネタ?それってオモロイのか?」 とか懐疑的だったんですけど。実際やってみると面白い(笑)。ハマりました(笑)。色んな意味ですけどね。 まあ、別に自分で0から考えて、ってわけじゃなくって、森北から出ているSchemeによる記号処理入門を見ながらやってたわけですけど。それで自分が気に入らないコーディングスタイルとか、あるいはこうだったら良いなあ、ってのを考えながら弄ってたわけですけれども。 でもマジに意外と面白かったです。ちょっとはSICPの第4章辺り読む自信付いたかな? 個人的には「こりゃ大変だ」とか思ったのがラムダ式(Small-Lispではfnと言う名前になってる)と=(Common Lispで言うsetf)の実装ですかね。あ、ifも大変だったな。中でもやっぱ一番大変だったのは=の実装ですかね。CLのsetfみたいな動
何年か前に Closure って何? って質問を受けた。当時、ぼくはその質問に答えることは出来なかった。今も出来る自信がない。だから少し勉強してみた。 初歩の初歩を噛じっただけだけど、考えをまとめるためにエントリーにしてみる。 参考文献 Closure と言えば Lisp ということで、Common Lisp の本を参考にした。 「ANSI Common Lisp」(Paul Graham) pp.96-99 「実践 Common Lisp」(Peter Seibel) pp.66-67 クロージャは「関数と環境を一緒にしたもの」。これがクロージャーの説明として一番良く聞く文言。 クロージャを知っている人にはこれで十分なのでせう。でも、ぼくにはこの説明はまるで霞を掴むように思える。 更に、「ANSI Common Lisp」から引用する。 関数が外部で定義された変数を参照するとき、その変数
1月 越後鶴亀 ワイン酵母仕込み 純米吟醸酒 DOMAINE LOUIS LATOUR Corton Clos de la Vigne au Saint GRAND CRU 2011 (赤ワイン、フランス) DOMAINE GUEGUEN CHABLIS 2020 (白ワイン、フランス) 越乃雪椿 純米吟醸 (新潟、雪椿酒造) Particular Garnacha 2013 (赤ワイン、スペイン) CALVADOS MORIN HORS D'AGE 15ANS (カルヴァドス モラン オルダージュ 15年) ARPA CHIANTI 2019 (赤ワイン、イタリア) マリー・ドゥメ トラディション (スパークリングワイン(シャンパン)、フランス) 成城石井オリジナル モスコミュール pazo das bruxas albarino 2019 (白ワイン、スペイン) 獺祭 純米大吟醸 磨き
Scheme 過去◇現在◇未来 前編 bit/April 1996/Vol. 28, No.4 p4~9 Guy L. Steele Jr. 訳 井田昌之 ---------------------------------------- はじめに ――― 訳者より Schemeの開発者の一人であるGuy L. Steele博士が、1995年7月10日にLisp協議 会のシンポジウムで講演を行なった。場所は青学会館である。本稿は、その講 演を元にまとめたものである。その内容は、開発の当事者でしか語れないもの が多く、たとえば、Schemeの発端のいきさつには、Carl Hewitt先生も大きく関 係している点など、訳者にとっても、なるほどと新鮮で興味深いものであった。 当時のMITの人工知能研究所のホットな様子を垣間見た気がした。 本文では敬称を略した。登場人物の肩書はどんどん変化したので、
以前見つけた資料。そういやそんなんあったなと久々に検索して探すのに少し手間取ったのでメモ 言語の比較対応で文法覚えられそうなんで便利じゃないかなと 参照: Big Script: PHP, Perl, Python, Ruby, Smalltalk http://hyperpolyglot.wikidot.com/scripting Small Script: Bash, Tcl, Lua, Javascript, IO http://hyperpolyglot.wikidot.com/small Platform: C, C++, Objective C, Java, C# http://hyperpolyglot.wikidot.com/platform Lisp: Common Lisp, Scheme, Clojure, Emacs Lisp http://hyperpolyglo
2011/12/29更新 時代遅れの手順になってしまいました。 Clojure+Emacsな開発環境を作る(late 2011) - λab's Blogを参照してください。 ネットブックにUbuntu 10.04 を入れたので emacs から Clojure を使う手順を最初の最初から書いてみる。2ヶ月ぐらい前にやったインストール方法だとだめでした。 環境 Ubuntu Netbook Edition 10.04 GNU Emacs 23.1.50.1 機種 HP mini 2140 emacs をインストールする emacs23とか22とかいろいろあるみたいですがよく分からないので最新っぽいのをインストール $ sudo apt-get install emacs-snapshot $ sudo apt-get install emacs-snapshot-el $ sudo apt
elispにもRubyのexpectationsのような美しく記述できるテスティングフレームワークが欲しい - http://rubikitch.com/に移転しました expectationsに激萌えの俺がさくっと作ったよ、expectations for elisp。expectations.elじゃ検索しづらいと思ってel-expectations.elにしといた。 こんな文法でテストが書ける。本体の評価結果が期待値とマッチすればテストが通る。本家expectationsにない機能として「desc」でコメントが書けること。ただし、たんなるデリミタなのでテスト名ではないw (expectations (desc コメント) (expect 期待値 本体) (expect ...) ... ) 具体的なコードはこんなの。 (expectations (desc "simple expec
Structure and Interpretation of Computer Programs adapted for the Clojure programming language Printer-friendly version This site exists to make it easier to use Clojure rather than Scheme while working through SICP. The folks behind SICP were kind enough to release it under a Creative Commons Attribution-Noncommercial 3.0 Unported License, which will allow me to annotate the text and adapt its so
Impromptu は Andrew Sorensen 氏によって作成されたライブコーディング環境だ。言語としては Scheme をベースとしており,それに映像や音楽を扱うためのライブラリ群と,リアルタイムにコードを記述し実行するためのエディット環境が統合されている。 実際に触ってみると,関数型言語とライブコーディングの親和性が,なかなか良いことが分かってくる。エディターの出来も良く,リアルタイムにコードを書きつつ実行するという作業をスムースに流れるようサポートしてくれる。 上のビデオでは, Impromptu のサンプルプログラムを参考にしつつ,簡単なアルゴリズム作曲のコードを組んでみた。ちなみに,ビデオ中に登場する "my:play" 等の関数は,作業を簡略化するためにあらかじめ用意しておいた関数なので悪しからず。 いくつかのデメリットもあるものの(最大の弱点は Mac OS 版しか存
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く