
* Added standard List library and list comprehensions Added List library. Flatmaps WIP Fixed dependency in flat_map fcode generation Updated tests to use custom list lib Added comprehension test Added stdlib sanity Test * Extended stdlib for lists. Added error message for redefinition of stdlibx * Fixed type template * Improved stdlib * More functions * Fixed cyclic includes * Refixed imports and added few tests * Added fail test * Undelete removed type spec * Remove typo * Fix iter function * Fixed typo * Added if guards and let statements in list comp * Added more fail tests * Option stliv * 2 and 3 tuple stdlib * Updated stdlib to new syntax. Added recursor and changed all/any functions * Fixed performance issues. Changed include management * Fixed hash type
43 lines
1.1 KiB
ReasonML
43 lines
1.1 KiB
ReasonML
|
|
open Rte;
|
|
open Voting;
|
|
|
|
let creator = "0x123";
|
|
let voter1 = "0x1001";
|
|
let voter2 = "0x1002";
|
|
let voter3 = "0x1003";
|
|
let other = "0xffff";
|
|
|
|
module SetupVote = Setup(Voting);
|
|
open Voting;
|
|
|
|
let print_tally() = {
|
|
let tally = call(other, () => currentTally());
|
|
MyList.map(((name, count)) => Printf.printf("%s: %d\n", name, count), tally);
|
|
let winner = call(other, () => winnerName());
|
|
Printf.printf("Winner: %s\n", winner);
|
|
};
|
|
|
|
Printf.printf("Delegate before vote\n");
|
|
SetupVote.init(creator, ["Cake", "Beer"]);
|
|
call(creator, () => giveRightToVote(voter1));
|
|
call(creator, () => giveRightToVote(voter2));
|
|
call(creator, () => giveRightToVote(voter3));
|
|
call(voter3, () => delegate(voter1));
|
|
call(voter1, () => vote(1));
|
|
call(voter2, () => vote(0));
|
|
print_tally();
|
|
|
|
SetupVote.reset();
|
|
|
|
Printf.printf("Delegate after vote\n");
|
|
SetupVote.init(creator, ["Cake", "Beer"]);
|
|
call(creator, () => giveRightToVote(voter1));
|
|
call(creator, () => giveRightToVote(voter2));
|
|
call(creator, () => giveRightToVote(voter3));
|
|
call(voter1, () => vote(1));
|
|
call(voter3, () => delegate(voter1));
|
|
call(voter2, () => vote(0));
|
|
print_tally();
|
|
|