kitten
fused-effects
Our great sponsors
kitten | fused-effects | |
---|---|---|
13 | 3 | |
1,074 | 633 | |
- | 0.2% | |
1.2 | 4.5 | |
about 1 year ago | about 1 month ago | |
Haskell | Haskell | |
GNU General Public License v3.0 or later | BSD 3-clause "New" or "Revised" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
kitten
-
Retro: A Modern, Pragmatic Forth
While not quite a Forth, Kitten is a stack language:
https://kittenlang.org/
- Atunci când cauți de muncă și nu te mai angajează nimeni
-
Stack-based array-friendly static-typed proof of concept
Since you're making a statically-typed concatenative language, I'll point you to a joy reference, kitten, notes to motivate type checking stack languages, and a paper that formalizes type checking for stack languages. Since this looks like a relatively high-level stack language (given the presence of ADTs), you may find that you want to add quotes to your language, specifically opaque quotes since your language is typed. In that case, you'll realize that you'll need a better way to formulate polymorphism over stacks, and the paper on type checking will provide that to you.
-
A Forth Apologia
Well, there is Kitten, although it hasn't seen an update in two years and was moving quite slowly before that too.
https://kittenlang.org/
- main repo
-
Why Concatenative Programming Matters
Author ended up doing a lot of work on Kitten https://github.com/evincarofautumn/kitten
- The Kitten Programming Language
-
my cat is installing debian 10
Kitten lang
-
I much prefer `data.action()` to `action(data). Is it an r/unpopularopinion?
You may like https://kittenlang.org/
fused-effects
-
Where's more discussion of the designs of effect systems?
Languages such as Koka only support algebraic effects, not scoping operations such as catch and listen. The Effect Handlers in Scope paper introduces scoping operations, which lead to the Haskell libraries fused-effects and polysemy, but they turned out to have some weird semantics. eff is her effort to fix that.
- Haskell doesn't make sense without pure functions
- Monthly Hask Anything (June 2021)
What are some alternatives?
JDK - JDK main-line development https://openjdk.org/projects/jdk
polysemy - :gemini: higher-order, no-boilerplate monads
jvm-parser - A Haskell parser for JVM bytecode files
eveff - Efficient Haskell effect handlers based on evidence translation.
mlatu - A declarative concatenative programming language
eff - 🚧 a work in progress effect system for Haskell 🚧
haskell-exp-parser - Simple parser parser from Haskell to TemplateHaskell expressions
freer-simple - A friendly effect system for Haskell
resin - Vector space search engine. Available as a HTTP service or as an embedded library.
control-monad-free - Free monads and monad transformers
egison-quote - Quasi quotes for Egison expression
control-monad-exception - Explicitly Typed exceptions as a library