News for hackers. Stuff that matters.
Re:Channels in Common Lisp by codr4life on Friday January 20, 2017 @01:10AM (#13441989)
Completely, what is that? Doesn't that depend on context (as in problem being solved)? Simple is often faster, and these are pretty fast without even trying. There is plenty of room for simple, fast enough code. Owning code you understand is an advantage.
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.

Re:Channels in Common Lisp by jonathanstrange on Friday January 20, 2017 @05:02AM (#13442692)
Completely, what is that?

Well, comprehensive unit tests for a start...

Re:Channels in Common Lisp by codr4life on Friday January 20, 2017 @07:21AM (#13443263)
What's comprehensive? Doesn't that too depend on context? I'm with Kent Beck on tests. I'll test as much as I have to too move forward with confidence. In the end, my goal is to write working code, not tests.