News for hackers. Stuff that matters.
Re:TLS/SSL implementation in Haskell by dllthomas on Wednesday April 09, 2014 @03:42PM (#7561818)
That's a different abstraction than "Turing Machine". Turing machines do not have '"undefined behavior" in the same way that C does' - it would look like a "in state 3, if you read a 0, move to an arbitrary state, write arbitrary symbols to arbitrary locations on the tape, move head to an arbitrary position on the tape, and possibly restructure the state machine in arbitrary ways."
Re:TLS/SSL implementation in Haskell by AnthonyMouse on Wednesday April 09, 2014 @09:36PM (#7563701)
Turing machines have undefined behavior in exactly the same way that C does. What do you suppose happens if a Turing machine reads from a location on the tape that has never been written? The value the machine observes in that circumstance is not required to be well-defined in order for the machine to be able to do all computations required of a Turing machine. Moreover, the more you add features of actual machines like parallelism and timers, the more opportunities for undefined behavior you introduce. What do you suppose a multiprocessor Turing machine does if you write concurrently to the tape without locking?
Re:TLS/SSL implementation in Haskell by lomnakkus on Thursday April 10, 2014 @03:33AM (#7564676)
"What do you suppose happens if a Turing machine reads from a location on the tape that has never been written?"

It reads the default symbol (see e.g. the description of a TM on Wikipedia). It's semantics are well-defined.

The semantics of TMs are well-defined. The semantics of C's "undefined behavior" is not well-defined.

Re:TLS/SSL implementation in Haskell by lomnakkus on Thursday April 10, 2014 @08:47AM (#7565595)
I should have said "blank symbol" not "default symbol".