Merge branch 'dev' into refactor/everything

This commit is contained in:
galfour 2019-09-23 16:40:51 +02:00
commit fed4891840
25 changed files with 54 additions and 1 deletions

View File

@ -1,3 +1,5 @@
// Test PascaLIGO arithmetic operators
function mod_op (const n : int) : nat is
begin skip end with n mod 42

View File

@ -1,3 +1,5 @@
// Test PascaLIGO bitwise operators
function or_op (const n : nat) : nat is
begin skip end with bitwise_or(n , 4n)

View File

@ -1,3 +1,5 @@
// Test PascaLIGO boolean operators
function or_true (const b : bool) : bool is
begin skip end with b or True

View File

@ -1,3 +1,7 @@
// This might seem like it's covered by induction with closure-2.ligo
// But it exists to prevent a regression on the bug patched by:
// https://gitlab.com/ligolang/ligo/commit/faf3bbc06106de98189f1c1673bd57e78351dc7e
function foobar(const i : int) : int is
const j : int = 3 ;
const k : int = 4 ;

View File

@ -1,3 +1,5 @@
// Test if conditional with trivial conditions in PascaLIGO
function main (const i : int) : int is
begin
if 1 = 1 then

View File

@ -1,3 +1,5 @@
// Test if conditional in PascaLIGO
function main (const i : int) : int is
var result : int := 23 ;
begin

View File

@ -1,3 +1,5 @@
// Test PasaLIGO variable declarations inside of a block
function main (const i : int) : int is block {
const j : int = 42 ;
} with j

View File

@ -1,3 +1,5 @@
// Test PascaLIGO top level declarations
const foo : int = 42
function main (const i : int) : int is

View File

@ -1 +1,3 @@
const foo : nat = 42 + "bar"
// Test that PascaLIGO will reject a type declaration with improper value expression
const foo : nat = 42 + "bar"

View File

@ -1,3 +1,5 @@
// Test a PascaLIGO function with more complex logic than function.ligo
function main (const i : int) : int is
var j : int := 0 ;
var k : int := 1 ;

View File

@ -1,3 +1,5 @@
// Test a PascaLIGO function which uses other functions as subroutines
function inc ( const i : int ) : int is
block { skip } with i + 1

View File

@ -1,3 +1,5 @@
// Test a trivial PascaLIGO function
function main (const i : int) : int is
begin
skip

View File

@ -1,3 +1,6 @@
// Implementation of the heap data structure in PascaLIGO
// See: https://en.wikipedia.org/wiki/Heap_%28data_structure%29
type heap is map(nat, heap_element) ;
function is_empty (const h : heap) : bool is

View File

@ -1,3 +1,5 @@
// Test a PascaLIGO function which takes another PascaLIGO function as an argument
function foobar (const i : int) : int is
function foo (const i : int) : int is
block { skip } with i ;

View File

@ -1 +1,3 @@
// Test PascaLIGO inclusion statements, see includer.ligo
const foo : int = 144

View File

@ -1,3 +1,5 @@
// Test PascaLIGO inclusion statements, see included.ligo
#include "included.ligo"
const bar : int = foo

View File

@ -1,3 +1,5 @@
// Test list type and related built-in functions in PascaLIGO
type foobar is list(int)
const fb : foobar = list

View File

@ -1,3 +1,5 @@
// Test while loops in PascaLIGO
function counter (var n : nat) : nat is block {
var i : nat := 0n ;
while (i < n) block {

View File

@ -1,3 +1,5 @@
// Test map type and related built-in functions in PascaLIGO
type foobar is map(int, int)
const fb : foobar = map

View File

@ -1,3 +1,5 @@
// Test the pattern matching functionality of PascaLIGO
function match_bool (const i : int) : int is
var result : int := 23 ;
begin

View File

@ -1,3 +1,5 @@
// Test functions with several parameters in PascaLIGO
function ab(const a : int; const b : int) : int is
begin skip end with (a + b)

View File

@ -1,3 +1,5 @@
// Test the option type in PascaLIGO
type foobar is option(int)
const s : foobar = Some(42)

View File

@ -1,3 +1,5 @@
// Test record type in PascaLIGO
type foobar is record
foo : int ;
bar : int ;

View File

@ -1,3 +1,5 @@
// Test set iteration in PascaLIGO
function iter_op (const s : set(int)) : int is
var r : int := 0 ;
function aggregate (const i : int) : unit is

View File

@ -1,3 +1,5 @@
// Test set type and basic operations in PascaLIGO
const s_e : set(string) = (set_empty : set(string))
const s_fb : set(string) = set [