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

World: r3wp

[!REBOL3-OLD1]

Sunanda
5-Jan-2009
[9033]
No load/library in the current (ie jan-2008) public alpha.
Not sure if it is in later versions.
Henrik
5-Jan-2009
[9034]
I don't see it here.
Maxim
5-Jan-2009
[9035]
and are there any specs on how to use the rebol.dll itself outside 
of the environment RT is building?
Pekr
5-Jan-2009
[9036x2]
Sunanda - all Carl's energy is spent on prepraration for the next 
alpha release, the public one. I think it is wise to have infrastructure 
ready first, to handle the load it might cause.
So - work on GUI is postponed right now to above mentioned activities. 
Once it is done, there will be release to more wider audience, before 
any work on GUI continues.
Maxim
5-Jan-2009
[9038]
wrt library... ok
Sunanda
5-Jan-2009
[9039]
Petr -- But there needs to be some evidence that the project is still 
alive and deliverying.
A one-year old public alpha is not that.
Pekr
5-Jan-2009
[9040x2]
Maxim - have you read my proposition to start wiki page to define 
our needs for library component? We should really do so!
You will surely agree, that so far, supporting C code is mostly a 
joke ...
Maxim
5-Jan-2009
[9042x2]
rebol3 /core really should be finished before any rebol/view is released. 
 just like the very first v1 release.
yes... I am doing so right now... implementing the windows bitmap 
handling and gdi is *NOT* fun.
Sunanda
5-Jan-2009
[9044]
Maxim -- load has to some extent been replaced by transcode.
So lack of /library may mean the functionality is elsewhere.
The same is true with load/header.
Maxim
5-Jan-2009
[9045x4]
(in R2)
I always tought that the load/save refinements for library and image 
formats was pretty strange.
pekr... R3 MUST support unsigned values for starters.
even if only in structs
Pekr
5-Jan-2009
[9049]
re R3 /library. I talked about it with Carl one year ago. He was 
not sure /library component will be added as-is. Instead, he thought 
about making it a plug-in. But - plug-ins are done from some 80%? 
They also need 'modules, whicha re not finised too. But - we could 
do some preparation work.
Maxim
5-Jan-2009
[9050]
furthermore, the ability to contain or point to structs must be explicit... 
right now, I can't deduct from the library docs if structs pointing 
to structs is even possible!
Pekr
5-Jan-2009
[9051]
I think, that having really good /library component could bring us 
many more wrapped external libraries - call it a deployment. Currently, 
we are missing on most of outer library stuff, and we are living 
in rebol-only world.
Maxim
5-Jan-2009
[9052x2]
yess. doing a C/C++ importer is possible.  especially for dll stuff 
which is autodocumenting in many cases.
or has .h to explain it in the least.
Pekr
5-Jan-2009
[9054]
isn't Python e.g. being able to almost automate wrapping C definitions?
Maxim
5-Jan-2009
[9055]
but my .dll question was the opposite.... using rebol.dll within 
a C application... are there any docs about doing this yet?  compiling 
your own interpreter, linking in your stuff on the C/C++ side of 
things is probably easier.  than trying to tie them up from the rebol 
side of things...
Henrik
5-Jan-2009
[9056]
Maxim, no docs on .dll yet. The current alpha is a single .exe.
Maxim
5-Jan-2009
[9057]
yes... for python its rather easy because the first class values 
follow most of C rules... series are static, for example.
Pekr
5-Jan-2009
[9058]
Maxim - not much word on it. I do remember there was posted main 
wrapper even for R2 (look at plug-in groups here). But, there will 
be both .dll and also object file for static lingage with R3.
Maxim
5-Jan-2009
[9059x3]
yess.... static linkage is what I would need more than anything.
I am slowly working towards elixirOS and that is a C version of elixir 
with rebol being the conscious brain, driving subconscious C datatypes 
and binary code...
not ready yet, but just wanting to see where things are now, so I 
can place my time and efforts properly.   Already started to look 
at OpenGL a bit and started doing C++ again.
Pekr
5-Jan-2009
[9062]
I think that you gurus should take care of new /library definition 
on wiki (that way it does not get lost in discussions). We could 
start with revision of prior discussions in DLL (or was it library?) 
group here.
Maxim
5-Jan-2009
[9063x2]
If you set it up, I will participate :-)   I have done library stuff 
a few times, even fixing ladislav's memcopy hacks once. 


 right now, I am faced with an signed/unsigned issue related to 16 
 bit values needed for a lib call... I honestly can't say from the 
 library docs, if the negative 32bit value in rebol's integer will 
 stay negative once converted to 16bits... for example. 

 this kind of information is Crucial for stability.
also, for lib usage a GC-independant alloc() dealloc() equivalent 
would be VERY usefull.  something we can manually free, in order 
to work with large dataset we really don't want the GC to grab.  
for example, using image magic, I can work with 10GB image files. 
 composing 100 of those images into another.  I can't let rebol's 
GC play around with such specific needs... this is just one example, 
but there are others.


sometimes handling stuff manually is easier than hoping an automatic 
system will do so properly.  in R2, images are never freed, for example, 
so for a task which rebol would be the ultimate image manipulator, 
I can't use it cause the third image I load from disk craps out rebol, 
since it grows beyond 1.5GB of RAM.
Pekr
5-Jan-2009
[9065x3]
one question - isn't there any cute, cross-platform C compiler, which 
would not add more than 30KB to REBOL.exe, and could be included 
as a variant of rebcode? :-)
would /Command's 'free function by of any help here?
... hmm, according to help frees library or struct types only ...
Maxim
5-Jan-2009
[9068x2]
nope...  its all working within the GC ... from the library docs: 
"For example, if a REBOL word that was defined as a struct! is reused 
to make another struct!, the memory used by the first struct! becomes 
unreferenced. Any unreferenced struct! values may be reclaimed by 
the REBOL garbage collector, even though the memory is owned by an 
external function."
so this means that the memory being used never actually gets freed 
back to the os, only to the internal GC pool, which never really 
shrinks.
Sunanda
5-Jan-2009
[9070]
Have you thought about using CALL to create temporary extra versions 
of REBOL.exe for the image processing? That's solve some of the issues. 
Though it would be clunky!
Maxim
5-Jan-2009
[9071x2]
yess I did, but in this case, the goal is to do interactive AGG manipulation 
of one image at a time and stamp it on a layered composition.  by 
the time I load the third image (from a digital camera at 7.1 MPixel), 
rebol crashes  :-(
(well maybe more than 7.1MPixel. but anyways... the fact that REBOL's 
memory footprint grows everytime I do load on a .png... and never 
shrinks... means it will eventually crash, whatever I do  :-/
Graham
5-Jan-2009
[9073x3]
Sounds so familiar :(
I have a script that invariably dies doing png stuff.
Unless I disable gc.
Maxim
5-Jan-2009
[9076]
but then I guess ram grows even faster!  no?
Graham
5-Jan-2009
[9077x2]
yeah ... so makes it unusable.
And then I call 'recycle .. and boom!
sqlab
5-Jan-2009
[9079]
Did you try [save] as it states that this attribut saves the stuct 
from the GC?
Maxim
5-Jan-2009
[9080]
but that means it *never* gets GC'ed
Henrik
5-Jan-2009
[9081]
Maxim, does it also happen if you load it into a pre-allocated binary 
and clear it when you're done?
sqlab
5-Jan-2009
[9082]
Yes, you could try to reuse it.