File: fix.ott

package info (click to toggle)
ott 0.34%2Bds-3
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 6,440 kB
  • sloc: ml: 25,103; makefile: 1,375; awk: 736; lisp: 183; sh: 14; sed: 4
file content (31 lines) | stat: -rw-r--r-- 627 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
% TAPL also introduces a derived form
% letrec x:T1=t1 in t2  =def=  let x = fix(\x:T1.t2) in t2

grammar
t :: Tm ::=                                        {{ com terms: }}
  | fix t                         ::   :: Fix        {{ com fixed point of [[t]] }}


defns 
Jop :: '' ::= 

defn 
t --> t' :: :: red :: E_ {{ com Evaluation }} by

------------------------------------------- :: FixBeta
fix (\x:T1.t2) --> [x|->(fix (\x:T1.t2))]t2


t1-->t1'
------------------ :: Fix
fix t1 --> fix t1'

defns
Jtype :: '' ::= 

defn
G |- t : T :: :: typing :: T_ {{ com Typing }} by

G |- t1:T1->T1
-------------- :: Fix
G |- fix t1:T1