filling in the typeclasses! fun!
This commit is contained in:
parent
1a65db6aac
commit
850219cdec
1 changed files with 43 additions and 2 deletions
|
|
@ -3,15 +3,40 @@ Num a {
|
|||
sub : a \ a \ a;
|
||||
mul : a \ a \ a;
|
||||
div : a \ a \ a;
|
||||
mod : a \ a \ a;
|
||||
pow : a \ a \ a;
|
||||
};
|
||||
|
||||
Int : Num;
|
||||
Float : Num;
|
||||
|
||||
Eq a { eq : a \ a \ Bool }
|
||||
Eq a {
|
||||
eq : a \ a \ Bool;
|
||||
neq : a \ a \ Bool;
|
||||
};
|
||||
|
||||
Int : Eq;
|
||||
String : Eq;
|
||||
|
||||
Ord a {
|
||||
gt : a \ a \ Bool;
|
||||
lt : a \ a \ Bool;
|
||||
gte : a \ a \ Bool;
|
||||
lte : a \ a \ Bool;
|
||||
max : a \ a \ a;
|
||||
min : a \ a \ a;
|
||||
};
|
||||
|
||||
Int : Ord;
|
||||
Float : Ord;
|
||||
String : Ord;
|
||||
|
||||
Show a { show : a \ String };
|
||||
Int : Show;
|
||||
Float : Show;
|
||||
String : Show;
|
||||
Bool : Show;
|
||||
|
||||
Semigroup a { cat : a \ a \ a };
|
||||
String : Semigroup;
|
||||
List : Semigroup;
|
||||
|
|
@ -19,7 +44,23 @@ List : Semigroup;
|
|||
Maybe a = None | Some a;
|
||||
Bool = True | False;
|
||||
|
||||
# myTest = cat 3 4;
|
||||
# builtins
|
||||
floor : Float \ Int;
|
||||
ceiling : Float \ Int;
|
||||
int : a \ Int;
|
||||
len : a \ Int;
|
||||
chars : String \ List String;
|
||||
isWordChar : String \ Bool;
|
||||
split : String \ String \ List String;
|
||||
slice : a \ Int \ Int \ a;
|
||||
fuzzyMatch : String \ String \ Bool;
|
||||
hasField : String \ a \ Bool;
|
||||
isFunction : a \ Bool;
|
||||
entries : a \ List { key : String, value : b };
|
||||
keys : a \ List String;
|
||||
nth : Int \ a \ Maybe a;
|
||||
|
||||
# myTest = gt 3 "hi";
|
||||
# myTest2 = cat [3, 4] [4, 5];
|
||||
# myTest3 = debug! "myTest2" myTest2;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue