You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
状態をモナドで実現する方法を考えます。 リスト 例は簡単な方がいいので、データ構造として Lisp 風のリストを定義しましょう。 data List a = Nil | Cons a (List a) deriving Show リストは、こんな風に表せます。 Cons "c" (Cons "b" (Cons "a" Nil)) Lisp 風の cons も定義してみましょう。 cons :: a -> List a -> List a cons x xs = Cons x xs cons "c" $ cons "b" $ cons "a" Nil → Cons "c" (Cons "b" (Cons "a" Nil)) 状態を持つリスト さて、この Lisp 風のリストに、要素の数を覚えさせておきたいとしましょう。もちろん、数えれば分りますが、数えなくても一瞬で分るようにしたいのです。
r.js RequireJS用のmoduleをビルドする際にはr.jsを使います。 build.js この時にビルド設定の記述に使用するのがbuild.jsでこんな感じで書きます。 簡単な例だとこんなの ({ baseUrl:'./src', dir : './build', paths:{ jquery:"../lib/jquery-1.8.2", text:'../lib/plugins/text', underscore:'../lib/underscore-1.3.3' } }) 動的なbuild.js build.jsはJSONではなくてJSです。 JSなので処理を書くことが出来ます。 例えば関数その場実行を含む下記のbuild.jsは、上記のものと同じ設定を表します。 ({ baseUrl:'./src', dir : './build', paths:(function ()
オープンソースソリューションを扱う技術系企業 タイムインターメディア(以下TIM)が、「HOPプロジェクト」を開始した。HOPとは、Higher-Order Programming=高階プログラミングを略した言葉。HOPプロジェクトは、TIMの高階プログラミングにおける技術力を背景に、技術コンサルなどを行っていくプロジェクトだ。 そもそも高階プログラミングとは何なのか? まず、具体的に使用するツールは、関数型言語と呼ばれる「Haskell」や、「Gauche」、そしてGaucheを使って作られたアプリケーションサーバフレームワークの「Kahua」となる。HOPプロジェクトの推進役であるTIM 山下伸夫氏に、高階プログラミングとは何か? を聞いた。 山下伸夫氏(以下山下氏) Webサービスも何でもそうですが、スクラッチから組むことはありません。フレームワークを使うわけですが、そのフレームワー
しょぼい組み込みHW屋の私が現実逃避のため関数型言語の勉強を始めました.それはそうと,VdGG観てきました.peter hammillが神すぎて困りました.次も観るぞ! Haskellのlist comprehensionっぽい何かをCommonLisp(xyzzy上)で実現してみました.hugsで深追いしていった結果,なんとなーくその裏の実装の見当がついたので,まぁモノはためしにやってみようかと. まず,こんなのを, [x | x <- [1,2,3,4,5], x < 3] CommonLispで実装すると,こんな感じ. (let ((x '(1 2 3 4 5))) (mapcar #'(lambda (x) x) (remove-if-not #'(lambda (x) (< x 3)) x))) Haskellのgeneratorはまずletに置き換えました.letはこの場合別に
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く