jevkalk | Glide | |
---|---|---|
4 | 13 | |
4 | 2 | |
- | - | |
9.1 | 10.0 | |
8 months ago | over 1 year ago | |
JavaScript | C++ | |
- | GNU General Public License v3.0 only |
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
Glide
-
How do you deal with lack of motivation?
I've added the code to the repo: https://github.com/dibsonthis/Glide/blob/main/imports/csv.gl
-
Glide - code now on Github
So for the past few months, I've been working on my data transformation language Glide. It started off as a simple toy PL that aimed to do some basic data transformation through piping. But as time went on, more and more features were added and the implementation became more complex.
-
Glide and its type system
I'm about 70% through writing Glide's new type system. Here are some examples:
-
List comprehension syntax
Hey all, I'd like to hear your opinions on Glide's list comprehension syntax:
-
My new type system caught a bug in my own standard library that would have ruined someone's day at runtime
I was hesitant to spend time building a proper type system originally, but I'm so glad I decided to do it. Having a typing stage in the pipeline has made my language (Glide) feel so much closer to a real language than the toy language I've always seen it as.
-
Implemented a compile time type system for Glide
Just finished the core implementation of a compile time type system for my language Glide.
-
Glide + wiki documentation
Link to documentation: https://github.com/dibsonthis/Glide/wiki
-
Readability vs. Performance
I'm working on building out the csv module in my language Glide and I'm at a bit of a crossroads. I initially envisioned the csv module to build a list of objects out of the data and the user manipulates those objects directly and then can serialise them back to csv. However, I've also come up with a different solution that doesn't involve objects, but only flat lists.
-
Best use of time: Building a Static type system in the compiler or a Dynamic type system in the language?
My language Glide is currently dynamically typed, however I've been trying to build some sort of type system for it. I chose to go with a dynamic type system because I felt it would be a lot easier to get going, and can be written directly in the language. But I've also noticed that I could be using this time and effort on implementing a "real" static type system in the compiler itself. But I'm unsure which direction I want to take.
-
How do you determine what goes into the standard library?
So I've noticed the more code I write in my language (Glide), the bigger my "standard library" gets. And by standard library, I mean a bunch of different files that contain really handy functions, i.e list functions like map, filter, reduce and string functions like to_chars, split etc.
What are some alternatives?
easyjevko.lua - An Easy Jevko library for Lua.
motorway-lang - An esoteric programming language based on the British motorway network
edsl - Example of embedding TypeScript as an EDSL inside of another language
parsejevko.js - [DEPRECATED] Deprecated in favor of https://github.com/jevko/jevko.js
jevkostream.scm - (WIP) Streaming parsers for Jevko in Scheme
Cwerg - The best C-like language that can be implemented in 10kLOC.
community - Features Jevko-related things created by various authors
ocaml - The core OCaml system: compilers, runtime system, base libraries
binary-experiments - Experiments with various binary formats based on Jevko.
utena
parsejevko.py - Simple parser for Jevko in Python.
Cliver - a new language definition