Or even @Type and @Immutable

On Sunday, October 30, 2016 at 11:12:47 AM UTC+13, Jake Rosoman wrote:
>
> Good idea! I think more self explanatory naming would be @deftype and 
> @defimmutable though
>
> On Wednesday, October 26, 2016 at 4:00:13 AM UTC+13, Cedric St-Jean wrote:
>>
>> Types are central to Julia programming, but the built-in `type` and 
>> `immutable` definitions can be cumbersome to write. QuickTypes.jl 
>> <https://github.com/cstjean/QuickTypes.jl> provides two alternative 
>> macros, *@qtype* and *@qimmutable, *with a more convenient syntax:
>>
>> Pkg.add("QuickTypes")   # to install
>> using QuickTypes
>>
>> @qtype Wall(width, height)
>>
>> # Optional and keyword-arguments
>> @qtype Cat(name, age::Int, nlegs=4; species="Siamese")
>>
>> # Parametric type
>> @qtype Pack{T}(animals::Vector{T})
>>
>> # Inheritance
>> abstract Tree
>> @qtype Maple(qty_syrup::Float64) <: Tree
>>
>> # Immutables work the same way
>> @qimmutable SquaredNumber(x2::Number)
>>
>>

Reply via email to