Releases: dictu-lang/Dictu
Releases · dictu-lang/Dictu
Release 0.10.0
Release 0.9.0
Release 0.8.0
Release 0.8.0
Change log
This is the change log from 0.7.0
- Fix
Datetime.strftime()
#227 - Fix an issue with nested module imports #228
- Fix OPCODE disassembly #229
- Fix missing OPCODES in the disassembler and fix an issue with dicts #230
- Add
list.remove()
#231 - Add
dict.keys()
#232 - Refactor the internals to have traits be a class object #233
- Add abstract classes #234
- Add some OOP design pattern examples #235
- Add the ability to define class variables #236
- Remove "native classes" in favour of modules #237
- Add
Math.sqrt()
#239 - Add dedicated OPCODE for globals #240
- Require most of the standard lib to need an import #241
Release 0.7.0
Release 0.7.0
Change log
This is the change log from 0.6.0
- Add a new Datetime native class #218
- Remove
-Wno-unused-parameter
compiler flag forcing unused variables to be handled #219 - Remove the
-Wno-strict-aliasing
compiler flag #220 - Simplify some of the OPCODES within the VM and fix a GC issue with files #221
- Add modules and fix the issue with imports polluting the global namespace #222
- Add examples README for better exposure to a range of Dictu programs #223
- Update the benchmarks scores and create some python alternatives for a comparison point #224
Release 0.6.0
Release 0.6.0
Change log
This is the change log from 0.5.0
- Add
__file__
which holds the path of the current file. #192 - Add
not
which is synonymous with!
. #193 - Change
System.setCWD
to return a status code, and not raise a runtime exception. #194 - Change the hash table collision method to the Robin Hood hashing scheme. #195
- Add
System.remove()
for removing files. #197 - Add
System.mkdir()
andSystem.rmdir()
for adding and removing directories. #198 - New anonymous functions (arrow functions) #200
- New System class methods #201
- Addition of constants #202
- A whole range of cleanup and bug fixes #204
- Add error handling #206
- toNumber returns
nil
on failure rather than 0 #207 - Update to lists. + operator now creates a new list rather than mutating.
.extend()
method was added to lists to replace old+
functionality #208 - Allow set creation with initial values #209
- Updated example programs #210
- Fix an issue with
file.readLine()
where it had the wrong length. This PR also changesreadLine
to returnnil
when it reaches the end of a file rather than an empty string #212 - Update file documentation #213
- Fix bugs with
JSON.stringify()
and add some missing tests based on a coverage tool #214 - Add some more tests and update documentation #215
Release 0.5.0
Release 0.5.0
Change log
This is the change log from 0.4.0
- Fix the GC prematurely cleaning some values #159
- Changed
OP_POP
to not check every value for a file and instead have file closing be its own opcode #160 - Rewrite internal logic of dictionaries to use
Table
type #161 - Rewrite internal logic for native methods, now stored in hash tables rather than an if/elif chain #164
- Fix a bug in the compiler where stringConstants were not being free'd #166
- Allow more types to be dictionary keys (strings, numbers, booleans, nil) #167
- Add break statement #168
- Add Path native class #169
- Add native class properties which act similar to constants #171
- Moved "magic" argv into the System native class #173
- Added System.platform which is a string of the users OS platform #175
- Move
len()
builtin to a method on values #176 - Whole range of bug fixes and cleanup (see PR for more info) #177
- Fix issue with runtime error reporting incorrect filenames #178
- Whole range of bug fixes and cleanup (see PR for more info) #182
- Move
str()
builtin to a method on values #183 - Rework toString to return consistently formatted quotes and move some functions from snprintf to memcpy #186
- Add "raw strings" #187
- Move
number()
builtin to a method on strings #188 - Add toString on classes and instances. #189
- Moved
bool()
builtin to be a method on values #190
Release 0.4.0
Release 0.4.0
Change log
This is the change log from 0.3.0
Documentation
- Updated documentation to have a page for each native class
- Rewrite documentation for most pages #133
- Add documentation for new additions (HTTP, System)
- Add documentation for new builtin
isDefined
Code changes
- Fixed an issue with argv variable and GC #122
- Add native classes to encapsulate like methods and remove global space pollution #123
- Added Env class to get / set ENV vars #125
- Reworked how native functions work with the addition of EMPTY_VAL #125
- New System class. This class contains clock, time, sleep, exit and collect #127
- Fix issue with snprintf length #129
- Fix memory leak in list.join() #130
- Add JSON support #132
- Added System.getCwd() #136
- New HTTP class (get / post) #138
- Cleanup and fix GC issue with JSON parse #139
- Remove vm.gc flag and use stack instead #140
- Ability to copy (deepCopy also) objects #141
- Add setCWD to System class #144
- Add extra compiler flags to catch more potential issues #145
- Allow Dictu to be build on TCC #146
- Make the building of the HTTP class optional #147
- Remove global VM, compiler and parser variables! #152
- Add new isDefined() builtin function #154
- Add a cache to variables to avoid constants filling up #156
- Allow multiple variables to be defined in a single statement #157
Release 0.3.0
Release 0.3.0
Change log
This is the change log from 0.2.0
Documentation
- Fixed broken documentation page
- Added dark theme to documentation page
- Based on whether the browser is in "dark mode"
- Documentation page changes #105
- More example Dictu programs #106
Code changes
- Added import cache #92
- This caches imports, and stops the same file being imported multiple times.
- Added CLI variables #93
- Added
argv
variable which is a list containing all the arguments passed to the script.
- Added
- Added hasAttribute on instances #96
- A runtime exception will be raised if a property which does not exist is tried to be accessed. This method allows runtime checking for a present attribute
- Added getAttribute and setAttribute on instances #98
- These methods allow properties to be set / retrieved when the name of the property is unknown
- Added traits #100
- Added slicing on lists and strings #108
- Bunch of cleanup throughout the codebase #112
- Added list.join() #114
- Added default values in function header #116
Release 0.2.0
Release 0.2.0
This is the first ever release for Dictu! A lot has happened since the creation of Dictu, and there is a lot still to be done, however I feel after the recent changes Dictu ready for a release.
Building Dictu
$ git clone https://github.com/Jason2605/Dictu.git
$ cd Dictu
$ make dictu
$ ./dictu tests/runTests.du
Documentation
The documentation for Dictu is kept up to date and hosted here.