安全でない強制で効率的なAgdaコード-ftrustとして、im-agda)
-
27-09-2019 - |
質問
のAgdaメーリングリストConor滋た:
必要があります。手 事業などの新規
trustFromJust :: Maybe x -> x
かを実際に確認し、間違った(Milnerの 感ればfrbは何?
Agdaとこそ==Just1、中間コンストラクタは、和のタイプが解除されたものとします。
んなアプローチを用いunsafeCoerce#またはunpackClosure#では誰もい思いの?
import GHC.Prim
trustFromJust :: Maybe x -> x
trustFromJust x = y
where Just1 y = unsafeCoerce# x
data Just1 a = Just1 a
このsegfaults(単一のコンストラクタでも、閉架線)です。コアの見okなもの:
main2 =
case (Data.Maybe.Just @ Type.Integer main3)
`cast`
(CoUnsafe
(Data.Maybe.Maybe Type.Integer)
(Just1 Type.Integer)
:: Data.Maybe.Maybe Type.Integer
~
Just1 Type.Integer)
of _ { Just1 y_aeb ->
$wshowsPrec 0 y_aeb ([] @ Char)
解決
この研究の質問をたどってほかの方法がれる:
- 遊技を逆にタグビットのう
所属していません StackOverflow