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

World: r3wp

[!REBOL3 Extensions] REBOL 3 Extensions discussions

Carl
16-Jul-2010
[1008]
I need to find a group to discuss the PAIR changes happening. Suggestions 
anyone?
Maxim
16-Jul-2010
[1009]
Core?
Steeve
16-Jul-2010
[1010]
no !REBOL3
Carl
16-Jul-2010
[1011]
I guess. Kind of general group tho. Was hoping we had a graphics 
or datatypes group.
Maxim
16-Jul-2010
[1012]
there's REBOL3 GUI
Graham
16-Jul-2010
[1013x2]
How to compile the sample ext-test.c using MinGW http://jira.rebolsource.net:8080/browse/REBOLKIT-5
Looks like it should be possible to call Java libraries from a C 
extension using the Java native interface ...
AdrianS
17-Jul-2010
[1015]
would be easier to use something like SWIG

http://www.swig.org/
Graham
17-Jul-2010
[1016]
Got an example of use with R3 extensions?
BrianH
17-Jul-2010
[1017]
SWIG has REBOL support now? R2 or R3?
Graham
17-Jul-2010
[1018]
sure .. just use -r in the options :)
BrianH
17-Jul-2010
[1019]
And then it magically reads your mind and chooses REBOL, rather than 
the R that it does support. We could use that ability in REBOL - 
it would allow us to implement half of the CureCode tickets we've 
had to dismiss :)
Graham
17-Jul-2010
[1020]
As you can see here .. Max took it upon himself to do something about 
swig R3B0L support http://www.rebol.net/cgi-bin/r3blog.r?view=0231
Steeve
17-Jul-2010
[1021]
Ok, we can sign the 1 billion contract now
BrianH
17-Jul-2010
[1022]
Has every group become the Humor group now? My grandma would say 
we are getting punchy :)
Graham
17-Jul-2010
[1023x2]
I guess we have to prove we're not a joke ...
Jocko, I was able to compile your tts example under visual studio 
express 2010 but with a lot of difficulties :(  
Size of the dll was 19.5 kbs vs your example which is 8.5kb
Carl
17-Jul-2010
[1025]
Maxim: Get and set of object fields has been added to the extension 
API in A101. So, great things can happen now?


But... before A101 is released I need a decent test for extensions, 
and Robert will be coordinating that project.
jocko
17-Jul-2010
[1026]
Graham, did not visual studio 2010 convert properly the visual 2008 
project file to visual studio 2010 ?
Graham
17-Jul-2010
[1027x3]
I had to do this http://jira.rebolsource.net:8080/browse/REBOLKIT-6
Maybe one would have fewer issues with using profession visual studio 
2010
@Carl, the chicken came first!  So, just give us the A101 download 
link
BrianH
17-Jul-2010
[1030]
It's not done yet.
Graham
17-Jul-2010
[1031x2]
Anyone want to try this?


write %cimgtest.dll read http://www.compkarori.com/r3extend/cimgtest.dll
secure [ extension allow ]
import %cimgtest.dll
test
This loads up the C++ CImg Image Processing library and prints "hello 
world" in purple
BrianH
17-Jul-2010
[1033]
Good to hear that the ban on directly importing extensions from URLs 
is still in effect. It's a good rule.
Graham
17-Jul-2010
[1034x3]
Eh?  Didn't try that ...
Shame shame ....
Now to see if I can get tetris up and running
BrianH
17-Jul-2010
[1037]
It's good, really. It means that you can secure a sandbox and still 
allow extensions, just by prohibiting writing to disk.
Graham
17-Jul-2010
[1038x2]
Here's another test 
download  http://www.compkarori.com/r3extend/img.zip
unpack it
run the r3.exe

secure [ extension allow ]
import %3d.dll
test

and it shows a 3d figure you can rotate with the mouse
How to simulate argc, argv .. I guess we just read the frame
BrianH
17-Jul-2010
[1040]
Except there's no way to call or declare commands with argc, argv 
style of arguments in REBOL.
Graham
17-Jul-2010
[1041x4]
Source to the 3d rotation demo http://rebol.wik.is/R3_Extensions/CImg_3D_Scene_Rotation
Someone know why we are still using AGG 2.3 from March 2005?    2.4 
still used the BSD license
There are changes in the design, files, and interfaces are made, 
so that, you will have to spend some time for migratintg your applications. 
I tried to maintain is as painless as possible, but still some concepts 
have changed. There some files were removed from the package, but 
not functionality.
 - probably ...
@brian .. what I meant was that many of the C programs I've come 
across use argv, argc in main.  Instead i would pass these parameters 
in the function that is being exported.  Just need to rewrite all 
those c functions that access argc, and argv
Carl
17-Jul-2010
[1045x7]
Graham: host-args.c -- clean and easy to modify or replace with what 
you need. And special args can still be passed in the arg struct 
if R3 needs it.
Ok, so there's a new R3 sitting here on the shelf drying out waiting 
for some better testing.
Has some useful new ext funcs:

	void *(*make_block)(u32 size);
	void *(*make_string)(u32 size, int unicode);
	int (*get_string)(REBSER *series, u32 index, void **str);
	u32 (*map_word)(REBYTE *string);
	u32 *(*map_words)(REBSER *series);
	REBYTE *(*word_string)(u32 word);
	u32 (*find_word)(u32 *words, u32 word);
	int (*series_info)(REBSER *series, REBCNT what);
	int (*get_char)(REBSER *series, u32 index);
	u32 (*set_char)(REBSER *series, u32 index, u32 chr);
	int (*get_value)(REBSER *series, u32 index, RXIARG *val);

 int (*set_value)(REBSER *series, u32 index, RXIARG val, int type);
	u32 *(*words_of_object)(REBSER *obj);
	int (*get_field)(REBSER *obj, u32 word, RXIARG *val);
	int (*set_field)(REBSER *obj, u32 word, RXIARG val, int type);
Also, the API is now auto-documented -- within the reb-ext-lib.h 
-- including special tips.
So, this will be A101.
To be released once we have a volunteer to write some tests for it.
(And no, we'll not just dump it to the group, because I don't want 
to flood Curecode due to non-tested status. Best to wait on it.)
Graham
17-Jul-2010
[1052x3]
Carl .. exactly how many posts regarding the hostkit have been made 
to curecode?
I presume curecode has a view filter too
Two ... one in May, and one in April 2010
Robert
18-Jul-2010
[1055x3]
Call to Community to help us get the next host-kit released:
We need a way to test extensions with each release.


Tests need to be able to handle normal extensions as well as embedded 
extensions (because the difference is only a few #ifdef statements.)

There are a few "dimensions" to test the basic mechanisms:

1. some commands (in a named extension module)
2. commands that use and verify all possible argument datatypes
3. commands that return all different datatypes
4. defining and setting words (variables)
5. accessing values in a block

6. accessing values in an object (new feature, but this is one reason 
why we need the test)

I'm sure there are a few other misc items.


We think that the entire tests can be generated with a REBOL script, 
and save a lot of typing. However, that's not a requirement.
I will release our test-framework, which should be used as base or 
as resulting format.