diff --git a/spec.md b/spec.md index 68debe6..8c27e89 100644 --- a/spec.md +++ b/spec.md @@ -338,6 +338,7 @@ def add = a -> b -> a + b - `arg -> value`: one-step backwards inferrable lambda - `arg: Type -> value` - `func(arg1, arg2)`: function application. requires at least one argument. partial function applications are allowed too +- `func(_, arg)`: bind some args from function, return funciton taking in the args with `_`, or the non-specified ones - `expr :: type`: down-cast type - `recExpr with fieldname: newFieldValue`: overwrites or adds a field to a record type. type checking: identical to `recExpr and {fieldname: newFieldValue}` @@ -362,7 +363,8 @@ TODO ## equality operator The only operator with type overloading -TODO +Compares any two types that can be [phi unified](#phi-unification), returning +either `'True Unit` `'False Unit` (which maps to `Bool`) # (for users) programming patterns