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.
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.
utena
-
November 2022 monthly "What are you working on?" thread
Been working on specifying the Utena machine. My initial plan was to add registers and instructions to the SECD machine as I usually do, to fit everything we need to keep track of. Notably, the Self machine keeps track of both "explicit" and "implicit" self; the former used for sends which explicitly write out the receiver e.g. self blah, and the latter used for sends with no explicit receiver e.g. blah.
What are some alternatives?
jevkalk - A Jevko-based interpreter.
jevkostream.scm - (WIP) Streaming parsers for Jevko in Scheme
motorway-lang - An esoteric programming language based on the British motorway network
parsejevko.py - Simple parser for Jevko in Python.
parsejevko.js - [DEPRECATED] Deprecated in favor of https://github.com/jevko/jevko.js
parsejevko.c - Simple parser for Jevko in C.
Cwerg - The best C-like language that can be implemented in 10kLOC.
jevko.lua - A Jevko library for Lua.
ocaml - The core OCaml system: compilers, runtime system, base libraries
edsl - Example of embedding TypeScript as an EDSL inside of another language
Cliver - a new language definition
nederlang - Nederlandse programmeertaal 🇳🇱. Geïnterpreteerd en met dynamische types. Met bytecode compiler en virtuele machine, in Rust.