Shammer's Philosophy

My private adversaria

2011-07-01から1ヶ月間の記事一覧

SBCL で thread に引数を渡すことができるようになりました

SBCL で thread を使ってみたが引数は使用できず - Shammerismでやったときはできなかったが、新バージョンではそれができるようになった。以下、使用例。 * (sb-thread:make-thread #'info :arguments '("Hello")) Hello #<SB-THREAD:THREAD FINISHED values: NIL {1002AD4043}> * :aruguments というキーワード</sb-thread:thread>…

sbcl http GET client

とりあえずですが書いてみました。 (require :sb-bsd-sockets) (defpackage web (:use :cl :sb-bsd-sockets)) (in-package web) (defun resolve-hostname (name-or-IPv4Address) (car (host-ent-addresses (get-host-by-name name-or-IPv4Address)))) (defun…

SBCL で thread を使ってみたが引数は使用できず

sb-thread:make-thread 'Function という形で実行できるようだ。 * (defun hello () (format t "Hello~%")) HELLO * (hello) Hello NIL * (sb-thread:make-thread 'hello) Hello #<SB-THREAD:THREAD FINISHED values: NIL {1002A424E3}> * 引数なしは簡単に実行できた。でも、引数を使用するとうまくいかない。 * </sb-thread:thread>…

Lisp コンパイル比較

clozure と clisp と sbcl でのコンパイル方法を比較。すでに main という何らかの関数が定義済みで、test という名前のバイナリで保存するものとする。 (defun compile () #+CCL (save-application "test" :toplevel-function #'main :prepend-kernel t) #+…

ポリシーVSマネー

仕事をしていれば、お客様と会話することもある。その会話の中で、「我々はあなた方にXXを求めているから高いお金を支払っているのです」と言われることもある。これ自体は別になんてことないやり取りだが、この「XX」に来るのが、 本来提供しているサービス…

転職が決まって

会社を辞めることになりました。数日前から水面下では動きがあったものの、公開されたのは本日。決まってから公開まで、それを隠すことに何かプレッシャーのようなものがあった気がする。今日、自分の転職を知ったある人から、「なんかスッキリした感じ」と…

car とか cdar とか cddar とかいろいろ

リストやセルやコンスから決まった箇所のデータを取り出したい、というときに、car や cdr を駆使することになる。car はコンスの左側を取得、cdr はコンスの右側を取得、というのが基本。まあ、これで悩むことはまずない。でも、これらは複雑に絡み合って、…

with-open-passive-socket 改 ver 20110709

with-open-passive-socket 改 ver 20110706 - Shammerismの内容でもいいのだが、このマクロの場合はメインの処理に相当する部分が when に渡されることになるので、メインの処理をつなぎ合わせるときに progn はなくてもいい。と、いうわけで progn を外して…

with-open-passive-socket 改 ver 20110706

with-open-passive-socket 改 ver 20110703 - Shammerismでは、呼出側でメインの処理を記述する際に progn を記述する必要があったが、その記述をマクロ側に吸収したバージョン。open-socket-server は version 20110703 から変更なし。 (defmacro with-open…

with-open-passive-socket 改 ver 20110703

with-open-passive-socket を自作 - Shammerismで作成した with-open-socket を改良した。毎回 0.0.0.0 で listen するようになっていたが、listen-address を指定できるように改良。もともとの実装にSBCLで文字列をドット表記のIPアドレスに変換する - Sham…