- 0 Posts
- 4 Comments
Joined 4 months ago
Cake day: April 13th, 2025
You are not logged in. If you use a Fediverse account that is able to follow users, you can follow this user.
considerealization@lemmy.cato Canada@lemmy.ca•Hamilton tenants take ownership of their building and run it as a cooperative1·2 months agoAfaiu,
- a real “Free market” is a myth.
- A fully gov. Controlled market is not a free market by definition.
- The problem with the Canadian housing market is not government regulation, it is excessive marketization (and not enough of the right kinds of regulation).
considerealization@lemmy.cato Programming Languages@programming.dev•Unified Condition Expressions1·3 months agoIsn’t
match
already such a unified expression? Especially once you extend matches with guards, it seems to me like this is a solved problem. E.g.,if x == 1.0 then "a" else "x"
is
match x with | 1.0 -> "a" | _ -> "b"
and
if x == 1.0 then "a" 2.0 then "b" else "z"
is (and IMO reads much clearer this way):
match x with | 1.0 -> "a" | 2.0 -> "b" | _ -> "z"
and
if xs .isEmpty then "e" .contains(0,0) then "n" else "z"
is
match () with | _ when x.isEmpty -> "e" | _ when x.contains(0,0) then "n" | _ -> "z"
and
if person .age < 18 then 18 is Person("Alice", _) then person.age is Person("Bob", let age) then age else -1
is
match person with | _ when person.age < 10 -> 18 | Person("Alice", _) -> person.age | Person("bob", age) -> age | _ -> -1
.
Finally,
if person is Person("Alice", let age) then age else -1
Would be the simple
match person with | Person("Alice", age) -> age | _ -> -1
Seems to me this reads more clear in general and has less magic. Plus, it’s already implemented in a bunch of languages.
“Persecution” — lol.