jevkalk
jevkostream.scm
Our great sponsors
jevkalk | jevkostream.scm | |
---|---|---|
4 | 1 | |
4 | 0 | |
- | - | |
9.1 | 10.0 | |
7 months ago | over 1 year ago | |
JavaScript | Scheme | |
- | - |
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.
jevkalk
-
November 2022 monthly "What are you working on?" thread
[1] Here's one of my tries: https://github.com/jevko/jevkalk
-
Jevko: a minimal general-purpose syntax
Here is a toy language that uses Jevko as syntax that I've been hacking on a bit recently: https://github.com/jevko/jevkalk
> is doing? It sure looks to me like it's asking whether a symbol (i.e. indivisible atom) ends with an equal sign, which is semantic gibberish.
There are no symbols or indivisible atoms here.
What's happening here is parsing. `jevkoToHtml` is a kind of parser-transpiler which operates on a syntax tree, rather than a sequence of characters or tokens.
The syntax tree is the output of an earlier stage of parsing, done by the Jevko parser.
So you can think of this as multi-pass parsing, by analogy with multi-pass compilation.
At the same time as this second pass of parsing is happening, translation to HTML is happening as well.
Hope this clarifies things!
---
[0] To clearly see the point, here is a toy programming language which uses Jevko as its syntax: https://github.com/jevko/jevkalk
Yes, it has the same spirit of S-expressions and shares the lovely square brackets of Rebol. The major difference is that Jevko is whitespace-agnostic: it has no notion of elements separated with whitespace.
Generally it's a simpler, more low-level thing. It could be used to build a Rebol-like language. You could add whitespace rules on that level.
A toy example: https://github.com/jevko/jevkalk
This one does not use whitespace as a separator, allowing spaces in identifiers at the expense of more brackets.
jevkostream.scm
-
November 2022 monthly "What are you working on?" thread
I tried sketching one out in Python: https://github.com/jevko/parsejevko.py ; one in C: https://github.com/jevko/parsejevko.c ; one in Java: https://github.com/jevko/parsejevko.java ; one in Scheme: https://github.com/jevko/jevkostream.scm (that's a streaming parser stub, more fleshed out one in JS is here: https://github.com/jevko/jevkostream.js ); and there are some implementations of Jevko formats and other related things in the GitHub organization: https://github.com/jevko
What are some alternatives?
Resurgence - The Resurgence VM, a register virtual machine designed for simplicity and ease of use, based on the old Rendor VM
easyjevko.lua - An Easy Jevko library for Lua.
edsl - Example of embedding TypeScript as an EDSL inside of another language
jevko.lua - A Jevko library for Lua.
utena
parsejevko.js - [DEPRECATED] Deprecated in favor of https://github.com/jevko/jevko.js
jevko
community - Features Jevko-related things created by various authors
Cwerg - The best C-like language that can be implemented in 10kLOC.
binary-experiments - Experiments with various binary formats based on Jevko.
schmu - A WIP programming language inspired by ML and powered by LLVM