kitten
porth
Our great sponsors
kitten | porth | |
---|---|---|
13 | 11 | |
1,074 | - | |
- | - | |
1.2 | - | |
about 1 year ago | - | |
Haskell | ||
GNU General Public License v3.0 or later | - |
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/
porth
-
Stack-based array-friendly static-typed proof of concept
Yes, unless there's another language I'm unfamiliar that shares the name. But the inspiration and some core ideas came from Porth: https://gitlab.com/tsoding/porth
- Porth, it's like Forth but in Python
- Porth, It's Like Forth but in Python
-
Stack machines for compilers
Here's an interesting solution: in the language Porth which was inspired by forth (but takes some drastically different choices), there's an option to create separate scored bindings, which can either consume items from the top of the stack, or duplicate them, leading to some very slick solutions to the problem of limited access to the stack.
-
How to build a language mode from scratch?
I personally haven't done that, but a very simple example, that I can think of is this one: porth-mode.el. The minor-mode doesen't do much, but maybe it helps understand the basic concepts.
-
Compiling via Forth?
You might want to look into Porth; IMO RPN doesn't have to be hard to read, Forth is just really terse and not very modern.
-
single pass compilers (basic questions)
I believe Tsodings - Porth is a single pass compiler. Currently in development - it has some great vlogs and is also self hosting. He's recently said that re-implementing Porth straight up has become an issue for him - so please just take inspiration only. I suspect a concatenative language is quite a natural fit for a single pass compiler.
-
Why hasn't anyone made a compiler for Python yet?
Tsoding did with his porth. Original conpiler written in python then reimplemented in porthq https://gitlab.com/tsoding/porth
What are some alternatives?
JDK - JDK main-line development https://openjdk.org/projects/jdk
Windows11DragAndDropToTaskbarFix - "Windows 11 Drag & Drop to the Taskbar (Fix)" fixes the missing "Drag & Drop to the Taskbar" support in Windows 11. It works with the new Windows 11 taskbar and does not require nasty changes like UndockingDisabled or restoration of the classic taskbar.
jvm-parser - A Haskell parser for JVM bytecode files
Dress - 好耶 是女装
mlatu - A declarative concatenative programming language
setoolkit - The Social-Engineer Toolkit (SET) repository from TrustedSec - All new versions of SET will be deployed here.
haskell-exp-parser - Simple parser parser from Haskell to TemplateHaskell expressions
metalang99 - Full-blown preprocessor metaprogramming
resin - Vector space search engine. Available as a HTTP service or as an embedded library.
DIM - Destiny Item Manager
egison-quote - Quasi quotes for Egison expression
bootstrap-vue-next - Early (but lovely) implementation of Vue 3, Bootstrap 5 and Typescript