А
Size: a a a
А
SS
А
А
SS
p
M
BD
Т8
АГ
map!(x=>x+1)(myVec)
, первые скобки это типовые параметры), просто другие функции, можно делать баунды в императивном стиле (типа int foo(T)(T a, T b) if __compiles(a+b)
, функцию можно будет вызвать только если значения типа T можно складывать, ну и там еще есть всякие traits которые как предикаты на типах), миксины опять же, можно собрать строку дишного кода и втавить в любое место программы, а ляauto a = 1;
mixin(«auto b = a*2»);
auto c = b - 1;
Т8
map!(x=>x+1)(myVec)
, первые скобки это типовые параметры), просто другие функции, можно делать баунды в императивном стиле (типа int foo(T)(T a, T b) if __compiles(a+b)
, функцию можно будет вызвать только если значения типа T можно складывать, ну и там еще есть всякие traits которые как предикаты на типах), миксины опять же, можно собрать строку дишного кода и втавить в любое место программы, а ляauto a = 1;
mixin(«auto b = a*2»);
auto c = b - 1;
АГ
Т8
OK
K
Data.Fix
, recursion-schemes
) подходит для операций над деревом. Композиция функций (и стрелок) подходит для соединения стадий компилятора. Да и просто язык удобный.PS
Data.Fix
, recursion-schemes
) подходит для операций над деревом. Композиция функций (и стрелок) подходит для соединения стадий компилятора. Да и просто язык удобный.M
Т8
M
AT