Julia: рдЯрд╛рдЗрдк рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рдЯреБрдкрд▓реНрд╕ рдореЗрдВ рдЯрд╛рдЗрдкрд╡рд╛рд░реНрд╕

рдХреЛ рдирд┐рд░реНрдорд┐рдд 1 рджрд┐рд╕ре░ 2016  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: JuliaLang/julia

julia> type Foo{N} end

julia> Foo{(true, true)}
Foo{(true,true)}

julia> typealias Bar{N} Foo{N}
Foo{N}

julia> Bar{(true, true)}
Foo{(true,true)}

julia> typealias Baz Foo{(true, true)}
Foo{(true,true)}

julia> typealias Quuz{M, N} Foo{(M, N)}
TypeError: Foo: in parameter, expected Type{T}, got Tuple{TypeVar,TypeVar}

рд╣рд╛рдВ, рдЙрдиреНрд╣реЗрдВ рдЯреБрдкрд▓ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рди рдХрд┐ рдЯреБрдкрд▓ рдкреНрд░рдХрд╛рд░ред рдореИрдВ @ рдХреЗрдиреЛ рдХреЛ рджреЛрд╖ рджреЗрддрд╛

рдореИрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЗрд╕рдХреЗ рдЕрд╕рдорд░реНрдерд┐рдд рд╣реЛрдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ Cxx.jl рдореЗрдВ @Keno рдХреЛ (true, false, false) рд╕реЗ Tuple{Val{true}, Val{false}, Val{false}} рдореЗрдВ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛ред

types and dispatch won't change

рд╕рднреА 3 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдореЗрд░реЗ рдмрдЪрд╛рд╡ рдореЗрдВ рд╡реЗ рдПрдХ рд╣реА рд╣реБрдЖ рдХрд░рддреЗ рдереЗред

рдпрд╣ рд╡реИрдз рд╣реИред рдореИрдВ рд╕реАрдПрдХреНрд╕рдПрдХреНрд╕ рдкреНрд░рдХрд╛рд░реЛрдВ рдкрд░ рдкреНрд░реЗрд╖рдг рдХреЗ рд▓рд┐рдП рд╕реАрдПрдХреНрд╕рдПрдХреНрд╕ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд┐рд╡рд░рдг рдореЗрдВ рднреА рдЦреБрджрд╛рдИ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЬреЛ рд╢рд╛рдпрдж рдЖрдкрдХреЛ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рд▓реЛрдЧ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред

Tuple{true, false, false} рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдереЛрдбрд╝рд╛ рдЕрдЬреАрдм рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ)ред

рд╡реЛрдВрдЯрдлрд┐рдХреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдмрдВрдж рдХрд░рдирд╛, рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рд╣рдо рдЯреБрдкрд▓реНрд╕ рдкрд░ рдорд╛рддреНрд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

omus picture omus  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

helgee picture helgee  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

sbromberger picture sbromberger  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

arshpreetsingh picture arshpreetsingh  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

TotalVerb picture TotalVerb  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ