Categorical Formalization of Program Modification |
Yasutaka Higa
|
(x, x') >>= (f, f')
(x, x') :: (Delta a) in (x :: a)
(f, f') :: a -> (Delta b) in (f :: a -> b)
data Delta a | ModifyInt Int (Delta a) | Mono a |
data Delta b a = forall c. Delta a (Delta b c) | Mono a
(a, a') :: (A, C)
を作る(f, f') :: (A -> B, C -> D)
を作る必要がある…