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

World: r3wp

[!REBOL3]

Paul
6-Mar-2010
[1404x2]
Never said that Andreas.  Just in how it wants to handle the processing.
The block wouldn't be passed to set directly is all
Andreas
6-Mar-2010
[1406]
Which block?
Paul
6-Mar-2010
[1407]
The code in construct would have to parse the block
Chris
6-Mar-2010
[1408x2]
From (a: (b: (c: 2))) to ((a:) (b:) (c: 2))
That's a fundamental change...
Paul
6-Mar-2010
[1410]
so what is an unfundamental change?
Chris
6-Mar-2010
[1411]
Writing an intermediate solution for special cases...
Paul
6-Mar-2010
[1412x2]
its code that never gets executed unless the refinement is set.
no different than an either.
Andreas
6-Mar-2010
[1414]
unchain: func [spec] [forall spec [if all [set-word? first spec not 
tail? next spec set-word? second spec] [insert next spec :none]] 
spec]
Paul
6-Mar-2010
[1415]
And now I would ask you why add that function to R3 when you already 
pass a spec to contruct in the first place?
Andreas
6-Mar-2010
[1416]
I guess that's what you want. Now adding that as refinement to construct 
is a question of wether it would be of general utility. If not, it 
would just be bloat.
Paul
6-Mar-2010
[1417]
My point is that if we just adding your entire function to R3 verse 
a refinement to construct - we would be adding MORE bloat
Andreas
6-Mar-2010
[1418]
I personally think that neither that function nor the refinement 
should be added.
Paul
6-Mar-2010
[1419]
You fear change?
Andreas
6-Mar-2010
[1420]
Nope. I just don't see any general utility of it.
Paul
6-Mar-2010
[1421]
See I do.
Andreas
6-Mar-2010
[1422]
That's why it probably is best kept alongside your code, to cater 
for your special purpose needs.
Paul
6-Mar-2010
[1423]
So if I went to falcon or Lua and said do that and they did they 
could say they could handle such code safer than REBOL could.
Andreas
6-Mar-2010
[1424]
That's not an safety issue.
Paul
6-Mar-2010
[1425x3]
The hell it aint.
Maybe your confortable with it.  Oh well.  But if you don't think 
the chain evaluation should be a safety concern then I think your 
not being rational.
let's say you have a service oreient protocal that is sending unencrypted 
blocks of data that is getting sent into contstruct on the other 
end.   All I have to do is capture it midstream alter the block and 
forward on and I can cause your code to behave differently.
Henrik
6-Mar-2010
[1428]
why is that a safety concern? in that case REBOL would be one big 
security hole as this is standard syntax.
Paul
6-Mar-2010
[1429]
Are you saying it isn't true Henrik?
Andreas
6-Mar-2010
[1430]
Paul, construct is using standard REBOL syntax in this case. If that 
is a safety concern for your purposes, that's outside the scope of 
CONSTRUCT.
Chris
6-Mar-2010
[1431x2]
If you're already iterating through your block to convert every second 
word to set-word, then why not also neutralise any set-words that 
should be - seems that is where the flaw is...
..should not be...
Paul
6-Mar-2010
[1433]
But what if I'm not the one doing it.
Henrik
6-Mar-2010
[1434]
Paul, you don't create services that carelessly evaluate data that 
is potentially manipulated by an attacker. That's a security hole 
and bad coding. That's one of the good things about dialects.
Chris
6-Mar-2010
[1435]
Agreed, and that's what this is - a dialect - as Rebol's sop is chaining...
Paul
6-Mar-2010
[1436x3]
I'm not saying to stop chaining am I?
I'm saying to offer a case where we don't chain.
But obvoiusly you guys are not in favor of options.
Andreas
6-Mar-2010
[1439x2]
Why not also offer a case where we drop all strings encountered?
Or a case where we double all integers?
Paul
6-Mar-2010
[1441x3]
Are the strings a concern?
are single integers a concern?
We have build in code to handle those things don't we?
Andreas
6-Mar-2010
[1444x2]
Do we?
I don't know of a construct refinement that drops all strings.
Paul
6-Mar-2010
[1446]
Then we just make sure they get assigned to the proper place don't 
we?
Henrik
6-Mar-2010
[1447]
yes, we do. with PARSE and dialects.
Andreas
6-Mar-2010
[1448]
And that's what you should do too, Paul.
Paul
6-Mar-2010
[1449]
I do Andreas, I have to currently use more bloat just like all of 
us do to handle it.
Andreas
6-Mar-2010
[1450x3]
That's not bloat, that's application specific code.
And no, it's not "all of us", as none of us have those specific needs.
Just as you don't seem to have the need to drop all strings ...
Paul
6-Mar-2010
[1453]
bloat is in the eye of the beholder.  To me where it takes more code 
to do something that could be done elsewhere is bloat in my book.