'Extensions to the “deriving” mechanism' 勉強会 #3
イベント内容
概要
Glasgow Haskell Compiler (以下 GHC) には、様々な言語拡張機能が存在します。
この勉強会では主に "Glasgow Haskell Compiler User's Guide" (以下 "GHC User's Guide") を読んで、 derive
機能の拡張に関する理解を深めようということを目的としています。
目的
- GHC 拡張の
deriving
機能の理解
想定する参加者
- GHC の
Deriving...
という拡張の存在を知っている方 - "GHC User's Guide" の 'Extensions to the “deriving” mechanism' を読んだことがない方
想定していない参加者
- GHC における Generic Programming を理解したい方
- Template Haskell を理解したい方
進め方
今のところ、Discord (または Skype) の音声通話 (と必要ならば画面共有) で読み進めていく予定です。 しかし、人によって重視したい内容や進度が異なるため、単なる "もくもく会" に移行するかもしれません。
その他、連絡事項や相談内容があれば,Discord (または Skype) のテキストチャットや connpass のイベント案内にてお伝え致します。
第03回の内容
(注意) ここに掲載している全て (特に、参照と参考の記載事項) を読み進める訳ではありません
-
GitLab GHC Wiki: 'derive functor'
-
参考: "GHC User's Guide" (以下, GHC 8.6.5 に準拠):
-
'13.27. Template Haskell'
-
'13.27.1. Syntax':
TemplateHaskell
-
'13.27.3. Viewing Template Haskell generated code':
-ddump-to-file
,-ddump-splices
-
-
'10.13. Debugging the compiler'
- '10.13.3. Suppressing unwanted information':
-dsuppress-uniques
,-dsuppress-module-prefixes
- '10.13.3. Suppressing unwanted information':
-
-
"GHC User's Guide"
-
'13.6.4.4. Deriving Data instances':
DeriveDataTypeable
-
参考:
AutoDeriveTypeable
-
参考: GitLab GHC Wiki: 'language pragma history'
-
参考:
Cabal-2.4.1.0
:Language.Haskell.Extension.KnownExtension
-
-
-
注意事項
- 主催者は
deriving
に関する内容に精通しているわけではありません - 主催者は "Typeclassopedia" に関連する題材として、 'Extensions to the “deriving” mechanism' を読み進めるつもりです
- 読み進める形式を想定しているため、コードを書いて色々試すのは参加者各自にお願いすることになると思います。
- 全体的に勉強会自体はあっさりした内容なものになる可能性が高く、特に
DeriveGeneric
,DeriveLift
の扱いは顕著になると思われます - 毎回模範的に準備して進めるつもりはありません
- 模範的なプランがあり、それに基づいて進行するわけではありません (場当たり的になると思います)
- 進度状況や関心の度合いによって、もくもく会に移行する可能性があります
日時
- 毎週金曜日 22:00 ~ 23:30
履歴
回数 | 内容 |
---|---|
01 | '13.6. Extensions to the “deriving” mechanism' ~ '13.6.3. Stand-alone deriving declarations' (StandaloneDeriving ) |
''13.4.1. Data types with no constructors (EmptyDataDecls ) |
|
ghc-proposals#0006: "Overhaul deriving instances for empty data types" | |
02 | '13.6.4 Deriving instances of extra classes (Data, etc.)' ~ '13.6.4.3. Deriving Traversable instances' |
注意事項
※ 掲載タイミングや更新頻度によっては、情報提供元ページの内容と差異が発生しますので予めご了承ください。
※ 最新情報の確認や参加申込手続き、イベントに関するお問い合わせ等は情報提供元ページにてお願いします。