wheel-lang
konna
wheel-lang | konna | |
---|---|---|
3 | 6 | |
14 | 11 | |
- | - | |
0.0 | 0.0 | |
over 1 year ago | about 2 years ago | |
TypeScript | Haskell | |
MIT License | Mozilla Public License 2.0 |
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.
wheel-lang
-
How did you choose the name for your programming language?
A friend made a snarky comment that I was reinventing the wheel; hence, wheel-lang.
-
Practical introduction to algebraic datatypes (ADTs) in TypeScript
Yeah, when building my language, manually constructing the sum types was definitely annoyingly verbose. I found that you can mostly get a good experience for pattern matching with switch statements, but it definitely could be better.
-
I built a toy programming language using Typescript
Hah, yeah, that's certainly true. If I get around to building a backend that compiles to ARM (see this GitHub issue), that'll be a few less layers...I'm curious how much better performance will get, too.
konna
-
How did you choose the name for your programming language?
The second was called Konna. AFAIK it’s Finnish for “frog”, but sources seem to disagree? I don’t speak Finnish, I got the word from a Finnish video game. My third and current language is called Peridot. I’m pretty proud of this name, although it’s less searchable than the previous ones. The origin is pretty simple, I was just looking around at gemstones and thought peridot looked neat.
-
January 2022 monthly "What are you working on?" thread
Continuing work on Konna. I recently finished implementing dependent pattern matching, a pretty big feature! I figured now is the time to do some refactoring and rewriting - the elaborator is the first thing on my list. Once all this maintenance work is done I'll be implementing features like implicit arguments, overloading, and pattern matching on code values.
-
Konna, my programming language
Github repo: https://github.com/eashanhatti/konna
-
December 2021 monthly "What are you working on?" thread
Continuing work on my functional language Konna. The structured editor has progressed a whole lot recently - the most glaring bugs have been fixed and you can work with the entire language in it. The language itself is going well too, I'm currently thinking through:
-
September 2021 monthly "What are you working on?" thread
Working on a rewrite of Konna (formerly Clamn). After using Rust for a little over a year in the original implementation, I decided I wasn't enjoying it. I'm using Haskell for the rewrite - I'd always wanted to write a big project in Haskell anyway haha. Definitely enjoying the higher-level conveniences it offers. The rewrite has been underway for about two weeks now, and so far I've got basic dependent types and partial evaluation implemented.
-
March 2021 monthly "What are you working on?" thread
Continuing work on my functional systems language Clamn. I'd taken the last few weeks to fix a bunch of performance issues, but now it's finally back to implementing features: record types. I've got dependent types in my lang, which means I can get a bunch of more exciting features for free by implementing records, ADTs for instance.
What are some alternatives?
bhai-lang - A toy programming language written in Typescript
wotpp - A small macro language for producing and manipulating strings.
jspython - JSPython is a python-like syntax interpreter implemented with javascript that runs entirely in the web browser and/or in the NodeJS environment.
Cwerg - The best C-like language that can be implemented in 10kLOC.
inet-js - This is an implementation of interaction nets. It introduces you to the bizarre world of graph-based computation and linear logic, using a familiar JavaScript-like syntax :)
pen - The parallel, concurrent, and functional programming language for scalable software development
ramen - A stream processing language and compiler for small-scale monitoring
star - An experimental programming language that's made to be powerful, productive, and predictable
fanuc-macro-b - A Lexer, Parser, and Interpreter for Fanuc Macro B gcode files
pika - A WIP little dependently-typed systems language
psi - WIP ISO 7185 Pascal interpreter
Bilobe - A New Programming Language To Introduce New Way To Code...