Releases: Enalye/grimoire
Releases · Enalye/grimoire
v0.8
(English below)
Français:
- Ajout des types
uint
,byte
etchar
. - Les types entiers retournent une erreur
OverflowError
en cas de dépassement. - Ajout de l’interpolation de string avec
#{}
(ex:"Bonjour, #{name}"
). - Ajout de la syntaxe unicode avec
\u{}
(ex:"\u{1F436}"
est équivalent à"🐶"
). public
a été remplacé parexport
.list<T>
peut maintenant être déclaré sous la forme[T]
.- Ajout de
default<T>
qui retourne la valeur par défaut d’un type. grAddConstraint´ a été remplacé par
addConstraint` dans la bibliothèque.- Les noms des champs des énumérations sont maintenant visibles à l’exécution.
- Correction de la syntaxe des opérateur (ex:
operator"=="
au lieu deoperator==
). - Correction de l’appel de méthode
.?
. - Ajout de
GrOption.safe
pour détecter les corruptions de primitives. - Les champs des énumérations peuvent maintenant avoir des valeurs arbitraires.
- Correction de certains problèmes de référencement de variable.
;
est maintenant obligatoire aprèsyield
,break
,continue
,die
etexit
.
English:
- Added the
uint
,byte
andchar
types. - Integer types now returns
OverflowError
when overflowing. - Added string interpolation with
#{}
(ex:"Hello, #{name}"
). - Added unicode syntax with
\u{}
(ex:"\u{1F436}"
is equivalent to"🐶"
). public
is replaced withexport
.list<T>
can now be declared with[T]
.- Added
default<T>
that returns a type's default value. grAddConstraint´ is replaced with
addConstraint` in a library.- The name of an enumeration's fields are now visible on runtime.
- Fixed the operator syntax (ex:
operator"=="
instead ofoperator==
). - Fixed the method call
.?
. - Added
GrOption.safe
to detect primitives' corruptions. - Enumeration fields can now have arbitrary values.
- Fixed some variable referencing issues.
;
is now required after ayield
,break
,continue
,die
andexit
.
Templating, scoping, etc
New features/Nouvelles fonctionnalitées:
- Local variables scoping is now limited to the current block / La portée des variables locales est maintenant limité au bloc auquel il est défini.
- Local variables can now be redeclared / Les variables locales peuvent désormais être redéfinies.
- Class and foreign types can now be templated / Les classes et types opaques peuvent maintenant être définis génériquement.
- Added the GrLibrary object to define primitives and types in D / Ajout de GrLibrary pour définir les primitives et types en D.
- Primitives parameters are now index based / Les paramètres des primitves utilisent dorénavant des index.
- Added Map class, functions, etc / Ajout de la classe Map, de fonctions, etc.
- GrLibrary can now define variables / GrLibrary peut définir des variables.
- Bug fixes / Correction d'erreurs
- Added stacktraces / Ajout des stacktraces.
- Integer and floating point values are now using 64bits / Les entiers et flottants sont maintenant sur 64bits.
- Etc.
Class inheritance, public visibility, etc
New features:
- Types, global variables and class fields are now visible only to the file they were declared.
- Added the "pub" keyword to make them visible everywere.
- Added the class constructor syntax.
- Added class and foreign inheritance.
- Added "null" value for classes and foreigns.
- All variables are now automatically initialized with a default value if they have no initializer.
- Auto variables ("let") must be initialized at declaration.
- And some fixes.
Enum update
- Type aliases:
type Foo = int;
- Enums:
enum Color { red; green; blue; }
- Removed tuples, they were deprecated
object MyObj { }
is now replaced with the keywordclass
- Some clean-ups and naming changes so some thing will likely be broken