Thank you Michele. Thank you Derick. I turn down "phase-less" now.
I considered what I want for the library system, and I decided to take Derick's suggestion, since my intension is different from 'explicit phasing' or 'implicit phasing'. On May 7, 3:50 pm, Derick Eddington <[email protected]> wrote: > it should be called always instantiating every import regardless of its phase. Re: explicit phasing, Personally, I am not comfortable with 'for' keyword. Re: implicit phasing, I thought about implement it to ypsilon today, but its characteristics does not sit well with me. For example, I expect following script prints '(100 101 102). $ cat var.sls #!r6rs (library (var) (export var-ref var-set!) (import (rnrs)) (define var 'unknown) (define (var-ref) var) (define (var-set! n) (set! var n)) ) $ cat fetch.sls #!r6rs (library (fetch) (export var++ var-ref var-set!) (import (rnrs) (var)) (define (var++) (let ((n (var-ref))) (var-set! (+ n 1)) n)) (var-set! 0) ) $ cat test.sps #!r6rs (import (rnrs) (fetch)) (var-set! 100) (display (list (var++) (var++) (var++))) (newline) Re: ypsilon, Going my way. But make a retreat as soon as I see no way out. :-) Thank you again! -- fujita On May 7, 3:50 pm, Derick Eddington <[email protected]> wrote: > On Thu, 2009-05-07 at 07:30 +0200, Michele Simionato wrote: > > On Thu, May 7, 2009 at 6:29 AM, Derick Eddington > > <[email protected]> wrote: > > > Michele, as you've demonstrated, you don't know what you're talking > > > about. You seem determined to not learn in order to continue some pet > > > fantasy. > > > > In implicit phasing, the phases are *implied* by where identifiers occur. > > > In > > > explicit phasing, the phases are explicitly specified. Implicit phasing > > > does not mean only that the (for --- (meta ---)) import syntax is not > > > required, it means that the phases when libraries are instantiated is > > > implied. If libraries are always instantiated regardless of the phase > > > of identifiers, it is not implicit phasing because what is implied is > > > ignored, therefore the term "implicit" is inappropriate. I should never > > > have used the term "on-demand" because what it actually is is the > > > essence of implicit phasing: instantiation phases happening when > > > identifiers imply they must. > > > I understand this is your definition of what implicit phasing means. > > I am not sure if Aziz thinks this is the only interpretation or if > > he is willing to admit Ypsilon interpretation as acceptable > > (he said he has no copyright on the term), > > On Wed, 2009-05-06 at 10:44 +0300, Abdulaziz Ghuloum wrote: > > On May 6, 2009, at 10:11 AM, Derick Eddington wrote: > > > I say Ypsilon is doing implicit phasing wrong. > > > > Or maybe just applying the label incorrectly for different semantics. > > Maybe Fujita took "implicit phasing" to mean: the "for" syntax is > > ignored and identifiers are the same at all levels. This partially > > (but not full) characterizes implicit phasing. But since I have not > > trademarked the term, I can't sue him for using it. :-) > > > I interpreted "implicit" in a weak > > sense just meaning "there is no need for (for (meta))" whereas you > > say "no, implicit also means the phases are instantiated > > implicitly depending if the identifiers are used!", in a strong sense. > > "Implicit" is only appropriate if there is something implicit. For > implicit phasing, phasing is what is implicit. Explicit phasing means > phasing is explicit, and implicit is the opposite of explicit, and both > explicit phasing and implicit phasing are about phasing, therefore what > explicit phasing makes explicit is what implicit phasing makes implicit. > It is not phasing to instantiate imports when they're not needed for a > phase. Therefore, it's neither implicit nor explicit phasing, it should > be called always instantiating every import regardless of its phase. > > -- > : Derick > ----------------------------------------------------------------
