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

In Bosatsu, like System F, the type `exists a. P` can be encoded as `forall b. (forall a. P -> b) -> b` We encode Mapped in this way, we...

Elm has very nice support for anonymous [records](https://elm-lang.org/docs/records). One thing you can do is updates that look like `{ foo | x = 1 }`. We could steal this idea...

Region is a range inside a source file, but we don't really know which. We keep a map of package to file to report errors, but if we serialize compiled...

see: https://www.microsoft.com/en-us/research/publication/a-quick-look-at-impredicativity/ this can infer a few more types with a relatively minor change to type inference.

Relates to #282 and #628

If we want to implement interpreters in other languages we will want to start with Matchless generally since it handles almost all of the tricky bit of pattern matching.

Related to #282 Implementing a protobuf based parser is fairly complex already since you generally translate your ASTs since you don't want to use the ones from protobuf. If you...

related to #528 travis is becoming unusable without paying.

I the LetFree code there is an implementation of maybebind that can determine if a LetFreeExpression always, never, or sometimes matches a branch in a Match. https://github.com/johnynek/bosatsu/blob/0338e369c2fcd3a3e62862547a8db15e1cb0527a/core/src/main/scala/org/bykn/bosatsu/LetFree.scala#L268 This could probably...

Consider the program ``` length = 10000 lst = range_fold(0, length, [], \partial, n -> [n, *partial]) out = match lst: [*_, x, *_, -1]: x _: length ``` The...