kitten
fused-effects
kitten | fused-effects | |
---|---|---|
13 | 3 | |
1,074 | 634 | |
- | 0.5% | |
1.2 | 4.5 | |
about 1 year ago | about 2 months 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 🚧
resin - Vector space search engine. Available as a HTTP service or as an embedded library.
freer-simple - A friendly effect system for Haskell
haskell-exp-parser - Simple parser parser from Haskell to TemplateHaskell expressions
control-monad-free - Free monads and monad transformers
egison-quote - Quasi quotes for Egison expression
ghc - Mirror of the Glasgow Haskell Compiler. Please submit issues and patches to GHC's Gitlab instance (https://gitlab.haskell.org/ghc/ghc). First time contributors are encouraged to get started with the newcomers info (https://gitlab.haskell.org/ghc/ghc/wikis/contributing).