Changes between Version 22 and Version 23 of IntermediateTypes
- Timestamp:
- 08/04/06 09:08:08 (7 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
IntermediateTypes
v22 v23 173 173 would result in a data constructor with type 174 174 {{{ 175 T1 :: forall a b. forall a1 b1. (a :=: [a1], b :=: (a1, b1)) => a1 -> b1 -> T a b175 T1 :: forall a b. forall a1 b1. (a :=: [a1], b :=: (a1, b1)) => a1 -> b1 -> T a b 176 176 }}} 177 177 This means that (unlike in the previous intermediate language) all data constructor return types have the form `T a1 ... an` where … … 223 223 In the paper we'd write 224 224 {{{ 225 axiom CoT : (forall t. T t) :=: (forall t. [t])225 axiom CoT : (forall t. T t) :=: (forall t. [t]) 226 226 }}} 227 227 and then when we used `CoT` at a particular type, `s`, we'd say 228 228 {{{ 229 CoT @ s229 CoT @ s 230 230 }}} 231 231 which encodes as `(TyConApp instCoercionTyCon [TyConApp CoT [], s])`
