News for hackers. Stuff that matters.
Re:Channels in Common Lisp by rtpg on Friday January 20, 2017 @04:06AM (#13442510)
Completeness means being as performant as possible on all the possible axes.

You might want simplicity, but users also want performance. So a complete solution will be performant, but simple.

You have one use case, but other users have others. A complete solution will work in as many use cases as possible given its constraints.

Scala's parser combinators are a good example of a complete solution. It offers the "elegant" solution of parser combinators. But it also offers an implementation of this using things like Packrat parsing that are extremely efficient.

The non-complete example of this is someone who writes a parser combinator library that is simple, but simply not performant for real world use. For example, you might write a simple version in Python, but not properly apply TCO and so your parser can't handle deeply nested structures because of a stack overflow.

---

With regards to owning code, I remember hearing that it took 9 years of the initial publication of quicksort for there to be a bugfree implementation of it. Even easy things can be tricky.

There are no comments on this comment yet.