Skip to content

Releases: ClueLang/Clue

Version 2.4

30 Jul 10:55
Compare
Choose a tag to compare
  • Fixed code parsing sometime not working properly
  • Added floor division (/_)
  • Added struct, constructor and extern keyword, they will be used in future versions and thus should not be used for variables
  • Continue tokens can now be parsed in 3 different modes: default, luajit and moonscript
  • Fixed luajit continue mode putting ::continue:: even in loops that did not use continue
  • Added raw strings (`Hello World!`)
  • Slightly optimized string scanning and parsing

Version 2.3.2

16 Jul 09:30
Compare
Choose a tag to compare
  • Fixed loop until loops taking the next token after the loop condition ended, making the next line invalid
  • Fixed return not being considered valid if it was at the end of a code block without any returning value and without ;

Version 2.3.1

13 Jul 18:20
Compare
Choose a tag to compare
  • Fixed table elements that are valid in Lua being invalid in Clue because they are a keyword (example: string.match was not valid as match is a keyword in Clue)
  • Fixed ?. and ?[ causing errors when calling functions (a = b?.c() was valid but b?.c() alone wasn't)

Version 2.3

04 Jul 08:54
Compare
Choose a tag to compare
  • Renamed TREDOTS token to THREEDOTS
  • Expressions should now figure out when a match block is part of the expression or not
  • Fix variables alteration crashing Clue if there were more values than variables (#18)
  • Added meta with syntax to use external tables as metatables
  • Added macro keyword
  • Added inline macros
  • Fixed the Lua reserved keywords errors using an extra {/} in the error message

Version 2.2.1

16 Jun 08:25
Compare
Choose a tag to compare
  • Fixed compilation of multiple files in Linux (by Enn3Developer)
  • Fixed the file output name when compiling a folder (by Enn3Developer)
  • Fixed Lua's reserved keywords not used in Clue being able to be used in Clue as variables, which would cause an invalid Lua output
  • Reversed the --nodebugcomments flag, and renamed it to --debugcomments, debug comments will no longer be added in the output by default and will instead only be added when the --debugcomments flag is enabled
  • --dontsave's short version is now -D and --debugcomments's is now -d

Version 2.2

13 Jun 07:03
Compare
Choose a tag to compare
  • Fixed match blocks indentating too many times in the output
  • Reversed the --continue flag, now you have to enable it to use tags and goto (if in the previous versions you used continue with the flag you now have to disable it, and enable it if you instead used continue without the flag)
  • Anonymous functions without arguments can now omit the ()
  • Default cases for match blocks must now be last and not the only case in the block
  • Match blocks' cases can now have extra if conditions
  • Match blocks can now be inside expressions, but every case will correspond to another expression, not a code block
  • Fix two minuses next to each others beaing compiled as a comment (they would have been compiled into --, which is how a comment starts in Lua, they are now compiled into - -)
  • Error messages and debug comments should now be more precise

Version 2.1

22 May 19:00
Compare
Choose a tag to compare
  • Fixed foo[x]bar being treated as valid syntax
  • Fixed repository link in help message
  • Strings are no longer literal and will instead ignore new lines and tabs
  • Added match blocks that work sorta like Rust's match and C's switch
  • Added => token, currently only used by match

Version 2.0

26 Mar 23:28
Compare
Choose a tag to compare
  • ; is no longer required (but can still be used and is sometimes necessary)
  • Rewrote important parts of the parser
  • Very slightly improved compiling speed
  • Static variables can now be declared and defined at the same time
  • Static variables now have debug comments that say in what file they are defined
  • Fix catch blocks not indenting when compiling
  • EOF tokens now have <end> as their lexeme
  • Clue can now read and compile more complex numbers (10e3, 0b10110, ecc)

Version 1.1.2

20 Mar 11:47
Compare
Choose a tag to compare
  • Fix Clue calling require instead of import when compiling a directory

Another bug that should have definitively been noticed WAY before.

Hopefully this is the last time.

Version 1.1.1

19 Mar 21:04
Compare
Choose a tag to compare
  • Fixed variable altering
  • Multiple values can now be returned

Honestly these issues should have been noticed and fixed long ago, my bad.