-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
It's a great language if you want to write a compiler for fun: You can add the different statements incrementally, so you quickly get to a point where you can compile your first program and then add more and more features to compile more and more.
Also, when I was implementing FOR, my first naive implementation was compiling the body first, then append the loop related things that check the conditional and jump backwards to the start of the body. "Hang on, what about the case when the condition is initially false?" I thought, only to discover that the BASIC standard actually specifies that a FOR loop runs at least once, even if the condition is false! Officially, the language is advertised as for beginners, but to me it looks like it was meant as a lingua franca of computers, as in easy to understand, but equally easy to implement.
Here's a BASIC compiler for the HP 15-C calculator written in Idris: https://gitlab.com/michaelzinn/voyc/-/blob/master/src/Compil...
Trying to compile Basic is actually a bit trickier than just implementing an interpreter indeed. Like the FOR statement example you mentioned. Another messy situation is non-lexical FOR/NEXT like here [1], where NEXT can be encountered before a FOR statement, fairly certain I did not get it entirely right there.
Original Dartmouth BASIC had only 14 statement types, and it takes very little efforts to enumerate and implement all of them, even if you are just starting on a compiler journey and making things up suboptimally along the way.
The bonus upside for choosing BASIC as your first compiler project is that you get decades of vintage test programs to play with like this one [2].
[1] https://github.com/yiransheng/basic_rs/blob/ddd64e2eacfc2b36...
[2] Game of Life compiled to warm: http://subdued-afternoon.surge.sh/
_That_ is a question I want an answer for.
Currently I am using OpenSCAD Graph Editor: https://github.com/derkork/openscad-graph-editor to create programs:
https://willadams.gitbook.io/design-into-3d/programming#open...
but the fundamental question which remains unanswered is:
>What does an algorithm look like?
Related posts
-
Logs Estruturados com Serilog e Seq: Melhorando a Visibilidade e Análise de Dados em Aplicações
-
An Operating System for the Web
-
GitHub Actions e a Magia dos Triggers: Automatizando Tarefas com C#
-
The search for easier safe systems programming
-
A16Z-backed Regression Games launches Quickscope, automated testing in Unity