プログラミング

Concurrent Clean : Mersenne Twister

Cleanに付属しているMersenne Twisterのライブラリのコードを見ていたら、古いコードをベースにしたものだということに気づきました。 http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/mt.html から取得できるCの標準コードは、2002年に修正されているので…

Concurrent Clean : 乱数生成器

Cleanに付属している乱数生成器はMersenne Twisterだけなのだけれど、暗号学的に安全な乱数生成器もあるほうがいいのではないかなと思って調査中。 Wikipediaに名前の挙がっている Blum-Blum-Shub法と Fortuna法の2つを調査。 線形合同法のようなより軽い乱…

call/ccと副作用

http://practical-scheme.net/wiliki/wiliki.cgi?Scheme%3acall%2fcc%e3%81%a8%e5%89%af%e4%bd%9c%e7%94%a8 [id:sumii:20061121] 前に紹介したFamkeの論文にも、 We implement threads by using first class continuations in Clean, without the usage of c…

Concurrent Clean : fork, exec*

今、spawn系の関数をCleanから呼び出すライブラリを書いているところですが、よく考えてみると、forkやexec系の関数を呼び出しても、Cleanのシステムに破綻はきたさないということに気づきました。 ついでに実装しておこうかと思います。

正規表現

http://groups.google.co.jp/group/fj.questions.unix/msg/235ce238f717f19c lazy transition evaluation法というのがあるのか。

common follow sets automaton

というものについての論文を読んでいるのだけれど、さっぱり理解ができない。 頭悪すぎ・・・ - http://citeseer.ist.psu.edu/hromkovic97translating.html http://citeseer.ist.psu.edu/471736.html の2つをあわせて読んだら、なんか、分かってきた。 相変…

M:N vs. 1:1 スレッドモデル

http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/vm/thread-priorities.html http://wwws.sun.com/software/whitepapers/solaris9/multithread.pdf 興味深い。 Erlangのスレッドはグリーンスレッド(という言い方が正しいのか?)だったと理解しているけれ…

正規表現

正規表現の処理効率は、オートマトンの作り方の部分に依存して、オートマトンのマッチ処理の方はあまりバリエーションはないのかなと思って、ちょっと調べていました。 とりあえず、探索を深さ優先にするか幅優先にするかという選択はあると思うのですが、マ…

Concurrent Clean : Esther

以前より探していたFamkeを使ったシェルですが、下の論文によると、Esther(エステル)という名前が与えられているようです。 http://citeseer.ist.psu.edu/plasmeijer05functional.html そして、Hildeライブラリをもう一度よく見ると、Esther.prjというファ…

(雑談)最適なモデリング言語は

自然言語ではないかと。 図などは確かに理解を促進する面があるのだけれど、それだけで完結させようとすると、いろいろ無理が出てきて、結局分かりやすくならないのではないかと思った。 あと、仕様記述言語は、トップレベルではなく、もう少し下流で利用す…

Concurrent Clean : Famke

まとめを書いた。 http://lethevert.blogspot.com/2006/11/towards-strongly-typed-functional.html

Concurrent Clean : nop

Cleanでも、それは消えない。 push stack a = [a:stack] pop [a:stack] = stack nop stack = pop (push stack 1)

Java : GPL

SunのJava SEが制限なしのGPL化するということなのですが、Javaの標準ライブラリがGPL化すると、それに依存したJavaアプリケーション(ってすべてのJavaアプリケーションがそうですが)は、GPLでなければならないということにはならないのでしょうか? GPLっ…

Concurrent Clean : CGI

取得する環境変数の数を増やしてみた。テストDBアクセスも統合。 http://cleanoptenv.sourceforge.net/query/1?query=1 http://cleanoptenv.sourceforge.net/count/ http://cleanoptenv.sourceforge.net/testdb/

Concurrent Clean : Famke

論文を読んでいて、やっぱりmonadなのか?と思った。 - (注)ネタなので真剣に受け取らないように。 - モナドっぽいのをみてガックリするのは、シーケンシャルなことをやりたいならよそでやってくれ!と思うからかもしれないと思った。

Concurrent Clean : Hilde

あ゛ー Hildeライブラリには、shellのreadmeが付属しているのに、肝心のshellが付属していない!!! - アホー http://mailman.science.ru.nl/pipermail/clean-list/2004/002689.html googleキャッシュ 平謝り → [id:lethevert:20061117:p1]

Concurrent Clean : Famke

citeseerで論文サーフィンをしていたら、興味深い論文が!!! http://citeseer.ist.psu.edu/642407.html これは、Cleanで 強い型付けの関数型オペレーティングシステム を作ろう!という論文。そして、そこで作られているOSの名前が Famke(ファムカ) です。…

Concurrent Clean : Dynamicsと継続

Cleanでは、Dynamicsを利用して任意の式を外部記憶に保管できるのだけれど、Webシステムを作る際に、継続をdynamicToStringで文字列化してDBに保管することができれば、継続ベースのWebシステムが比較的軽量に作成することができるのではないか?

Concurrent Clean : SQLite CGI

CGIからSQLiteのDBに接続することに成功。 http://cleanoptenv.sourceforge.net/cgi-bin/test

動的型付け

CとJavaとDelphiは動的型付け言語でしたよね(違

Concurrent Clean : SQLite3

SQLite3 bindings for CleanをLinuxで動かそうとしているのですが、そのまえに、SQLite3そのものが動作しない。 「database is locked」というメッセージを表示して、何の処理も受け付けてくれない。 - ファイルシステムがNFSであることが何か関係していそう…

Concurrent Clean : SQLite3 (2)

さて、sourceforge.netのproject web serviceで動かそうと思えば、SQLite3は静的リンクしておきたい。 てことは、ソースコードから、コンパイルファームでコンパイルしてやる必要があるということだ。

Concurrent Clean : Vi

sourceforge.netのコンパイルファームのviは、Cleanのソースをきちんと色付けしてくれる!!

Concurrent Clean : CGI by Clean

http://cleanoptenv.sourceforge.net/query/1?query=1 環境変数を取得してみた。 さらに、mod_rewriteで、スマートURLにした。 RewriteEngine on RewriteBase / RewriteRule ^(.*) /cgi-bin/PrintEnv/$1cgi-binのサイトに置いた.htaccessで、アクセス制限が…

Concurrent Clean : Counter CGI

http://cleanoptenv.sourceforge.net/count/ ファイルの読み込みはできるのだが、書き込みができない。 - スクリプトを書いてみたが、やはり書き込みができない。 困ったな。 - 書き込み可能なディレクトリが /tmp/persistent/*** 以下に制限されていた。 - …

Concurrent Clean : CGIの速度

ところで、スクリプト言語でCGIをする場合は、apacheのモジュールにすることが普通で、それはプロセスを起動するオーバーヘッドを減らすためということだと理解しているのだけれど、Clean(やC)のように静的にオブジェクトコードを生成する場合は、ロードす…

正規表現

正規表現の論文を読んでいて、背景知識が足りないと思ったので、referenceに上がっている別の論文に目を通すことにする。 http://citeseer.ist.psu.edu/hromkovic97translating.html - これは結構分かりやすいかも。

Erlang : 分散コンピューティング

最近、時間を見つけてErlangを触ってみています。 で、下にあったファイル転送をやってみました。 http://armstrongonsoftware.blogspot.com/2006/09/why-i-often-implement-things-from.html 各ホストは、DNSで名前解決できる必要があります。また、もし、D…

mod_rewrite

のことでした。 http://tech.bayashi.net/svr/doc/apache/mod_rewrite.html http://www.net-newbie.com/trans/mod_rewrite.html http://japache.infoscience.co.jp/rewriteguide/ テスト http://cleanj.sourceforge.net/testcgi RewriteEngine on RewriteBas…

Erlang : 発音

Mnesiaの由来と発音を調べていました。 http://www1.erlang.org/ml-archive/erlang-questions/200212/msg00266.html もともとは Amnesia だったそうです。一説には、最初のころは、ram only dbだったので、シャットダウンするとデータが消えてしまうところか…