On Fri, 2012-05-25 at 11:47 +0200, Jacob Carlborg wrote: > On 2012-05-25 10:53, Russel Winder wrote: > > On Fri, 2012-05-25 at 10:43 +0200, Jacob Carlborg wrote: > > [...] > >> I don't know about Nimrod but in Ruby and I assume in other languages > >> like JavaScript, PHP and similar, the order of declarations only matters > >> at top level. Example in Ruby: > > > > Surely with dynamic languages like Python, Ruby, Groovy etc. declaration > > order is irrelevant, it is execution order that matters. Your example > > holds but only by following what execution happens not what the compiler > > does. > > I suspected that. Can't the compiler do something similar?
No. Dynamic languages, well ones like Python, Ruby, Groovy, and Lisp anyway, all have a runtime MOP which means there is nothing that a compiler can deduce or infer. Show me a statically typed program where the compiler infers things and I'll show how the same program can mean whatever you want it to mean in a dynamic language :-) This is at the core of why people working with dynamic languages obsess about unit and system testing and effective test coverage. -- Russel. ============================================================================= Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.win...@ekiga.net 41 Buckmaster Road m: +44 7770 465 077 xmpp: rus...@winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
signature.asc
Description: This is a digitally signed message part