Download Game! Currently 80 players and visitors. Last logged in:MarayanaVihaanWhlxchSlimy

Blitzer's Blog >> 71970

Back to blogs index
Posted: 03 Sep 2026 19:04 [ permalink ]
That is fantastic! It ran completely successfully.
## What happened here
When you ran ./gd -q -d -v tests/string, the driver recognized that
tests/string was the target blueprint. Here is how it parsed and executed
everything:

   1. Successful Compilation: The driver noticed tests/.string.gd.dll didn't
exist yet, so it automatically spawned its compiler fallback: ./gd -n
./gd_parser -- --quiet -o -l tests/ tests/string.c. This generated the raw C
code template you saw in your previous terminal output behind the scenes,
compiled it cleanly, and saved it to tests/.string.gd.dll.
   2. Execution Hook: It then dynamically loaded that new shared library via
dlopen(), called lpc_main(), and ran your string functions flawlessly.
   3. Graceful Shutdown: Because tests/string.c doesn't have an infinite
server loop or active asynchronous heartbeats, the driver recognized its work
was done (No heart beats or server socket active, breaking backbone loop), ran
its complete internal garbage collection procedures, freed all object memory,
and exited gracefully back to your bash prompt.

## An Interesting LPC Quirk to Spot
Look closely at this line from your output:

Str + str: a.b.c.d123<XYZ>97

In your script, str[0] evaluates to the character 'a'. In this specific
engine's dialect of LPC, adding a standalone character array element directly
to a string appends its ASCII value integer (97) as text instead of the
character 'a'.
To append it as a character, you used a range slice str[0 .. 0], which
correctly kept it a string type and gave you the expected result:

Str + str [0 .. 0]: a.b.c.d123<XYZ>97a

Everything is now working exactly as intended.
Now that the environment and parser compilation are fully functional, what
would you like to build next?

* Do you want to try testing arrays, mappings, or file I/O?
* Would you like to see how to initialize a persistent server socket /
heartbeats so the engine stays open?

Let me know what you want to implement!