2005-12-01から1ヶ月間の記事一覧

Concurrent Clean : 乱数

Cleanで乱数を作る関数とかって用意されていないのかな? - ObjectIOの中に、clCCall_12.dclというモジュールがあって、その中に、randという関数があったけど、全然乱数じゃないし・・・ 自分で、stdlibのrandを呼び出す関数を作って読んでみようとしたのだ…

Ctrl-W

emacsと間違えて、切り取りのためにCtrl-Wを押して、firefoxのタブを閉じてしまって泣いてしまうことが、ここのところ繰り返している。 はやく、xkeymacsをインストールしないと・・・

Concurrent Clean : ランクN多相性

http://sky.zero.ad.jp/~zaa54437/programming/clean/LanguageReport21/Chap3.html#sc18 ランクN多相性の記述を見つけた。以前、型システムで混乱したけれど、これに関係している気がする。 ちょっと整理できていないので、「後で書く」

Concurrent Clean : ABCマシン(6)

[id:lethevert:20051228:p4] ABCの命令列は、{Instruction}という配列として定義できるな。 Instruction :: *VM -> *VMおのおのの命令を、たとえば、以下のように定義してやれば、部分パラメータ化を使えば、きれいに書けるぞ。 AddI :: !Int !*VM -> !*VMと…

Concurrent Clean : 定グラフと定関数

純粋で遅延評価の文脈で、定グラフと定関数の違いに意味があるのかが分からなくて混乱していた。純粋であるから定関数はなんど計算しても同じ値を返すし、遅延評価であるのから定グラフは必要になるまで計算されないはず。 http://sky.zero.ad.jp/~zaa54437/…

Perl : m//g と \G と pos

http://www.kt.rim.or.jp/~kbk/perl-5.8/perlretut.html#using_regular_expressions_in_perl http://perldoc.jp/docs/perl/5.6.1/perlop.pod#item__PATTERN_cgimosx while ($dna =~ /\G(\w\w\w)*?TGA/g) { print "Got a TGA stop codon at position ", pos $…

Perl : pack/unpack

perlのpack/unpackの使い方を理解した。 pack 構造体→固定長レコード unpack 固定長レコード→構造体 という変換のために利用する。 デリミタで区切られたレコードを変換するのに、split/joinを使うのと対照的だ。 - で、これが理解できたので、perlのurldeco…

Concurrent Clean : ABCマシン(5)

[id:lethevert:20051227:p1] これは、[0,1,2,3,4]を生成するABCコードだが、この _Nil, _Cons は、cgcode.cで、descriptor_nameという変数名を与えられていた。ds(= descriptor store)に蓄えられている名前かな? buildh _Nil 0 buildI 4 buildh _Cons 2 bui…

Windowsで1msを得る

http://dobon.net/cgi-bin/vbbbs/cbbs.cgi?mode=al2&namber=14028&no=0 http://www.katto.comm.waseda.ac.jp/~katto/Class/GazoTokuron/code/time.html

tf-idf の意味づけ

http://chasen.org/~taku/blog/archives/2005/11/_tfidf_1.html tf-idfというのは、単語の重み付けの手法らしい。で、それに対する、言語モデルに基づく解釈らしい。 よく分からないが、とても面白そうなので、とりあえず、メモしておこう。

FCKeditor

http://www.fckeditor.net/demo/ これ、面白い。 JavaScriptで作られた、ワープロソフトだ。(紹介文には、テキストエディタとなっているけど、「エディタ」というのは、ちょっと違う気がする)

Concurrent Clean : ABCマシン(4)

[id:lethevert:20051226:p2] 昨日挙げた p.396(in Ch12.Concret.ABC.ps)は、ABCコードを実現化したMotorola codeでした。 ABCコードの例は、p.350(in Ch11.Ch11.Cl_to_ABC.ps)以降にいくつか載っています。 - Appendix Cには、Cleanに近いコードで、ABC…

Concurrent Clean : ABCマシン(3)

[id:lethevert:20051225:p1] cgopt.oは、生成コードの最適化の関連。コンパイルスイッチがたくさん入っている。 cglin.oは、命令列の生成。linearize(直線化?) cgcalc.oは、演算命令の関連? cgcode.oは、各命令に対応? - p.396(in Ch12.Concret.ABC.ps…

タイトル変えてみました。

気分ですが。 あと、ここの記事で見つけた、ななめ読みのリンクを付けてみました。あまりななめ読みになってないけどね。 http://satoshi.blogs.com/life/2005/12/post_8.html

Concurrent Clean : ABCマシン(2)

[id:lethevert:20051223:p1] コードジェネレータをコンパイルした時のオブジェクトファイルを確認。 cg.o cgcalc.o cgcode.o cgias.o cginput.o cginstructions.o cgiwas.o cglin.o cgopt.o cgstack.o それほど数はない。 先に紹介した本の記述は、ちょっと…

正規表現でTree Summing

[id:lethevert:20051216:p1] 長いこと放置していましたが、これも方を付けないと。 とりあえず、今までの内容をまとめたものを以下に。 #!/usr/bin/perl $_=join '', <stdin>; while( s/\s*\(\) |\s*\(\s* (\d+) (\|((\d+\|)*\d+))? \s*\) /if($1){ if(!length($2))</stdin>…

Iterator

[id:lethevert:20051223:p2] 前の記事を書いた後に、Iteratorのことを考えたので、そのことについて。 リストの要素に対して順次処理を行う場合、「繰り返し処理 + インデックス」を使ったり、イテレータを使ったりする。で、前の記事のようにダウンカウンタ…

変数の型は2つの異なるレベルの概念が混在しているような気がする

と、少し前から思っているのですが、きれいに考えが整理できていないのです。でも、書いたら整理できることもあるかと思うので、ちょっと消化不良のまま書いてみようかと。 - 静的な型付けをもつプログラミング言語の変数の型には、2つの異なる概念を内在し…

Singletonについて(メモ)

[id:yupo5656:20041011:p1] 興味深い。

繰り返し処理のカウンタについて

これまで、私は、n回の繰り返しは、こんな風に書いてきた。(手続き型言語の場合) for(int i=0; i

Concurrent Clean : ABCマシン(1)

http://www.cs.ru.nl/~clean/contents/Addison__Wesley_book/addison__wesley_book.html この本に、CleanのABCマシンの仕様がまとまっているみたい。 Cleanのコンパイラは、CleanのソースをABCコードに変換するだけで、ABCコードからオブジェクトファイルを…

Delphi : 動的リンクされるbplに含まれるユニットの初期化部の呼び出し

随分長い間悩んでいた問題が、一つ解決したので、備忘のため。 前提知識 Delphiは、ファイル単位でユニットという名前のモジュールを生成するのですが、ユニットには初期化部(initialization部)と終了処理部(finalization部)を記述することができます。…

Concurrent Clean : Haskell の $ 演算子

Haskellの $ 演算子が便利そうだと思っていたのだけれど、Cleanでも使えることが分かった。 こんな風に定義すればよい。(関数でもよかったが、効率性を考えてマクロにしてみた) ($) infixl 0 //:: (a -> b) a -> b ($) f a :== f aで、使ってみた。一応、…

塩見

あー、なんか、状況が飲み込めてきた。といっても、想像100%ですが。(だから、これから書くことは全然勘違いかも知れない)

2414 塩見ホールディングス という株を、今年の初めからちょこちょこと売買していて、最近、放置していたのだけれど、今日みたら、めちゃくちゃ暴騰しているんですけど・・・。どうも、耐震偽装の関係らしい。 でも、今朝の気配は、大きく売りが出ているみた…

SICP : Ex1.4

Scheme (define (a-plus-abs-b a b) ((if (> b 0) + -) a b)) Delphi function aPlus(x, y: Integer): Integer; begin Result := x + y; end; function aMinus(x, y: Integer): Integer; begin Result := x - y; end; function PlusAbs(x, y: Integer): Inte…

Visual Studio 2005 Express Edition 日本語版 提供開始

http://www.microsoft.com/japan/msdn/vstudio/express/

ソフトウェアの品質管理

「貴方が一日コードを書くと、いくつバグが入りますか?」という問いに簡単に答えられるほどプログラミングは単純ではない、と書いてみるテスト。 そういえば、標準化と開発現場の統制についての記事(↓)を見かけた。 [id:JavaBlack:20051215:p1] ドキュメ…

管理の効率化

[id:lethevert:20051211:p1] 以前、上の記事を書いたけれど、実際には、現場では、「Excelでチェックシートを作って、手動で管理」の方が好まれて、集中管理できるようなシステムがあっても、「分かりにくい」「使いにくい」とかって言われて、あまりありが…

Concurrent CleanをJVMにコンパイルする話

[id:soutaro:20051213:1134505717] - SchemeをJVMにコンパイルする話 [id:lethevert:20051017:p3] emacs + elisp みたいな関係を念頭に eclipse + Concurrent Clean みたいなものを作ってみたい(妄想) - eclipseで動くCleanは、eCleanと呼ぶことに(妄想)