World: r3wp
[!REBOL3-OLD1]
older newer | first last |
Maxim 11-Apr-2006 [476] | can I propose something then? |
[unknown: 9] 11-Apr-2006 [477x2] | Always.... |
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 ..... |
older newer | first last |