n月刊ラムダノート Vol.1, No.3(2019)

n月刊ラムダノート Vol.1, No.3(2019)

通常価格 ¥1,500(税込¥1,650、送料当社負担) 特別価格

  • 紙書籍をお届けします(PDFがついてきます)
  • 通常はご注文から2~3営業日で発送します。
  • 年末年始や大型連休など、1週間から10日程度、配送のお休みをいただく場合があります。詳しくはお知らせをご覧ください。

計算機好きのための技術解説情報誌

  • エヌゲッカンラムダノート(不定期刊行)
  • 120ページ
  • A5判
  • 紙書籍は1色刷
  • 2019年11月1日 第1巻第3号/通巻3号 発行

n月刊ラムダノートは、nヶ月ごとに刊行される、計算機好きのための技術解説情報誌。コンセプトは「いろんなIT系技術書から1章ずつ選んできた解説記事の集まり」です。今号は「パターンマッチ特集号」として2本の記事をお送りします。

目次

#1 代数的データ型とパターンマッチの基礎(κeen)

一部の高水準なプログラミング言語には、条件に応じた分岐とデータの分解を簡潔に扱える便利な仕組みとして、「パターンマッチ」と呼ばれる機能が備わっている。

パターンマッチでは、データの構造があるパターンに合致するかどうかに応じて処理を切り替えたり、その際に構造の一部をパターンに従って取り出したりできる。そのため、そのプログラミング言語においてどのような構造のデータが使えるかによって、パターンマッチの有用性も変わる。そこで1本めの記事では、パターンマッチの威力が特に発揮される「代数的データ型」を備えた言語としてSML(Standard ML)を対象に、その動作原理をκeen氏に説明していただいた。記事の後半では、SMLではサポートされていないパターンの数々や、代数的データ型を持たないCommon LispやJavaといった言語におけるパターンマッチの事例についても触れる。

#2 パターンマッチ in Ruby(辻本和樹)

Rubyは、もともとパターンマッチも代数的データ型も備えていないプログラミング言語である。本稿の前半では、そのRubyにどのような仕様でパターンマッチが組み込まれたのかを、実装者である辻本氏に簡潔に要約していただいた。

さらに後半では、すでに多くのユーザを擁するRubyに新たにパターンマッチを追加するという仕事がいかにして成されたのか、その設計の舞台裏を丁寧に解きほぐしていただいた。パターンマッチという限定された文脈ではあるが、既存のプログラミング言語に対する一定規模の機能追加の記録としても貴重な記事となっている。 

執筆者紹介

κeen(#1)

Idein Inc. のエンジニア。IdeinではRustでサーバサイドの開発をしている。学生の頃に趣味でやっていたプログラミング(Lisp)が昂じてソフトウェアエンジニアになる。プログラミング言語や言語処理系が好き。共著に『実践Rust入門』(技術評論社)。Twitter: @blackenedgold

辻本 和樹(#2)

株式会社野村総合研究所在籍。いわゆるSIer業務を昼間の仕事としている一介の趣味プログラマ。Rubyの開発者(コミッタ)の一人として、Ruby 2.7で導入されるパターンマッチの設計と実装を主導。