• Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r4wp

[!REBOL3] General discussion about REBOL 3

Robert
22-Jun-2013
[2626x2]
Did anyone started a R3 code-review and already took notes that are 
published?
I think it makes a lot of sense to publish all notes in a structred 
way, so it's easier to work on the R3 code base.
Bo
23-Jun-2013
[2628x2]
I think that 'subtract should allow for binary values:

>> help subtract
USAGE:
        SUBTRACT value1 value2

DESCRIPTION:
        Returns the second value subtracted from the first.
        SUBTRACT is an action value.

ARGUMENTS:
        value1 (scalar! date!)
        value2 (scalar! date!)
>> subtract img1b img2b

** Script error: subtract does not allow binary! for its value1 argument
Rebol 2.101.0.4.20:

>> difference #{FFFFFF} #{EEEEEE}
== #{FFEE}

I would expect it to return #{111111}
Gregg
23-Jun-2013
[2630]
Why not use XOR?
Geomol
24-Jun-2013
[2631x2]
>> to binary! (to integer! #{ffffff}) - to integer! #{eeeeee}
== #{0000000000111111}

I think that 'subtract should allow for binary values


Hm, what if they're not of the same length, the two binary sequences?
What if they're longer than 8 bytes?
Ladislav
24-Jun-2013
[2633]
#[[Bo
Rebol 2.101.0.4.20:

>> difference #{FFFFFF} #{EEEEEE}
== #{FFEE}

I would expect it to return #{111111}
]]Bo

That is not a well informed expectation, Bo.:


* in Rebol, binary values are series of octets (small integers, 0 
to 255)
* in Rebol, set functions handle series as sets of values
* DIFFERENCE is a set function yielding set difference

* in the above case the first st contains #{FF} (=255), which is 
not contained in the second series

* the second series contains #{EE} (=238), which is not contained 
in the first series
* thus, the set difference is #{FFEE}
PeterWood
24-Jun-2013
[2634]
Does this help:


>> to binary! difference to bitset! #{FFFFFF} to bitset! #{EEEEEE}
== #{111111}
Maxim
24-Jun-2013
[2635]
hum, wow.  there always seems to be a conversion path to get the 
numbers do what we want... I'm sure accountants would love rebol 
 ;-)


want a deficit... just turn it into a binary, want a profit, just 
turn it into a bitset first   ;-)
Andreas
24-Jun-2013
[2636]
Gregg already mentioned XOR, I'll repeat: why not XOR?

>> #{FFFFFF} xor #{EEEEEE}
== #{111111}
Bo
24-Jun-2013
[2637x4]
Ladislav: I was expecting 'difference to treat binaries the same 
as the 'difference in the 'draw dialect in R2.  I seem to have been 
mistaken.
Geomol: If subtracting two binary numbers of different lengths, it 
would be like subtracting two decimal numbers of different lengths.
Gregg and Andreas: 'xor seems to work, for the most part.  I have 
to do some more testing to know for sure.
Thanks for your help, everyone!
Geomol
24-Jun-2013
[2641x4]
Bo, I'm not sure, if that makes sense. What you're suggesting is, 
that this should be possible:

	(read/binary %file1) - (read/binary %file2)


So it's like looking at a long sequence of binary data as a number? 
And if the series are of different length, they should be right aligned. 
Is that really useful? :)
Arithmetic on series ... like arithmetic on strings!? Funny language, 
that do things like that.
R2 can use strings in AND, OR and XOR, like binary!, but they're 
not right aligned.
R2 and R3 works the same in this:

>> (to integer! #{1111}) or (to integer! #{22})
== 4403
>> to integer! #{1111} or #{22}
== 13073

I guess, that's expected behaviour?
Bo
24-Jun-2013
[2645x3]
I would say so.  The great thing about datatypes is that they can 
save us a lot of work doing manipulations.
The downside to datatypes is that it is hard for the developer to 
determine proper behavior of different operations on the different 
datatypes.  Like, what should happen when you add a char! and an 
integer!...  My opinion would be that because your first argument 
is a char!, you want to increment/decrement it by the value of the 
integer!.  This could be useful in some situations.
I would expect 'or to be right-aligned on binary.
Geomol
25-Jun-2013
[2648]
I would expect 'or to be right-aligned on binary.

My example above is not right-aligned. This:

>> to integer! (#{1111} or #{22})
== 13073

This is right-aligned:

>> to integer! (#{1111} or #{0022})
== 4403
Bo
25-Jun-2013
[2649]
I was agreeing with you that 'or should be right aligned, even though 
it isn't.
Nicolas
25-Jun-2013
[2650]
Is there a GUI that currently works with Carl's last r3 alpha?
Maxim
29-Jun-2013
[2651x3]
is there another repository that is more up to date than the rebol/r3 
repo on github?  I really need to get the best sources ASAP.
need help compiling the R3 code base.   I must use GCC so can't use 
the microsoft vanilla :-(
in theory, I've got everything installed, using MinGW, with msysgit.
Kaj
29-Jun-2013
[2654]
You could try to follow the Syllable build description
Maxim
29-Jun-2013
[2655]
sure!   have a link?
Kaj
29-Jun-2013
[2656]
http://syllable.cvs.sourceforge.net/viewvc/syllable/syllable/system/apps/utils/Builder/packages/REBOL-Core--current/
Maxim
29-Jun-2013
[2657x3]
good thing is that I've got a VM running XP all setup, so I don't 
mind hacking it up to make it work... :-)
is the community source repo public?
ah ... its all in the file  :-)
Kaj
29-Jun-2013
[2660x3]
Everything is public on GitHub - except if you pay them
Here are some optional environment variables that you may have to 
set for a Windows build:
http://syllable.cvs.sourceforge.net/viewvc/syllable/syllable/system/apps/utils/Builder/packages/Syllable/REBOL-Core--current/
Maxim
29-Jun-2013
[2663]
is this a file type for some batch processing app, or just a hand 
written  note for  memory sake?
PeterWood
29-Jun-2013
[2664]
The former
Kaj
29-Jun-2013
[2665]
It's a formal file for my build system. A build dialect
Maxim
29-Jun-2013
[2666]
funny, I have a power build system too..  called maker.
Kaj
29-Jun-2013
[2667x2]
Never heard you about it
Have to go sleep, so good luck
Maxim
29-Jun-2013
[2669x7]
I have tons of unreleased stuff.  Amongst other things, I'll be giving 
away a new app at the devcon... a header conformance editing tool 
... using a header description dialect,  I hope people like it.
http://www.pointillistic.com/open-REBOL/moa/files/images/header-box.png
still R2-based, but useful nonetheless.
when I run make all, I get an endless loop in the prep stage.  

Duplicate: a-lib.c : RL_API void RL_Version(REBYTE vers[])

Duplicate: a-lib.c : RL_API int RL_Init(REBARGS *rargs, void *lib)

Duplicate: a-lib.c : RL_API int RL_Start(REBYTE *bin, REBINT len, 
REBCNT flags)
Duplicate: a-lib.c : RL_API void RL_Reset()

Duplicate: a-lib.c : RL_API void *RL_Extend(REBYTE *source, RXICAL 
call)
Duplicate: a-lib.c : RL_API void RL_Escape(REBINT reserved)

Duplicate: a-lib.c : RL_API int RL_Do_String(REBYTE *text, REBCNT 
flags, RXIARG *result)

Duplicate: a-lib.c : RL_API int RL_Do_Binary(REBYTE *bin, REBINT 
length, REBCNT flags, REBCNT key, RXIARG *result)

Duplicate: a-lib.c : RL_API int RL_Do_Block(REBSER *blk, REBCNT flags, 
RXIARG *result)

Duplicate: a-lib.c : RL_API void RL_Do_Commands(REBSER *blk, REBCNT 
flags, REBCEC *context)
Duplicate: a-lib.c : RL_API void RL_Print(REBYTE *fmt, ...)

Duplicate: a-lib.c : RL_API void RL_Print_TOS(REBCNT flags, REBYTE 
*marker)
Duplicate: a-lib.c : RL_API int RL_Event(REBEVT *evt)
in make-headers.r
that is using community repo.
strange... it seems related to the version of R3 I was using.  I 
changed to using the version on ../src/tools/make-headers.r and it 
seems to work.