2014-12-16 04:48:25 +03:00
|
|
|
Loading module Cryptol
|
|
|
|
Loading module Cryptol
|
|
|
|
Loading module test01
|
|
|
|
module test01
|
|
|
|
import Cryptol
|
|
|
|
/* Not recursive */
|
Improvements to naming of variables.
This does a bunch of small changes, that should improve the usability
of Cryptol. Namely:
* When we are forced to make up a name, pick something derived from
the source of the variable, annotated with the unique.
* When pretty printing a schema, use "n,m,i,j,k" for numeric variables
and "a,b,c,d,e" for value type vairable.
* When generalizing, put numeric vairables first.
2018-06-29 01:58:11 +03:00
|
|
|
test01::a : {n, a} (fin n) => [n]a -> [2 * n]a
|
|
|
|
test01::a = \{n, a} (fin n) (x : [n]a) ->
|
|
|
|
test01::f n x
|
2017-02-09 04:24:15 +03:00
|
|
|
where
|
|
|
|
/* Not recursive */
|
Improvements to naming of variables.
This does a bunch of small changes, that should improve the usability
of Cryptol. Namely:
* When we are forced to make up a name, pick something derived from
the source of the variable, annotated with the unique.
* When pretty printing a schema, use "n,m,i,j,k" for numeric variables
and "a,b,c,d,e" for value type vairable.
* When generalizing, put numeric vairables first.
2018-06-29 01:58:11 +03:00
|
|
|
test01::f : {m} [m]a -> [n + m]a
|
|
|
|
test01::f = \{m} (y : [m]a) -> (Cryptol::#) n m a <> x y
|
2017-02-09 04:24:15 +03:00
|
|
|
|
|
|
|
|
2014-12-16 04:48:25 +03:00
|
|
|
|
|
|
|
Loading module Cryptol
|
|
|
|
Loading module test01
|
|
|
|
module test01
|
|
|
|
import Cryptol
|
|
|
|
/* Not recursive */
|
Improvements to naming of variables.
This does a bunch of small changes, that should improve the usability
of Cryptol. Namely:
* When we are forced to make up a name, pick something derived from
the source of the variable, annotated with the unique.
* When pretty printing a schema, use "n,m,i,j,k" for numeric variables
and "a,b,c,d,e" for value type vairable.
* When generalizing, put numeric vairables first.
2018-06-29 01:58:11 +03:00
|
|
|
test01::a : {n, a} (fin n) => [n]a -> [2 * n]a
|
|
|
|
test01::a = \{n, a} (fin n) (x : [n]a) ->
|
2017-02-09 04:24:15 +03:00
|
|
|
test01::f x
|
|
|
|
where
|
|
|
|
/* Not recursive */
|
Improvements to naming of variables.
This does a bunch of small changes, that should improve the usability
of Cryptol. Namely:
* When we are forced to make up a name, pick something derived from
the source of the variable, annotated with the unique.
* When pretty printing a schema, use "n,m,i,j,k" for numeric variables
and "a,b,c,d,e" for value type vairable.
* When generalizing, put numeric vairables first.
2018-06-29 01:58:11 +03:00
|
|
|
test01::f : [n]a -> [2 * n]a
|
|
|
|
test01::f = \ (y : [n]a) -> (Cryptol::#) n n a <> x y
|
2017-02-09 04:24:15 +03:00
|
|
|
|
|
|
|
|
2014-12-16 04:48:25 +03:00
|
|
|
|