haskell-jp / questions #99 at 2021-11-09 16:33:48 +0900

GHC 9.0 の GHC API を使うと

Left :: a %1 -> Either a b

のように %1 が出てくるんですが、これ何でしたっけ?
線形型ですね
丁度Haskell Day 2021でトークがありました http://slide.kakkun61.com/linear-ephemeral-data-structure/
ありがとうございます。SDocの状態で、%1 を削る方法が分からないです。。。
そもそも、なぜ普通の Left に線形型のシグニチャが出てくるのか。。。
By default, all fields in algebraic data types are linear (even if -XLinearTypes is not turned on).
とありますね https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/linear_types.html#data-types
なるほどです。GHCi で :type Left とすると %1 が出ないので、削り方があるんだと思うんですが、まだ分かりません。