On Wed, 27 Dec 2006, Charles Henry wrote:
What about efficiency? There may be certain advantages to defining the data types, and constraining _inlets_ and atom types during editing, rather than at run time. (that's just a guess)
Yes, it's an easy way to get such efficiency, and for example, this is what happens in very-typed (expression-typed) languages like C++ and Ocaml and Haskell (and maybe Java 1.5 but not Java 1.4 nor C nor ObjectiveC). This is good because it means that those things can run very fast without requiring a runtime compiler, so, the compiler can be kept separate from the program being compiled. (In Ocaml and Haskell though, types are implicit AND already known before the program starts.)
In Pd, the only compilation going on is dsp_add(), and it's done at runtime already (during editing). So, the compiler is never in a different process (task) than the DSP. The only advantage remaining is predictibility of execution time, but only if it's assumed that the more implicit system (the more "runtime" one) doesn't have strict rules that allows one to know the type of an object's output. This might be a strawman, if we don't take the time to figure out whether any such strict rules can be defined: either implicit expression-typed, or a more runtime-oriented system in which the runtime compiler is taken into account when computing realtime constraints.
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard - tél:+1.514.383.3801 - http://artengine.ca/matju | Freelance Digital Arts Engineer, Montréal QC Canada