Howdy a142808:          
 
> Jeff said:
> 
>                  REBOL is a free form context sensitive first class
>        functional  language  with prototyped  based  objects and
>        cloning.  It offers both static and lexical scoping, ....
> 
> >From what I can tell REBOL is quasi-statically scoped.  It
> certainly doesn't   support `lexical scoping'  in the usual
> sense.   I   don't  know  if this    is   a `bug'   in  the
> implementation or not  because  there seem to be  no formal
> specification of the semantics of the language.

  Granted-- it's a little more involved...
 
> Since it is possible to observe interpreter side effects in
> `functional' code, I'm not  sure `functional' is  a correct
> description.   Or     is   that  a  bug   in    the  in the
> implementation?

The Functional Language FAQ puts forth that:

   "Functional programming is a style of programming that
   emphasizes the evaluation of expressions, rather than
   execution of commands. The expressions in these language
   are formed by using functions to combine basic values. A
   functional language is a language that supports and
   encourages programming in a functional style."

                        Later the FAQ explains: 

    "The term "purely functional" is often used to describe
        languages that perform all their computations via function
        application. This is in contrast to languages, such as
        Scheme and Standard ML, that are predominantly functional
        but also allow `side effects' (computational effects
        caused by expression evaluation that persist after the
        evaluation is completed)."

        REBOL is not purely functional. Neither is the universe,
        though. There's plenty of side effects in nature. 
 
> Jeff said:
>        REBOL also provides a  very simple abstraction  of direct
>        TCP/IP  sockets,   fully BSD   capable, including  razzle
>        dazzle multiplexing.
> 
> REBOL/core seems to be single threaded.  I haven't seen any
> indication  that you  can  use multiple   threads or handle
> multiple  network connections in   parallel, is   there any
> `select'-like REBOL function?  REBOL output seems to block.
> What do you mean by multiplexing?

           >> one-port: open tcp://:1492
           >> two-port: open tcp://:1776
           >> wait [one-port two-port 1]
           |/-\|/-\ == none

           -jeff

Reply via email to