Posts

Showing posts from March, 2023

Designing the Aquamarine Programming Language - Part I

Writing a programming language have always been quite a fascinating thing for me. From drafting the syntax to implement the code translator (either a compiler or an interpreter) to writing a "standard library", every part of the development of a programming language is an interesting journey into interacting with your computer, as you are indeed "fighting your way" to a new method communicating with your computer. Lexical Synopsis I have brainstormed quite a lot of syntax for my programming language (and actually quite verbose 😅).   Variables are declared with the let keyword, as expected. Everything is immutable by default in Aquamarine, so to make a variable mutable, the keyword mutable is to be added. For example: let a oftype string = "Hello World!"; mutable let b oftype int32 = 0;  This also means that Aquamarine is a statically-typed programming language, where the type of a certain variable is declared us