Skip to content

Releases: Enalye/grimoire

v0.8

06 Mar 00:56
Compare
Choose a tag to compare

(English below)

Français:

  • Ajout des types uint, byte et char.
  • 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é par export.
  • 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 de operator==).
  • 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ès yield, break, continue,  die et exit.

English:

  • Added the uint, byte and char 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 with export.
  • 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 of operator==).
  • 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 a yield, break, continue,  die and exit.

Templating, scoping, etc

29 Sep 22:35
Compare
Choose a tag to compare

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

04 Sep 18:49
Compare
Choose a tag to compare

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

15 Apr 22:54
Compare
Choose a tag to compare
  • Type aliases: type Foo = int;
  • Enums: enum Color { red; green; blue; }
  • Removed tuples, they were deprecated
  • object MyObj { } is now replaced with the keyword class
  • Some clean-ups and naming changes so some thing will likely be broken