2006-09-01から1ヶ月間の記事一覧

Concurrent Clean : Generic

さて、昨日はGenericを紹介するだけだったのですが、もう少しその使い方について触れてみようと思います。 gDeepSeq{|c|} ...という形で宣言するのですが、この'c'のところには、型または型構成子を取ることができます。 ::A a = A a generic gSize a :: a -…

Erlang : があればFTPなんていらない!

http://armstrongonsoftware.blogspot.com/2006/09/why-i-often-implement-things-from.html シェルはどうしていつまでもシェルなんだろうと思うことは多々あります。

Haskell : Generic Haskell

http://blade.nagaokaut.ac.jp/cgi-bin/vframe.rb/haskell/haskell-jp/8?2-326 http://blade.nagaokaut.ac.jp/cgi-bin/vframe.rb/haskell/haskell-jp/27?2-326 年をさかのぼってふらふらしていたら、Generic Haskellについてhaskell-jpで取り扱っていたログ…

家計簿アプリを作ってしまいたい気分に

毎月月末に手作業で家計を集計するのが面倒になってきて、自分専用に作るかと考え中。 そんなものを作り始めたら、しばらくCleanから離れちゃうのだけど・・・ L.L.Ringのデモのやつを流用するかなぁ。

すごいなー

[id:umedamochio:20060930:p1] とただ思います。

Concurrent Clean : gMap

GenMapとStdLibMiscの両方にgMapの定義があって、両方Importするとエラーになるんですけど・・・ というか、StdLibMiscってきわめてどうでもいいものが定義されているくせに、Directoryパッケージで必要なTimeとDateも定義しているので、うっとおしいのです…

Concurrent Clean : Genericはすごい

Haskellで言うところのdeepSeqを定義することを考えていました。で、classで定義すると、任意のデータ型に対していちいち同じような関数を再定義し直さなければいけないので面倒なのですが、Genericを使うことでその手間を大幅に節約することができます。 下…

Haskell : STM

HaskellのSTMをちろっと見たのだけれど atomically :: STM a -> IO aというのを見て、aがリストだったら複数のスレッドでグラフが共有されてしまってよろしくないことが起こりそうな気がしたけれど、どうなんだろう? atomicallyから出るときは、グラフを末…

Concurrent Clean : のいいところ

インラインアセンブラがあるところ(ぉぃ

Concurrent Clean : Parser Library : brainf*ck

Parser Libraryを使ってbrainf*ckの処理系を書いてみようと思ったけれど、書き換えやら入出力やらあって、一意型の受け渡しが必要なのをParser Libraryとどう組み合わせるのか不明。ついでに、jumpなんてどうやればいいの? というか、そもそもツールの選択…

ゴリラとキング

という用語があるということを、今日になって知った。

商用目的とは

なんだ? 「非商用に限りフリー」というのは、どこまで許されるのだ?

TCC

id:alohakunを見て、TCCを読んでみようという気にちょっとなったけど、いつ始めるかは不明。

ドキュメント書きというのは

根気だ。

ネスト

ネストが深くなると読みにくくなるような言語はやめておいたほうがいい。

そういえば

ここのところ、Javaやら英語やらばかり書いたり読んだりしていて、ちっともCleanで書いていないことに気づいて、何でもいいから何かプログラミングしなければという気になった。

Concurrent Clean : Parser Library

「HaskellとはParsecを使うための言語だ」といわれているかは知らないが、さすがに使ったことがないのはまずかろうということで、CleanのParser Libraryを使ってみた。 確か、前にも使おうとして、軽い挫折をしたような気がしたけれど、 http://sky.zero.ad.…

TAPL読了しました

Types and Programming Languages (The MIT Press)作者: Benjamin C. Pierce出版社/メーカー: The MIT Press発売日: 2002/01/04メディア: ハードカバー購入: 5人 クリック: 86回この商品を含むブログ (53件) を見る次の本が到着するまであと1週間ほどあるの…

asin記法のdetail表示の調整に失敗

ここのデザインでは、clearが使えないので、説明を横に表示させることができない。 設定でdoctype宣言を変更して、standardモードに変更できればいいのだけど・・・

2Dですか?

http://en.wikipedia.org/wiki/2D_(programming_language) 昔、そんな言語はないかなぁと思ったことのあるような言語だ・・・。本当にあったとは・・・

a.outを生成しないようにする

ことを考えて、次のようにやってみたが echo "main(){printf(\"hello stdout\");}" | gcc -xc - -o /dev/ttycygwinのせいか、/dev/tty.exeがないと怒られた。unix環境だと通るのかな?

借りたコインの行方を見守る

[id:sumii:20060917:1158498573] ひそかに注目していますのでよろしく。

C言語でワンライナー

http://alohakun.blog7.fc2.com/blog-entry-460.htmlを見て、これができるということはC言語でワンライナーができるということじゃないですか、と思ってやってみました。要cygwin $ echo "main(){printf(\"hello 1 liner.\");}" | gcc -xc -; ./a.exe hello …

Concurrent Clean : FGRS vs. lambda calculus

Cleanが意味論としてラムダ計算ではなくグラフ書き換えを使っているのはなぜかということなのですが、Functional Programming and Parallel Graph Rewriting (International Computer Science Series)作者: M. J. Plasmeijer,Marko Van Eekelen,Rinus Plasme…

Concurrent Clean : カリー化と遅延評価と効率

[id:lethevert:20060911:p2]の続き。 add :: Int -> Int -> Intという関数があって、 add 1 2という関数適用があった場合、低レベルではどういう形で実行されるのかを考えてみます。 ここで低レベルの命令として、2種類の命令を定義します。 apply 関数に引…

Concurrent Clean : CleanJ : リリースしてみた

http://sourceforge.net/projects/cleanj/ version 0.9ということで。

SubversionのリポジトリをWebブラウザでブラウズする

ツールとして、これまでは、TracというwikiベースのBTSしか知らなかったのですが、ViewVC (http://viewvc.tigris.org/)というツールがあることを知りました。 というか、Sourceforge.netのSubversionリポジトリのブラウザがこれだということに、今日気づいた…

Concurrent Clean : CleanJ : 最終テスト完了

cleanj.exeをcleanjで変換して動作させてみるというテストはプログラムのエラーは特にありませんでした。 ところが、やはり想像した通り、パフォーマンス上の問題が大きくて、ほとんどのabcファイルは変換できませんでした。(stack over flowになる)

なぜ遅い?

ふらふらしていたら見かけました。 http://dev.ariel-networks.com/Members/matsuyama/30ed30fc30eb59096570306f90453044 ここを読むような人ならこの方面に明るい人もいそうなので。 比較のポイントは2つのループ。 1つめは(速い方) 24: 89 02 mov %eax…

Alt

そういえば、「あると」派です。気が抜けていると「おると」と読んでしまうことがあるような気もしますが。