luvit-api-design
luvit-api-design copied to clipboard
This is discussing the stream module's future and design. `stream` is one of the most important modules in Luvit, it is the main puzzle piece that when done correctly it...
Luvit 2.x is fairly inconsistent when it comes to casing, as it's mostly a mix of camel-case (`fs.readFile()`, `pathjoin.pathJoin()`, `timer.setInterval()`) and all-lowercase (`fs.sendfile()`, `querystring.urldecode()`, `path.basename()`). It may be worthwhile to...
Lua's default libraries are relatively sparse and I oftentimes find myself repeatedly implementing certain common functions, such number clamping/rounding, table joining/merging/filtering/mapping, string padding/splitting and so on. I think it would...
Luvit 2.x provides the `ustring` library, which is a pain to use as it uses wrapper objects resulting in a lot of unnecessary overhead. Luvit 3.x is a good time...
If I understand correctly, you wanted to replace the custom ``require`` with a luvit-specific import mechanism? As it so happens, I've tinkered around with this idea at some point last...
Luvit 2.x's `json` module provides the functions `stringify()` and `parse()` as aliases to the `encode()` and `decode()` functions. Node.js's `querystring` module does the same (technically, the latter are aliases for...
Just spitballing some ideas. 1. Provide a shortcut reference to `uv.new_async` (`thread.new_async`? Would have to decide on naming style), since `async` really only has use in the context of multiple...
Currently, besides `readFile`/`writeFile`, the `fs` module only provides wrappers for functions which are directly provided by luv. There are, however, some miscellaneous functions that one may find useful. The purpose...
In Luvit 2.x the entry file is required rather then loaded (with `fs.readFileSync` + `load`) which causes two issues. 1. It requires the input file to have a `.lua`, `.so`,...