Skip to content
Isaac Shelton edited this page Dec 16, 2020 · 71 revisions

Adept Programming Language 2.4

Table of Contents:

Changes since Adept 2.3

  • Added namespaces
  • Added initializer lists
  • Added __as__ management function
  • Added ~> operator
  • Added polycount variables $#N
  • Added static variables
  • Added alternative syntax choices
  • Added better syntax for constant expressions
  • Added ability to have scoped constant expressions
  • Added new way to pass variadic arguments using VariadicArray
  • Added function aliases
  • Added --entry and pragma entry_point
  • Added sizeof(value) expression
  • Reduced size of resulting executable
  • Made switch statement cases less picky
  • Added built-in compile-checks for printf(String, args ...)
  • Added simple unions
  • Added polymorph that matches convertable types $~T of $T
  • Added ability to use ++ and -- on floating point types
  • Changed integer values of unspecified type to collapse to type long instead of int
  • Added #define
  • Added cross-compilation for Windows from MacOS
  • Changed warnings to print code fragments
  • Added --short-warnings and pragma short_warnings to disable code fragments for warnings
  • Added #error and #warning
  • Added -Werror and pragma warn_as_error to treat compiler warnings as errors
  • Added null meta value
  • Added --ignore-unused and pragma ignore_unused to ignore unused variable warnings
  • Added prototype REPL
  • Added exhaustive keyword to force switch statements to account for all values of an enum
  • Added ability to specify default argument values
  • Added .size field to AnyType types
  • Added support for C-style variadic arguments via va_start, va_end, va_arg and va_copy
  • Added __access__ management function
  • Added __stdlib__ dynamic compile-time meta variable
  • Added -std=2.4 and pragma default_stdlib to set default standard library
  • Added import my_component syntax to import from the standard library
  • Improved --version human friendliness
  • Added --ignore-* compiler flags and pragma ignore_ pragma directives
  • Improved compilation performance
  • Improved error and warning message format
  • Fix some bugs
Clone this wiki locally