The Idris Tutorial Version 0.9.18us look at each constructor in turn. We use a nameless representation for variables — they are de Bruijn indexed. Variables are represented by a proof of their membership in the context, HasType i G T, Var : HasType i G t -> Expr G t So, in an expression \x,\y. x y, the variable x would have a de Bruijn index of 1, represented as Pop Stop, and y 0, represented as Stop. We find these by counting the language, any variable is translated to the Var constructor, using Pop and Stop to construct the de Bruijn index (i.e., to count how many bindings since the variable itself was bound); and any lambda is translated0 码力 | 69 页 | 316.20 KB | 1 年前3
The Idris Tutorial Version 0.11us look at each constructor in turn. We use a nameless representation for variables — they are de Bruijn indexed. Variables are represented by a proof of their membership in the context, HasType i G T, Var : HasType i G t -> Expr G t So, in an expression \x,\y. x y, the variable x would have a de Bruijn index of 1, represented as Pop Stop, and y 0, represented as Stop. We find these by counting the language, any variable is translated to the Var constructor, using Pop and Stop to construct the de Bruijn index (i.e., to count how many bindings since the variable itself was bound); and any lambda is translated0 码力 | 71 页 | 314.20 KB | 1 年前3
The Idris Tutorial Version 0.9.20.1us look at each constructor in turn. We use a nameless representation for variables — they are de Bruijn indexed. Variables are represented by a proof of their membership in the context, HasType i G T, Var : HasType i G t -> Expr G t So, in an expression \x,\y. x y, the variable x would have a de Bruijn index of 1, represented as Pop Stop, and y 0, represented as Stop. We find these by counting the language, any variable is translated to the Var constructor, using Pop and Stop to construct the de Bruijn index (i.e., to count how many bindings since the variable itself was bound); and any lambda is translated0 码力 | 71 页 | 316.18 KB | 1 年前3
The Idris Tutorial Version 0.99{ctxt : Vect n Ty} -> (body : Term (t1::ctxt) t2) -> Term ctxt (ARR t1 t2) ||| Variables ||| @ i de Bruijn index Var : {ctxt : Vect n Ty} -> (i : Elem ctxt t) -> Term ctxt t ||| A computation that may someday0 码力 | 182 页 | 1.04 MB | 1 年前3
Idris 语言文档 Version 1.3.1{ctxt : Vect n Ty} -> (body : Term (t1::ctxt) t2) -> Term ctxt (ARR t1 t2) ||| Variables ||| @ i de Bruijn index Var : {ctxt : Vect n Ty} -> (i : Elem ctxt t) -> Term ctxt t ||| A computation that may someday0 码力 | 224 页 | 2.06 MB | 1 年前3
The Idris Tutorial Version 1.0.1{ctxt : Vect n Ty} -> (body : Term (t1::ctxt) t2) -> Term ctxt (ARR t1 t2) ||| Variables ||| @ i de Bruijn index Var : {ctxt : Vect n Ty} -> (i : Elem ctxt t) -> Term ctxt t ||| A computation that may someday0 码力 | 223 页 | 1.21 MB | 1 年前3
The Idris Tutorial Version 1.1.0{ctxt : Vect n Ty} -> (body : Term (t1::ctxt) t2) -> Term ctxt (ARR t1 t2) ||| Variables ||| @ i de Bruijn index Var : {ctxt : Vect n Ty} -> (i : Elem ctxt t) -> Term ctxt t ||| A computation that may someday0 码力 | 223 页 | 1.21 MB | 1 年前3
The Idris Tutorial Version 0.99.2{ctxt : Vect n Ty} -> (body : Term (t1::ctxt) t2) -> Term ctxt (ARR t1 t2) ||| Variables ||| @ i de Bruijn index Var : {ctxt : Vect n Ty} -> (i : Elem ctxt t) -> Term ctxt t ||| A computation that may someday0 码力 | 224 页 | 1.22 MB | 1 年前3
The Idris Tutorial Version 1.1.1{ctxt : Vect n Ty} -> (body : Term (t1::ctxt) t2) -> Term ctxt (ARR t1 t2) ||| Variables ||| @ i de Bruijn index Var : {ctxt : Vect n Ty} -> (i : Elem ctxt t) -> Term ctxt t ||| A computation that may someday0 码力 | 223 页 | 1.21 MB | 1 年前3
The Idris Tutorial Version 1.3.1{ctxt : Vect n Ty} -> (body : Term (t1::ctxt) t2) -> Term ctxt (ARR t1 t2) ||| Variables ||| @ i de Bruijn index Var : {ctxt : Vect n Ty} -> (i : Elem ctxt t) -> Term ctxt t ||| A computation that may someday0 码力 | 230 页 | 1.24 MB | 1 年前3
共 13 条
- 1
- 2













