All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
isInstanceOfto check whether a variable is an instance of a certain class or protocolpickto convert implementation class to a specific protocol
- Changed the error message when a procedure is unimplemented in implementation class
v0.7.1 -2023-10-21
- Fixed the bug that constructors cannot be called
v0.7.0 -2023-8-27
classmacro can now generate multiple constructorsclassmacro can now deal with multiple implementations ofprotocol- See tests dir for more details
{.construct.}macro that generates a constructor for standard type definitions{.protocoled.}macro that make a tuple definition a protocol
- Renamed
toInterfacetotoProtocol - Removed implemented procedures in
protocoldue to the BREAKING CHANGES- This feature will be back in the next version
- Removed some features below:
- Class data constant
- Inheritance class,
superkeyword and{.open.} - Alias class
{.pClass.},{.pProtocol.}{.noNewDef.}forclass
v0.6.1 -2023-2-5
- a bug that prevent working from exported variables
v0.6.0 -2023-2-5
- Argument type inference
- Support for generics
v0.5.0 -2022-9-24
- NamedTuple implementation #78
- classes aliasing tuples are now converted to named tuples and member variables can be defined
- Argument type inference #101
- types of arguments in constructors are now inserted automatically
- Implemented procedures in
protocol#94- procedures can now be implemented in protocols
superfor constructor of inheritance classes #102{.initial.}to set initial values #118
- Old constructors are now removed #96
v0.4.3 -2022-5-22
- a bug that
toInterfacewas not exported
v0.4.2 - 2022-5-22
- a bug that
protocolwas not exported
v0.4.1 - 2022-5-21
- exported properties in implementation classes now work properly #106
funcin implementation classes now don't cause errors #107
- Improved error indication for lack of properties in implementation classes
v0.4.0 - 2022-5-5
protocolthat defines a tuple for an interface #76toInterfaceis used for interface implementations- Properties marked with
{.ignored.}is ignored when interfaces are implemented isProtocolto check a type is protocol or not
- Omission of body #85
classandprotocolare now called without their bodies
- Alternative constructor #77
- Support for generics #93
newType- Use
Type.newinstead
- Use
v0.3.0 - 2021-10-16
- Type inference for default args #55
- Member variables with default values can now be defined without type annotation
- Class data constants #56
isClassto check a type is class or not #27- Alias class #25
{.noNewDef.}to not define constructors #43
v0.2.2 - 2021-8-26 [YANKED]
- A bug that prevented
{.open.}from working #42
- Disabled auto-definition of subclass constructors #44
- Constructors are now not defined automatically in subclasses
- Subclasses are now warning when
{.open.}is used together #42
v0.2.1 - 2021-8-23 [YANKED]
- A bug in constructors #42
v0.2.0 - 2021-8-22
- Auto-definition of constructors #6
- Assistance with constructor definition #6
{.open.}to allow inheritance #13- Support for
converter#16 superkeyword formethod#20
- A bug when variables are marked with
*#37
- 🎉 First release!