Not your computer? Use a private browsing window to sign in. Learn more about using Guest mode
![Google Sites: Sign-in](https://cdn-ak-scissors.b.st-hatena.com/image/square/59e87f4f768363c20d6e6e94e27eeb8bb974eec4/height=288;version=1;width=512/http%3A%2F%2Fgamesfromwithin.com%2Fwp-content%2Fuploads%2F2009%2F12%2Foo_design.png)
第1回目は、DSLの基本的な概念について説明します。 DSL概要 DSL(Domain Specific Language)は、ドメイン固有言語と訳されてます。DSLは、Java、C#などの汎用言語とは違い、ある特定の種類の問題に特化したコンピュータ言語です。 今回の連載では、DSLの世界を解き明かします。そして、実際にDSLをつくることで、よりDSLの理解を深め、「用法・用量を守って使える」ようになるのが、今回のゴールです。 DSLの必要性 なぜ、DSLを学ぶ必要があるのでしょうか。 Ruby on Railsの登場以降、メタプログラミングという言葉を良く聞くようになりました。メタプログラミングというと、マクロ、コードの自動生成、テンプレートを上げることができます。 DSLは、メタプログラミングで使われます。メタプログラミングは、一般的なプログラムとはまったく違った方法をとっているので
最近再び Functional Reactive Programming (FRP) について調べているのでまとまり無くメモする。まず大まかな言葉の意味については http://en.wikipedia.org/wiki/Reactive_programming から辿るのが良いと思う。簡単に言うと、FRP とはスプレッドシートの計算モデルを拡張したライブラリや言語、プログラミング技術の事を言う。Function という言葉は付いていたり付いていなかったりするけど、Reactive Programming は副作用を制限する手法なので、どの手法も多かれ少なかれ関数的に使う。 FRP はかなり大雑把に使われる言葉なので人に説明するのが難しい。だけどよく似た粒度の言葉としてはコレクションライブラリくらいが丁度良いと思う。関数プログラミングや論理プログラミングのような大げさな言葉では無い。APL
あと、やはりネットワーク周りなどI/Oの多いプログラムの書きにくさが課題になっている印象。関数的なI/OはFRPで解決できそうな気がするんだけど調べてない。そろそろFRPをちゃんと理解したいなー。 Parsec 3活用事例: Keepalived構文チェッカ - maoeのブログ なんて書いてから早1ヶ月半、ようやくFRPが掴めてきたのでわかったことをまとめてみます。 Reactive programmingって何? FRPの前に、一般的にwikipedia:en:Reactive programmingと呼ばれるパラダイムについて触れておきます。reactive programmingとは疑似言語を使ってかなーり大雑把に説明すると、 var a = 1 var b = a + 1 a = 10 // aを書き換える print b // => 11print bの出力は2ではなく11です
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く