関数型まつり 2nd DAY

関数型まつり2日目。二日目も朝から夕方まで関数型プログラミングの洗礼を浴び続けました。

セッションの合間合間に休憩室でハンドドリップの美味しいアイスコーヒーをいただき眠気を振り払っていました。
SML# オープンコンパイラプロジェクト by 大堀 淳 さん
関数型まつり 二日目、朝一のセッションは「SML# オープンコンパイラプロジェクト」 寝ぼけた頭に入ってくるだろうか? 😅 #fp_matsuri_a
— YOSHIDA Takehiko (@chihayafuru) June 15, 2025
東京大学 哲学科を卒業した 大堀 淳 先生が最初に開発したプロトタイプインタープリタの名前が "Machiavelli" 。雰囲気が漂っています。😄 #fp_matsuri_a
— YOSHIDA Takehiko (@chihayafuru) June 15, 2025
「エスタブリッシュメントからの理不尽な拒否・否定・無視を伴うことがありうる」 by 大掘 淳 先生 #fp_matsuri_a
— YOSHIDA Takehiko (@chihayafuru) June 15, 2025
津崎平匡さんと同じデータベース・スペシャリストの資格を持っています。しかし、ガッキーとは結婚できませんでした。けれども、この瞬間 SQL を勉強していて良かったと思える瞬間が訪れました! 😃 #fp_matsuri_a
— YOSHIDA Takehiko (@chihayafuru) June 15, 2025
SQL文を単純な文字列として合成すれば、実社会では深刻な脆弱性を生むのは納得ですね。納得というか実際に実社会で起こっている事件ですね。 SML# によるSQL合成は学術的なだけでなく、実社会で必須とすべきレベルの技術ですね。 #fp_matsuri_a
— YOSHIDA Takehiko (@chihayafuru) June 15, 2025
大堀先生による発表および質疑応答は超メロい内容でした。そしてセッション終了後も壇上に質問者が集まって質疑が続いていました。😃 #fp_matsuri_a
— YOSHIDA Takehiko (@chihayafuru) June 15, 2025
Haskell でアルゴリズムを抽象化する 〜 関数型言語で競技プログラミング by Naoya Ito さん
次は伊藤直也さんによる「Haskellでアルゴリズムを抽象化する」 大堀先生のあとではシニア・ポジションをちょっと出しにくいですね。シニアかレジェンドだとは思いますが… 😅 #fp_matsuri_a
— YOSHIDA Takehiko (@chihayafuru) June 15, 2025
動的計画法(ナップザック問題)を『可変な配列を同的に書き換えながら解く』は次元が3次元、4次元と増えるとイメージを浮かべるのが難しいですよね。可変な配列でいいじゃん!に対する優位性ですね。 #fp_matsuri_a
— YOSHIDA Takehiko (@chihayafuru) June 15, 2025
Haskell を使うのであれば "map" と "reduce" で問題を解け! #fp_matsuri_a
— YOSHIDA Takehiko (@chihayafuru) June 15, 2025
命令型でアルゴリズムで考えるときは「一時的状態」をいかにして「最終状態」に持っていくかを考えてしまう。プロセスや経過に重点を置いてしてしまう。というメンタルモデルになる。 #fp_matsuri_a
— YOSHIDA Takehiko (@chihayafuru) June 15, 2025
より安全で単純な関数定義 by がくぞ さん
「引数で制約を表現するべきか」or「戻り値で制約を表現するべきか」 => (答え) 型のCardinalityで説明すると前者の方が関数の複雑さを回避できると言える。ユニットテストのケースも少なくなる。 #fp_matsuri_a
— YOSHIDA Takehiko (@chihayafuru) June 15, 2025
TypeScript の Number型 は範囲が非常に広くて困っています。 => (答え) Number型のまま扱うことは避ける。 "Price" といったドメインに合わせた型を作って制約をかけるようにしている。 #fp_matsuri_a
— YOSHIDA Takehiko (@chihayafuru) June 15, 2025
Scalaだったらこう書けるのに~Scalaが恋しくて~(TypeScript編、Python編) by 竹下義晃 さん
『Scalaだったらこうかけるのに』 Scala には何の思い入れもありませんが、なんとなく聴講セッションを選びました。 😅 #fp_matsuri_b
— YOSHIDA Takehiko (@chihayafuru) June 15, 2025
ラムダ計算って何だっけ?関数型の神髄に迫る by 川頭信之 さん
論理和や論理積といったプリミティブな演算もλ式に置き換えることができるのですね。置き換えたいとは思わないですが、「できる」ということが、さらに複雑な演算に適用するときの土台になるのですね。 #fp_matsuri_c
— YOSHIDA Takehiko (@chihayafuru) June 15, 2025

帰路の新幹線でお弁当を広げました。

デパ地下で購入した木村屋の桜あんぱん。