bosatsu icon indicating copy to clipboard operation
bosatsu copied to clipboard

A python-ish pure and total functional programming language

Results 132 bosatsu issues
Sort by recently updated
recently updated
newest added

``` [info] - subset consistency: a n b == a a - b = 0 *** FAILED *** (91 milliseconds) [info] TestFailedException was thrown during property evaluation. [info] Message: false...

We could ban defining operators that end with a single `=` such as `+=`. Then we could expand that syntax into: ``` x = x + 1 # same as...

a common idiom in python is something like: ```python x = 0 for y in z: x += y return x ``` This does not look so functional, but it...

enhancement

We added support for using the names on constructors (#289) We could follow a similar approach for named functions: at the source to expression translation layer, we replace named function...

Since bosatu is total, can we adapt the totality checking to compute a limit of the number of recursive calls made? It seems like maybe yes, because we can look...

if we have: ``` match foo: x@[_, _]: # this match is now total [a, b] = x gn(a, b) _: fn(foo) ``` We could potentially check this by propagating...

One issue we have in pattern matching totality checking is that difference is not exact. This is because: ``` _ - 1 = _ ``` If we could write `_...

We should make a doc listing all normalizations we can do: 1. we can inline lets (form of beta reduction, see below). 2. remove unused lets 3. push down a...

Anything we parse should keep the region it came from, but in particular, without knowing the Pattern regions, we can't give very nice error messages. The right way to do...

e.g.: ``` in file: test_workspace/AvlTree.bosatsu, package AvlTree, missing field height in Branch Branch {size: s } 17| match t: 18| Empty: 0 19| Branch { size: s }: s ^...