サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは本日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。
Memoi[sz]e、Memoi[sz]ation、メモ化の話題 メモ化ってなぁに?関数のメモ化memoise は特殊な ($) かも?Memo モジュール実装を共有する魔法 メモ化ってなぁに? フィボナッチ関数を考えてみよう、定義は fib 0 = 0 fib 1 = 1 fib n = fib (n-1) + fib (n-2) これを使って、fib 7 を計算すると fib 7 -- fib 6 -- fib 5 -- fib 4 -- fib 3 -- fib 2 -- fib 1 -- 1 | | | | | | | | | | | fib 0 -- 0 | | | | | | | | | fib 1 -- 1 | | | | | | | fib 2 -- fib 1 -- 1 | | | | | | | fib 0 -- 0 | | | | | fib 3
ていうのをだいぶ前に作ったんだけど、コードがごちゃごちゃで何やってるか自分でもよくわかってなかったのでちょっと整理して公開。フィボナッチ数列を求めるのに大変便利です。 http://la.ma.la/misc/js/haskell/ 関数の定義を記述すると、再帰処理でごにょごにょやって求めてくれる関数を生成します。メモ化もします。色々いじってたらなんとなく出来た。あんまり細かいツッコミされても困る。 実際のところJavaScriptは再帰処理をたくさんさせるとすぐにスタックオーバーフローで止まってしまうので使い物になりません。数を大きくすると即死したりするので注意が必要です。タイマーを使って再帰処理させるとかトリッキーなことをすれば回避することもできるのだけれど面倒くさい。 遅延評価っぽくなっていて、 // 代入はできる test = ack(100,100); // アッカーマン関数(1
02:12 05/09/03 反応リンク集 fixの話 … Perl版、 Perl版、 C++版、 C++版、 Scheme版、 Concurrent Clean版。 (9/4追記: Ruby版、 Erlang版、 Squeak版、 D版。 Sukuna版。 Erlangのprocessを使ったメモ化の例は見てみたいかも。)。 で、 メモ化の話 … Python版、 Python版 (9/4追記: ET版、 Erlang版、 Java版、 PostScript版。 )。 decoratorは流石かっこいいですね。C++版は…うーん、個人的には、このくらいなら Boost に頼らないで直球ストレートで書いてあげたいところです。 彼はやればできる子なんです。 template<int (*G)(int(*)(int),int)> int fix(int x) { return G( fix<G
Haskell Tutorial for C Programmers - Introduction Written by Eric Etheridge last updated January 3, 2007 Table of Contents Each major section has its own page. Introduction Abstract Downloads Purpose and Other Online References Relationship to Our Other Tutorials Preface and Style Notes Section I: What the Heck is Going On? Part I: Haskell's Oddity Part II: Input and Output Part III: Very Bas
2025 July GHC LTS Releases announced May GHC 9.10.2 is released March GHC 9.6.7 is released GHC 9.12.2 is released January Darcs 2.18.5 is released 2024 December Stackage: LTS 23 release for ghc-9.8 and Nightly now on ghc-9.10 November GHC 9.12.1 is released October Darcs 2.18.4 is released (changelog) GHC 9.8.3 is released July GHC 9.6.6 is released May GHC 9.10.1 is released February GHC 9.8.2 i
TL;DR 簡潔で直感的に扱える、宣言的なRust向けのコマンドライン引数パーザーを作りました。 https://crates.io/crates/argopt モチベーション Rustにstructoptというライブラリがあります。これはコマンドライン引数をパーズするライブラリなんですが、僕はこのライブラリが大好きなんです。Rustのライブラリの中で一二を争うほど好きです。なんならコマンドラインツールをRustを書く理由の大部分がこのライブラリの存在といっても過言ではないかもしれません(過言ですけど)。 しかしstructoptも使い続けていると、どうにももっと便利にできるんじゃないのかと思う部分が出てきます。structoptでは名前の通りコマンドライン引数をstructで定義して、それに#[derive(StructOpt)] とStructOptをderiveすることでパーザーのコ
本文書は次に掲げる URL で示される文書の部分的な邦訳です。 http://www.cs.uu.nl/people/daan/download/parsec/parsec.html Parsec, 高速なコンビネータパーサ Daan Leijen University of Utrecht Dept. of Computer Science PO.Box 80.089, 3508 TB Utrecht The Netherlands daan@cs.uu.nl, http://www.cs.uu.nl/~daan Parsec, 高速なコンビネータパーサ Daan Leijen University of Utrecht Dept. of Computer Science PO.Box 80.089, 3508 TB Utrecht The Netherlands daan@
紫藤のページにようこそ! Lisp, Haskell, Python, Sather などの関数型言語の解説、小品プログラムを載せています。 ここでは関数型プログラミング言語をものすごく広い意味で使っており、 手続きをデータとして扱える言語を指します。 (Python, Sather などは普通はオブジェクト指向言語に分類されます。) また、xyzzy のマクロに関するメモもあります。 面白そうな割りに、web 上に文書が少ない題材を取り上げています。 リンクはご自由にお張りください。 更新ログ [Sep 15, 2014](Python) Set を用いたライフゲームの実装 を作成 [Jul 21, 2014]デコレータを用いた bottle.py のアクセスコントロール を作成 [Jul 13, 2014]Maildir のバックアップ を作成 [Jun 28, 2014]自宅サーバの
Syntax extension for Monads in Ocaml Jacques Carette, Lydia E. van Dijk and Oleg Kiselyov Summary This Camlp4 extension provides some syntactic sugar to beautify monadic expressions. Example: A simple but realistic example of the use of a list monad looks like this bind [1; 2; 3] (fun a -> bind [3; 4; 5] (fun b -> return (a + b))) where we assume the appropriate definitions of the functions "bind"
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く