Skip to content

Latest commit

 

History

History
107 lines (82 loc) · 4.57 KB

todo.md

File metadata and controls

107 lines (82 loc) · 4.57 KB

TODO list

✅ 0.15 beta (goal: October 20th, 2023)

Release date: October 14th, 2023

  • add var id.attr = value (finished 4/10/23)
  • fix bug where this is not defined in classes (finished 6/10/23)
  • fix bug where methods are of type functions (finished 6/10/23)
  • fix bug where global vars are not accessible in methods (finished 6/10/23)
  • add class inheritance (finished 11/10/23, fixed 14/10/23)
  • add an error when things like math.(assert 1) (finished 3/10/23)
  • add time.time() (finished 3/10/23)

✅ 0.16.0 beta (goal: November 26th, 2023)

Release date: November 27th, 2023

  • add '\xXX' and '\uXXXX' support (finished 6/10/23)
  • add '\UXXXXXXXX' (finished 8/10/23)
  • add '\N{UNICODE CHARACTER NAME}' (finished 8/10/23)
  • add startswith and endswith (finished 10/10/23)
  • add possibility to import files in current folder and sub-folders (finished 8/11/2023)
    • Syntax: (update parser) (finished 18/10/2023)
      • import file if file is in current directory
      • import dir.file if dir is in current directory and file is in dir
    • Update ImportNode (finished 18/10/2023)
    • Runtime:
      • Get the directory of the main file which is executed or imported (finished 7/11/2023)
      • Resolve all the imports depending on this directory (finished 8/11/2023)
  • add var++, and var-- (finished 17/10/23)
  • Change export to export (any node) as identifier or export identifier (finished 2/11/2023)
  • add possibility to read command line arguments (finished 26/10/2023)
  • switch to semantic versioning (finished 16/10/23)
  • return None in loops, even when there is a continue of a break (finished 24/11/2023)
  • fix the fact that Nougaro doesn't crash with an error code when there is an error

✅ 0.17.0 beta (goal: no goal, this is a crash-fixing version)

Release date: January 19th, 2024

✅ 0.18.0 beta (goal: February 2024)

Release date: March 16th, 2024

  • add import ... as ... (finished 16/10/2023)
  • rewrite shell.py CLI args with argparse (finished 22/01/2024)

✅ 0.19.0 beta (goal: no goal)

Release date: May 8th, 2024

  • add webbrowser (finished 24/04/2024)
  • add unicodedata (finished 9/10/2023)
  • move config files to ~/.config under Linux and BSD, ~/Library/Preferences under macOS, and %appdata% under Windaube. QT documentation about where config files should be stored. (finished 10/03/2024, testing completed 11/03/2024)
  • rewrite parser to make it faster and easier to read (finished 30/04/2024)

✅ 0.20.0 beta (goal: June 8th, 2024)

Release date: June 6th, 2024

  • add continue and append (value) (completed as no longer planned on 14/05/2024)
  • add -i cli arg to execute a file then run a shell within it (finished 08/05/2024)

✅ 1.0.0 (goal: September 2024)

Release date: July 8th, 2024

  • if possible, implement break (name) and continue (name) where (name) is if, for, … (finished 09/05/2024)

  • completely switch to semver (finished 7/11/2023)

  • Add expected type in data Nougaro stores (conffiles) (finished 6/6/2024)

  • add optional arguments in functions (finished 23/06/2024)

    • Lexer:
      • Add the <default> token (finished 22/06/2024)
    • Parser:
      • Allow optional parameters in a secondary optional parenthesis (finished 22/06/2024)
      • Update nodes (call + def) (finished 24/02/2024, updated 22/06/2024)
    • Runtime:
      • Update Function value and methods (finished 28/05/2024, updated 22/06/2024)
        • Check args (finished 27/05/2024, updated 22/06/2024)
        • Populate args (finished 28/05/2024, updated 22/06/2024)
      • Update Interpreter visit methods (finished 22/06/2024)
    • Add tests (finished 23/06/2024)

Future releases

  • eventually remove protected variables (finished 20/01/2024)

  • add loop (infinite loop) (finished 23/07/2024)

  • create highlight extension for VSCode

  • add unit tests

  • add complex numbers

  • do all the TODOs in the code (with the pretty good PyCharm 'TODO' tab)

  • add builtin classes, or find a way to have builtin-methods in Values.

  • add try catch

  • add raise

  • add assert ... crashes (on Error) (with message "...")

  • add tkinter

  • add turtle

  • add socket

  • add requests

What to do when Nougaro fully updates to…

Python 3.12

src/runtime/values/tools/py2noug.py:19 @ 8ebc929