r3wp [groups: 83 posts: 189283]
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r3wp

[!REBOL3-OLD1]

[unknown: 9]
11-Apr-2006
[478]
I am driving so my responses are going to get really simple.
Maxim
11-Apr-2006
[479x8]
switches to maintain some of the compatibility with older scripts.
I find that many issues Carl is trying to solve ignore the fact that 
most people stop using rebol not because its syntax is different 
or because of return types... those are things we learn when we use 
any language...
most people stop when they actually try to do a concrete application 
within constrains and realise many things within the implementation 
of this or that... well, just falls short of working.
and the one reason we continue using rebol is because we are of the 
type of people who WILL download an RFC and fix the http, ftp, proxy, 
xml, (whatever) protocol ourselves.
rebol claims a lot of things... but falls short in general.   for 
my latest project, I had to re-implement http posting, and xml parsing 
myself and I'm still not finished.
don't get me wrong, I live and breath by rebol, but people who are 
interested, quickly get annoyed at little things missing under the 
hood.
rebol feels like a hybrid car.  Almost, but note quite enough to 
get new people out of their cosy stylish cars.   Its got a lot of 
promise, but at what cost.
I just though I'd share my stake on several years of trying (and 
finally succeeding) to use rebol commecially.
[unknown: 9]
11-Apr-2006
[487]
I agree...
Ingo
11-Apr-2006
[488x3]
I hate those - but ... me too!
I mean, I hoate those "me too" postings :-)
hate, of course
Anton
11-Apr-2006
[491]
Feature request:  I propose SELECT's arguments should reversed, to 
be like SWITCH. I remember SWITCH being implemented and arguing to 
put the VALUE argument before the CASES block to make it easy to 
find.
Maxim
11-Apr-2006
[492]
are you on a mission to disable all scripts in the world  ;-)
Anton
11-Apr-2006
[493x4]
So, for a SELECT, you won't have to search around with your eyes 
for the VALUE argument, as in this example from the FTP scheme which 
I am currently looking at:
net-utils/net-log join "Type: " type: any [
	    all [new-dir? 'new-dir] 
	    all [new? 'new] 
	    all [dir-read? port 'dir] 

     all [port/state/flags and system/standard/port-flags/open-append 
     <> 0 'app] 
	    'file
	] 
	do select [
	    file [

  confirm-cmd port either port/algorithm = 'nlst [nlst-check] [list-check] 
		accept-connect port type 
		parse-dir-list port 
		if tmp: select locals/dir-cache to-file port/target [
		    port/status: first tmp 
		    port/date: third tmp 

      if any [none? port/size: second tmp 1024 > port/size] [port/size: 
      0]
		] 
		data-connect port 
		confirm-cmd port binary-type-check 
		if 0 < cmd-port/state/index: port/state/index [
		    confirm-cmd port restart-check
		] 
		confirm-cmd port read-check
	    ] 
	    new [confirm-cmd port write-check] 
	    new-dir [confirm-cmd port mkdir-check] 

     dir [confirm-cmd port either port/algorithm = 'nlst [nlst-check] 
     [list-check]] 
	    app [confirm-cmd port append-check]
	] type 
	accept-connect port type 
	if type = 'dir [
	    port/size: port/state/tail: parse-dir-list port
	]
    ] 
    port
]
close: func [port /local cmd-port cache-size][
    cmd-port: port/locals/cmd-port 
    if not dir-read? port [error-try? [confirm-transfer port]] 

    net-utils/net-log reform ["Caching cmd-port" cmd-port/host cmd-port/local-port 
    cmd-port/remote-port] 
    cmd-port/host: cmd-port/locals/tuple
See the first SELECT ? Now find the variable which is its VALUE argument.... 
 :-)
Maxim, now's the time to fix some things, no ?
Maxim
11-Apr-2006
[497x2]
I agree with the select (I was just joking, cause you know how serious 
this will have an effect on code :-)
But this raises again, the issue of trying to get backwards compatibility 
and is it even possible?  with so much changes in the air?
Pekr
11-Apr-2006
[499]
I sacrifice backwards compatibility, we have got incompatibilities 
already in the past and so what? Especially to View changes ....
Henrik
11-Apr-2006
[500]
and the user base is small. CNN and Wall Street won't notice
Maxim
11-Apr-2006
[501]
but changes like Anton's SELECT request invalidate MOST of REBOL 
code in one sweeping ARC.
Pekr
11-Apr-2006
[502x2]
but as for select ... uhm, not sure :-) it is about logical order 
of arguments, no? first, select, pick, find, all require "where" 
argument first, then "what" argument ...
do we have reversed order?
Henrik
11-Apr-2006
[504]
I keep swapping them too, from SQL with SELECT <columns> FROM <source>
Maxim
11-Apr-2006
[505]
we must question if such a change is better if it means newbies cannot 
use any public rebol code on rebol.org, for example.
Henrik
11-Apr-2006
[506]
same with FIND. it's not natural to say "Find in the kitchen a pot" 
in English
Maxim
11-Apr-2006
[507]
its consistency.  and although its not english, its damn easier to 
remember that way.  they all use the same "SERIES first" approach.
Pekr
11-Apr-2006
[508x2]
yes, I objected agains it during rebol 1.0 alpha, but Carl already 
chose such argument order for some reason ... I think that to change 
it nowadays would be an overkill
I totally agree with Maxim - we either change all, or none of them 
- it will be confusing .... and it would really break all the code 
...
Maxim
11-Apr-2006
[510x3]
probably because having series first means all arguments treating 
data follow it.
instead of having the series jump around in one function to another.
THAT would be damn hard to debug.
Gabriele
11-Apr-2006
[513]
don't forget that it's not just style - some of them are actions, 
and actions only dispatch on the first argument.
Volker
11-Apr-2006
[514]
Isnt 'switch exactly that, a reversed "do select"? i use 'select 
on variables, not blocks. then it is
> select data face/text

About english, "Find in the kitchen a pot" is ugly, but "look in 
the kitchen for a pot"?
Kaj
11-Apr-2006
[515]
It's poetic :-)
Henrik
11-Apr-2006
[516]
volker, that was the point I was making with FIND
Volker
11-Apr-2006
[517x3]
That was why i was citing it :)
but i would argue more about the word "find" than the order of arguments. 
But maybe i am to used to "target first"?
(or is "look in" as ugly? Not native speaker..)
Henrik
11-Apr-2006
[520]
look in

 seems to be correct enough. I'm just used to finding the pot in the 
 kitchen, not finding in the kitchen a pot, thus I usually swap the 
 function arguments by mistake.
Volker
11-Apr-2006
[521x2]
Technically it could work, if 'in would put its argument in front 
of the last call

> find pot in kitchen ; Kitchen would be passed as first argument 
now.
would be the same as 
> find kitchen pot
(sadly 'in is not available, and maybe its to biga hack?)
find pot @ kitchen ;?
JaimeVargas
11-Apr-2006
[523]
Grabriele, Maybe  that is that actions only dispatch on the first 
argument. Has there been any talk of multimethods.  So far the only 
way to have native polymorphism is thrue ports. I wish rebol implemented 
multi-methods.
yeksoon
12-Apr-2006
[524]
for those who want RSS feed for Rebol3 blogs, Carl has updated it.

http://www.rebol.net/r3blogs/rebol3-rss.xml
Pekr
12-Apr-2006
[525]
Jaime, could you please voice your multimethod request to blog comments 
section? I think that Carl is not checking Altme here anymore .....
Graham
12-Apr-2006
[526x2]
Pity we can't take the comments and inject them into here.
the fragmentation of information is just increasing.