g000001 はてなハイク市民 (銅 21日)

g000001さんのエントリー

id:g000001のミニブログ

30 fans

書き込むには、ログインまたはユーザー登録を行ってください。 初めての方へ

g000001

Successful Lisp読書会@はてなハイク

紙の本を借りたので後ろから読んでみた。19章あたりまで。後ろから読んでも全く問題なく読めたりする
g000001

g000001 id:g000001

みなさまどうか応募してやってください! http://shibuya.lisp-users.org/2009/08/31/sltt-4-1/
前回6名のところ3名しか集まりませんでした…。
g000001

g000001 id:g000001

毎度お馴染 Shibuya.lisp TTのLT発表者募集でございます
g000001

g000001 id:g000001

返信先youz
気が向いたらTTでもLTでも応募してやってくださいまし!
g000001

g000001 id:g000001

返信先youz
おお!ありがとうございます!LTは毎回人手不足なんですよー。
g000001

lkozima kozima

返信先kozima
TTでもLTでもいつでも歓迎ですよー。都合が合ったら是非発表して欲しいです!
g000001

g000001 id:g000001

shibuya.lisp TT#3 LT id:youzさんとか、id:miyamukoさんとか、id:Pocket7878 さんとかいかがでしょうー。是非LTみてみたい!!
g000001

g000001 id:g000001

shibuya.lisp TT#3 LT大募集中らしいですよ。集まらないときは本当に集まらないみたいー
g000001
g000001

youz id:youz

返信先youz
やばいww 欲しいこれwww
g000001

g000001 id:g000001

最近はてなハイク全然使ってないなー
g000001

サザザさん

だめだこれ好きすぎる
g000001

g000001 id:g000001

何もする気力が起きないのでLet Over Lambda読もう。
g000001

g000001 id:g000001

wassrは大体雰囲気がつかめたので今度は暫くこっちをメインにしてみることにした
g000001

g000001 id:g000001

複数行が
ちゃんと処理
できるか
テストしちゃおうって
わけなんだわ
g000001
g000001

Successful Lisp読書会@はてなハイク

[Why Bother? Or: Objections Answered]
[冒頭]
古参Lisperである著者David B. Lamkinsの回想
◆1975年のLISPといえば、まったく使いものにならない言語だった。何をするにも妙な方法でしかできず、しかも遅かった。
◆1985年以前にLISPを触ったことがある人なら共感できる筈
◆その後LISPはAIと固く結び付いているもの思われていたため、AIの冬と共に寒い時代へ
◆著者は長年の間にLISPに対する考えは段々と変ってきた。
ということで、以降良くありそうなLISPへの批判を考察してみる。
g000001

Successful Lisp読書会@はてなハイク

なんとなく入門向けに良い本なんじゃないかということで一つ読んでみようという会!
g000001

On Lisp読書会@はてなハイク

Let Over Lambdaを読むには、まずOn Lispをちゃんと読んでおかないと駄目みたいなので読む会!
g000001

Let Over Lambda読書会@はてなハイク

返信先g000001
[The Lisp Utility]
◆良くデザインされたユーティリティは、組み合わされて使われた場合の生産性は単なる総和を越える(破綻気味の煽り)
◇On Lispからのユーティリティマクロを紹介/説明
★MKSTR-SYMB:
(defun mkstr (&rest args)
(with-output-to-string (s)
(dolist (a args) (princ a s))))

(defun symb (&rest args)
(values (intern (apply #'mkstr args))))

symbはmkstrの層の上に作られていてシンボルを作るのに便利
確かに関数/マクロ定義を書くマクロを生成する時などに名前の生成に便利。
下らない例だけど、
(defmacro n+maker (s e)
`(progn
,@(loop :for i :from s :to e
:collect `(defun ,(symb i '+) (n)
(+ ,i n)))))
(n+maker 10 12)
(PROGN
(DEFUN 10+ (N) (+ 10 N))
(DEFUN 11+ (N) (+ 11 N))
(DEFUN 12+ (N) (+ 12 N)))
とか書きたいことは、割とあるかも、On Lisp読み返さなくては…
★GROUP
(group '(a 1 b 2 c 3 d 4) 2)
;=> ((A 1) (B 2) (C 3) (D 4))
これもマクロを書く場合に頻出するパターンかも。
★FLATTEN
これは他の言語でも有名。
(flatten '((3 2) 1 2 (())))
;=> '(3 2 1 2)
★FACT-AND-CHOOSE
(defun fact (x)
(if (= x 0)
1
(* x (fact (- x 1)))))

(defun choose (n r)
(/ (fact n)
(fact (- n r))
(fact r)))

(CHOOSE 100 2)
;=> 4950
これは何が説明したいのか良く分からないけれど、タマネギの例の一つなのだろう。
▼はてなハイクの今月のスポンサー

表示内容を選択