関数型言語テイスティング: Haskell, Scala, Clojure, Elixirを比べて味わう関数型プログラミングの旨さ by lagénorhynque/カマイルカ

関数型まつり2025
スタッフセッション50分

関数型言語テイスティング: Haskell, Scala, Clojure, Elixirを比べて味わう関数型プログラミングの旨さ

lagenorhynque lagénorhynque/カマイルカ lagenorhynque

対象とする聴衆のレベル(該当するレベルを記載してください。)

  • Beginner: 分野の前提知識を必要としない
  • Intermediate: 分野の基礎知識を持っている

セッションのテーマ(該当するテーマを記載してください。なければ追加頂いて良いです)

  • 理論
  • 入門

セッションの概要

「関数型プログラミング」や「関数型言語」の定義に普遍の共通認識は存在しませんが、複数の(いわゆる)関数型言語にしばらく触れてみると、共通して重視されている概念や考え方、設計パターン、機能と思われるものも見えてきます。
Haskell, Scala, Clojure, Elixirという性質の異なる4つの関数型言語での特徴的なプログラミングスタイルを吟味(= テイスティング)してみることを通して、関数型プログラミングの中核にありそうなもの、周辺にありそうなもの、(直接的には)無関係そうなものについて一緒に考えてみましょう🍷

取り上げる(かもしれない)キーワード: 関数とその組み合わせ方いろいろ, 変換 vs 命令, 式指向 vs 文指向(cf. コードの形), よくある設計パターン/言語機能, 参照透過性, 不変性と永続性, 合成可能性, データ指向 vs オブジェクト指向, 再利用性と抽象度(cf. 命名), メタプログラミングと言語処理系, 関数型プログラマのメンタルモデル