3.7 KiB
History of Quylthulg
Version 1.0
Initial release, 6 December 2008.
Version 1.0 revision 2011.1214
Cosmetic re-packaging.
Version 1.0 revision 2014.0819
General modernization and picking of nits. Conversion of documentation to Markdown. Ensuring reference implementation works with both ghc and Hugs.
Version 1.0 revision 2015.0101
Added build script, example program, and usage message to reference implementation.
Version 1.0 revision 2016.0504
Fixed embarassing bug in
the reference implementation, reported by LegionMammal978.
The interpreter wasn't able to handle cyclic lists in foreach
expressions.
Also added several example programs and test cases to help confirm the fix.
Also added -m
option to the reference implementation, which tells it to
use the monadic interpreter.
Version 1.0 revision 2019.0321
Added a demo of a web-based interpreter, made by compiling Qlzqqlzuup.hs to Javascript using the Haste compiler, and sticking that into an HTML page along with some support glue.
Modernized the build system; bin/qlzqqlzuup
is now a shell script that
runs the compiled executable if it can be found, or tries to run the source
using runhaskell
if possible, or tries to run the source using runhugs
if possible, in that order.
Forgot to update this HISTORY file.
Version 1.0 revision 2019.0326
Changed how Qlzqqlzuup, the Lord of Flesh depicts the final result of running a Quylthulg program.
Previously, it would simply output the standard derived show
representation of its internal Haskell data structure. It now formats the
result as a literal term in Quylthulg's concrete syntax.
Such terms can be round-tripped: when treated as Quylthulg programs themselves, they will evaluate to themselves. (This is true in almost all cases. Discovering the one case where it is not true is left as an exercise for the reader.)
This was done to make the output, if not more readable, then more idiomatic (in some local sense).
Since the language doesn't really define how the result of a Quylthulg program should be represented, this version number of the language remains unchanged.
Also fixed a couple of typos in the README.
Version 1.0 revision 2019.1008
The driver script now understands the environment variable FORCE_HUGS
to
mean you want to run Qlzqqlzuup using Hugs, even if you have ghc
available.
Simplified and updated Haste driver code and command-line driver code.
Renamed .markdown
file extensions to .md
.
Version 1.0 revision 2021.1023
The build.sh
and clean.sh
scripts were replaced with a Makefile
which uses command
instead of which
to locate executables, and which
works properly with containerized-hastec
to build the Haste version.
Simplified the format of the LICENSE to make it more machine-readable.
Version 1.0 revision 2024.0512
Reverted back to using build.sh
and clean.sh
scripts as they're
more deterministic and don't require make
to be installed.
Switched to using the Cat's-Eye-Technologies-standard hastec launcher script.
Arranged the licensing info to conform to the REUSE 3.0 convention.
Updated the copyright year and switched to the 2-clause BSD license.