diff cbc/subtype.agda @ 71:614997a2e21c

Define goto
author atton <atton@cr.ie.u-ryukyu.ac.jp>
date Wed, 01 Feb 2017 05:05:27 +0000
parents bd428bd6b394
children f1ab418bc37f
line wrap: on
line diff
--- a/cbc/subtype.agda	Sun Jan 15 04:30:40 2017 +0000
+++ b/cbc/subtype.agda	Wed Feb 01 05:05:27 2017 +0000
@@ -13,6 +13,9 @@
 data CodeSegment {l1 l2 : Level} (A : Set l1) (B : Set l2) : Set (l ⊔ l1 ⊔ l2) where
   cs : {{_ : DataSegment A}} {{_ : DataSegment B}} -> (A -> B) -> CodeSegment A B
 
+goto : {l1 l2 : Level} {I : Set l1} {O : Set l2} {{_ : DataSegment I}} {{_ : DataSegment O}}
+     -> CodeSegment I O -> I -> O
+goto (cs b) i = b i
 
 exec : {l1 l2 : Level} {I : Set l1} {O : Set l2} {{_ : DataSegment I}} {{_ : DataSegment O}}
      -> CodeSegment I O -> Context -> Context