oak icon indicating copy to clipboard operation
oak copied to clipboard

Linus's myriad bug list

Open thesephist opened this issue 3 years ago • 0 comments

Language & CLI

  • [x] std.{is, constantly} for more fluent code, as in Klisp
  • [x] std.{exclude, separate} to complement std.filter and enable more fluent code, as in Klisp
  • [x] path.resolve does not fully resolve /./ and /../ patterns (collapse those paths down) if the input path is absolute.
  • [x] str.{rindex, rfind} for searching a string from the right, similar to Python's rfind and friends.
  • [x] A function in the http library to parse, construct, and manipulate query parameter strings, e.g. { a: true, b: 23 } <=> a=true&b=23. Note this should take into account http.percentEncode. It should omit null values and JSON-serialize any composite values.
  • [x] str.space? (and therefore 1-adic forms of str.trim and friends) are broken on --web for the \r character.
  • [x] Variants of std.loop that I can use with async loop bodies for an async loop (e.g. reading a file into a fixed-size buffer, concurrent jobs working from a list of file paths). This will come in three versions, an aloop for unbounded async looping as well as a serial and a parallel variant which facilitate serial and parallel processing respectively.
  • [x] str.rindexOf to match std.rindexOf
  • [x] Add random.normal or something of the kind (sampling from a standard normal distribution, a la torch.randn). Implementation: fn normal { u := 1 - rand(), v := 2 * math.Pi * rand(), math.sqrt(-2 * log(math.E, u)) * cos(v) }
  • [ ] TypeScript-style static typing with type inference (https://github.com/Ahnfelt/type-inference-by-example), perhaps in a built-in CLI tool like oak check. Teal (https://github.com/teal-language/tl) is another effective inspiration.

Website

  • [x] Download link on the website uses a relative url #start instead of an absolute /#start, so is broken on any page that isn't the main page.
  • [x] Highlight proxy is broken for URLs with query parameters, like links to private GitHub repo source files, because the query parameters aren't encoded properly in the proxy <form> and therefore fed to the proxy as query params to the proxy, not the original proxied URL.
  • [x] Write some quick blog about the codecols utility

thesephist avatar Mar 29 '22 20:03 thesephist