jckarter/clay — pull request #380 by stepancheg (2012-09-16 16:20:29+00:00)
Title: compile-time if

Use case example:

```
printRecordFields(r) {
..for (f in ..recordFields(r)) {
if (#(Type(f) == String)) {
println("string of size ", size(f));
} else {
println(f);
}
}
}
```

This code won't work with runtime-if, because size function cannot
be called for every field type.

This code can be obviously rewritten with two overloads, but in
certain situations explicit if statement is easier to read/maintain
than overloads.

This is backward compatible change, because before this commit

```
if (#true)
```

was compile-time error.

if-expressions for static parameters are not yet implemented.