Skip to content

Latest commit

 

History

History
40 lines (33 loc) · 1 KB

README.md

File metadata and controls

40 lines (33 loc) · 1 KB

lethe

a statically typed, unsafe scripting language

note: experimental, work in progress, there will most likely be bugs => use at your own risk

  • requirements:

    • C++17 compiler
    • IEEE floating point
    • 2's complement integers
    • sizeof(bool) == 1
    • sizeof(char) == 1
    • sizeof(int) == 4
    • little endian CPU
    • script structs must be trivially movable (=no self-refs, implies no small buffer opts)
  • features:

    • unsafe
    • no user-defined conversions
    • no function overloads
    • no exceptions
    • no garbage collector (uses intrusive reference counting)
    • no REPL
    • no multi-threaded compilation of scripts
    • no bytecode serialization
    • optional dumb JIT for x86/x64
    • debugger - win64/linux/OSX - binary only
  • todo:

    • clean up/simplify/modernize
    • better documentation, more samples/libs

hello world (makes use of Terry A. Davis' (RIP) implied printf for expressions starting with a string literal):

		void main()
		{
			"Hello, world!\n";
		}