Change log

Revision 2020-08-22
  • Added slice operations
  • Changed cast syntax to cast(<expr> as <type>)
Revision 2020-07-08
  • Additions to error handling.
  • Introduction of labelled next, break and continue.
  • Removal of goto.
Revision 2020-06-17
  • Alternate casts in idea.
  • Method functions simply renamed to "method".
  • Completely revised error handling.
Revision 2020-04-23
  • Updated error handling, adding try-else-jump and changed how errors are passed.
  • Included reflection page
Revision 2020-03-30
  • Added Odin and D to comparisons.
  • Updated text on how to contribute.
  • Updated the example on undefined behaviour.
  • Updated text on conversions.
  • Moved double -> float conversion to "ideas"
  • Fixed some typos.
Revision 2020-03-29
  • Type inference for enums.
  • Included macro page.
  • Corrected precedence rules with try and @.
  • Type functions.
  • Managed variables back to ideas.
  • Volatile moved back to ideas.
  • Removed implicit lossy signed conversions.
  • Introducing safe signed-unsigned comparisons.
  • "Function block" renamed "expression block".
  • @ sigil removed from macros and is only used with macro invocations.
  • Changed cast syntax from @cast(Type, var) to cast(var, Type)
Revision 2019-12-26
  • Added module versioning system idea.
  • Fleshed out polymorphic functions.
  • Unsigned to signed promotion mentioned in "changes from C"
Revision 2019-12-25
  • Changes how generic modules work.
  • Switched so that vararrays use Type[*] and sub arrays use Type[].
  • Added sub module granularity, partial imports (only importing selected functions and types), removal of local, extended aliasing. See modules.
  • Updated "changes from C" with removal of multiple declarations.
Revision 2019-12-11
  • Updated the setup page.
Revision 2019-12-03
Revision 2019-11-01
Revision 2019-09-30
  • Removed references (non nullable pointers)
  • Removed idea with aliasing in import
Revision 2019-08-14
  • Compile time run-include and include ideas.
  • New module system idea.
Revision 2019-08-14
  • Namespace separator changed to :: instead of . to simplify parsing.
  • Added FourCC, Macro text interpolation to ideas.
  • Added Yacc grammar (incomplete)
  • Added "attribute" keyword.
  • Changed type alias declaration to use typedef ... as ....
  • Introduced type operator.
  • Added section about attributes.
Revision 2019-08-02
  • Added error example.
  • Added generics example.
  • Added method function example.
  • Added idea implicit method functions
  • Expanded the types page somewhat.
Revision 2019-07-30
  • Added default and named arguments to the functions page.
  • Added varargs to the functions page.
  • Added idea about hierarchal memory.
  • Added idea of raw dynamic safe arrays & strings.
  • Volatile sections are no longer prefixed by '@'
  • Added idea regarding c3 interop
  • Added page about c interop.
  • Removed c_ichar and c_uchar types as they are redundant.
  • Updates to keywords on the grammar page../syntax).
Revision 2019-07-27
Revision 2019-07-24
  • Idea: typed varargs.
  • Added "pure" post condition
  • Updated c3c commands.
  • Removed the type keyword for defining union/struct/enum/error.
Revision 2019-07-23
  • Added to generic functions examples for [] and []=
  • Developed ideas about vectors in the idea section.
  • Defined 2's complement for signed integers.
  • Idea: Managed pointers.
  • Updated naming rules for types.
  • Added more naming rules + examples of them.
  • Removed "defer on function signatures" from ideas.
  • Removed "managed qualifier" from ideas.
  • Removed "defer sugar" from ideas.
  • Removed "built in dynamic arrays" from ideas.
  • Added library section.
  • Added more about pre and post conditions.
Revision 2019-07-22
  • Added "Design Principles" to the index page.
Revision 2019-07-21