17 karma · joined October 30, 2018
I personally don't experience anything that I would consider "visualization", and I am also terrible at drawing, but I can reproduce a photorealistic drawing of a photograph if I am allowed to look at the photograph while drawing.
> Pure functions have a lot of nice properties. Thread safety. A pure function with value parameters is completely thread safe. With reference or pointer parameters, even if they are const, you do need to be aware of the danger that another thread doing non-pure operations might mutate or free the data, but it is still one of the most powerful tools for writing safe multithreaded code.
Emphasis on 'value parameters'. The invisible 'this' argument is not passed by value, it is passed by reference. By Carmack's definition, C++ member functions are not pure.
> "The directory entry for the FAT file system only has a 5-bit field for storing the number of seconds in the time. This limits the number stored in the field to the range 0-31, which is multiplied by two to obtain the number of seconds."
The timestamps appear to have been copied to a FAT filesystem (common for USB devices) on May 25, 2016.
https://turcopolier.typepad.com/sic_semper_tyrannis/2019/04/...
> lack of a separate integer type (chars are strings, ints are floats)
Lua 5.3 introduced integer types. [1]
> Even bit manipulation requires going through the FFI.
LuaJIT includes a bit manipulation library, but its FFI acceleration is optional. Also, Lua 5.3 introduced bitwise operators. [1]
> One cannot even format UTF-8 text
Lua 5.3 introduced "basic utf-8 support" [1] although I am not sure to what extent.
> The official documentation mostly revolves around C bindings. The actual Lua language documentation is provided by another web site that looks like it has been written by an attention-deficit child
Again, I suspect you are criticizing LuaJIT. The actual Lua documentation [2] has never let me down.