p
Size: a a a
p
DS
EG
p
EG
fn f(x: Even) {}
let a = 10;
if rand() {
a *= 2;
} else {
a += 4;
}
f(a);VS
EG
a это {20, 14}, то тебе придётся делать control flow analysis второй раз, чтобы понять, чётное оно или нетEG
a = if rand then a * 2 else a + 4
p
fn f(x: Even) {}
let a = 10;
if rand() {
a *= 2;
} else {
a += 4;
}
f(a);EG
p
EG
EG
f $ if rand then a * 2 else a + 4
EG
DS
object entities {
case class Point(...)
...
}
А по поводу ФП - почитай либо красную книгу по скале, либо scala with catsDS
DS
VS
VS
DS