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

World: r3wp

[Core] Discuss core issues

BrianH
23-Jun-2005
[1398]
Binding is just associating a [word thing] with a [context (keyed 
value collection) thing], and that just fails if there is no existing 
key in the context of the symbol associated with the word. The only 
context that actually expands to include new words is system/words, 
the closest thing REBOL has to a "global" context, more of a default 
really, but not quite.
Gabriele
23-Jun-2005
[1399]
Piotr: you may be interested into this thread: http://www.rebol.org/cgi-bin/cgiwrap/rebol/ml-display-thread.r?m=rmlKVVC
Pekr
25-Jun-2005
[1400x6]
>> a: [1 1 2 2 3 3]
== [1 1 2 2 3 3]
>> b: [x y]
== [x y]
>> foreach :b a [print x]
1
2
3
>> foreach :b a [print b/1]
x
x
x
>> foreach :b a [print get b/1]
** Script Error: x has no value
** Where: halt-view
** Near: print get b/1
Is it possible to get b/1 evaluated? I am not sure it is because 
of non-aggresive word evaluation, but maybe question for you 'bind 
gurus? :-)
foreach :b a [print  bind b 'x] ?
and for gurus - what happens here? :-)

foreach :b a [print bind b first :b]
3 3
3 3
3 3
I want to use 'X, without using 'x :-), but somehow foreach :b a 
[print get b/1]] does not return result I expected (1 2 3), it returns 
(3 3 3)
sorry, my bug - I needed to restart concosole, "get b/1" in context 
of 'foreach is unknown ...
Volker
25-Jun-2005
[1406]
foreach makes new context, not touching the old vars. kind of locals.
Pekr
25-Jun-2005
[1407]
I know, I just somehow wished to abstractly use b/1, to get x in 
a
Volker
25-Jun-2005
[1408]
>> b: [x y]
== [x y]
>> foreach :b [1 2 3 4 5 6][bind b 'x print get b/1]
Pekr
25-Jun-2005
[1409]
yes, I know, but you used 'x ... that is the tricky question - we 
wanted to create it dynamically, so we wanted to use bind b b/1 (we 
thought that instead of b/1 interpreter somehow will understand cleverly, 
that we mean x in context of foreach function :-)
Volker
25-Jun-2005
[1410x2]
>> foreach :b [1 2 3 4 5 6] compose/only [b: (b) print get b/1]
its ugly. problem is, the context exists only inside the foreach-body. 
here i put the same words (b) in the body and those they get rebound. 
but foreach copies the body before first run, so i have to assign 
b again.
Pekr
25-Jun-2005
[1412]
ha, that was easy ;-) ...we tried to struggle in context  level and 
forgot about ability of dynamically building code for interpreter 
itself :-)
Volker
25-Jun-2005
[1413]
but i guess once you start having ideas about it you will find something 
nicer ;) - yes, like building the whole code dynamic maybe.
Pekr
25-Jun-2005
[1414x3]
but you redefined original 'b block in context of foreach body ....
>> foreach :b [1 2 3 4 5 6] compose/only [b: [x y z] print get b/1]
1
3
5
>> b
== [x y z]
so 'b in context of 'foreach body is global ... so it redefines original 
'b, but it is ok for our example, thanks ...
Volker
25-Jun-2005
[1417x3]
You could use another var-name, i just reused 'b
foreach :b [1 2 3 4 5 6] compose/only [words: (b) print get words/1]
 and done ;)
but its not necceary here, as it keeps the same word-names, only 
with different bindings. so if you run the code again, the names 
are the same, the binding shall change anyway.
Pekr
25-Jun-2005
[1420]
:-)
Volker
25-Jun-2005
[1421x6]
Oops, i completely forgot about firskip ! Which you may use instead!
>> b: [1 2 3 4 5 6]
== [1 2 3 4 5 6]
>> forskip b 2[print [b/1 b/2]]
1 2
3 4
5 6
if you really need words, these would be global and easier to reach:
>> words: [x y]
>> forskip b length? words[set words b  print[x y]]
1 2
3 4
5 6
(remember view begins with 1.3, because some little things on forskip 
have changed ;)
(but the foreach may be a little bit faster)
Graham
25-Jun-2005
[1427]
Hmm.  I just noticed that rebcmd comes up saying "Component: Graphics 
1.3.0 blah ... " ... what is Graphics doing in core ?
PeterWood
25-Jun-2005
[1428]
Perhaps to allow image manipulation, for example in a CGI script?
Gabriele
26-Jun-2005
[1429]
exactly (afaik).
Maarten
26-Jun-2005
[1430]
yep, that is the 'face part without VID or X libs needed'
DideC
27-Jun-2005
[1431]
Use the 'draw function to handle draw blocks.
DideC
1-Jul-2005
[1432x4]
Does one can explain :
>> b: next next [1 2 3]
== [3]
>> head b
== [1 2 3]
>> head copy b
== [3]
>> c: [9]
== [9]
>> insert/only c b
== [9]
>> c
== [[3] 9]
>> d: copy/deep c
== [[3] 9]
>> head d/1
== [1 2 3]
head copy b

 show that 'copy only copy the block at the position we point into.
So why does 'copy/deep don't ?
Henrik
1-Jul-2005
[1436]
about graphics in core: would that mean you could create graphics 
without requiring an X server if used on BSD/Linux? I believe that 
X is normally necessary...
Gregg
1-Jul-2005
[1437]
Dide, Good question for Carl.
Maarten
2-Jul-2005
[1438]
Henrik: yes. Command has grafx capabilities without VID and without 
requiring X. So you can typically save/png etc.
Volker
2-Jul-2005
[1439x2]
x ins necessary for fonts-handling. rest would work without it. except 
that /view does some initialisations at startup and fails without 
view.
(means without X)
Graham
5-Jul-2005
[1441]
Regarding the question on the mailing list on extracting a series 
of duplicates, I wonder why Rebol doesn't allow us to subtract one 
series from another.  If we are allowed to append one series to another, 
why not allow us to subtract?
But I guess the problem then is sameness.
Volker
5-Jul-2005
[1442]
we have that with set-operations. only it does not keep duplicates 
(i prefer it this way). And the duplicate-thing can be solved in 
a little loop, as gabriele showed.
Sunanda
5-Jul-2005
[1443]
As Volker says, exclude acts as a sort of subtract, but does not 
handle duplicates in the way the questioner needs.
>> exclude [1 2 3 4 5] [ 3 5]
== [1 2 4]
Joe
6-Jul-2005
[1444]
Are any technical details on encloak and decloak functions ?
Sunanda
6-Jul-2005
[1445]
I think this is as technical as it gets
http://www.rebol.net/cookbook/recipes/0023.html
Which tells you it is SHA1
Joe
6-Jul-2005
[1446]
thanks. The key is SHA1 encoded makes me guess that it's hard to 
break the key but not the "encrypted" content
[unknown: 5]
8-Jul-2005
[1447]
Is there anyway to get the ip address of the local computer?  My 
problem is that I use a VPN for some functions and have other techs 
that do also and wanted to make a utility that could simply determine 
what subnet they are on.  Problem is that I get the local ip of the 
lan and not the other interface ip's.  Anyway to get those?