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
,min
functions tomath
library, see documentation. - Showing error for overloading function's return type.
Changes
- Speedup parsing and compiling
Bug fixes
- fix passing list to
for in
statement
Removed
v1.3.12
New features
- add support for multiline C-style comment
- add
round
function tomath
library
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
uniform
inrandom
library
Changes
- change
static
decorator name tostatic_function
name - rename
times
function tomultiplies
infunctional
library - rename
if_and
,if_or
,if_not
functions to_and
,_or
,_not
infunctional
library
Bug fixes
- fix package manager bug
Removed
v1.3.10
New features
- show error for undeleted variables from heap
Changes
- improve
math
,os
library - in
functional
library : changelessThanOrEqual
tolessThanEqual
,greaterThanOrEqual
togreaterThanEqual
- improve error handler for conditions
pytest
based test runner(@mmdbalkhi)- fix conflicting with C\C++\Obj-C in FFI features
- change
static
decorator name tostatic_function
name
Bug fixes
- fix
math
library bug - fix import package bug with
_.*
name - fix
crypto.sha256
library bug
Removed
- remove
libtcc
from stdlib
v1.3.9x
v1.3.9
New features
- add
sacalon list
command to list all available packages - add
sacalon init
command to create a new project, that generatesconfig.json
,.gitignore
andsrc/app.has
files - add
sacalon build
command to build project - add
sacalon run
command to run project - add
string_reverse(str:string)
function tostrings
module - add
assert
function to runtime library - add
no_std
compiler option - add
filename
config option
Changes
- change emitting
std::string
for strings tostring
(because in showing assertion errors,std::string
is illusory). - use
sys.exit
instead ofexit
insrc/core/h_help.py
(@mmdbalkhi) - fix importing system bugs
- improve
typeof
builtin function
Bug fixes
- fix assigning
NULL
to arrays and pointers bug, #36. - fix
check_g++
config option bugs - fix not defined consts when importing packages
- fix
random
library bug - fix
browser
library bug
Removed
- remove
windows
,browser
libraries
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_compile
config 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
token
library
v1.3.7
New features
- manual memory management with
new
anddelete
keyword - functional programming paradigm
- speed up compilation time
- add
typeof
function - now can print arrays and structures
- function decorators
static
andextern
decorator- multiple library import
- improve importing system
- improve stdlib architecture
Bug fixes
- fix scoping bug
- fix
conv
library bug - fix conditions bug
Removed
export
library removedlocal use
statement 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
sizeof
function
Bug fixes
- fix lexer bugs
- check if function returns a value at end of string else show error
main
function should returns int- fix
termcolor
library bugs - fix enum bugs
Standart library
- add
sdl2
wrapper - add
export
library for exporting to C(see : haspy) - add
crypto.sha256
for sha256 hashing
Removed
libcinfo
library removed
v1.3.5
Standard library
Updated
os
:
- add
compiler_name
function to get the name of the compiler - add
arch
function to get the architecture of the system - add
is_x86
function to check if the architecture is x86 - add
is_x64
function to check if the architecture is x64 - add
getenv
function to get an environment variable
Added
- add
libcinfo
library to get information about the libc - add
termcolor
library 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 : 1
inconfig.json
file - use
cuse
keyword to include c++ files.
Bug fixes
- Fix semantic analyser bugs
- Fix standard library bug
v1.3.3
New features
- struct inheritance
- can use
cuse
statement on struct declaration
Bug fixes
- Fix variable scope bug
- Fix variable declaration bug
- Fix semantic analyser bug
v1.3.2
New features
for in
statement- library manager
- flag option
cuse
statement
Bug fixes
- Fix semantic analyser bugs
- Fix nested struct bug
Removed
for to
andfor downto
statement removed