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

World: r3wp

[Core] Discuss core issues

Geomol
2-Dec-2009
[15106]
I often find myself thinking about, how to categorize REBOL among 
other programming languages. I think, it's how the language wants 
us to make sentences and not just give commands, one on each line. 
In REBOL, we write:

insert back tail series my-value


and it feels natural. In other languages, you would do something 
like:

int sz = length (series);
Series *ptr = &series[sz - 1];
insert (ptr, my_value);

You could maybe do:

insert ( &series[length (series) - 1], my-value);


but it's just far from being as elegant as in REBOL. So most languages 
are like simple commands all the time, one after each other. With 
REBOL we make sentences. It's like a huge step up from many traditional 
programming languages.
Gregg
2-Dec-2009
[15107x2]
Yes. I think of this aspect as combing the best elements from Forth 
and Lisp/Logo in a natural way. That is, lists (blocks) are the foundation, 
and you build up a vocabulary to do what you want. It also encourages 
us to structure and doc things a little more, compared to Forth; 
but you have the freedom to express things any way you want. It's 
a very different view from Python, where (my opinion), the goal is 
to make all programs look the same, no matter what the problem domain 
is.
Even with a simple example like the one you gave, I might add a couple 
funcs to make the intent even clearer. e.g.

insert-from-tail: func [
    series [series!] 
    value  
    index  [integer!]
] [
    insert skip tail series negate abs index value
]

insert-before-tail: func [
    series [series!] 
    value  
][
    insert-from-tail series value 1
]

insert-before-tail series my-value
Janko
2-Dec-2009
[15109]
yes, this is very nice part .. I like that most things are expressions 
that you can combine together
Oldes
3-Dec-2009
[15110x3]
Is someone using REBOL with Gmail? I was trying this: http://mail.rebol.net/maillist/msgs/44246.html
but it does not work (I think that REBOL's esmtp scheme is not responding 
on STARTTLS command as described here: http://en.wikipedia.org/wiki/STARTTLS
or is it fault of the Stunnel?
I think it's the right time to start writing some schemes for R3
Janko
3-Dec-2009
[15113]
I remember from Factor irc where they tried to make smtp compat with 
gmail that gmail does something a little different that with regular 
ssl connections. I think it starts without ssl and initiates it in 
the middle of communications or something like that
Sunanda
3-Dec-2009
[15114]
Can confirm I also failed to get stunnel to work with REBOL while 
following the advice in that post, Oldes.....Sorry, that's not much 
help, is it?
Graham
3-Dec-2009
[15115x2]
I posted the changes needed somewhere to get esmtp to work with gmail 
.... needs R/command though.
This script http://accessories.s3.amazonaws.com/hotmailer.r


uses a secure pop protocol to login to hotmail and download messages, 
and remove attachments.  Should work with gmail.
Graham
4-Dec-2009
[15117x3]
Speed or safety?  that is the question.

>> to-integer ""
== 0
>> to-decimal ""
** Script Error: Invalid argument:
** Where: to-decimal
** Near: to decimal! :value
>> to-decimal "0"
== 0.0
>> to-decimal "0 "
** Script Error: Invalid argument: 0
** Where: to-decimal
** Near: to decimal! :value


now it seems to me that if you're going to allow string input to 
'to-decimal then the most likely instances of this type of data is 
where it has been parsed in or comes in via a form and so it should 
by default handle whitespaces
BrianH
5-Dec-2009
[15120x2]
In R3, the answer was safety:
>> to-integer ""
** Script error: content too short (or just whitespace)
** Where: to to-integer
** Near: to integer! :value
>> to-decimal ""
** Script error: content too short (or just whitespace)
** Where: to to-decimal
** Near: to decimal! :value
You can clean up input. Accepting invalid input is another matter 
- that way leads to exploits.
Graham
5-Dec-2009
[15122]
as long as it is consistent
Graham
7-Dec-2009
[15123x3]
Anyone run the Arm version of core on one of these plug computers 
?  http://www.globalscaletechnologies.com/p-22-sheevaplug-dev-kit-us.aspx
I can think of lots of uses for them if they ran core ...
Some guy got Arc to run on one of these and setup a web server
Maxim
7-Dec-2009
[15126]
that is a cool server form factor  :-)
Claude
8-Dec-2009
[15127x2]
hi, i would like to know if R2 and R3 have a scheme for LDAP ?
i would like to do Authentication with R2 !!!!  is it possible ?
sqlab
8-Dec-2009
[15129]
maybe you should ask there
http://softinnov.org/rebol/ldap.shtml
Dockimbel
8-Dec-2009
[15130]
I've stopped working on it at alpha stage, I've lost the need for 
it in my projects. It would require some significant amount of my 
time to finish it, probably a week of work. I could spend so much 
time on a tool that I don't need only under contracted work.
MikeL
8-Dec-2009
[15131]
Re: Claude's question, I am interested in knowing what R3 users plan 
to  use for Integrated Windows Authentication support http://en.wikipedia.org/wiki/Integrated_Windows_Authentication
.  It is a show stopper for me for most uses in any corporate environment.
Pekr
8-Dec-2009
[15132x2]
MikeL: I think that we are at the very beginning of such topics. 
You can read my marketing/strategy related material in Article REBOL 
adoption, and I reduced it to two words - EASY DEPLOYMENT:

http://www.rebol.net/wiki/Marketing_Strategy_Websites
To answer your question in more concrete manner - I think that we 
have to stop and prevent our past ttitude of "you can code it yourself". 
Many ppl who come or will come to REBOL, are seeking a solution, 
they are not interested to do the work themselves. I think that R3/Extensions 
open some door to link to many outer system. But the hard work still 
needs to be done. As we are a small community, I once again propose 
some kind of Bounty system, so that we can sponsor most popular requests. 
This should address one aspect of the problem - REBOL devs not necessarily 
working only for free ...
eFishAnt
9-Dec-2009
[15134x3]
In R2 core latest, I want to launch a script with args...
launch %myscript.r argument1 argument2  ;so is this possible? (this 
line would be in another script
launch/as-is   %myscript.r arg1  ;is not active in this version REBOL/Core 
2.7.6.3.1 14-Mar-2008...but not sure it would do what I want.
amacleod
9-Dec-2009
[15137]
Anyone know if there is  way to send faxes from comand line on windows...perhaps 
a dll (I've seen mention of faxcom.dll)
Gregg
9-Dec-2009
[15138x2]
Steve, I always use CALL these days. Or Gabriele and Doc's async-call. 
By using system/options/boot, you can launch the interpreter you're 
running under.
Alan, I haven't done it from the command line, but a quick search 
makes me think it might be possible using Windows Fax and Scan, if 
your on the right OS. I did a fax interface for Bo a few years back, 
but it used APIs. Graham may have thoughts here as well. He's done 
a lot with Hylafax I believe.
Graham
9-Dec-2009
[15140x2]
Yes, I use hylafax which runs on linux .. but a windows client just 
has to do a http post of the file to the hylafax server
and in so much as rebol runs as a command line client, then it can 
be readily done.
Gabriele
10-Dec-2009
[15142x2]
Steve: call reduce [system/options/boot %myscript.r "argument1" "argument2"]
when you use file! call does a to-local-file automatically, and wraps 
it in quotes.
sqlab
10-Dec-2009
[15144]
with launch you can probably come next to what you want with
launch {-s --do " script.r arg1 arg2"}
Graham
10-Dec-2009
[15145]
Launch is broken that's why Gabriele is suggesting using call instead
sqlab
10-Dec-2009
[15146x2]
I use call too in my scripts, but the question was for launch.)
Ok, this way launch works as I would expect
launch {-sq" test.r arg1 arg2  }
eFishAnt
10-Dec-2009
[15148]
wow, thanks guys, for the "launch buffet"  I was hungry, and you 
gave me to eat.
Graham
11-Dec-2009
[15149x7]
Looks like Sterling's detach.r script in the library to detach attachments 
from emails has a bug.
See http://www.mail-archive.com/[list-:-rebol-:-com]/msg07169.html
Looks like Sterling's fix in that thread is also incorrect.  The 
problem is here

 boundary: headers/content-type
   if boundary: find/tail boundary {boundary="} [
        remove back tail boundary
        print ["Boundary string:" boundary]
   ]


where it looks for boundary="  but fails to take into account where 
there is not "
the first line is redundant, and the second line can be changed to 
a parse ...


   if parse headers/content-type  [ thru "boundary=" opt {"} [ copy 
   boundary to {"} to end | copy boundary to end ]][
        ;remove back tail boundary
        print ["Boundary string:" boundary]
   ]

which I think fixes it.
I discovered this when trying to detach files from gmail where there 
is not quote used, whereas hotmail uses the quote in the boundary 
string.
Hmm. Boundary won't have a value if the parse fails ... so

either parse ...  [

][
	 boundary: none
]
headers: import-email email

   either parse headers/content-type  [ thru "boundary=" opt {"} [ copy 
   boundary to {"} to end | copy boundary to end ]][
        print ["Boundary string:" boundary]
   ][ boundary: none ]