以下の内容はhttps://ozaki25.hatenadiary.jp/entry/2025/06/15/210305より取得しました。


「関数型まつり(2日目)」に参加してきました

Julia という言語について

後藤 俊介さん
https://speakerdeck.com/antimon2/julia-toiuyan-yu-nituite-fp-in-julia-side-f-for-guan-shu-xing-maturi2025

  • Julia
    • 科学技術計算に強い
    • 動的言語なのに動作が速い
  • 多重ディスパッチ
    • 同じ関数名で引数違いを定義できる
    • 配列に対してオーバーロードされてる関数を呼ぶと自動で振り分けてくれる
      • 引数の型違いでもいいし個数違いでも使える
  • 文と式
    • Juliaは全て式
      • ifもtryも
    • 関数は第一級オブジェクト
  • 型システム
    • クラスはない
    • 継承もない
    • 型はimmutable
      • フィールドへの再代入はできない
      • mutable structで宣言すると再代入できる
    • Any/Union

より安全で単純な関数定義

がくぞさん
https://gakuzzzz.github.io/slides/cardinality_of_types/

  • Listの中からmaxを返す関数
    • Listが空の場合をどこで制御するか
    • 戻り値をOptionalにする?
    • 引数をEmptyを受け付けないようにする?
  • 型のCardinality
    • その型がどんな種類の値を取ることができるか
    • Booleanはtrue/falseなので2
    • Byteは-128〜128なので256
    • Option[A]はAの数+1
      • Option[Bookean]は3
      • Option[Byte]は257
    • Either[A,B]はAの数+Bの数
    • NonEmptyList[A]はList[A]-1
  • 元のお題に当てはめると
    • 戻り値をOptionalにする
      • 引数がList[A]なのでA
      • 戻り値がA+1
    • 引数をEmptyを受け付けないようにする
      • 引数がA-1
      • 戻り値がA
    • 後者の方がCardinarityが小さくなる
      • 引数で制約を制約を表現した方が関数の複雑性を減らせる
        • 例えばテストの複雑さも減る
      • 特に強い理由がなければ引数での制約から考えた方が良い
    • 戻り値で制約する関数は引数で制約する関数をラップすることで簡単に作れる

数理論理学からの『型システム入門』入門?

ほとけ/Motoki Shakagoriさん
https://slides.buddha0818.workers.dev/fp-matsuri2025

  • 論理学
    • 推論
      • いくつかの前提から1つの結論を導くこと
    • 意味論
      • 前提が全て真である時に結論も真
    • 証明論
      • 前提にいくつかの規則を有限回適用して結論を導く
      • 前提が真か偽かは考えない
      • PとQが証明済みと与えられたらそのままPかつQも証明可能という発想
      • 有限な記号に対して機械的に規則を適用していくだけ
        • 部分的な証明に分解されていつか止まる
    • 健全性
      • 証明可能なら妥当
    • 完全性
      • 妥当なら証明可能
  • 型システム
    • 型安全性
      • プログラムが型付け可能なら望ましくない振る舞いが起こらない
    • 証明可能なら妥当という状態

Gleamという選択肢

こまもかさん
https://speakerdeck.com/comamoca/gleamtoiuxuan-ze-zhi-jia

  • Gleam
  • 構文
    • ifやforがない
    • ブロック構文
    • パイプライン演算子
    • パターンマッチ

Scala の関数型ライブラリを活用した型安全な業務アプリケーション開発

Tomoki Mizogamiさん
https://criceta.com/fp-matsuri-2025/1

AWS と定理証明 〜ポリシー言語 Cedar 開発の舞台裏〜

チェシャ猫さん
https://speakerdeck.com/ytaka23/fp-matsuri-2025




以上の内容はhttps://ozaki25.hatenadiary.jp/entry/2025/06/15/210305より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14