-
## Goals of a Type System
Passerine's type system is a bit fuzzy at the moment, due to it's dynamic nature in terms of implementation. However, Passerine is a functional programming language, and in …
-
Common Lisp has a nice (gradual) type system with support for algebraic data types.
However declaring function types can be cumbersome:
```lisp
(declaim (ftype (function (ARG-TYPES) RETURN-TYPE…
-
The documentation states that the keyword `prefixItems` is used for tuple validation.
In the realm of programming and mathematics a tuple is something that has specific length.
Quoting Wikipedia:
>…
-
[Faulty Assumptions: Things I wish someone had explained about functional programming](https://jrsinclair.com/articles/2019/what-i-wish-someone-had-explained-about-functional-programming/)
函数式编程的三个…
-
Hey everyone!
Considering JDK17 is a LTS version and the sealed class feature being production ready with its release, are there any plans regarding using this feature for defining parametric algeb…
-
Currently `URI` and `Url ` are handled through transformations between the two of them.
URI is from the Network.URI library.
Url is from this project.
The `Url` datatype may be redundant.
Inve…
-
Currently the parsers have huge tables that are unreadable that makes my emacs lag so some line limit should be made.
The generated code should also be better formatted such that the indentation and …
-
I'm having trouble understanding how I'd specify the instances for data types that are free monads, where applicative operations result in cartesian products of their arguments. Examples would be the …
-
(also involves refactoring)
Much of the work applies to all rings, and some of the algebra applies to weaker algebraic structures, but the generalizations weren't made during development because of…
-
As an alternative to adding equi-recursive types, we could add a `newtype` form that would be allowed to be recursive, while restricting the `type` form to non-recursive type aliases.
Turnstile's …