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.
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.
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?
jevkostream.scm - (WIP) Streaming parsers for Jevko in Scheme
jevkalk - A Jevko-based interpreter.
parsejevko.py - Simple parser for Jevko in Python.
motorway-lang - An esoteric programming language based on the British motorway network
parsejevko.c - Simple parser for Jevko in C.
parsejevko.js - [DEPRECATED] Deprecated in favor of https://github.com/jevko/jevko.js
jevko.lua - A Jevko library for Lua.
Cwerg - The best C-like language that can be implemented in 10kLOC.
edsl - Example of embedding TypeScript as an EDSL inside of another language
ocaml - The core OCaml system: compilers, runtime system, base libraries
nederlang - Nederlandse programmeertaal 🇳🇱. Geïnterpreteerd en met dynamische types. Met bytecode compiler en virtuele machine, in Rust.
Cliver - a new language definition