Mercurial > cpdt > repo
changeset 223:2a34c4dc6a10
Port Interps
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Mon, 16 Nov 2009 12:18:55 -0500 |
parents | 13620dfd5f97 |
children | 4b73ea13574d |
files | src/Impure.v src/Intensional.v src/Interps.v |
diffstat | 3 files changed, 13 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/src/Impure.v Mon Nov 16 12:08:18 2009 -0500 +++ b/src/Impure.v Mon Nov 16 12:18:55 2009 -0500 @@ -1,4 +1,4 @@ -(* Copyright (c) 2008, Adam Chlipala +(* Copyright (c) 2008-2009, Adam Chlipala * * This work is licensed under a * Creative Commons Attribution-Noncommercial-No Derivative Works 3.0
--- a/src/Intensional.v Mon Nov 16 12:08:18 2009 -0500 +++ b/src/Intensional.v Mon Nov 16 12:18:55 2009 -0500 @@ -1,4 +1,4 @@ -(* Copyright (c) 2008, Adam Chlipala +(* Copyright (c) 2008-2009, Adam Chlipala * * This work is licensed under a * Creative Commons Attribution-Noncommercial-No Derivative Works 3.0
--- a/src/Interps.v Mon Nov 16 12:08:18 2009 -0500 +++ b/src/Interps.v Mon Nov 16 12:18:55 2009 -0500 @@ -1,4 +1,4 @@ -(* Copyright (c) 2008, Adam Chlipala +(* Copyright (c) 2008-2009, Adam Chlipala * * This work is licensed under a * Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 @@ -85,8 +85,8 @@ | t1 --> t2 => typeDenote t1 -> typeDenote t2 end. - Fixpoint expDenote t (e : exp typeDenote t) {struct e} : typeDenote t := - match e in (exp _ t) return (typeDenote t) with + Fixpoint expDenote t (e : exp typeDenote t) : typeDenote t := + match e with | Var _ v => v | Const n => n @@ -113,8 +113,8 @@ Section cfold. Variable var : type -> Type. - Fixpoint cfold t (e : exp var t) {struct e} : exp var t := - match e in exp _ t return exp _ t with + Fixpoint cfold t (e : exp var t) : exp var t := + match e with | Var _ v => #v | Const n => ^n @@ -260,8 +260,8 @@ | t1 ++ t2 => typeDenote t1 + typeDenote t2 end%type. - Fixpoint expDenote t (e : exp typeDenote t) {struct e} : typeDenote t := - match e in (exp _ t) return (typeDenote t) with + Fixpoint expDenote t (e : exp typeDenote t) : typeDenote t := + match e with | Var _ v => v | Const n => n @@ -312,14 +312,15 @@ | _ => tt end. - Definition pairOut t1 t2 (e : exp var (t1 ** t2)) : option (exp var t1 * exp var t2) := + Definition pairOut t1 t2 (e : exp var (t1 ** t2)) + : option (exp var t1 * exp var t2) := match e in exp _ t return pairOutType t with | Pair _ _ e1 e2 => Some (e1, e2) | _ => pairOutDefault _ end. - Fixpoint cfold t (e : exp var t) {struct e} : exp var t := - match e in exp _ t return exp _ t with + Fixpoint cfold t (e : exp var t) : exp var t := + match e with | Var _ v => #v | Const n => ^n