|
|
|
|
|
by redxaxder
5436 days ago
|
|
To implement a usable if, you need to tie it to some form of logical branching. Haskell can tie it to pattern matches. C compiles them to conditional jumps in asm. The asm jump instructions are implemented in hardware. The meat of the if definition lies in how you tie it to whatever form of conditional behavior your language has. This is missing from the article. Smalltalk (presumably) has a form of logical branching in it somewhere. To finish the if, just pick one. For a satisfying conclusion, you want to use one that doesn't already look like an if statement. |
|
It uses dynamic binding.
In Java it would look like something this (but it's less useful without proper closures):
Then, given a variable the if-then-else becomes It's a bit more verbose, though...