Reputation
15,875
Top tag
Next privilege 20,000 Rep.
Access 'trusted user' tools
Badges
1 39 63
Newest
 Good Answer
Impact
~216k people reached

1d
comment Is A Language-Integrated Build System Generally Desirable?
What you describe is not a build system. It's just dependency resolution. Which can be left to the build system of course, but is not its primary function.
Jun
30
revised Does it make sense to choose UTF-32, based on concern that some basic rule will be broken for UTF-8?
added 71 characters in body
Jun
27
comment What problem do algebraic data types solve?
@usr Finding the catch-all clause is not what the compiler does (and in any case is a simple syntactic transformation as you describe). However, the compiler instead has to check if clause1 || clause2 || ... is a tautology, which is indeed equivalent to testing the satisfiability of !clause1 && !clause! && ... - but I'm still skeptical because this is a reduction from exhaustiveness to SAT, not the other way around (i.e., if we can solve SAT we can solve exhaustiveness, but no mention of the other way around).
Jun
27
comment What problem do algebraic data types solve?
@usr No language I'm aware of attempts a perfect solution, either the compiler understands that it's exhaustive or you're forced to add a catch-all case where you crash and burn. I don't know of a relation to SAT though, do you have a link to a reduction? Regardless, for actual code written in real programs, exhaustiveness checking is a drop in the bucket.
Jun
24
awarded  Good Answer
Jun
22
awarded  Good Answer
Jun
22
comment What problem do algebraic data types solve?
@Ian Most functional languages are statically typed and check exhaustiveness of pattern matching. However, if there is a "catch all" pattern, the compiler is happy even if the function would have to deal with the new case to do its job. In addition, you have to recompile all dependent code, you can't compile just one library and re-link it into an already-built application.
Jun
22
awarded  Enlightened
Jun
22
awarded  Nice Answer
Jun
21
answered What problem do algebraic data types solve?
Jun
21
answered What is the term of property when `succ` is defined?
Jun
20
comment Are Constant Time and Amortized Constant Time effectively considered equivalent?
Does the assignment specify how random removals are performed? Are you given an index to remove or a reference to a queue element?
Jun
16
awarded  Enlightened
Jun
14
awarded  Nice Answer
Jun
14
comment Compilation to bytecode vs machine code
@Julian "middle end" is a real term, coined in analogy with "front end" and "back end" with no regard for semantics :)
Jun
14
comment Compilation to bytecode vs machine code
Ignoring optimizations and such is silly. These "optional steps" make up a great deal of the code base, complexity, and compile time of most compilers.
Jun
14
answered Compilation to bytecode vs machine code
Jun
13
awarded  Good Answer
Jun
12
revised Why do programs use call stacks, if nested function calls can be inlined?
added 29 characters in body
Jun
12
comment Why do programs use call stacks, if nested function calls can be inlined?
@moonman239 Then your wording threw me off. Still, your question can be decomposed as I do in my answer and I think that's a useful perspective.