A little glossary:
- A list of items:
(1, 2, 3)
- An object has members (probably should be properties, attributes, fields, or something)
- All functions go into modules, including the fictitious main function
- Script functions vs native functions.
Simple! Using CMake:
mkdir cmake-build-debug
cd cmake-build-debug
cmake ..
cmake --build .
- automatic disassembly is enabled by default (into .helium_disassembly)
- full value tracing is enabled (
HELIUM_TRACE_VALUES
, output .helium_value_trace) - GC tracing is enabled (
HELIUM_TRACE_GC
, output .helium_gc.log)
- boolean
- integer
- real
- string
- list
- object
- nativeFunction
- scriptFunction
- internal
- nil
- integer to real
- note: no implicit conversions to bool
- use explicit comparison for
<value> != 0
, 0.0 and empty strings - use
has <value>
to test against nil more succinctly
- use explicit comparison for
- Garbage collection per https://researcher.watson.ibm.com/researcher/files/us-bacon/Bacon01Concurrent.pdf (like PHP 5.3)
- some examples of usage
- strings mutable or not?
- all compile-time options