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

World: r4wp

[!REBOL3] General discussion about REBOL 3

Ladislav
13-Apr-2013
[2339x2]
- not exactly
(that would be quite incomfortable)
Andreas
13-Apr-2013
[2341]
Interested in any alternative fixes, but I see no discomfort for 
the above.
Ladislav
13-Apr-2013
[2342x2]
Well, there is some discomfort. REB_FUNCTION values are not garbage 
collected.
However, fortunately, the ARGS series is unique to function (since 
it is created specifically for the function), so it can be used instead 
of the body.
Andreas
13-Apr-2013
[2344]
That's indeed rather annoying. Seems the GC leaves much to be desired.
Ladislav
13-Apr-2013
[2345]
(even if two functions have the same SPEC and BODY, they always have 
distinct ARGS)
Andreas
13-Apr-2013
[2346]
Ok. That's better (even though it is a somewhat ugly hack).
Ladislav
13-Apr-2013
[2347]
Well, but the fact that REB_FUNCTIONs don't need GC is not ugly IMO.
Andreas
13-Apr-2013
[2348x2]
One negation too much.
(Meaning: sorry, I'm not sure I understand what you are trying to 
say.)
Ladislav
13-Apr-2013
[2350x3]
You mean you dislike it?
Integers, decimals, REB_FUNCTIONS, whatnot... don't need GC.
Only series and GOBs need GC
Andreas
13-Apr-2013
[2353x3]
Quite fortunate that you know already know enough of the GC to not 
mistakenly walk down the wrong road.
I didn't yet check how REB_FUNCTIONs are created, but why should 
they _not_ be GC'd?
Are they pooled or managed using a custom allocator?
Ladislav
13-Apr-2013
[2356]
Exactly for the same reason why integers do not need GC. They are 
not allocated, so they don't need deallocation
Andreas
13-Apr-2013
[2357x3]
Ah, so they can only be contained within a series.
Ok.
(Or a gob, maybe.)
Ladislav
13-Apr-2013
[2360x2]
Yes, the reason why GOBs needed GC was that they did not fit within 
128 bits.
(GOB is 512 bits)
Andreas
13-Apr-2013
[2362]
So there's a "gob reference" value type?
Ladislav
13-Apr-2013
[2363]
Yes
Andreas
13-Apr-2013
[2364]
Ah, I see. A "gob value" is just a pointer to the real gob structure.
Ladislav
13-Apr-2013
[2365]
REBGOB (the part needing GC) is 512 bits, while Reb_Gob (fits within 
128 bits and points to a REBGOB)
Andreas
13-Apr-2013
[2366x2]
REBGBO! :)
Thanks for clarifying.
Ladislav
13-Apr-2013
[2368x3]
Yes, sorry, it is just struct Reb_Gob called REBGBO.
BTW, REBGBO looks quite ugly to me
(I mean just the name)
Andreas
13-Apr-2013
[2371x2]
Maybe REBGBI (in analogy to REBSRI) would be better?
Is the "index" field of REBGBO presently used?
Ladislav
13-Apr-2013
[2373x7]
yes
you can write:

next gob
So, actually, the "full GOB" is 544 bits, not just 512
(when summing REBGOB and REBGBO while subtracting the pointer.
I am quite curious whether it would be possible to fit a Rebol value 
to less than 256 bits when using 64-bit memory pointers
I originally guessed 160 bits might suffice, but I would not bet 
on it now.
if not wanting to make some "big adjustments", it looks like absolutely 
necessary to go to at least 224 bits.
Andreas
13-Apr-2013
[2380x2]
I'd be quite interested in that as well.
And I'd generally try to stay 64-bit aligned.
Ladislav
13-Apr-2013
[2382]
...which yields exactly 256 bits :-(
Andreas
13-Apr-2013
[2383]
192 or 256, yes.
Ladislav
13-Apr-2013
[2384x2]
some "values" contain 3 pointers, which gives 192 + type information 
+ alignment = 256
Hi, all, a "stupid" question: R3 is still called "alpha" (and there 
*are* issues I want solved before moving it to beta). One of the 
issues is the "gotcha" represented by the DECIMAL! name. I know that 
it is used consistently in Rebol, but it is still a "gotcha" for 
any possible newcomers actually stating something like: "here mathematics 
is not welcome", which is not true so much as I (mathematician by 
the education) would say.


Also, having a "truly decimal" datatype called MONEY! in R3, I would 
prefer a rename:

MONEY! rename to DECIMAL!

DECIMAL! rename to REAL! or FLOAT! (or something else that could 
be popular)


So, how many of you prefer to keep the DECIMAL! name for the 64-bit 
IEEE 754 binary floating point format used in Rebol and

how many of you prefer to rename the DECIMAL! datatype to something 
else?
Henrik
13-Apr-2013
[2386]
I would not mind this change.
Andreas
13-Apr-2013
[2387]
I'm strongly in favour of this change (and would prefer float! over 
real!).
Gregg
13-Apr-2013
[2388]
Not a stupid question, a hard one. 

1) Keep money! as it is.
2) Use new decimal type for decimal!  +1
3) Use float! (not real!) as the name for IEEE754  +1