Concurrent%20Clean の検索結果:

Haskellの$

http://www.sampou.org/haskell/report-revised-j/basic.html#sect6.2 Haskellの「$」って演算子なの? じゃあ、この演算子には定義があるのか? 定義があるなら、それを真似すれば、Concurrent Cleanでも「$」が使えるようになるのか?

これも面白そうなのでメモ

http://www.haskell.org/hawiki/ThingsToAvoid "Choose the right fold"ってのが、いまいちよくわからねぇ。 So, we arrive at the one-line summary: A function strict in its second argument will always* require linear stack space with foldr, so foldl' should be use…

クイズ: Graphical Partition

http://mput.dip.jp/mput/?date=20051007#p01 Concurrent Cleanで解いてみた。 Haskellの回答をいろいろ見てたら、choiceとかcombとかお決まりのパターンがあるんだね。 http://www.sampou.org/cgi-bin/haskell.cgi?Programming%3a%b6%cc%bc%ea%c8%a2%3a%c1%c8%b9%e7%a4%bb あと、「or []」は False になるので、ca…

emacs : clean-mode.el

ハイライトのところ、正規表現を使いまくっているんですけど、エスケープ有効な文字列で正規表現を記述しているので、読みにくいったら・・・。lispは、エスケープ無効の文字列ってないのかな? ところで、Concurrent Cleanのコメントは、ネストできるので、正規表現でコメントをハイライトすることは無理っぽい気がするが・・・

memoizeと不動点の追記

[id:lethevert:20050904:p3] Concurrent Clean版の fix :: ( (Int -> Int) -> (Int -> Int) ) -> (Int -> Int) fix maker = f where f = maker f と、JavaScript, Scheme版のそれ function fix(G) { function f(x) { return f(x) } f = G(f) return f } (define (fix …

memoizeと不動点

[id:lethevert:20050903:p2] できた!! fix g = f where f = g f whereを使えば書けたんだ。 ということで、memoizeも含めたConcurrent Clean版は↓です。(リストの選択に必要な計算量はこの際無視で) module memo import StdEnv Start = map fib [1,2,3,4,5] //fib = fix fib_maker fib = fix_memo fib_maker whe…

memoizeと不動点

[id:lethevert:20050901:p4] あ、[id:Nabetani:20050901:p2]で、C++版を書いてある。 int call( func_t * f, int x ) { return (*f)(x); } void fix( maker_t g, func_t & f ) { func_t x = bind( call, &f, _1 ); f = g(x); } bindがみそ? - せっかくだから、Concurrent Cleanも書いときま…

Cobalt Web Builder

Concurrent Cleanの話ばかりになってましたけど、Cobalt Web Builder v4.xのベクター公開をまだしていないんでした。残作業が何があるのかを整理しないと。 http://www.geocities.jp/lethevert/softwares/cwb01.html

関数型言語と正規表現、SQL、XML

オブジェクト指向のほかに、正規表現もConcurrent Cleanに取り込むことを考えています。 オブジェクト指向と違って、正規表現はプログラミングに対して、ずっと有用性が高いと思っているので、ぜひとも組み込みたいです。 他には、SQL、XMLなども取り込みたいと思っています。

関数型言語とオブジェクト指向

[id:lethevert:20050807:p2]で、Concurrent Cleanでオブジェクト指向的な表現をする方法について述べていますが、そもそも[id:lethevert:20050731:p3][id:lethevert:20050801:p2]で書いたように、オブジェクト指向って大丈夫なの?と思っているところはあるので、オブジェクト指向にそんなにこだわっているわけではないのです。実は不要な言語パラダイムだったりして、と内心思っているくらいです。では、なぜ、関数…

息抜き

Concurrent Cleanで、下の問題を解いてみたり。 http://online-judge.uva.es/contest/data/next/problemset/p2.html

オブジェクト指向って

オブジェクト指向ってそんなに便利かね?と思って。 Concurrent Cleanを使い始めて、関数型言語の世界からプログラミングを見るようになってから、オブジェクト指向に対する考え方がだいぶ変わってきたような気がします。 オブジェクト指向でもっともよく使う機能は、スコープの分割とモジュール化だと思うのですが(つまり、カプセル化の機能だ)、これはオブジェクト指向でなくてもできることなんですよね。むしろ、代表的なオブジェクト指向言語のもつスコープの機能は、若干物足りない気がする…

関数型言語のよいところ

「美しい」(*1)とか言うのはなしにして、関数型言語の実際的なよいところを考えてみる。(Concurrent Cleanの文法を念頭においているので、他の関数型言語だと当てはまらないかも。) 型推論によって、静的型付けにも関わらず、ローカル変数を宣言なしに使える タプルによって、複数の値の組を返す関数を簡単に作成できる(*2) パターンマッチによって、場合わけを見通しのよい(可読性の高い)方法で表現できる ローカルスコープを入れ子にして、必要なだけ定義できる 概念的な単位で関…

Concurrent Clean

Concurrent Cleanの池田さんのサイト(http://sky.zero.ad.jp/~zaa54437/programming/clean/)から、リンクが貼られていました。 日本語化、がんばらねば。 - キーワードに登録してみました。

Concurrent Clean 日本語版 公開しました。

http://www.geocities.jp/lethevert/softwares/clean/localize.html ひとまず、IDEとライブラリについて、公開しました。コンパイラについては、しばらくお待ちください。 Concurrent Cleanの公式ホームページからリンクしていただきました。(ちょっと、公開と前後してしまいましたけど) http://www.cs.ru.nl/~clean/ - メーリングリストでも、案内されてました。 http://mailm…

Concurrent Clean + リソースファイル

Concurrent CleanのIDEとライブラリの日本語化の成果を公開しようとしていますが、表示されるバージョン情報を変更する方法を考えています。どうやら、rsrc形式のリソースファイルがリンクできるのですが、私の環境でrsrc形式のリソースファイルを作成するにはどうすればいいんだろう?cygwin向けのツールはあるのかな? ちなみに、コンパイラの日本語化は、IDEとライブラリの公開後に行う予定です。

Java VM上で動く関数型言語

http://scala.epfl.ch/ まず、Scala。これは、Java VM上と.NET上で動作する、オブジェクト指向と関数型の2つの特徴を持った言語です。また、XMLをネイティブに取り扱うこともできます。scalaの文法は、Javaの文法とは見た目から違います。scalaというコマンドを使って実行しますが、これは、内部で、javaを適当なオプションをつけて呼び出しているそうです。ですので、ソースコードレベルでは違ってもバイトコードレベルではJavaとして実行できると…

Concurrent Clean ユーザーサイト

もう一つありました。 http://nishis-web.hp.infoseek.co.jp/learning/fpl/index.html ということで、私のサイトは、3つ目のユーザーサイトになりました・・・ と、一瞬思ったけど、Concurrent Cleanの使い方にはほとんど触れていないね。ということで、やはり、私のサイトは2つ目を目指します。 あ、こっちがトップページだった。 http://nishis-web.hp.infoseek.co.jp/learning/…

clean-mode.el

emacsのConcurrent Clean用のメジャーモードを作ってみました。 こちらよりダウンロードできます -> http://www.geocities.jp/lethevert/softwares/clean/index.html haskell-mode 2.0を基にして、関数などの名前をcleanに置き換え、コメントの文法を修正したものです。まだまだ便利な機能はほとんどなく、キーワードもチェックしていないですが、とりあえず、作りましたということで。 (追記) C…

Concurrent Clean + 日本語

IDEのメニューで「Default」→「Windows Settings」の下のメニューを選ぶと、フォントの選択ができるのだけれど、ここで日本語(日本語名のフォントは表示できないので空白になる)を選んでも、IDEで日本語を取り扱うことはできないようです。しかし、別のエディタでソースを開いて、日本語を入力したら、生成されたEXEの方では、きちんと日本語が表示されています。 そんなわけで、Emacsでcleanを編集しようとclean-modeを探してみたのですが、どうも公開され…

Concurrent Cleanの覚え書き

ということで、日本で2つ目のConcurrent Cleanのサポートサイトになることを目指して、「lethevertのConcurrent Clean覚え書き」を立ち上げました。

Concurrent Clean

OCamlのGUIの扱いに困っていたところ、別の関数型言語でConcurrent Cleanには、GUI開発環境がセットでついているということで興味を持って調べたところ、こちらもなかなか速いコードを吐くらしい。関数型言語でCleanが最速、Cより速いというような記述もあったのですが、ベンチマーク結果などは得られず、OCamlと同程度の速度と考えておくのが無難かなと思いました。ま、とにかく、Cleanもかなり高速だということらしいです。 ただ、気になるのが、日本語の扱いが不明だ…