2010-01-01から1年間の記事一覧

Fluid Dynamics

http://www.bestinclass.dk/index.php/2010/03/functional-fluid-dynamics-in-clojure/要熟読。

fizzbuzz returns

http://vimeo.com/11088005 より。素敵なfizzbuzz。 (defn fizz [n] (if (zero? (mod n 3)) "fizz")) (defn buzz [n] (if (zero? (mod n 5)) "buzz")) (def fb-list [fizz buzz]) (defn fizzbuzz [n] (let [fb (apply str ((apply juxt fb-list) n))] (if (e…

形式手法によるプログラム解析第2回

http://www.edubase.jp/contents/view/50#JMLを使用した解析だそうな。 帰宅したら視聴する。

Clojure 1.2 Protocols

http://vimeo.com/11236603帰ったら視聴する。

Clojure contrib 1.2.0 SNAPSHOT

テストが通りませんね。 FAIL in (test-as-url) (run-test8216378348289441833.clj:44) expected: (= (URL. "file:/foo") (as-url (File. "/foo"))) actual: (not (= #<URL file:/foo> #<URL file:/D:/foo>)) FAIL in (test-relative-path-string) (run-test8216378348289441833.clj:44) absol</url></url>…

cat

Clojureをシェル化しようと画策。 (use '[clojure.contrib.duck-streams]) (defn cat [filename] (doseq [[s] (map vector (read-lines (reader filename)))] (println s))) と思ったら「slurpを使え」というコメントをいただいた。 (defn cat [filename] (p…

Whyインストールメモ

Coq

Whyツールの習得について( http://groups.google.co.jp/group/fm-forum/browse_thread/thread/6fbd1bc05aa8f999) ということで、 私もやってみた。Whyというのはプログラムの検証用ツールなのだが、 プログラムコードにアサーションのように挿入したWhyのコ…

flatten

実装のバリエーションとして、メモ。 http://groups.google.com/group/clojure/browse_thread/thread/4072804251bbad81/15268e2a22418b8e?lnk=gst&q=flatten#15268e2a22418b8e (defn flatten [lst] (lazy-seq (if (empty? lst) lst (let [[x & xs] lst] (if …

180度回転

講師をやっていると、メイン講師(教室前方)とサブ講師(教室後方) の2つの座席表が欲しくなる。 (defn room-rotate [coll] (reverse (for [x coll] (reverse x)))) こんなやり方しか思いつかなかった。

CommonLisp対訳rev

http://userweb.cs.utexas.edu/users/moore/publications/tutorial/rev3.html#slide0 を見て。Common Lisp (defun rev (x) (if (endp x) nil (append (rev (cdr x)) (list (car x))))) Clojure (defn rev [x] (if (empty? x) nil (concat (rev (rest x)) (li…

extendsとinの違い

私も最初、訳がわからなかった。 UMLにはこれの直接表現がないし。 /* * Example : extends vs in * *author: Kenichi Kobayashi */ abstract sig Human {} sig Man,Woman extends Human {} abstract sig Employee {} sig Sales,Engineer in Employee{} /* …

第4回Formal Methods 勉強会

http://atnd.org/events/4110第4回はAlloy,Coqに加えて、理論面でCEGARのお話も入る。 技術的に高度だからといって、 決して一見さんお断りにはならないのでご安心を。

Multi-core Parallelization in Clojure – a Case Study.

Johann M. Kraus,Hans A. Kestler k-means法をClojureで実装して、実際にクラスタ上で実験したらしい。

ナベアツ

アルゴリズムの記事を見てコーディング。 http://www.atmarkit.co.jp/fcoding/articles/algorithm/01/algorithm01b.html (defn henkan [num] "さーん") (defn nabe [num] (cond (= (mod num 3) 0) (henkan num) (> (.indexOf (str num) "3") -1) (henkan num…

compile

コンパイルするにはCLASSPATHにsrcとclassesが必要なんて知らなかったよー。 C:\clojure>java -cp d:\usr\clojure\clojure-1.1.0.jar;.\src;.\classes clojure.main Clojure 1.1.0 user=> (compile 'clojure.examples.instance) clojure.examples.instance u…

Hanoi

ACL2のサンプルを思わずベタ書き。 http://userweb.cs.utexas.edu/users/moore/acl2/v3-6/TUTORIAL1-TOWERS-OF-HANOI.html (defn move [a b] ['move a 'to b]) (defn hanoi [a b c n] (if (< n 1) nil (if (= n 1) (list (move a c)) (concat (hanoi a c b (…

Twitter4jでupdate

(import '(twitter4j Status)) (defn update [twitter text] (do (def status (. twitter updateStatus text)) (println "Successfully updated the status to [" (. status getText) "]."))) 昨日のget-twitterと組み合わせて使う。 なんと、ありえないくら…

Twitter4j

http://twitter4j.org/ja/index.html のexampleから、GetDirectMessages.javaのベタ移植。 (import '(twitter4j DirectMessage)) (import '(twitter4j Twitter)) (import '(twitter4j TwitterException)) (import '(twitter4j TwitterFactory)) (defn get-tw…

3/26「分散モデル検証実践」

国立情報学研究所17階のクラウド、通称「17階クラウド」を使って、 DeVinEという分散モデル検証ツールを動かす。 冗談だと思っていたが本当に演習があった。 実際には17階クラウド(4コア*9台)のキャパシティによると思われる不具合で、 分散モデル検証を各…

Enumeration.iterator

Enumerationのサンプルに WeekDay.iterator filter isWorkingDay foreach println とあるが、Enumeration.iteratorはdeprecated。values.iteratorを使う。 object Main extends Application { object WeekDay extends Enumeration { type WeekDay = Value va…

Scalaプログラミング入門リスト2-1 Sum.scala

val lines = input.getLines.collect は2.8では使えない。 import scala.io._ def toInt(in:String):Option[Int] = try { Some(Integer.parseInt(in.trim)) } catch { case e: NumberFormatException => None } def sum(in:Seq[String]) = { val ints = in.f…

第3回勉強会

http://atnd.org/events/3687 再三、実施会場が変更されてますが、大久保で決定。 今回プロジェクターを借りられない。今回は、前回と引き続きのCoq、およびAlloyの問題を実施することになりそう。形式手法は単一手法で問題解決するものではないから、 各自…

第4回CSP研究会

CSP

行ってきた。 研究はXMOSでの実装ネタが多く、組込みの話が中心だった。 もうちょっと組込み業界の人が事例を出すようになればもっと面白くなりそう。 ロボットとか、制御系のネタで腰をすえてやりたいところ。懇親会でAlloyの講習会やりませんか、というお…

IDの参考サイト

http://www2.gsis.kumamoto-u.ac.jp/~idportal/?page_id=7私のお客様は同業の方だという気持ちを忘れないように。 本当にお客様のために時間をかけることができるように。 教授法を真剣に追求せねば。

GAE/Scala

GAE/Scalaを本気で調査しようかな。 単にWebアプリを作りたいだけならGAEの方が楽だ。id:hidemon:20091016:1255668728 id:hidemon:20100110:1263124777すでに先行してる人いるし。

第2回勉強会(3/10)開催

開催情報 日時:2010-03-10 19:00〜21:00 場所:銀座ルノアール新宿3丁目ビッグスビル店 2号室 定員:5名でとったけど10名まではいけまっせー。 http://atnd.org/events/3421 会場代はみんなで割り勘です。

www.acm.orgのDegital Library

以前から言われていることではあるが、 ACMのDegital Library&Online Books のサービスがすさまじく便利だ。私の場合は調査業務の中で書籍参照をすることになるので、 僅かな費用で書籍参照し放題なのはおいしい。個人でも入会する価値がある。

オンライン読書会

読書会を集まってやるのは楽しいけど、場所の問題がなぁ・・・ オンラインでやってる人はいないか、と思ったら、 やっぱり同じことを考えている人はいるんだな。Twitterでオンライン読書会というやりかたもあるのか。

バイオエンジニアリング

http://www.jsme.or.jp/bio/index-j.html日本機械学会からの繋がりなのか。 医学が進歩すると、むしろ病気は増えるのか。

scansnap

http://shokai.org/blog/archives/4999いいなぁ。どんなにすばらしい技術書も、 本棚の飾りでは役に立たないもんな。