TrueLogic 仕事日記 このページをアンテナに追加 RSSフィード

2012-03-11SEAフォーラム「実用期を迎えた関数プログラミング」講演者スライド

3/5のSEAフォーラム「実用期を迎えた関数プログラミング」講演者スライドのリンク一覧です.

小笠原さん

http://www.itpl.co.jp/tech/func/essense_of_fp%28sea0305%29.pdf

山本さん

http://mew.org/~kazu/material/2012-yesod.pdf

酒向さん

http://www.slideshare.net/ardbeg1958/ss-11889115

水嶋さん

動的プレゼンテーションにつきスライドはなし。

Twitter つぶやきのまとめ

http://togetter.com/li/270508

トラックバック - http://specverification.g.hatena.ne.jp/n757uf/20120311

2012-01-30SEAフォーラム「実用期を迎えた関数プログラミング」のお知らせ

3月15日(月)に大崎で「実用期を迎えた関数プログラミング」と題したフォーラムを開催します.キーノートスピーカー,パネリストには豪華メンバを揃えましたので,皆様のご参加をおまちしております.

http://sea.jp/?p=895

トラックバック - http://specverification.g.hatena.ne.jp/n757uf/20120130

2010-04-04SPINモデル検査入門を翻訳出版しました

具体例が多く,仕事で使うようなモデルを作るには良い参考書となるのではないかと思っています.よろしれけば読んでみてください.

SPINモデル検査入門

SPINモデル検査入門

http://www.amazon.co.jp/gp/product/4274208443/ref=ord_cart_shr?ie=UTF8&m=AN1VRQENFRJN5

トラックバック - http://specverification.g.hatena.ne.jp/n757uf/20100404

2010-02-13Real World Haskell 3章の練習問題のつづき

Real World Haskell 日本語版 p72

6. サブリストの長さでソートする

import Data.List
mySortSubList :: a? -> a? 
mySortSubList a = sortBy myCompareListLen a

myCompareListLen :: [a] -> [a] -> Ordering
myCompareListLen a b = compare (length a) (length b)

7. リストのリストを連結

myIntersperse :: Char? -> [Char]
myIntersperse  = 
myIntersperse (x:[]) = x
myIntersperse (x:xs) = x ++ "," ++ (myIntersperse xs)
myIntersperse ["foo","bar","baz","qeqrr"]

7.Treeの高さ

data Tree a = Node a (Tree a) (Tree a)
              | Empty
                deriving (Show)                        
myTreeHeight :: Tree a  -> Integer
myTreeHeight Empty = 0
myTreeHeight (Node a b c) =
                 1 + max (myTreeHeight b) (myTreeHeight c)
test data
x = Node 55 Empty Empty                 
x2 = Node 66 x x
x3 = Node 77 x Empty
x4 = Node 88 Empty x3 
トラックバック - http://specverification.g.hatena.ne.jp/n757uf/20100213

2010-02-12Principles of the Spin Model Checker P108の脚注

"Principles of the Spin Model Checker" P108の脚注で言及されている問題について,最新バージョンでは修正されていることを確認した.

シミュレーションモードでは検出されない点に注意のこと.

bash-3.2$ ./spin -V
Spin Version 5.2.4 -- 2 December 2009

bash-3.2$ ./spin p108.pml
     timeout
#processes: 3
 2:    proc  2 (P) line   5 "/Users/nonaka/SpinBookTest/p108.pml" (state 1)
 2:    proc  1 (P) line   5 "/Users/nonaka/SpinBookTest/p108.pml" (state 1)
 2:    proc  0 (:init:) line  11 "/Users/nonaka/SpinBookTest/p108.pml" (state 3) <valid end state>
3 processes created

$ ./spin -a p108.pml
$ cc -o pan pan.c
$ ./pan
hint: this search is more efficient if pan.c is compiled -DSAFETY
pan: too few parameters in send stmnt (at depth 2)
pan: wrote foobar.pml.trail


bash-3.2$ cat p108.pml
chan ch1 = [0] of {byte};
chan ch2 = [0] of {byte, byte};

proctype P(chan c){
 c ! 5
}

init {
 run P(ch1);
 run P(ch2)
}
トラックバック - http://specverification.g.hatena.ne.jp/n757uf/20100212