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

World: r3wp

[Core] Discuss core issues

Jarod
27-Mar-2006
[3782x4]
But I am actually talking thorough discussion and documentation of 
every nook and cranny and how to do basic things people want and 
need to do with the language
something along the lines of the rebol core manual, but more in depth
having to re-invent the functionality that other languages just give 
you is a serious pitfall if you ask me
that was one of the things that drove me crazy about lisp, yeah it 
is a powerful language, and yeah it is a programmable language, but 
to some degree the only way to do anything really useful in the langauge 
was to in essence program lisp to function similar to other languages 
you were already familiar with, or to in essence extend lisp with 
functionality it should have already had before you even started 
programming in it it
Graham
27-Mar-2006
[3786x3]
in some ways this might be considered an elitist atttitude on the 
part of the language writers.
If it's not there, write it yourself.
Better to have a way to point to mezzanines that implement the common 
functionality that people want.
Jarod
27-Mar-2006
[3789]
I dunno, I think that languages like java or .NET would be far less 
successful if people had to implement a majority of the class library 
by hand, anytime they wanted to take advantage of advanced functionality. 
There is just some functionality that people come to expect regardless 
of what higher level language they are coding in. And for a language 
that supposedly can be used to parse and manipulate text and data, 
not having a built in substring function is pretty crazy
Graham
27-Mar-2006
[3790]
Rambo your suggestion.
Jarod
27-Mar-2006
[3791x5]
that is my primary need or want to use rebol for, is to manipulate 
text. I like perl, but  love rebol's small footprint, if it can give 
me the same power of perl in a much smaller package, with a gui, 
that is all the better. I could potentially replace access and a 
lot of proprietary tools with a small rebol view application.
I like how rebol handles tagged data, xml, html, etc.
I am surprised save can't serialize rebol datastructures in xml formats
I dunno maybe I am being anal, or stupid, or just plain unreasonable. 
But this sort of irked me, when I found people offering a solution, 
and it was so simple as to have just been a part of the darn language 
from the beginning.
I hope more documentation on view itself also debuts
Graham
27-Mar-2006
[3796x2]
actually it was Jaime

substring: func [
    [catch]
    source [string!]
    spec [block!]
    /local start stop rule
][
    rule: [set start integer! '.. set stop integer!]
    unless parse spec rule [
        throw make error! "Invalid range spec."
    ]
    copy/part skip source start stop
]
this was in my response to my suggestion that we adopt a python type 
syntax for parts of series

substring "abcd" [2 .. 3]
Jarod
27-Mar-2006
[3798]
so skip is skipping into the string, then it is copying part of that 
string starting from that position to the end?
Ashley
27-Mar-2006
[3799]
Oddly enough, *I've* never needed substring type functionality in 
REBOL. Might be due to the fact that REBOL's multitude of datatypes 
reduces the need somewhat (i.e. in another language you may have 
to manipulate numbers / strings to / from dollar / date / time formats, 
whereas in REBOL I tend to convert via the to-* functions).
Jarod
27-Mar-2006
[3800]
well, one thing I've wondered is how to add weeks, months, years, 
etc. to dates
Graham
27-Mar-2006
[3801]
Jarod - yes.
Jarod
27-Mar-2006
[3802]
I like that function a bit more Graham, I basically think I understand 
what that is doig
Graham
27-Mar-2006
[3803]
the ".." is synatactic sugar.
Jarod
27-Mar-2006
[3804x4]
doing
having to write a function to do that is a pain, but I can probably 
live with it, knowing exactly what it is doing
I mean, all languages have quirks
hehe
Graham
27-Mar-2006
[3808]
I don't use substr much at all either .. but your complaint was one 
I also felt :)
Jarod
27-Mar-2006
[3809x4]
I mean, there are times when parse will work
but honestly, I could actually see parse having the ability to substring
I am surprised it doesn't
how can you do more with dates than just add days to them?
Bo
27-Mar-2006
[3813]
So why doesn't someone write a .r file you can run that adds common 
functions for other languages (i.e. basic.r would have 'substr,
Jarod
27-Mar-2006
[3814]
I guess there are several ways it could be implemented
Graham
27-Mar-2006
[3815]
user.r ?
Jarod
27-Mar-2006
[3816]
putting it in user.r?
Bo
27-Mar-2006
[3817]
Someone (or a group of someones) should write a .r file for the common 
languages (i.e. basic.r would include 'substr, 'peek, 'poke, etc.; 
rexx.r would include 'mid, etc.).  That way, new users from other 
languages could move into Rebol with the knowledge they already have. 
 Of course, the script flow would be different, but their favorite 
functions would be available, and they could see how to implement 
their favorite functions natively using 'source.  There could also 
be a %c.r for those coming straight from C. :-)
Graham
27-Mar-2006
[3818]
and things like .. cd, dir and other common dos functions
Bo
27-Mar-2006
[3819x4]
Ah, but to implement dos.r, you would have to remove about 90% of 
Rebol's functionality ;-)
Just kidding...I was being mean about how bad DOS really is as a 
scripting language. :-)
Jarod...I guess you are asking about how to add to dates.  Here is 
an example:
>> b: now/date
== 27-Mar-2006
>> b/month: b/month + 6
== 9
>> b
== 27-Sep-2006
Jarod
27-Mar-2006
[3823x2]
that adds months, what about weeks?
hmm
Bo
27-Mar-2006
[3825]
>> week: 7 ;Defining a "constant" here
== 7
>> b/date: b/date + (6 * week)
== 8-Nov-2006
Jarod
27-Mar-2006
[3826]
hmm
Bo
27-Mar-2006
[3827x2]
I guess I didn't need to use 'b/date, just 'b would have worked.
>> b: b + (6 * week)
== 8-Nov-2006
Jarod
27-Mar-2006
[3829x2]
yeah, but I mean, let's say I took two dates, and I wanted to know 
the number of months between them, the date/month thing doesn't work
maybe if I take the number of days and divide by 12
Graham
27-Mar-2006
[3831]
use 'difference to get the difference between two dates