-
-
Notifications
You must be signed in to change notification settings - Fork 9
Home
IsaacShelton edited this page Nov 8, 2021
·
71 revisions
- Command Line Usage
- Data Types
- Expressions
- Statements
- Functions
- Structures
- Unions
- Enums
- Aliases
- Function Aliases
- Namespaces
- Methods
- Expression Definitions
- Global Variables
- Memory Management
- Conditionals
- File Imports
- Function Pointers
- Pragma Directives
- Preprocessor
- Type Casting
- Comments
- Scope Rules
- Intrinsic Procedures
- Runtime Type Information
- Foreign Function Interface
- Standard Library
Language:
- Removed
using namespace
- Now supports new macOS M1 chip arm64 architecture
- Added support for anonymous structs/unions
- Added support for anonymous structs/unions as unnamed fields
- Added
typenameof $T
expression - Added
embed "filename.txt"
expression - Added ability to rename
idx
inrepeat
loops viausing my_idx
- Added null
ubyte
literal'\0'ub
- Added support for chained methods as statements -
thing1().thing2().thing3()
- Completed runtime type information for complex composite types
- Added new transcendent variables
__compiler_major__
,__compiler_minor__
,__compiler_release__
, and__compiler_version_name__
- Changed
__compiler_version__
to be a number instead of a string (__compiler_version_name__
now exists for string version) - Added 'alignof Type' expression
- Lots of bug fixes
Standard Library:
- Fixed an issue with
2.x/captain.adept
on HDPI displays. Solution was back-ported to earlier versions - Fixed an issue in
2.4/aabb.adept
- Added more math definitions in
2.5/cmath.adept
- Changed
2.5/*
to use newtypenameof $T
expression instead of RTTI when possible - Added
unix/sys/time.adept
- Added new helper functions in
2.5/captain.adept
- Added new method
clone(this *<*$P> List) <*$P> List
in2.5/List.adept
- Added basic JSON parser
2.5/JSON.adept
- Added more functionality for
2.5/Matrix4f.adept
and2.5/Vector3f.adept
- Fixed an issue in
2.x/Optional.adept
- Added stuff to
stb/image.adept
- Added unique pointer type
2.5/Unique.adept
- Added generic grid data-structure
2.5/Grid.adept
- Added new user utility functions for
2.5/captain.adept
- Added native libraries for Mach-O arm64
- Added experimental WebAssembly target
- Added new method
join(this *<String> List) String
to2.5/parse.adept
- Added meta variables
__arm64__
,__x86_64__
, and__wasm__
- Upgraded warning guard in
sys/cfloat.adept
- 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
andpragma 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 ofint
- Added
#define
- Added cross-compilation for Windows from MacOS
- Changed warnings to print code fragments
- Added
--short-warnings
andpragma short_warnings
to disable code fragments for warnings - Added
#error
and#warning
- Added
-Werror
andpragma warn_as_error
to treat compiler warnings as errors - Added
null
meta value - Added
--ignore-unused
andpragma 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 toAnyType
types - Added support for C-style variadic arguments via
va_start
,va_end
,va_arg
andva_copy
- Added
__access__
management function - Added
__stdlib__
dynamic compile-time meta variable - Added
-std=2.5
andpragma 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 andpragma ignore_
pragma directives - Improved compilation performance
- Improved error and warning message format
- Cross-Compilation from MacOS to Windows with
--windows
- Fix some bugs