Til, a command language written in D
Cléber Zavadniak
contato+til at cleber.solutions
Fri May 14 22:10:38 UTC 2021
Hey, folks, how you doing?
2 months ago I started playing with a small personal project:
creating a simple programming language / interpreter, both for
fun and for learning more about... you know... creating a
programming language / interpreter. :-)
Now, *I'm not exactly a Walter Bright*, so I decided to start
with a **dynamic, Tcl-like language: command-based and without
much "syntax"**. I tried to avoid the "*everything is a string*"
concept and even played for some time with "*everything is a
list*" (almost like Lisp, but with fewer parentheses) and even
"*everything is a forward range*" - the results, then, were
**horrible**, but, anyways... I've learned interesting lessons
(specially: how important, powerful and versatile a simple STACK
is).
[Til](https://github.com/til-lang/) is now mature enough, IMHO,
to the point I'm spending more time writing documentation and
"spreading the word" than coding that much. I published two
packages on Dub (the language itself and a module) and created a
[Github-Pages-Website](https://til-lang.github.io/til/), already.
I'm not pretentious in any form (I know it's just "*yet another
language*"), but I'm actually very happy with the results: I can
write programs in a interpreted language (I appreciate the power
and development speed it gives me) and can extend it with another
very nice (and powerful) language - D.
(Most other languages still follow the formula "extend it with C"
and, although I consider myself a "C friendly" guy, that usually
doesn't appeal that much to me..)
Anyway: the last thing I was working was **loading dynamic
libraries as "modules"** and I stumbled across the potential
problem of having two different GCs running independently. This
article, https://dlang.org/articles/dll-linux.html , talks about
linking the results (both the interpreter and the shared library)
with `libphobos2.so` -- but it's nowhere to be found on my (Void)
Linux system (and neither on FreeBSD). So I have some questions:
1- Should I compile a `libphobos2.so` "by hand"? Should I use
`libphobos2-ldc-shared.so`???
2- Is the GC really going to run on my shared library after
loading it? (I think that's maybe a "silly question", but also
believe it's worth clarifying the matter.)
I appreciate any help.
(Furthermore, I'd like to thank to all people helping to make D a
language (and ecosystem and community) even more amazing each
day. :-)
(FurtherEvenMore: I'm new to the forum, so I hope I choose the
right place to post this message...)
More information about the Digitalmars-d-announce
mailing list