今日は『型、ついてますか? - 型の本質を振り返る -』の日です

型の本質を振り返 りに来てますので、メモをとります。

ゴリ押し抜きのマイクロソフトテクノロジー紹介 / mihochannel さん

  • Windows Windows と言わなくなってきた
  • OSSを重視
  • azureでデプロイするためのライセンス
  • 開発者特典 : MSアカウントがあれば $25 / 月 がついてくる
  • 使うのであれば売りに行きます!
  • .NET core も出たよ

型、ついてますか? / 高野さん

メモは残しますが、内容に賛同するわけではありませんので悪しからず。

  • 3時間で15人、1日で30人埋まってしまったので、拡充して100人
  • 元ネタ「ライト、ついてますか」という本
    • 問題解決の手引書らしい
  • 型がどういう性質を持つのかを知る、のが型を議論するより先
  • 高校からプログラミング、専攻はネットワーク、セキュリティ、言語処理、Smalltalk VM(バイト)
    • 「できないことをやる」 日立、グリー、SORABITO
  • 特定の言語ではなく、型、について
  • 型が付いている == 静的型付けのこと
    • 事前に変数の型を精査
    • コンパイル、実行前のバグ発見
  • 動的型付け
    • 事前に変数の型を精査しない
    • 評価によって型がわかる。実行時の型付け
  • 静的型付け : コンパイルでは実行はしてない
    • 実行ができるのは動的型付けだけ
  • (原始は略)古代静的型付け : C言語。型が不明だとデータの扱い方がわからない
  • 古代動的型付け : BASIC、シェルスクリプト
    • システム記述の言語からユーザへの移行期
    • システムコール呼べるシェルがある
    • シェルを書く、という言葉に違和感(「IP」と呼ぶ違和感と一緒)
  • 近代動的型付け : Perl
    • sh + sed + awk + grep
    • pearlは被った、shell(貝)との関連
    • PCRE はperlのいい成果
  • 近代静的型付け : C++
    • オブジェクト指向
  • PHP、Pythonも同じ時期
  • 現代動的型付け Ruby、JavaScript
    • 簡単にオブジェクト指向
  • 現代静的型付け
    • Java, Haskell, AltJS
    • 強い形づけ。システム記述からの離脱。VM
  • 原始動的型付け ニーモニック
    • a[2] == 2[a] ポインタ
  • 原子静的型付け : 型ありラムダ計算
  • 古代はユーザフレンドリー、近代は新しいパラダイムの上乗せ、現代はその先
  • 動的型付けと静的型付けは交互に成長
    • どちらも抽象化が進んでいく
  • 静的な型付けと見せかけて動的な型付けとかやばい
    • ミスマッチが起きると新しいもの
  • ドメイン : 今はWEB
    • ポートは「アプリケーション番号」と呼ばれてた
  • パラダイム
    • ドメインに対して有効なパラダイム
  • 抽象化
    • オブジェクト指向より進んだ抽象化
    • 動作するUML
  • リソース
    • GC、OOPは昔はきつい処理と見なされてた
  • 副作用を考慮したshellが欲しい
    • lsは副作用がない。mkdirは副作用がある
  • 作ると、エンジニアライフを豊かにする
  • LLoTにて、型のセッションがあるので、そちらをお楽しみに

Linear Types / niryuu さん

  • LTとかけてた(気が付かなかった)
  • Linear Types : 一度しか値を得ることのできないようなもの
  • 型が厳密な理由 → 規則が厳密なので
  • λ計算 : 計算とは何か。論理学 : 論理とは何か
    • Curry-Howard対応
    • 論理の手法を型へ → LinearTypes
  • 直観主義と単純型付きλ計算
    • 時間、リソースの概念が抜けている
  • 自然演繹がよく使われるが、シークエント計算に注目
  • シークエント計算のWeakningとContractionが重要
    • contractionはweakningはいつも成り立つのか?
    • リソースを考えると
  • Linear Logicの特徴
    • 古典論理 : 正しい物を正しい物で書き換え。美しい
    • 直観論理 : 証明する手続きが必要 (計算と相性がよい)
    • 線形論理 : 古典と直感を合わせたもの。論理式を消費。新しい性質
  • Linar Types
    • !はなんどでも使えることを表す
    • Clean、Rustなどで孫(の孫)みたいなものが使われている
    • Wadlerが並行性や分散性に利用
    • Scalaの作者など