re: Programming Paradigms and the Procedural Paradox VIEW POST

TOP OF THREAD FULL DISCUSSION
re: void and unit are generally type names, not values. My point was, even though some languages are syntactically defined such that everything is an e...

Here is a good post on void vs unit. Unit does in fact have a value and a type, unlike void. Otherwise I agree with you. Prime example of what you are saying in F#: when a function returns unit (which is a sign that it performs a side effect), and it contains an if statement, then the compiler will include an implicit else () if you don't supply one. I actually don't like that, because it hindered my understanding when I was first learning F#. The early things you do like printing to the console return unit, so it feels like if is a statement. But then later when you are doing other kinds of logic, it won't compile when you operate under that assumption.

code of conduct - report abuse