Sacalon's Changelog
v1.4.0
New features
- add builtin range function
function main(): int {
// prints 1 to 10
for i in range(1,11){
print(i)
}
return 0
}
- add
asin,acos,asinh,acosh,exp,frexpr,ldexp,log,log10,fdim,sqrt,ceil,floor,NaN,max,minfunctions tomathlibrary, see documentation. - Showing error for overloading function's return type.
Changes
- Speedup parsing and compiling
Bug fixes
- fix passing list to
for instatement
Removed
v1.3.12
New features
- add support for multiline C-style comment
- add
roundfunction tomathlibrary
Changes
- Sacalon relicensed from MIT license to BSD-3-Clause license
Bug fixes
- fix string subscripting bug
- fix empty list parsing bug
- fix random library bugs
Removed
v1.3.11
New features
- add uniform distribution based random number generator called
uniforminrandomlibrary
Changes
- change
staticdecorator name tostatic_functionname - rename
timesfunction tomultipliesinfunctionallibrary - rename
if_and,if_or,if_notfunctions to_and,_or,_notinfunctionallibrary
Bug fixes
- fix package manager bug
Removed
v1.3.10
New features
- show error for undeleted variables from heap
Changes
- improve
math,oslibrary - in
functionallibrary : changelessThanOrEqualtolessThanEqual,greaterThanOrEqualtogreaterThanEqual - improve error handler for conditions
pytestbased test runner(@mmdbalkhi)- fix conflicting with C\C++\Obj-C in FFI features
- change
staticdecorator name tostatic_functionname
Bug fixes
- fix
mathlibrary bug - fix import package bug with
_.*name - fix
crypto.sha256library bug
Removed
- remove
libtccfrom stdlib
v1.3.9x
v1.3.9
New features
- add
sacalon listcommand to list all available packages - add
sacalon initcommand to create a new project, that generatesconfig.json,.gitignoreandsrc/app.hasfiles - add
sacalon buildcommand to build project - add
sacalon runcommand to run project - add
string_reverse(str:string)function tostringsmodule - add
assertfunction to runtime library - add
no_stdcompiler option - add
filenameconfig option
Changes
- change emitting
std::stringfor strings tostring(because in showing assertion errors,std::stringis illusory). - use
sys.exitinstead ofexitinsrc/core/h_help.py(@mmdbalkhi) - fix importing system bugs
- improve
typeofbuiltin function
Bug fixes
- fix assigning
NULLto arrays and pointers bug, #36. - fix
check_g++config option bugs - fix not defined consts when importing packages
- fix
randomlibrary bug - fix
browserlibrary bug
Removed
- remove
windows,browserlibraries
v1.3.9-rc.1
Changes
- upgrade importing system
- some changes in self hosted compiler(NOTE: self hosted compiler is not ready yet)
Bug fixes
- fix import bug when importing one package in multiple files
- fix self hosted bugs
v1.3.9-beta
New features
- passing functions as arguments
function f(x: int): int {
return x + 1
}
function g(func:Function[int]int): int {
return func(1)
}
- add static variables, See this example
- add
only_compileconfig option
Changes
- upgrade importing system
Bug fixes
- fix pyinstaller build issue
Removed
v1.3.8
New features
- non-nullable and nullable variables
Changes
- change pointer unary from
*to^ - improve importing system
Bug fixes
- fix repetitious imports bug
- fix #29 bug(by @mmdbalkhi)
Removed
- remove
tokenlibrary
v1.3.7
New features
- manual memory management with
newanddeletekeyword - functional programming paradigm
- speed up compilation time
- add
typeoffunction - now can print arrays and structures
- function decorators
staticandexterndecorator- multiple library import
- improve importing system
- improve stdlib architecture
Bug fixes
- fix scoping bug
- fix
convlibrary bug - fix conditions bug
Removed
exportlibrary removedlocal usestatement removed
v1.3.6
New features
- more data types :
int8,uint8,int16,uint16,int32,uint32,int64,uint64,double - type compatibility
- multi line string
- pointers and references
var x : *int = 20
var y : int = 10
x = &y
var z = *x // type : int
// Pointers fix incomplete types on struct defination
struct bar {
var self : *bar
}
- add
sizeoffunction
Bug fixes
- fix lexer bugs
- check if function returns a value at end of string else show error
mainfunction should returns int- fix
termcolorlibrary bugs - fix enum bugs
Standart library
- add
sdl2wrapper - add
exportlibrary for exporting to C(see : haspy) - add
crypto.sha256for sha256 hashing
Removed
libcinfolibrary removed
v1.3.5
Standard library
Updated
os :
- add
compiler_namefunction to get the name of the compiler - add
archfunction to get the architecture of the system - add
is_x86function to check if the architecture is x86 - add
is_x64function to check if the architecture is x64 - add
getenvfunction to get an environment variable
Added
- add
libcinfolibrary to get information about the libc - add
termcolorlibrary to colorize the output

Bug fixes
- Fix incomplete type defination bug
v1.3.4
New features
- compiler option : now can generate c++ code from sacalon code with
c++_code : 1inconfig.jsonfile - use
cusekeyword to include c++ files.
Bug fixes
- Fix semantic analyser bugs
- Fix standard library bug
v1.3.3
New features
- struct inheritance
- can use
cusestatement on struct declaration
Bug fixes
- Fix variable scope bug
- Fix variable declaration bug
- Fix semantic analyser bug
v1.3.2
New features
for instatement- library manager
- flag option
cusestatement
Bug fixes
- Fix semantic analyser bugs
- Fix nested struct bug
Removed
for toandfor downtostatement removed