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

edubase勉強会Week - Formal Methods Forum

ustream 国立情報学研究所のお力をお借りして、 今回の発表をustreamにしていただきました。 http://www.ustream.tv/recorded/16660035 http://www.ustream.tv/recorded/16660582 振り返り議論 その場にいらっしゃった方の発言を適当にちりばめます。 形式手…

基礎は大切

将棋の棋士の実力は歩の使い方を見ればわかるそうな。 演奏家の実力はスケールの演奏を聴けばわかるかもしれない。 プログラマの実力は変数の使い方を見ればわかるだろうか。普遍的に存在するものをいかに有効に使うか。

awk like utility functions(draft)

Clojureでテキスト処理を楽にやりたい、 のだが結構苦労する。https://gist.github.com/1133695

新人研修講師終了

2ヶ月間の新人研修講師担当が今日、終わった。一番難しいのは、自信のない人にかけてあげる言葉だと感じる。 自信のなさは人それぞれ。自信がないのが自分らしさであればそれもまた良いけれど、 自信のなさが過ぎて、本来の自分を隠してしまうのでは良くな…

#awodeytokyo 読書会記録6月

Prelude 数学セミナーで「圏論で歩き方」 今回は圏の定義くらいしか載ってない。 今日はICFPCの最中らしい。 Duality 3.1 The duality principle CT*を作ると、(3.1)のセンテンスが全部入れ替わっただけなので=CTCTからシグマが導かれるならば、CT*でもシグ…

公開鍵暗号化

情報処理技術者試験対策をやっている方がいたので。 問題にあった暗号化処理を見せてもらって書いてみた。http://gist.github.com/1024627

奇遇置換ソート

Wikipediaに参考コードがありますが。 http://ja.wikipedia.org/wiki/%E5%A5%87%E5%81%B6%E8%BB%A2%E7%BD%AE%E3%82%BD%E3%83%BC%E3%83%88 (defn- oe-swap [v] (loop [src v dest [] swapped? false] (if (< (count src) 2) [(concat dest src) swapped?] (if…

2分探索

新人研修でのアルゴリズム演習から。 (defn find? ([lst v] (find? lst v 0 (dec (count lst)))) ([lst v left-i right-i] (if (or (< v (lst left-i)) (< (lst right-i) v)) false (let [middle-i (+ (quot (- right-i left-i) 2) left-i) middle-v (lst mi…

#fm_forum no.16

CoqでMonad 当日発表資料 http://study-func-prog.blogspot.com/2011/06/coq-type-class-in-coq.html Polymorphism "On Understanding Types, Data Abstruction, and Polymorphism" adhoc polymorphismで実装 モナド 「不完全にしておよそ正しくないプログラ…

print all clojure files

awk

iPodでclojureのソースコードを読みたかったのです。 find . | awk '/.clj$/ { print "echo",$0; print "cat -n ",$0 } ' > list.shlist.shを実行してできたテキストファイルをPDFに変換すれば、通勤時間でも手軽にコードリーディングできる。

deftypeでFizzBuzz

http://kurohuku.blogspot.com/2011/05/nil.htmlCommon Lispではdeftypeで型を定義するときに、 任意の条件が記述できるということか。 Clojureでもできないか、やってみよう。

clojure.contrib.types

型定義とパターンマッチが使えるライブラリ。 MLっぽいことができる。 (ns calc (:refer-clojure :exclude (deftype)) (:use [clojure.contrib.types :only (deftype defadt match)])) (defadt ::weekday Sunday Monday Tuesday Wednesday Thursday Friday S…

Vijual

http://lisperati.com/vijual/ ASCIIアートでグラフを描くライブラリ。

グラフ同型判定アルゴリズム書きかけ

https://gist.github.com/986500書きかけですが。 あとは、全部のノードパターンを網羅するようにして、 同型性判定できればよいはず。 こちらはCommon Lispのグラフ操作ライブラリ。 https://github.com/masonium/cl-graph エルデシュの論文収集プロジェク…

n-queen

https://gist.github.com/986288参考サイト: http://www.kashi.info.waseda.ac.jp/~kashi/lec2000/jsj/queen/ ここのサイトでは、「問題をいきなり解くのは難しいので・・・」 と書いてあるので、あえて問題をいきなり解いてみた。

#awodeytokyo 5/21読書会記録

Chapter 2の演習が一通りできたのは良かった。 参加者の皆様に感謝。http://www.slideshare.net/kencoba/awodeytokyo-20110521 iPod touchだと画像が荒い。次回は6/18 13:00-19:00 新宿三井ビル 34Fの予定。

発表会:Sarabande et Double(J.S.Bach)

バッハの無伴奏バイオリンパルティータから、SarabandeとDoubleを演奏。 次回の課題は 右手運指を完成させること。 脱力ではなくリラックスすること。 本番の日は音量を本番と同じにして弾くこと。 視聴者と一緒に曲を楽しむこと。

#awodeytokyo Awodey読書会5月

Prelude なにげにClojureのお話 Awodey 2.8 Exercises 2.8.1 背理法を使わないで証明する方法はないか。 コンセプタンでoto_oto_otoさんが、背理法以外の証明法を紹介していました。 http://d.hatena.ne.jp/oto-oto-oto/20110406/1302109498 http://d.hatena…

sleep sort

(pmap #(do (Thread/sleep (* %1 1000)) (println %1)) '(5 1 3 6 2)) これだけ、なんだけどいまいちうまく表示してくれないなぁ。と思ったら@omasanoriさんから。 (dorun (pmap #(do (Thread/sleep (* % 1000)) (println %)) [5 1 3 6 2])) dorunなのね。あ…

fnparse

ClojureのParser Combinator。 これは真面目に調査しよう。https://github.com/joshua-choi/fnparseサンプル http://slyrus.github.com/2010/09/17/parsing-smiles-with-fnparse.html

CASL II Assembler

http://www.jitec.jp/1_13download/hani20061107.pdf を仕様として作成中。https://gist.github.com/980285普通に2パスでラベル解決->コード生成。 いくらなんでも書き捨てレベルなので、リファクタリングせねば。「名前付けはそのプログラミング言語の文化…

Clojure+Leiningen+Emacs

ちょこちょこと設定手順が変更されているClojure on Emacs. 手順をまとめる。 project.cljに以下を追加 :dev-dependencies [[swank-clojure/swank-clojure "1.2.1"]] コマンドラインから、 > lein swank Emacsにて、 M-x slime-connect 127.0.0.1 4005なんだ…

Projective Object

AwodeyのP33にProjective Objectのお話が載っているのですが。Alloyで書くとこういうことなのかな。 https://gist.github.com/967745たけをさんから以下のような例をいただいた。 open util/relation sig P { f : one X } sig E { e : one X } sig X {} fun …

Clojure製クリップボード履歴ツールclclcl

http://blog.starbug1.com/archives/584いろいろと参考になる要素がつまっているのでメモ。

Natural Deduction Dag Prawitz P18

Coq

P18に掲載されているものをCoqで。 http://gist.github.com/963772 Pab Pba ----------------------------- split. forall x, exists y,Pxy Pab & Pba ---------------------- -------------------- exists y. exists y,Pay. exists y,(Pay & Pya). --------…

クレジットカードの判別アルゴリズム

http://d.hatena.ne.jp/sirocco634/20090523/1243049860 こんなのを見つけたのです。Clojureでやってみた。 https://gist.github.com/962101 カード番号は文字列として渡してあげます。

Clojure Japanese Documentation

https://sites.google.com/site/clojurejapanesedocumentation/Clojureの日本語ドキュメントを整備しようというプロジェクトがあるようだ。 私も協力しようかな。

第6回TAPL読書会

Prelude TAPL読んでることだし、FM_Forumでも型付きラムダ計算やってみるか Isabelle/HOLもやってみたい TAPL読書会は第2週で固定しましょうか http://staff.aist.go.jp/reynald.affeldt/seplog/ cocoatomoさんのTAPL発表資料 https://github.com/cocoatomo…

Tutorial

http://www.cl.cam.ac.uk/research/hvg/Isabelle/dist/Isabelle2011/doc/tutorial.pdfhttp://gist.github.com/958500うーむ、ぜんぜんわかってない。特殊記号の入力で手惑う。 Isabelles2011/etc/symbolsにProofGeneralが補完している特殊記号のテーブルがあ…

第16回Formal Methods勉強会

http://partake.in/events/dfc10138-1c40-449a-84eb-121944653e58というわけで、次回は6/4 13:00-19:00を予定しています。 Coq使いはだいぶ増えましたが、他のツール使いはどうだろう。