最初に学んだプログラミング言語を覚えています。2年生のとき必須であった情報クラスの授業でBASIC言語を学習していました。暗い蛍光灯の下、前かがみに机の前に座りながら、空気のこもった教室の壁際に並べられ、音を立てているI […]

私は時折、コーディングに対する考え方を変えさせられるような、従来と非常に異なるプログラミング言語に出会います。本記事では、その中でも特に気に入っている発見をいくつかご紹介したいと思います。 これは、先賢による「関数型プロ […]

私は大ざっぱに言って、統計学のコミュニティはコンピュータサイエンスの概念にもっと触れた方が恩恵を得られると考えています。その考えを基に、本記事では、統計計算システムの振る舞いに関する規範論の展開に型安全性の概念を用いる可 […]

James FisherはGHCのランタイムシステムが彼らのHaskellのプログラム上でレイテンシに悪影響を及ぼしたケースを、ブログに投稿しています。 低レイテンシ、大きなワーキングセット、そしてGHCのガベージコレク […]

(2016/12/11、いただいたフィードバックをもとに翻訳を修正いたしました。) JavaScriptにおいて”純粋関数”とはどういう意味でしょうか? 一般的なプログラムの用語では、純粋性という […]

本稿では、関数型プログラミングのコンセプトを実用的な方法でRubyのコードに盛り込む方法について紹介します。これは、私が「関数型プログラミングのスタイル」と呼んでいるものです。 私が言う「実用的」とは、関数型プログラミン […]

この記事の前編はこちら:JavaScriptユーザのための関数型プログラミング(前編) 遅延評価 遅延評価は、サンクやジェネレータなどのもっと具体的な概念をカバーする一般的な用語の一種です。遅延評価は、その言葉が表すとお […]

私が関数型プログラミングについて度々耳にするようになったのは、数カ月前からです。でも当時は、それが何なのか見当もつかず、単なるバズワードだと思っていました。皆さんの中にも、そのような方は多いでしょう。それ以来、私は関数型 […]

(注:2016/1/21、頂いたフィードバックをもとに記事を修正いたしました。) 『Programming in Scala (Scalaでプログラミング)』の初版を読み始めた(でも読み終えていない)5年前からJavaの […]

恒等モナド Maybeモナド リストモナド 継続モナド Do記法 連鎖呼び出し モナドとは、一連のステップによって実行する計算を記述する際に使用する、1つのデザインパターンです。純粋関数型プログラミング言語 では、モナド […]

(注記:11/30、いただいた翻訳フィードバックを元に記事を修正いたしました。) 最近、Haskellでも生産性の高い作業ができるほどに、この言語を使いこなせるようになりました。定期的にPythonを使いもしますが、今で […]

多くの関数型プログラミングに関する記事が教えてくれるのは、抽象的な関数型のテクニックです。つまり関数合成やパイプライン、高階関数などです。この記事では違います。ここでは、プログラマが毎日書く、命令型で非関数型のコードの例 […]