peridot
ric-script
peridot | ric-script | |
---|---|---|
13 | 8 | |
388 | 31 | |
- | - | |
3.1 | 7.3 | |
over 1 year ago | 30 days ago | |
Haskell | C | |
Mozilla Public License 2.0 | 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.
peridot
-
Peridot Paper Preprint
I've mostly finished up a preprint of a research paper on Peridot, my programming language! It still needs some work, but I'm happy enough with it to post it. If you have any questions or suggestions don't hesitate to tell me here. I would love feedback :-)
-
September 2022 monthly "What are you working on?" thread
I'm finishing up with Peridot! The research goals of the project are close to being accomplished, so I'll be wrapping up soon. I'm really satisfied with it as a proof-of-concept for the ideas it implements. The last main bit of the project is a research paper I'm writing which details the language and its applications in detail.
-
Peridot MVP
Hey all! I've been working on my programming language Peridot for about six months, and it's finally at the point where I can call it an MVP! Peridot is a language in which the compiler backend is implemented in userspace via metaprogramming.
-
July 2022 monthly "What are you working on?" thread
The Peridot MVP is feature-complete! All that's left to do are bugfixes, after which it will be a real, usable language. Here's the major features, in no particular order:
-
A Typed Foundation for Directional Logic Programming
I'm not aware of any current implementations, but I'll be implementing it in my language, Peridot. Unfortunately that won't be for a few months though.
-
How did you choose the name for your programming language?
The second was called Konna. AFAIK it’s Finnish for “frog”, but sources seem to disagree? I don’t speak Finnish, I got the word from a Finnish video game. My third and current language is called Peridot. I’m pretty proud of this name, although it’s less searchable than the previous ones. The origin is pretty simple, I was just looking around at gemstones and thought peridot looked neat.
-
Peridot: A functional language based on two-level type theory
Hey! I'm Peridot's author. Peridot is a language based on two-level type theory which allows for the compiler backend to be written in userspace. The language is really two languages tied together: a logic language, and a dependently typed functional language. The former is built for metaprogramming - high-level optimizers and compilers can be written that translate the latter language into a target language of choice. An in-depth explanation of the language's rationale can be found here.
ric-script
-
July 2022 monthly "What are you working on?" thread
Last month I worked on the language ABI (Application Binary Interface). This is where I have made an effort to make modules buildable and exportable (into dynamic shared libraries) to the language interpreter. I call the build environment for these modules the SDK (software development kit). It is a Meson project that supports not just Unix based platforms but also Windows. Before this month, one could only export functions in modules, but now one can include classes also. For me this felt very good, as I would expect of a language to support as much in the SDK as possible of the original script-language data types. Here is a link to an example module library written in C that can be compiled for export into the language interpreter: https://github.com/Ricardicus/ric-script/blob/master/src/sdk_lib/ext_lib.c
-
Building my own programming language using C
I host the source code here at GitHub. There are links to documentation and even an environment where you can test the interpreter on some samples to be found in the README. If you feel like this is an interesting C-project I'd appreciate the dopamine kick of a star over there at the github platform.
-
January 2022 monthly "What are you working on?" thread
Continued work on my interpreter for [ric-script](https://github.com/Ricardicus/ric-script) which is an interpreted dynamically typed and lazy evaluated language. Imagine Javascript without semicolon and Python without the indentation thing. I build the syntax tree using yacc. Here is a [code sample](https://ric-script-u5ep8.ondigitalocean.app/doc/syntaxwalkthrough.html#class-declarations) where I build an RPN calculator in it. I’d appreciate the dopamine kick of a star if you find the project interesting.
-
How can I support very big integers?
Thank you all! I have made it work now in my project . A sample script can be found here .
-
August 2021 monthly "What are you working on?" thread
I continuing with building my first programming language. It is an interpreted dynamically typed and lazy evaluated language. It is like a merge of python and javascript, imagine Python except the focus on indentation. I build the syntax tree using yacc. Here is a code sample where I build an RPN calculator in it. The source repository is here, I’d appreciate the dopamine kick of a star if you like it.
-
January 2021 monthly "What are you working on?" thread
I am building my first programming language. I call it ric-script. It is an interpreted dynamically typed and lazy evaluated language. It is like a merge of python and javascript. I build the syntax tree using yacc. Here is a code sample where I build an RPN calculator in it.
What are some alternatives?
Hacking-F117A - My investigation into mission generation in the Stealth Fighter games by Microprose.
kesh - A simple little programming language that could one day compile to JavaScript.
cane - A small MIDI sequencer DSL designed around vectors and euclidean rhythms
pen - The parallel, concurrent, and functional programming language for scalable software development
schmu - A WIP programming language inspired by ML and powered by LLVM
m42pl-core - A data manipulation language with a focus on flexibility and simplicity.
ramen - A stream processing language and compiler for small-scale monitoring
Cwerg - The best C-like language that can be implemented in 10kLOC.
elaboration-zoo - Minimal implementations for dependent type checking and elaboration
seed7 - Source code of Seed7
boba - A general purpose statically-typed concatenative programming language.
xvm - Ecstasy and XVM