kitten
ActorForth
kitten | ActorForth | |
---|---|---|
13 | 1 | |
1,074 | 20 | |
- | - | |
1.2 | 4.6 | |
about 1 year ago | 8 months ago | |
Haskell | C++ | |
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/
ActorForth
-
Retro: A Modern, Pragmatic Forth
> I would love a Forth with a type system. I don't know if that is heretical [...].
Mitch Bradley (of Open Firmware fame) thinks it’s old hat[1], so guess not. (He also thinks it won’t work though.) In general, people have tried a lot of times; there’s a number of postfix Lisps with type systems—Kitten mentioned elsethread, ActorForth[2], etc.; a low-level Forth, as in untyped cells on stack and no automatic memory management, I don’t think has been done to completeness (IIRC either Forth, Inc. or MPE have a standing offer for any that’s able to process their legacy code), but then C wouldn’t be complete by that standard either (and Rust far too limiting).
Honestly I’m not sure how well it would work—in C, you get a great deal of utility out of compound types, and classic cell-oriented Forth kind of sucks at even mildly complex datastructures—they are certainly possible, but being unable to manipulate them as values on the stack makes things quite unnatural. (And that’s where I draw the line of “postfix Lisps” like PostScript rather than Forths, as such manipulation doesn’t seem feasible without some sort of automatic memory management.)
[1] https://github.com/ForthHub/discussion/issues/79
[2] https://github.com/ActorForth/ActorForth
What are some alternatives?
JDK - JDK main-line development https://openjdk.org/projects/jdk
gale - Strongly-typed, minimal-ish, stack-based development at storm-force speed.
jvm-parser - A Haskell parser for JVM bytecode files
mstoical - MStoical - a Forth like language, but better
mlatu - A declarative concatenative programming language
discussion - Discussion repository for Forth enthusiasts.
resin - Vector space search engine. Available as a HTTP service or as an embedded library.
factor - Factor programming language
haskell-exp-parser - Simple parser parser from Haskell to TemplateHaskell expressions
egison-quote - Quasi quotes for Egison expression
retroforth - This is a read-only mirror of the Fossil repository, made available via Git for your convenience.
ast-monad - A library for constructing AST by using do-notation