Avatar
omochimetaru 2/13/2020 6:46 AM
うん
6:48 AM
今までの型推論って制約式をかき集めてエイヤで全部の関係を解いてたのに対して
6:49 AM
A <one-way bind> B は、Bが確定してからA := Bに変わるっていう壁として働くので
6:50 AM
この文を解いたら次はこの文を解く みたいな前後関係が扱えるように成った
6:50 AM
もともとSwiftは文ごとに推論してたから問題なかったんだけど
6:51 AM
FunctionBuilderは複数の文の結果をbuildExpressionの引数として並べるから
6:51 AM
通常のコードと違って複数の文をいっぺんに推論する必要がある
6:52 AM
ので、「FBの複数の文を同時に推論する」必要と、 従来の「1文ずつ推論を進める」機構を、両立させる必要があって
6:53 AM
推論機の内部で制約としてその「1区切りずつ進める」方法論を実現するのがone-way