From: Daniel Martin Date: 2006-08-10T00:32:34+09:00 Subject: Re: Language chatter Francis Cianfrocca writes: > And my (unproved) intuition is that > mathematically restricted DSLs (whether they are Lisp programs, Ruby > programs, graphical widgets, physical constructions, or any other such > equivalent thing) may be so much easier to tool that they can give a > vast productivity improvement. I believe that there are certainly programming constructs that can be easier to reason about than the standard type of programming, but I'm not sure how ease-of-reasoning relates to Turing completeness. For instance, Haskell is certainly Turing-complete as a language, yet chunks of Haskell code seem like they should be very easy to reason about. On the other hand, to take a pathological example, Befunge-93 is not Turing-complete, but I doubt it's any easier to reason about than, say, Brainfuck, which is Turing complete. I have a theory that a big advantage to tool makers is the ability to perform some sort of detailed type inference, where the types that can be inferred are useful in the problem domain. (e.g. it does no good to be able to infer a type of "int", when what you really need to know is which of twenty different types all typedef'ed to int this is supposed to be) So far as I can tell, the ease of useful type inference is at least a different question from whether the language being considered is Turing complete, and may in fact be completely orthogonal to the question of Turing completeness.