On Wed, Oct 17, 2012 at 10:10 AM, David Herman <dher...@mozilla.com> wrote:
> Concrete example: Even and Odd modules refer to each other, but the import 
> statements occur after some initialization:
>
>     module Odd {
>         export let odd = function(x) {
>             return x === 0 ? false : !even(x - 1);
>         }
>         import even from Even; // force execution of Even here, if it hasn't 
> already
>         export let b = odd(17);
>     }
>     module Even {
>         export let even = function(x) {
>             return x === 0 || !odd(x - 1);
>         }
>         import odd from Odd; // force execution of Odd here, if it hasn't 
> already
>         export let b = even(17);
>     }
>     console.log(Odd.b);
>

What about this?

     module Odd {
         import even from Even; // force execution of Even here, if it
hasn't already
         export let odd = function(x) {
             return x === 0 ? false : !even(x - 1);
         }
         export let b = odd(17);
     }
     module Even {
         import odd from Odd; // force execution of Odd here, if it
hasn't already
         export let even = function(x) {
             return x === 0 || !odd(x - 1);
         }
         export let b = even(17);
     }
     console.log(Odd.b);

I guess this doesn't work...
_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to