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

World: r3wp

[Rebol School] Rebol School

Dockimbel
23-Nov-2011
[4012x2]
It seems to be possible to write C wrappers for managed code too: 
http://www.dotnetmonster.com/Uwe/Forum.aspx/dotnet-interop/5678/Can-Unmanaged-Code-call-LoadLibrary-on-a-managed-DLL
But, as for C++ wrappers, you need to statically make the bindings 
to given managed functions.
Singy
23-Nov-2011
[4014]
Hosting the Common Language Runtime - as per that last article sounds 
interesting - I wonder how large that would be. What about running 
REBOL in the DLR like iron python etc. Is such a thing doable? Or 
is that a blasphemous though to REBOlers?
BrianH
23-Nov-2011
[4015]
You would have to rewrite REBOL from scratch to run it in the DLR.
Singy
23-Nov-2011
[4016]
LOL - not much chance of that then!
BrianH
23-Nov-2011
[4017]
That's how the Iron* languages did it :)
Singy
23-Nov-2011
[4018]
It will be interesting to see how Doc pulls it off then when he gets 
to that stage in Red (interfacing to .Net I mean). I love REBOL but 
as a netwok admin who lives in a world of Windows being able to interact 
with all things Windows from REBOL would be heaven :))
BrianH
23-Nov-2011
[4019x2]
As someone who uses MS SQL Server a lot, being able to call R3 from 
.NET could lead to stored procedures written in REBOL, maybe :)
In that case, reimplementation starts to look pretty good, or maybe 
even a Red port if it gets PARSE support :)
Dockimbel
23-Nov-2011
[4021x2]
PARSE support: certainly! Supporting .Net  as a target for Red compilation 
(more accurately: for Red/System compilation) is in the roadmap, 
but not a high-priority though.
(but we're moving out of Rebol Schoold channel topic)
Singy
23-Nov-2011
[4023]
Well guys, I gotta go now, but thanks for all your help and for the 
stimulating discussion!
Dockimbel
23-Nov-2011
[4024]
You're welcome, thanks for bringing that interesting topic. ;-)
Pekr
23-Nov-2011
[4025]
IIRC, Max worked on R3 interfacing to .Net for some commercial entity. 
Not sure what' the current state, nor if it is going to be released 
to the public ...
Awi
24-Nov-2011
[4026]
Hi, I am trying to write a Rebol app that download some .png map 
tiles from OpenStreetMap, and display them.  Since Rebol does not 
support multithreading, while downloading every map tile, the user 
will face a non responding screen, which is not very nice. Is there 
a known trick to download in background, or something like that? 
Many thanks..
Henrik
24-Nov-2011
[4027]
Awi, maybe this is useful:

http://www.colellachiara.com/soft/Libs/async-http.r
Kaj
24-Nov-2011
[4028x2]
Not sure if this will be usable for you, but I have Red bindings 
to two OSM GTK+ libraries lined up that I will present at the GeoFreedomDay 
meeting December 10
http://www.geofreedomday.nl/2011/Red-System.html
Dockimbel
24-Nov-2011
[4030]
Looks good :-)
Kaj
24-Nov-2011
[4031]
There's the minor issue that I still have to make them, so I hope 
it will work :-)
Marco
26-Nov-2011
[4032]
@Awi: http://www.rebol.org/view-script.r?script=threaddemo.r&sid=w2hg
Awi
29-Nov-2011
[4033]
Henrik, Kaj, Marco, thanks for the help, I will look into those. 
Sorry for the late reply.
Awi
30-Nov-2011
[4034]
@Kaj: Sorry, a little of the topic. For the future, I'm planning 
to replace the Rebol 2 UI side of my app to use libchamplain or osm-gps-map. 
Hopefully I can already use red by then (currently python is in my 
mind). Which one do you think is more mature and easy to use? My 
app would only display OSM tiles and draw some objects and lines 
on it. Thanks for your opinion and pointing me into these libraries.
Kaj
30-Nov-2011
[4035x2]
Champlain is much more complete and generic, except maybe the GPS 
track functionality. However, it uses Clutter, so OpenGL, so that 
must be available on your target platform
OSM-GPS-Map is thus simpler to roll out, but it is GPL instead of 
LGPL, so it can't be used in closed applications
Awi
30-Nov-2011
[4037]
Thanks Kaj, I really appreciate it.
Marco
3-Dec-2011
[4038]
I don't know where to post this request, so I put it here:

I am translating some .h files of useful shared library to rebol 
( fmod,sdl,opengl) so if you know of a useful-multiplatform-publi-shared 
library

please give me lonks to binaries, .h files and test programs, thanks.
GrahamC
3-Dec-2011
[4039x2]
I thought someone had done fmod already ?  Was it pekr or anton ?
Oldes and R3 https://github.com/Oldes/R3-extension-FMOD
Oldes
3-Dec-2011
[4041x2]
I'm mainly using ImageMagick in a real live (R2) - here is a minimal 
set of routines - https://github.com/Oldes/rs/blob/master/projects/imagick/minimal/imagick.r
For imageMagick you can find useful parsed specs for magick_wand 
and pixel_wand routines https://github.com/Oldes/R3-extension-iMagick
Marco
3-Dec-2011
[4043]
@Oldes: Is that set minimal ?! Are there much more things to translate? 
Why don't you put it on rebol.org?
Oldes
3-Dec-2011
[4044x2]
I guess it could be even more minimalized.. this subset was enough 
for my needs. As you can see in the parsed routines, there is much 
more what can be done, but it requires time to work on it. Also I 
don't consider R3 evolving so I stoped experimenting with it and 
in the free time I would rather play with Red (but Red is missing 
decimal support so it cannot be used with bindings like FMOD or imageMagick)
Also for me it's more easier to put scripts on github than rebol.org 
as most of scripts are build from multiple files.
Janko
20-Dec-2011
[4046]
is there already any way to turn block to object like data: [ a 1 
b "c" ]  ===> data: make object! [ a: 1 b: "c" ] so I could >> do 
bind [ print a ] data ; or do I have to do that "manually" ?
Geomol
20-Dec-2011
[4047]
One way:

	data: [ a 1 b "c" ]
	forskip data 2 [change data to set-word! data/1]
	data: make object! data


I don't know, if there is a simpler function call, but you could 
wrap that into your own new function.
Janko
20-Dec-2011
[4048x2]
ah.. i forgot about change function, so my solution was more ugly
and I was thinking that there has to be something default already 
made .. thanks! I will create some func our of your code
Steeve
20-Dec-2011
[4050x2]
in R3:
>> append context [] [a 1 b "c"]
== make object! [
    a: 1
    b: "c"
]
btw, in R2, forskip is a mezz (may be slow)
Endo
21-Dec-2011
[4052x2]
Is there a easy way to set REBOL Console title other than "REBOL/View"?
I want to give output to console but cannot change the title.
There is already a ticket on RAMBO #3660. Any easy way?
Steeve
21-Dec-2011
[4054]
http://www.rebol.org/view-script.r?script=window-util.r
Endo
21-Dec-2011
[4055]
Thanks a lot.
Janko
23-Dec-2011
[4056]
today I discovered maybe fairly obvious thing about rebol, that was 
bugging me for long time and I thought there is no solution:
compose [ ([]) ] == []
compose [ ([ 1 2 3 ]) ] == [ 1 2 3 ] 


I just assumed taht compose functions the same way as reduce and 
never looked in details. And there were many instances where I would 
need such behaviour and I had to invent worse solutions because I 
didn't think it was possible with rebol.


I had it as one sign that rebol is not as mature as lisps because 
there you have @to deconstruct list in such a manner. But now I see 
we have even cleaner solution also.
Kaj
23-Dec-2011
[4057]
Yes, COMPOSE flattens outer blocks
Janko
24-Dec-2011
[4058x4]
I am using rebol for quite few years now and I didn't know it :)
I have one binding + object question that is beyond me.. .this code 
represents it:
> c2: make c1 [ a: [b] b: func a [ print b ] ]
>> c1/a
== [a]
>> c1/b
** Script Error: b is missing its a argument
** Where: open-proto
** Near: c1/b
>> c2/a
== [b]
>> c2/b
** Script Error: b is missing its b argument
** Where: open-proto
** Near: c2/b
>> c3: make c1 [ a: [b] ]
== [b]
>> c3/a
== [b]
>> c3/b
** Script Error: b is missing its a argument
** Where: open-proto
** Near: c3/b
ah .. I didn't copy the first line.. I will copy this to some page 
rather than again here.
Please look here instead: http://pastie.org/3065592-- the point 
is when I extend c1 with c3 and define a I want that b which I didn't 
redefine takes the a from c3 not c1 where it was created (which I 
do understand is normal behaviour). Is this even possible?