kesh
Chevrotain
Our great sponsors
kesh | Chevrotain | |
---|---|---|
11 | 3 | |
19 | 2,392 | |
- | 1.3% | |
6.0 | 7.2 | |
5 months ago | 6 days ago | |
JavaScript | TypeScript | |
Apache License 2.0 | Apache 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.
kesh
- Have any of you designed a conlang, and then designed a programming language based on the conlang or any fictional culture that would use it?
-
Too many words about Rust's function syntax
I have something similar in kesh, where : is the assignment operator and the type/signature may be "assigned" before the value:
-
Temporal Programming, a new name for an old paradigm
I'm not OP, in case you thought that :) kesh lives here. I tried incorporating some of the ideas discussed here, but posponed it to a later language, which I'm still thinking about.
-
What language features do you "Consider Harmful" and why?
This is a great idea that I've adopted for my PL. I took it a step further and also allow extensions of the core language to be specified, including profiles.
-
Let's talk about interesting language features.
My (non-existing) language kesh, designed to compile to TypeScript, has expression blocks. That was one of my first decisions.
-
October 2021 monthly "What are you working on?" thread
Still no work on a compiler, but more work on the documentation of kesh.
-
What are some simple but powerful compile-to-JS languages I might not know about, or that you are working on (not Elm, Reason, PureScript, or ClojureScript)?
I'm working on kesh, but it's only at the design stage. I have tried to make it simple yet powerful, so I thought I'd mention it even though you can't use it.
-
Why are you building a programming language?
I tried to distill down the most essential features of TS/JS (functional, prototypal) and then come up with new syntax and semantics that was minimal, orthogonal and hopefully easy to learn and use. The result is kesh and na.
-
September 2021 monthly "What are you working on?" thread
I like the way you think. I had the same goal with kesh. A minimal syntax is easier on the eye and lets you focus on the actual code.
-
August 2021 monthly "What are you working on?" thread
I'm only at the drawing board stage of kesh, a simple little PL that one day might possibly transpile to TypeScript. Not a single line of compiler code has been written so far, it's still all about syntax design and exploring ideas. kesh is mostly a pastime activity and something I can ponder over when I'm bored or can't sleep (which may be the reason I can't sleep).
Chevrotain
-
Ohm: A library and language for building parsers, interpreters, compilers, etc.
How does this compare with Chevrotain[1]?
More specifically, can I build lexers with Ohm? Can it generate a syntax diagram from a grammar?
[1]: https://github.com/chevrotain/chevrotain
-
Introduction to Lexers, Parsers and Interpreters with Chevrotain
To learn more about Chevrotain visit: https://chevrotain.io/
-
Why are you building a programming language?
I don't think I'll have time to make one any time soon, unfortunately. My original plan was to write a compiler in TypeScript using Chevrotain, and see if it's possible to compile down to TypeScript's AST and feed that into its own compiler programmatically. Basically piggybacking on Microsoft's hard work (work smart, not hard). I don't know if it's possible, but it's what I'd try first.
What are some alternatives?
ric-script - A modern scripting language; implemented in old school C, yacc & flex
PEG.js - PEG.js: Parser generator for JavaScript
cubiml-demo - A simple ML-like programming language with subtyping and full type inference.
nearley - 📜🔜🌲 Simple, fast, powerful parser toolkit for JavaScript.
ghc-proposals - Proposed compiler and language changes for GHC and GHC/Haskell
Jison - Bison in JavaScript.
na - minimal data notation format
markdown-it - Markdown parser, done right. 100% CommonMark support, extensions, syntax plugins & high speed
durin - the Dependent Unboxed higher-oRder Intermediate Notation
parsec 🌌 - 🌌 Tiniest body parser in the universe. Built for modern Node.js
bluebird - A work-in-progess programming language modeled after Ada and C++
csv-parser - Streaming csv parser inspired by binary-csv that aims to be faster than everyone else