Lamina is a programming language located here.
This project is an alternative implementation of lamina written in… lamina itself.
Lamina is a programming language located here.
This project is an alternative implementation of lamina written in… lamina itself.
Almost 10 hours, so a devlog here.
This project is actually inspired by a lexer of lamina written in lamina itself, which is also written by me about half a year ago. So I wonder, if Lamina itself is sufficient in writing a lexer, what about a full language?
And now, after 8.5 hours of work, I have implemented a virtual machine and a bytecode compiler for Lamina, written in Lamina from the base of lexer (made minor adjustments to fit in latest syntax), now supports arithmetic calculations, comparisons, strings, lists, and global variables.
Compared with C++, Lamina is actually a very poor language. It’s arrays are immutable and cannot be created dynamically (you cannot create an array with a specific amount n of zeros, n is specified at runtime), and no key-value pair usable, so I have to implement them by myself using linked list. Every single place where you can see an array-ish object, the array-ish thing is actually linked list. Lamina itself is also a language made by teenagers and lack of maintenance, I have spotted loads of bugs while developing this LmLamina.
More devlogs will be posted when more time is wasted.
The source code will not be exposed to public before the whole project is complete.
Log in to leave a comment