タグ 純粋関数型言語
人気順 10 users 50 users 100 users 500 users 1000 users宣言的という言葉について - m2ymの雑記帳
プログラマ同士の会話でつい「宣言的」という言葉を使ってしまう。定義が曖昧なのにも関わらず、だ。試みにこの言葉の定義を考察してみようと思う。1 まず、日本語版Wikipediaの定義を確認する。 第1の定義によれば、ある出力を得るにあたってそれを作成する方法ではなく、出力の性質を記述することを「宣言型」と称する。[snip]別の定義では、純粋関数型言語/論理プログラミング言語/制約プログラミング言語... 続きを読む
猫型プログラミング言語史観(1) 〜あるいはオブジェクト指向における設計指針のひとつ〜 - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く
2014-01-17 猫型プログラミング言語史観(1) 〜あるいはオブジェクト指向における設計指針のひとつ〜 programming はじめに プログラミング言語にはいろいろなパラダイムがあるが、その中で手続き型プログラミング、オブジェクト指向、純粋関数型言語について、わたしなりのひとつの史観を示すのがこの稿の目的である。となんかかっこつけて言ってみたんだけど、要するに、それぞれのパラダイムがどん... 続きを読む
モナドの力でループからbreak - 厨二病患者のプログラミング入門
Haskellモナドを使えば、純粋関数型言語のHaskellでもgotoやbreakができるようになります。(何に使うのかは知りませんが) モナドでbreakを実現するために、まずはループの状態を持つ型を定義しましょう。 data Break a = Break Label | Continue Label | Run a Breakはループからの脱出、Runは処理の継続、Continueはループ... 続きを読む
Haskell でのデバッグ - あどけない話
「純粋関数型言語はデバッグしにくい。だって純粋な関数で printf デバッグできないから」とつぶやいている人をよく見かけます。これまで放置してきましたが、リツイートが50を超えたので、Haskellでのデバッグについて書きます。例外処理と同じように、Haskell でのデバッグでは、純粋な関数と IO を分けて考える必要あります。 IO での printf デバッグIO では、putStrLn ... 続きを読む
モナドという言葉を使うことなく、純粋関数型言語の入出力を解説する。Rubyで。 - <s>gnarl,</s>技術メモ”’<marquee><textarea>¥
これはRuby Advent Calendarの21日目の記事です*1。20日目は@sasata299さんのHerokuって便利だし利用までたった3ステップですお!!でした。 はじめに本当は「Pure Rubyで動くかっこいい形態素解析エンジンができた!!!」みたいな記事を書く予定でしたが、目標のクオリティに達しなかったのでリリースは延期されました。クリスマスごろにリリースされるといいですね。さて... 続きを読む
なぜリアクティブプログラミングは重要か。 - Conceptual Contexture
リアクティブプログラミングは、「時間とともに変化する値」=「振る舞い」同士の関係性を記述することでプログラミングを行うパラダイムです。GUIなどのようにインタラクティブなシステムや、シミュレーションやアニメーションのようにダイナミックに状態が変化するようなシステムを宣言的に記述することができます。これらの「変化する状態」や「外部とのやりとり」が支配的なシステムは、純粋関数型言語が、その強みを発揮し... 続きを読む