U-Oh.. Philosphizing with REBOL is just so compelling.. :) I am excited about REBOLs code=data philosophy. code=data works so well with EMACS/Scheme which is a dialect of LISP. Also, that REBOL wants be complimentary to XML and REBOL claims that it can be used in place of XML. XML is great at defining interfaces.Therefore, using an XML mindset, I propose a "REBOL-Interface-Definition-Language-DTD-like" REBOL script(Document) that will publish the interface in IDL or XML. This will strongly support the pattern InterfacesIndepenentOfImplementation. For something that RunsAlmostAnywhere, this is an important consideration. (Having said that, I am very interested in learning exacltly *how* I could write XML-like documents in REBOL. ) Then, it will be up to separate platform developers to build highly efficient compilers for their platforms like MIDL for Windows etc. Here, C++/C/Other programs can implement the interface. Maybe, this will allow extensive re-use of existing C++/IDL interface work done in the industry so far and REBOL could ride that wave. REBOL can also use middleware on 3-(N) tier systems Maybe, that way, the problem of exposing a REBOL script will also vanish: then, peer services will only "see" the "IDL"d Services, not the REBOL or Rebol Script Also REBOL Scripts could be built that act as services to interfaces published by external C/C++/Java/other requests. About Andew's point on an neat ,extensible, Object Oriented, ScriptBased Development, Debugging environment, it would be very interesting to hear thoughts on the idea of a RAD visual development environment using REBOL/View and automatic code generation/debugging and possibly round-trip from REBOL script to visual (VisualBasic like ) elements. I am daring to propose this because of (a) REBOL's awesome language features and (b) I see so much talent within this ml J (c) When Turbo Pascal/Turbo Vision came out I was *really* impressed that their IDE was built using TurboVision and that really sold Turbo Pascal to me. It would leapfrog REBOL well into the popular domain of scripting languages. I can see one drawback - the lack of speed: but looking at toys out now like DreamCast and Playstation 2 being truly 128-bit CPU-based machines that might not be such a major factor when it comes to even embedded devices in the future. Regards, Nitish. http://www.loka.net/ "You may say, I'm a dreamer, but I'm not the only one..." -J.Lennon -----Original Message----- From: [EMAIL PROTECTED] [SMTP:[EMAIL PROTECTED]] Sent: Wednesday, 16 February 2000 07:31 To: [EMAIL PROTECTED] Subject: [REBOL] Philosphizing/Imbedding and Extending Rebol Re: Hi All: Am reposting this in reponse to Andrew Marting.. Having said that, look at Python: With Python, you can both call other programs from the script, AND you can imbed the script in C/C++ by linking in Python Libraries. As a C/C++ programmer, I would guess that there would be some hurdles to overcome with multiple platforms as targets to implement system calls in Rebol. Looking at the reverse: that is imbedding Rebol in C/C++ (I can only comment on this medium, not other languages). If the necessary resources were provided, it shouldn't be too difficult to arrange for a rebol library to be linked into a C executable. And I don't think then, that it would be too difficult to make the first step a very simple interface like so: use_rebol(char* rebol_syntax_string); //and overloading in C++ use_rebol(char* rebol_syntax_string, char* simple_data_string); OR use_rebol(int number_of_args,............/*variable argument list*/) // etc.... The implementation would be VERY simple, and definitely limited, but it would be a first step, and wouldn't have to be made obsolete by later enhancements. Even at that very simple first step, I could see an easier implementation of ftp, cgi, and email than the components provided to me by Borland. (And Borland CGI services are available to the programmer only with a VERY expensive "interprise" version. By overlaying the code with the preprocessor, one could then create any number of very powerful calls with very brief coding. As cesar state quite correctly resolving datastructure would be somewhat more complicated, but doable. On a related note, I have seen comments about databases: And I do a lot of CGI database programming. Let me put in a plug here: I recently purchased the Mix C/Database Library, it is available for differnt Windows modes, as well as for Linux. And is very complete and powerful. Now I don't pretend to advise rebol as to purchasing someone else's work or joint ventures, but if I could find a way to compile rebol's core with Mix's database libraries, I would be one VERY happy camper. Just a thought. Thanks for listening Tim At 09:22 AM 2/10/00 -0600, you wrote: > > >[EMAIL PROTECTED] wrote: > >> And what do you think about a Rebol extension language tool? >> > >I think Rebol would make a fine extension language. The major problem all >extension language integrators face is how to glue to language to the >application's core datastructures. Series are a simple yet obviously powerful >abstraction; RT has given us ample examples of how to bridge that abstraction to >a variety of problem domains with their tight integration of series and various >network protocols. I suspect that a thoughtful way to wrap host-app >datastructures up in series would in a natural way lead to very expressive, very >tight extension code. > >$0.02, > >jb > >> >> thanks /cesar > > begin 600 WINMAIL.DAT M>)\^(@,6`0:0" `$```````!``$``0>0!@`(````Y 0```````#H``$(@ <` M& ```$E032Y-:6-R;W-O9G0@36%I;"Y.;W1E`#$(`0V ! `"`````@`"``$$ MD 8`= $```$````0`````P``, (````+``\.``````(!_P\!````.P`````` M``"!*Q^DOJ,0&9UN`-T!#U0"`````&QI<W1 <F5B;VPN8V]M`%--5% `;&ES M=$!R96)O;"YC;VT``!X``C !````!0```%--5% `````'@`#, $````/```` M;&ES=$!R96)O;"YC;VT```,`%0P!`````P#^#P8````>``$P`0```!$````G M;&ES=$!R96)O;"YC;VTG``````(!"S !````% ```%--5% Z3$E35$!214)/ M3"Y#3TT``P``.0`````+`$ Z`0```!X`]E\!````#P```&QI<W1 <F5B;VPN M8V]M```"`?=?`0```#L`````````@2L?I+ZC$!F=;@#=`0]4`@````!L:7-T M0')E8F]L+F-O;0!33510`&QI<W1 <F5B;VPN8V]M```#`/U?`0````,`_U\` M`````@'V#P$````$`````````IE&`02 `0`\````4D4Z(%M214)/3%T@4&AI M;&]S<&AI>FEN9R]);6)E9&1I;F<@86YD($5X=&5N9&EN9R!296)O;"!293H` ME10!!8 #``X```#0!P(`$ `+``@`(0`#`" !`2" `P`.````T <"`! `"P`$ M``,``P#^``$)@ $`(0```$,Y-T$Q.35"130V,D%!-$%!04$V0T,S.30T13<T M03=&`&X'`0.0!@`T$@``(0````L``@`!````"P`C```````#`"8```````L` M*0```````P`N```````#`#8``````$ `.0"@7+XR`7B_`1X`< `!````/ `` M`%)%.B!;4D5"3TQ=(%!H:6QO<W!H:7II;F<O26UB961D:6YG(&%N9"!%>'1E M;F1I;F<@4F5B;VP@4F4Z``(!<0`!````%@````&_> $QD.KIN:,[1D75LLX( M>.-6"4L``!X`'@P!````!0```%--5% `````'@`?# $````/````<F5B;VQ M;&]K82YN970```,`!A#J2"WV`P`'$)81```>``@0`0```&4```!5+4](4$A) M3$]34$A)6DE.1U=)5$A214)/3$E32E535%-/0T]-4$5,3$E.1SHI24%-15A# M251%1$%"3U544D5"3TQ30T]$13U$051!4$A)3$]33U!(64-/1$4]1$%405=/ M4DM3``````(!"1 !````_ X``/@.``#3&0``3%I&=>$3[A4#``H`<F-P9S$R M-48R`/@+8&[email protected]!]R "I -C`@!P<G$1#E!F8V@*P'-E='PP( =M`H,` M4 +R$-TRI"!7"X!G9!2A<P*#MQ$A`^,0U" '$P*#,Q6'FQ%7%F5]"H (R" [ M"6_-#C U`H *@75C`% +`X1N;P/P9&-T; JQ8EP/`C$P,Q<!"\0@`%4M3V@N M+B!0HF@#$&]S<!X`>A2A$B #\'1H!_!%0D^$3" $`"!J=7,%0 AS;R %H&UP M96SF;!2A'<$Z*0JB"H0*@ !)(&%M(&5X8^\>X F (? &X'4%0!\C!""C!: ! M`#UD80&0(!Y1M1XA;QY0>1W0(XAW!; V:P0@( %W('$>Q$5-H$%#4R]3$5!E M!X#_'L >`!%0'W(D`!30!T %D $%0&]F($Q)4U"3'= A*D%L( `L(![PJR/@ M'Q5W`'!T!"!B)V#?(#(@D > `C *P'DJ4" 0O%A-'V `<"*0'R1C"V'^;00@ M*F,>X" @`Y$K<1_ [R*!"X D$ M@8R=@*+$LL?\=T"RR'X$)P2J!*H$!`0N M)QZ2"X B<')F+Y%S+OY4)S )< (0"7 J0!_ 'I+K`Y$LLFT+@&01D2I (>!? M$/ D@!XP)V D`"(?(RV223'V+40Q8W1I`B!$+4P/$75A9S915,1$+2"0:V4B M'Q4$]* H1&]C=2P"*2I4\P/P)C%P=0)@! `?`![PYR=@,><O,DE$'V %L3 # M?R$D,I ?@3H3'] #8 \@;/$L8'-U<#3P`" ZTPJP=P) !)(UUW,UT $`(&!N M\2P13V9)*\$G02PA-M+]'=!&!;$@``> 'O >DBID'G4`@"H`!& ?T$%N>?\G M@#*Q*D(?@2?B`Z '<#YR'RLA("$`@02!074H2&'Z=AZ2<PMP(I J8C2"(@'^ M=@20+& QXP>0(G(O02A@;PK ,9,B, #0;!P0+& JFF@;P"HTD06@=6PBD/YW M!1 B<"RB-^,H(#DU1('?`Z ?(QW0(1LRD6XJ0"Y1^SH3+L)P+'(1D JQ(^ ^ MX?\+8 `P!; B$ $`2! )`"!@<Q& +')B=0,0(I >`&?^:#X1`1$-X B017,@ M4 ,0]U%",N$ZTFD%P%!&%> A,[U+XTT[\E/"%)%,,'<$(!41H&,=T$A$`T,K M*_ O0R]/.N%400-@"<!?(@`C8434010ZW"XA*DW\87DK<$0U.A,'0 D`!^"O M(C B< "!2! @"7 M+O'_**(B, 0`-M >H5=B._([*/\E@DPA0( O,CKB(20T M(1_!_RQ1( $R, 7 +/E*\P40`0#_.;5&L%I0+28#D0= ( %=<ODT$&1D*& K M$ EP** #H' S+2A..:$(D1_P>>](P5366MUC<WDJ0C[A`V#_`F G0%VD-/$S M8SA+6^8@`?9V`' ZH3HA)#KA3G$D$/\)X$(!!)!&P#)1.@0"(#X1/B(1D#@A M8&-+$ )@<77^;TMQ._$`$&^7(I &4FW3GRI &[ ^I!\D!;%290;A_P8`!0,I M3A\5<T0C8DL"*W'O4;(^HC#R*(%A)<%MMBR!]S'H.E8B@6)285RQ!* '0)=7 M4%>05W%*1K!A+V_@_U?B"7!OP$BQ,G I/"+#0[#=`0!W`!!OQ'B1;S'A9=)W M`Y% @"J!+%RE:7$J0$^T8FHH<D\(@3'Q9"I [7-$0G<0(H$@-G!0\RP"IRI M-G!1L&=G29-N1L#_/=&"!$ZB=:9(&T*#(! G,/\*P2I1"&!2,"M!9>$ZXP$` MYR0`*+%J@4%$2 `$`#=@/P,@4-590X,),S4?(R]6=PB0!^ L\F$BX -Q-M!C M[R-S,+! <484+P$`@H8L\I\T\7]"+& #8$,@9"T]P+\%(%.P`V%JG"R!B!4H MBL#_B#*!(8O!2^,YH"!P02-[D?\AXR/0!1"%=#3&1%,K<"Z V5UU*&$YH!\C M)R?Q)A#_0B)),#<U4[ PX0AP!Y$L\KPH8CF@(>!NX1_R;1L@OSK!*%%%<1[2 M8#,?@6T#(<D<=#(T$P$@2AQJ;3#T*&,YH%=.41'0"' &X.<=X'<0+H!L+YR4 MD.$VX;\N<2=1(M(AX"L0!" J,-']((!Y2J!%`4BA+P(J8U0$_3OP19[3=B0S M1)R3G<4L\O\J8Y\T'_%+$9R:+'('@%IE]DF#YDE!< -1BD4F!#'A_R 0/L,D M@$L`"L%,, # +T'_*+$$]!Z2EF:2@RZ"F")?\64A)&1&$'=B`-!?P"V?.M,O M@5_ J3)M460Z4:'S!4 )`&]K,V.0$F;0GG/+&[&1E$0PT6U#=Q Q`=TM`5 + M8&;107,@%' K<!U"@W)+`"Q@#B X+6+Y+E%#4!V K" O`@#!0G'_=Z(J<C00 MAG%QPRMQ/D GL?LD``# :@6Q,C$L@ 7 0^'_1.%3`W>D4.$#H"= *W!E4.\B M@5#1;>-@-68BX)<Q6FN[(21RX&<+$7&@(21.-L%[.K!:9F,`04L`4@`"0'!0 M.B\O=[UP+@D`:^1A+D" ="^\@0% 2P#S`4 A,R)9"&"S83XA:,+\22<B$"@1 MK^($D"I K<)?P )QUFZ#7_$=P"XX,"WX2BY,"? ;L N0N<T+,/D@D#,VOK$# M8")P' `55'PQ-JQ@Q=* (8*Q>>%-_Y_Q-W+%TB$FQ.2^LPLQQ.9@:2TQ-#0! M0""0,=PX, % #-#)<V)!T -AJVQP#))B$<!TM;!H`( M`B! BY&^`2X@,2!; M8%--5% ZRY\#<%W?(27*H 9@`C#+!U<)@+/!]R/0:-'%H49R\+(`+$(!T,'* M`" P-SHS&T/.L\Q4;\L'.I%T0 EP!N%?S(+.>#IP?]++!UL?(UWO'>Q>H+?3 MC59%7++70W+D_W+@;'7'W\3TQ'0/!A;D# 'Y(3-(:190((#8]@&1%E#_(A ) M<#3QA51$8P.@W>(`@/]C,2 0?.$)< ?@6S `(""C3]PU1K^N`C$24'F&,6[? MK: 4D![QXK0J0'F_02Z#_WK!(22=(6YA5]R/$SKB!/3Y*D!!3H?PY 8'<+?A M.M+_(20$]2]!>A-Y0B"1KC,O0?_BM"C0?U!&$ B!>YXG\NG$_U@EP*.>P4KS M-U"?\:!'9;%WA ="(B$D: AP96%18V__2!&VXA[$F)!*$ 4@*&!46/]W`BPQ M-X K07?20/;HQ6;3WRYQ((!,M-.#(2I,KADZ\?\)<$@1$9"MH"X$1('7!W+D M_>F7**JS(21N@R Q64.&PWN9X@F :3E0<;1ZQ*H'*?^E=BC .N) @#)11Q L M44BA_PAA;?/OHC3!1L"X$4Z#.K#92O)N)[33+(!OJX4&D/]2H?*Q+'(*P$80 M#R"6T7*Q_R0`TW.1D>N2+&,K<>I2+Q/_!&)74"$D(C!_X"+@SW H8/\=T'SA M-)%?X0+10F)?P&SD?RX&A <#,2@A`^5LA9AQ8?],`;D#5# ?TB)P3V D`$@3 M_W] 0/([&4OC( #8]R%"9/&^7]-SG `4$4J@TW-?9L#=+"%X$@".P12P*1F M(3/OO5 L\O'")%!AUT/IDE=POQ!?$6\2=2I %>0.9%\CTKD2?4]2+N(5=7WR M;CE0Z2MP<E^4\%_T$7&@PG'Y&Y<O*FP0Z4 (8@2!EI#S64/3(BHO(16]4%:C MPG$/3>=8Z+$4A =615)9_PY5*D L\C%42-!NH2OA2V'_@)"^Q*W"@]H%4 U( M(=0@D_\"PBIP71$&5+-P8R%I8*0!?U:PJW7J(E !<L#8`"IP;O<OH))$]PI% MMX*@<T+A#AK_).I*QI@B9'$PX'] 5_$?K/O[M8>09KT@%W&"L"'463#_J/"E M`2D!.M-3(E_Q3)(!EENE%'E"0G*PFE%DX*4H]PC",S574$>8`FW%9:)Z@?]1 MT!RSI];MIVYT\E,%4"$B]P>F0&%<\R([(Y.@TS!O`??XTD9#]PI"PB$3TEM M0H3_,4)C(?)3:01 4(F `")RL/\*(%_R=91LXE,0GS%+<45@_VZP&J0O!T@3 MD] !0;E FB#_]A3R4T@3ZY#KT(>0B_'@8O_L+0`A8=&P\O(P>T!+8G60[P2@ M?^&.,I8!;.$S&&)A0;^U,)<B[]RV8!APOL1M<K#_,40&L*3@@'.MPDPP"&/W M"OY/9(%=,2B"BS!QT5MQJK#_)G-NX9X1_'3L\7R3&&*S$KYSXQ (QNT!UD!^ M$6:^Q/\TXD\&[8?@8NM@5K RPGBP_^ES!5#S,(*0A<'?``_KJK#_1C$@`6ZA M>+#Q\':0H!3R,.A-:7AZ`411=NMT:-'_MK'],37X!1(#PGFQ<Y7C,/]B$$&@ M_4&,`7&A=Q&G8W<1]P42ZW :H'@(I/TQA)-)X^\GP8V%0;3@I4ZO40D&G]'[ MU_($4V2($?B2<P&^Q//2_Y.!5>3A0Y8A/K*(L+,PE;']()!RK0%RP+6P??*W M@9<C_\#4`] LMR)1R*%A<VBB!%+_2>)K@&#EE;%&`?(U5K&5L?]19P74Z]'N M. : ^[8A!7:07'!P_$&P`#DP<GNL2M^4L':QAB8>]T 0:UO4TR(_V `2L1\% M]+#LA7:P,#FD.C*Q<$%-L6 OFI!2+]%A+3#$H##CY'?;Q.+8]3YSG$3C0)2P MT/'O.L ID%_RI.$N`1)S3W/@_CX(LTCR4 +D`@F$3J2'L9_Z<W[UZT&69P,Q M;#]W5O]SG*JP"83Z9""4#+,DPF,2_WH_[ #28*RAM923H0AQP"'_]C!SE7\/ M#K0W,;8AYD$/,N_],89 BO '06=3T-]C>LG]Z(@^;#%*(SK!:"9'2^OQ[\[Q MZ\(UI Y6>5+1)W#A,/V>@'.R(+[$09:&9B> L?#+M@$ZP3N;X%)4)F'L\/\O M\"J"E+"2P?+R" ".4Z[A]T-@A(5#(61[(DD'C'D$4?>&9F2 Z[)TPB%#8(#V MJ,3_0F6@I"[ M'*#1IWRJ3*))?]F1AQRBM%SE;X!8[/9<CX@_Z00B-(U`15 M.3"V$/DT;A>_0>)FY7: II"$<0UP+6PQ_W.5B RAT W0%(&6%2"44W/_QG!D MP<:!9N*F<3*#04(XM^]DX3EB"B"@6#Z4Q((8//*#X*5S]B0P+C RNT7]<_9J MSX!V_'=7,-)O49D0MB]$XW.=)\H!]Q-]P_ "`*H@`P`0$ `````#`!$0`@`` M``,`@!#_____0 `',, 6")(`>+\!0 `(,, 6")(`>+\!"P``@ @@!@`````` MP ```````$8``````X4````````#``* "" &``````# ````````1@`````0 MA0````````,`!8 (( 8``````, ```````!&`````%*%``"W#0```P`)@ @@ M!@``````P ```````$8``````84````````>`!6 "" &``````# ```````` M1@````!4A0```0````0````X+C `"P`9@ @@!@``````P ```````$8````` M#H4````````#`!J "" &``````# ````````1@`````1A0````````,`'( ( M( 8``````, ```````!&`````!B%````````'@`K@ @@!@``````P `````` M`$8`````-H4```$````!`````````!X`+( (( 8``````, ```````!&```` M`#>%```!`````0`````````>`"V "" &``````# ````````1@`````XA0`` J`0````$`````````'@`]``$````%````4D4Z( `````#``TT_3<``$Z( ` end
