Mailing List Archive: 49091 messages
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

When to use refinements? : was => {Re: Re: R: Re: VID: choice arguments}

 [1/8] from: jason::cunliffe::verizon::net at: 30-Jan-2002 14:13


From: "Gregg Irwin" <[greggirwin--mindspring--com]> ..snip..
> REBOL's VID (Visual Interface Dialect) does this. The catch with VID is
that
> we, as developers, often want to insert regular REBOL statements along
with
> the VID statements, which leads to more syntax in Layout blocks, but also > shows the power that can be made available even inside a dialect. VID, > itself, is very free from artificial syntax and refinements would add > artifice I think.
ok... hmm.. but I though the question was: Why does VID not try harder to use a syntax consistent with plain REBOL using /refinements?
> > "choice data test" but it should be: > > "choice/data test"
It's a good point. The functionality does'nt change, but at the same time as *simplifying* the amount of programmer effort, VID has subtly *added* also, because people need to learn syntactic exceptions to REBOL's norm. This surely goes gently against REBOL's philosophy stsbs: [simple things should be simple] here's another one: dsblrs: [dialects should be like rebol syntax] An if not, then they gotta have lots of extra good docs to keep people productive and sane. Which begs a parallel question to the [format style which shall not be named topic] => Can anyone identify a manual of style [pseudorebol template] suitable for people developing dialects [and perhaps 'cleaning' up the oddities of base ones like VID]? When to use refinements ? ...or did I just miss the point.. thanks ./Jason

 [2/8] from: greggirwin::mindspring::com at: 30-Jan-2002 13:58

Re: When to use refinements? : was => {Re: Re: R: Re: VID: choice argume


Hi Jason << hmm.. but I though the question was: Why does VID not try harder to use a syntax consistent with plain REBOL using /refinements? >> That was the original question. I think they designed it the way they did intentionally. It seems to me that they tried to create a dialect that could be used by non-programmers, for prototyping purposes or whatever, but could then be extended to include the required functionality as well. If they made the syntax just like REBOL, only REBOL programmers would want to use it. << dsblrs: [dialects should be like rebol syntax] >> I have to disagree with you here. I think the power of dialects will come from them being tailored to a specific audience, which will be mainly non-programmers. Dialects will allow us to write things the way *we* want to, as humans, and then allow a computer to make sense of what we've written as well. Now, in order to do that, we need to be aware of what we're talking about (i.e. the context), and who we're talking to of course, but just creating slight variations on the basic REBOL syntax will bind us to a target audience of REBOL programmers IMO. Regular people don't want extra syntax, they just want to be understood without any extra effort on their part. << An if not, then they gotta have lots of extra good docs to keep people productive and sane. >> Good documentation is always important. There is no dialect for documenting dialects, that I know of though. :) << Which begs a parallel question to the [format style which shall not be named topic] => Can anyone identify a manual of style [pseudorebol template] suitable for people developing dialects [and perhaps 'cleaning' up the oddities of base ones like VID]? >> We will certainly see some novel dialects appear in the future, but I think that most of those we see, at least initially, will be inspired by an existing human dialect, or nomenclature, of some kind. --Gregg

 [3/8] from: riusa::email::it at: 30-Jan-2002 23:45

R: Re: When to use refinements? : was => {Re: Re: R: Re: VID: choice arg


I'm a software developer since 1980. I developed with many programming languages, including C, some CPU assemblers, Pascal and Object Pascal, Python, some tools like Macromedia Flash, Asymetrix Toolbook, etc... etc... These "traditional" languages have one common thing: "coherence", consistency . Even in English language, in Italian language (my language!) there is coherence .
> The functionality does'nt change, but at the same time as > *simplifying* the amount of programmer effort, VID has subtly *added*
also,
> because people need to learn syntactic exceptions to REBOL's norm. > This surely goes gently against REBOL's philosophy.
I think Jason is right. Even if I'm using a "dialect", even this one should be "coherent". When I find an exception in a programming language, I must learn either the standard syntax plus the exceptions. I admit it is not always easy to choose if using refinements or standard function options. -- Prendi GRATIS l'email universale che... risparmia: http://www.email.it/f Sponsor: Obiettivo Laurea? vuoi migliorare il tuo metodo di studio? Per informazioni Clicca qui: http://adv.email.it/cgi-bin/foclick.cgi?mid=213&d=30-1

 [4/8] from: brett:codeconscious at: 31-Jan-2002 12:12

Re: R: Re: When to use refinements? : was => {Re: Re: R: Re: VID: choice


Hi,
> > The functionality does'nt change, but at the same time as > > *simplifying* the amount of programmer effort, VID has subtly *added* > also, > > because people need to learn syntactic exceptions to REBOL's norm. > > This surely goes gently against REBOL's philosophy. > > I think Jason is right. Even if I'm using a "dialect", even this one
should
> be "coherent". When I find an exception in a programming language, I must > learn either the standard syntax plus the exceptions.
I don't think it is valid to treat dialects as part of the Rebol programming language. Imagine you want to send a stock trading dialect to a client to learn. Surely they would find learning this easier: Sell 100 shares of "Acme" at $4.55 per share Sell 100 shares "Acme" at above $4.55 per share ... than this: sell 100 'shares "Acme" 4.55 sell/limit 100 'shares "Acme" 4.55 'above Here's Rebol Technologies definition of a dialect (Rebol Core User Guide): Dialects are sub-languages of REBOL that use the same lexical form for all data types but allow a different ordering of the values within a block. The values do not need to conform to the normal order required by REBOL function arguments. Dialects are able to provide greater expressive power for specific domains of use. For instance, the parser rules themselves are specified as a dialect. The point here then is that a dialect is different to the REBOL language. As such, I think a dialect should be coherent within itself. Jason wrote about VID - "people need to learn syntactic exceptions to REBOL's norm" But what constitues REBOL's norm? I think REBOL's norm is remarkably grammatically unconstrained apart from the order of function arguments (that why pretty printers are hard to write). VID however, is more grammatically constrained than REBOL. So people *must* learn the specifics of VID. For example, think about what the associated meaning *in VID* is for each of the following VID elements: - set-word! - COPY - paren! I think the following idea is amusing (I often amuse myself and no one else) or maybe it is just provocative. Imagine comparing these abritrary semantics levels of REBOL and Java: Dialects <----> .java Words and Values <----> Bytecodes REBOL Interpreter <----> JVM Well it amuses me to think like that sometimes :) The specific question Jason asked was why VID does not make use of refinements. Only Carl can answer that definitively. One possibility is that adding refinements may have made VID harder unjustifiably harder to interpret/manipulate, both for the VID interpreter and for people who want to treat VID blocks as data to manipulate programmatically. Brett.

 [5/8] from: brett:codeconscious at: 31-Jan-2002 14:57


Ooopps! Eheh. Small but significant correction to my previous post on this thread:
> For example, think about what the associated > meaning *in VID* is for each of the following VID elements: > - set-word! > - COPY > - paren!
Should be> VID however, is more grammatically constrained than REBOL. So people *must* learn the specifics of VID. For example, think about what the associated meaning *in PARSE* is for each of the following PARSE elements: - set-word! - COPY - paren! Doesn't change my argument though :) Brett.

 [6/8] from: petr::krenzelok::trz::cz at: 31-Jan-2002 6:27


Hi, :-) Alessandro Manotti wrote:
> I'm a software developer since 1980. I developed with many programming > languages, including C, some CPU assemblers, Pascal and Object Pascal,
<<quoted lines omitted: 11>>
> be "coherent". When I find an exception in a programming language, I must > learn either the standard syntax plus the exceptions.
I don't follow the thread properly, but ... What is "coherent"? I know some ppl could be nervous of VID, mostly because the lack of documentation (I mean "low level" one - basic face composition and proper vid-creation-phase description, etc.), but in fact - dialects are not supposed to be just some kind of Rebol extension. It is, and it is not Rebol code at the same time. Look, your so called "coherency" is trade-off here ;-) Why to complain, because some traditional languages don't allow you to use different syntax? ;-) I remember myself moving to OO language. You can't sometimes start even with simple "hello world" example, if you are not familiar with classes, object instantiation, all that object dependencies etc. stuff. Dialects are fine, for the purpose they are defined. Our small group will use Rebol for Robotic telescope navigation one day. Some folks are skilled enough to write short "scripts" - in a dialect: [ set position x y move rect 20 decl 10 speed level 2 notify ccd camera ] ... in fact, I heard dialects come from astronomy field (Fortran). Can you see my point? Should my friends know anything about rebol syntax, it's datatypes, etc., if all they want is to navigate telescope?
> I admit it is not always easy to choose if using refinements or standard > function options.
hmm, I think that it is even technically possible to come up with dialect featuring func. refinements ... Cheers, -pekr-

 [7/8] from: al::bri::xtra::co::nz at: 31-Jan-2002 21:00

Re: R: Re: When to use refinements? : was => {Re: Re: R: Re: VID: choic


pekr wrote:
> hmm, I think that it is even technically possible to come up with dialect
featuring func. refinements ... After all, a function with refinements is merely a path! datatype. Andrew Martin ICQ: 26227169 http://valley.150m.com/

 [8/8] from: g:santilli:tiscalinet:it at: 31-Jan-2002 15:14

Re: R: Re: When to use refinements? : was => {Re: Re: R: Re: VID: choice


Hello Alessandro! On 31-Gen-02, you wrote: AM> Even in English language, in Italian language (my language!) AM> there is "coherence". Hmm... AM> I think Jason is right. Even if I'm using a "dialect", even AM> this one should be "coherent". When I find an exception in a Yes. But you're all missing one point: styles are not functions! Where's the coherence? Style have optional "modifiers" (the "facets") that have nothing to do with function arguments; they can appear in any order and can be of any number. A function is a different concept. Also, using paths would make the life harder for the dialect implementor too. Regards, Gabriele. -- Gabriele Santilli <[giesse--writeme--com]> - Amigan - REBOL programmer Amiga Group Italia sez. L'Aquila -- http://www.amyresource.it/AGI/

Notes
  • Quoted lines have been omitted from some messages.
    View the message alone to see the lines that have been omitted