検索条件

キーワード
タグ
ツール
開催日
こだわり条件

タグ一覧

JavaScript
PHP
Java
Ruby
Python
Perl
Scala
Haskell
C言語
C言語系
Google言語
デスクトップアプリ
スマートフォンアプリ
プログラミング言語
U/UX
MySQL
RDB
NoSQL
全文検索エンジン
全文検索
Hadoop
Apache Spark
BigQuery
サーバ構成管理
開発サポートツール
テストツール
開発手法
BI
Deep Learning
自然言語処理
BaaS
PaaS
Iaas
Saas
クラウド
AI
Payment
クラウドソフトウェア
仮想化ソフトウェア
OS
サーバ監視
ネットワーク
WEBサーバ
開発ツール
テキストエディタ
CSS
HTML
WEB知識
CMS
WEBマーケティング
グラフィック
グラフィックツール
Drone
AR
マーケット知識
セキュリティ
Shell
IoT
テスト
Block chain
知識

TAPL.ts #38: Reconstructing TS 5.6 intersection

2024/05/08(水)
19:30〜21:00

主催:TAPL.ts

ざっくばらんに言うと……

「型システムのきほんのきに、「型システム入門」(TAPL)やTypeScript型推論アルゴリズム(checker.ts)をみんなで読み進めることで、入門してみませんか!?」

ということです。要するに、TAPLの輪読会です!適宜TS関連の資料やTSのchecker.tsも読みます!

この誘いに心惹かれたカタは、ぜひ以下を読み進めてください👶

※どれだけ読み飛ばして頂いてもよいのですが、「必要なもの」と「進め方」の2セクションは必読でお願いします!

※ 「コンピューターサイエンス専攻/情報系じゃなかったなあ」とかは気にしないで下さい!(私も全然違います🐤)

参考

目指すこと

下記を目標として進めていきたいと考えています🐢

  • 型そのものやその周辺の概念(e.g. 型安全、型付け)について理解を深める
  • 初歩的な型推論アルゴリズムの実装について理解を深める
  • 型システムに関する論文や実装コードの読解に、ある程度取り組めるようになる

具体的な内容

1章: TAPLの読み進め(型推論まで)

まずはTAPLを読み進めることを主軸において、TypeScriptの型推論アルゴリズムのコード(checker.ts)を適宜参照していきます。

TAPLについて、具体的には下記の章を順に読んでいければと思っています。

  • 3章: 型無し算術式 読み終わりました!
  • 5章: 型無しラムダ計算 読み終わりました!
  • 8章: 型付き算術式 読み終わりました!
  • 9章: 単純型付きラムダ計算 読み終わりました!
  • 11章: 単純な拡張 読み終わりました!
  • 22章: 型再構築 読み終わりました!

これは、TAPL序文で述べられている活用例や章間依存関係を参考にしたロードマップです。この背後には、要するに「型やその周辺概念で優先度が高いものをおさえたら、基本的な型推論アルゴリズムまで最短ルートでいってみようよ!」という設計思想があります。

この設計思想が根本にあるので、このロードマップは会の状況に応じて増えたり減ったりする可能性があります!しかし、その場合もTAPLとchecker.tsを参照するという基本コンセプトは変えないつもりです🐸

また、サクサク進むとは思っていないので、きっと半年くらいやるのだろうと思っています。

2章: 双方向型チェックの理解

Reconstructing TypeScriptを読み進めます。

  • Part0 ← 各自読んできてください
  • Part1 ← 読み終わりました!
  • Part2 ← 読み終わりました!
  • Part3 ← 読み終わりました!
  • Part4 ← 読み終わりました!
  • Part5 ← 今回はここの続きから(Subtyping intersection typesから)
  • Part6

3章: mini-typescriptの理解

(予定) https://github.com/sandersn/mini-typescript

必要なもの(必ず目を通して下さい!)

読み進め枠・参加枠共通

  • 会の進行や議論の展開が思っていた以上にゆっくりでも、のんびり気楽に参加できる精神的な余裕
    • もちろん開始時間・終了時間は守ります!!予定していた部分が終わらないから次回に持ち越し、といったことが全然ありえるよということです

読み進め枠

  • 間違いを恐れず、お互いの理解するスピードを尊重しながら、自由な議論を楽しむマインドセット

参加枠

  • 自分のコメントが読み進め枠メンバーに拾ってもらえなくても気にしない気楽さ

進め方(必ず目を通して下さい!)

すべて、現時点での構想なので状況に応じて変更をしていくと思います!!!

形式

  • 読み進め枠と視聴枠を設け、下記のように役割を定めてみます📝
    • 読み進め枠: TAPLやchecker.tsを実際に読み進める。都度、自由に議論をする。視聴枠のメンバーが投稿するコメントは取り上げてもよいし、取り上げなくてもよい
    • 視聴枠: 読み進め枠のメンバーの読み進めや議論を視聴する。視聴プラットフォーム上でコメントを書くことはできるが上述の通り、取り上げられないこともある
  • 読み進めは下記のように進めます📖
    • 読み進め枠のメンバーでTAPLの文章を1~2文ずつ、まわしながら読む。小学校の国語の授業でかわりばんこの音読をしたときのイメージ
    • 読み進め枠のメンバーは分からないことや議論したいことがあったら、その都度言って、議論を始められる
    • その他、よしなにやる

日時

  • 毎週または隔週の水曜日に、19時半から21時に開催します🎉

場所

  • リモート開催です!: URLはページ上部の「参加者への情報」枠を参照

主催者

canalun(かなるん)

github: canalun twitter: @i_am_canalun

レコード集め、コードやvimのゴルフ、パズルが好きです👶

PADAone(ぱだわん)

twitter: @pd1xx
zenn: estra

型に興味津々なフロントエンドエンジニア✨