REBOL-SIMPLE dialect
[1/18] from: greg::schofield::iinet::net::au at: 10-Aug-2008 21:46
People like me are a pest and I know it.
I am nowhere near being a REBOLer, but I am extremely impressed by what little I do know.
I have come up from REXX, I script occassionally and only when I need something done,
it can be anywhere between 6 months to a year or two between projects. Relearning a language
is a major problem, hence the simplicity of REXX is a great asset for that language as
well as its natural limit.
I can see REBOL doing both and doing it well, mostly because of the power of dialecting.
REBOL is full-on, especially with the datatypes, and I admit I just can't really get
some pretty simple stuff, for instance I still can't really get my head around blocks
(how stupid does that make me!).
My suggestion is REBOL-SIMPLE as a very simple dialect of REBOL resembling REXX and heavily
Function based, but using as many characteristics of true REBOL to make transition from
it, to the real stuff, as seamless as possible.
A data-type-less language where as far as the user is concerned every variable is a string
(using the functions themselves to sort things out). I would also suggest versions of
stem-variables as a simple way to manipulate related data. There are a few things I can
suggest, but the idea is just make it simple (ie every "do" has an "end", every "if"
etc.,. simople and clear often means verbose scripts).
To most of you this will sound like nonsense and just a useless suggestion by a tangental
supporter. In the end I will cope with REBOL, I have no doubt of that. However, REBOL
needs to recruit users who are not scriptors or programmers in any form, it will become
popular if it supplies simple tools to do simple things that easily leads to using REBOL
in more complex ways.
From what I can work out a new dialect, well designed, could do the trick.
Greg Schofield, Perth Australia
[2/18] from: carl::cybercraft::co::nz at: 11-Aug-2008 18:52
On Sunday, 10-August-2008 at 21:46:48 greg.schofield wrote,
>People like me are a pest and I know it.
>I am nowhere near being a REBOLer, but I am extremely impressed by what
<<quoted lines omitted: 8>>
> really get some pretty simple stuff, for instance I still can't really g
>et my head around blocks (how stupid does that make me!).
It just means you're not a true block-head yet. ;-)
Blocks are just containers, or that's how I look at them. Consider a string. It's just
a container for bytes/characters, right? Well a block's just a container for REBOL values.
ie...
if a = b [do this stuff]
IF expects two arguments, the second being a block. And if the first argument returns
true, REBOL will evaluate what's inside the block, otherwise it'll ignore it. But that
block's no different to this one...
blk: [some stuff]
Meaning a block with code in is no different to a block with data in. And you'll notice
IF's behaving like a function, not a command or statment. And just like a function that
accepts a string, it's accepting a block. It's that simple.
>My suggestion is REBOL-SIMPLE as a very simple dialect of REBOL resemblin
>g REXX and heavily Function based, but using as many characteristics of t
<<quoted lines omitted: 6>>
>st make it simple (ie every "do" has an "end", every "if" etc.,. simople
>and clear often means verbose scripts).
It's an interesting idea, though I'm not a dialect expert and don't know REXX, either.
However, wouldn't a simple language like that, (only having string variables, the need
for "end"s, etc.), make the transition to REBOL proper just as hard as it's been for
you with moving from REXX?
-- Carl Read.
[3/18] from: henrikmk::gmail::com at: 11-Aug-2008 10:45
On Sun, Aug 10, 2008 at 3:46 PM, <greg.schofield-iinet.net.au> wrote:
> People like me are a pest and I know it.
> I am nowhere near being a REBOLer, but I am extremely impressed by what l
<<quoted lines omitted: 25>>
> lex ways.
> From what I can work out a new dialect, well designed, could do the trick
I think this might not be a good idea (surprise :-)). We all come from
different environments of programming and we all have different ways
to handle the languages that we've programmed in before REBOL. I often
observe people learning REBOL asking, why doesn't it do this or that
like C or Java does? Why doesn't it have regexp or why doesn't it do
classes like Java does, because the beginner is used to those things
from other places. And the truth is that many languages borrow
concepts from eachother, where such questions may make sense.
For me, an old PHP programmer, the best method was to simply forget
everything and start over, and just give 100% in to what REBOL gives
you. The "why"s and "why not"s can come when you become good at the
language, but they usually don't end up being design flaws, just
implementation flaws. Remember that REBOL is designed on its own
premises by one man for a long, long period of time, and you must get
into the mindset that it doesn't compromise to be like other
languages.
If you have difficulties with blocks, I'd say, you have problems with
80% of what REBOL is. :-) That's why I think it's a bad idea to start
working out something like SIMPLE-REBOL, because the REBOL you have
now _is_ supposed to be simple and disguising it as something else would
just make learning REBOL much harder. The language is deep enough as
it is.
--
Regards,
Henrik Mikael Kristensen
[4/18] from: greg::schofield::iinet::net::au at: 11-Aug-2008 23:02
--- Message Received ---
From: Carl Read <carl-cybercraft.co.nz>
To: rebolist-rebol.com
Reply-To: rebolist-rebol.com
Date: Mon, 11 Aug 2008 18:52:39 +1200
Subject: [REBOL] Re: REBOL-SIMPLE dialect
Carl wrote:
It just means you're not a true block-head yet. ;-)
True :-0
Blocks are just containers, or that's how I look at them. Consider a string. It's just
a container for bytes/characters, right? Well a block's just a container for REBOL values.
ie...
" if a = b [do this stuff]"
IF expects two arguments, the second being a block. And if the first argument returns
true, REBOL will evaluate what's inside the block, otherwise it'll ignore it. But that
block's no different to this one...
"blk: [some stuff]"
Meaning a block with code in is no different to a block with data in. And you'll notice
IF's behaving like a function, not a command or statment. And just like a function that
accepts a string, it's accepting a block. It's that simple.
Greg:
The flexibility of blocks is one thing, but again you hit on something that caused me
a lot of problems, looking for statements/commands which were in fact more like functions.
Carl:
It's an interesting idea, though I'm not a dialect expert and don't know REXX, either.
However, wouldn't a simple language like that, (only having string variables, the need
for
end"s, etc.), make the transition to REBOL proper just as hard as it's been for you with
moving from REXX?"
Greg:
I think it could be superficially REBOL-like, an entry point language. It would be verbose,
and compared to real REBOL slower and much more mechanical. It would have to be designed
by someone absolutely at home with REBOL proper, because the purpose of the language/dialect
would be in itself a gentle introduction to REBOL proper.
In reality as a langauge it would not be doing much besides conditional operations, iterations,
assignments and basic maths - everything else would be just formal function calls. Typless
data (resolved within functions), line based processing.
I don't know how it could elegantly be done, but I was thinking of a three level dialect.
That is the top level is REBOL-SIMPLE, in which simple functions could be created, another
level of function creation using another set of more low level functions. And finally
functions wrapping up real REBOL.
Using it at the top level (REBOL-SIMPLE) allows the novice user to quickly arrange a
fairly simple over arching script. The function level (next stage down), still wrapped
as a dialect, introduces another set of complementary tool/functions allowing users to
create more complex functions, and then a function environement that is near enough to
pure REBOL.
It may well be a silly suggestion, but I would like to have a lanaguage I could introduce
to others as a really simple way to get things done, but then allows a fairly seamless
extension into more complexity, already wrapped in a simple overcoat so that they can
concentrate on creating a fragment at a time and still have a fully functioning script.
[5/18] from: greg::schofield::iinet::net::au at: 11-Aug-2008 23:24
--- Message Received ---
From: Henrik Mikael Kristensen <henrikmk-gmail.com>
To: rebolist-rebol.com
Reply-To: rebolist-rebol.com
Date: Mon, 11 Aug 2008 10:45:36 +0200
Subject: [REBOL] Re: REBOL-SIMPLE dialect
Henrik:
I think this might not be a good idea (surprise :-)). We all come from
different environments of programming and we all have different ways
to handle the languages that we've programmed in before REBOL. I often
observe people learning REBOL asking, why doesn't it do this or that
like C or Java does? Why doesn't it have regexp or why doesn't it do
classes like Java does, because the beginner is used to those things
from other places. And the truth is that many languages borrow
concepts from eachother, where such questions may make sense.
I think you might have missed my point. I used REXX as an example because it is a simple
no fuss language that I am familiar with. Perhaps that was a mistake. What I should have
said was that REBOL-SIMPLE could be a dead simple language that in all the superficial
ways looks like REBOL.
In otherwords abstract from all the languages and establish the most basic simple to
use lanaguage/dialect designed to lead into REBOL proper. The way I am seeing it is as
a tool to bring not programmers, or scriptors to REBOL, but computer users and absolute
novices to using any language. Iterations, conditionals, assignments, simple maths, using
a rich set of functions to do what is required, and typeless data (sorted out at the
dialect function level).
The beginner you are refering to is someone who is already scripting/programming.
REBOL's dialecting ability is potentially an open door to people who have never thought
they could program. I am talking of simpliest concievable language that at it simplest
level relies on having a huge number of functions that can be called in one line.
As I suggested in a previous post addressed to Carl, really it would have to be dialect
that supported three distinct levels. The top level (the simplest) producing a framework
for using functions, another level, more function orientated a set of useful tools to
get functions written easily, and at a slightly more complex level than the top level.
The last level just REBOL wrapped as a function to fit in with the rest.
It would not be REBOL but a mix.
The idea would be that a complete novice could rough out a script that worked and then
concentrate on those things as fragments using more more REBOL to get there, without
writing a full REBOL script from begining to end.
It may prove too complex, it may just be silly, but it might be something. Considering
what is being done to the new VID it may fit in well - that is a simple GUI method mixed
with a simple scripting framework that fragments the harder parts as required.
If that could be cracked, the advantage would be that REBOL would not be recruiting REBOLers
from amongst existing programmers and scriptors (though they would come too) but people
who need to get their computers doing stuff that they need easily.
[6/18] from: moliad:g:mail at: 19-Aug-2008 20:06
hi Greg,
I will interceed in this discussion just because I understand both
where you come from and where Henrik is trying to steer you.
when you say:
I think you might have missed my point. I used REXX as an example
because it is a simple no fuss language that I am familiar with.
Perhaps that was a mistake. What I should have said was that
REBOL-SIMPLE could be a dead simple language that in all the
superficial ways looks like REBOL.
I used to program in AREXX, an amiga implementation of REXX, and it
was fun and simple, yes.
The point of using Rebol IS that its not a programming language in the
usual sense. Its an expression language, and the lexical datatypes
are an integral part of that which makes it simpler and more
productive. Stripping the datatypes would actually make it more
obscure, more like a traditional programming language.
Rebol's SYNTAX is based on a rich set of datatypes and expressions
which manage them, not declarations and statements with implicit
meaning of a generic data container like a string, or a lexically
shallow datatype like objects.
Changing this to make it different, to me, makes no sense in terms of
REBOL. To me you don't realize that you've already taken the folds of
a programmer. ;-)
In REBOL, a string means "text" nothing more. The type has meaning in
and of itself, and rebol capitalizes on that.
You see, what makes REBOL distinct is not the computing model it has,
or its functions, or library richness... its its syntax itself. and
since you already learned a language, you don't realize that you are
not thinking as a non programmer, hehe. your brain has already
aclimated itself to a set of rules and logic and that have become the
definition of simple.
I find you cannot simplify REBOL's syntax itself ... its REBOL's main
particularity. REBOL has very little syntactic rules.
what is simpler, a road or an open field? in rebol it doesn't assume
which and doesn't force you into any answer... it goes a bit further
than that, it thinks that a road is for cars, fields for all-terrain
vehicles, and plowed fields for tractors, its inherent in the type of
surface, the reason for the surface itself. so you could use any
generic surface and walk, but if you're driving a car, why not use a
road directly... it will should be faster... no?
have fun :-)
-MAx
[7/18] from: moliad:g:mail at: 19-Aug-2008 20:08
oops, mangled last sentence...
it should be faster... no?
(unless there's traffic ... hehehe)
-MAx
[8/18] from: carl:cybercraft at: 20-Aug-2008 19:15
On Tuesday, 19-August-2008 at 20:06:52 Maxim Olivier-Adlhoch wrote,
>You see, what makes REBOL distinct is not the computing model it has,
>or its functions, or library richness... its its syntax itself.
Thank you MAx. My planned (but not implimented;) reply to Greg would have been something
along the lines that leaving out the datatypes in his REBOL-Simple would've been missing
the point of REBOL, but I doubt I would've shed much light on the why.
So maybe REBOL-Simple shouldn't be a dialect, but just a reduced set of REBOL's default
words - and perhaps a few new ones?
-- Carl Read.
[9/18] from: henrikmk:gm:ail at: 20-Aug-2008 12:01
On Wed, Aug 20, 2008 at 9:15 AM, Carl Read <carl-cybercraft.co.nz> wrote:
> On Tuesday, 19-August-2008 at 20:06:52 Maxim Olivier-Adlhoch wrote,
>>
>>You see, what makes REBOL distinct is not the computing model it has,
>>or its functions, or library richness... its its syntax itself.
>
> Thank you MAx. My planned (but not implimented;) reply to Greg would have been something
along the lines that leaving out the datatypes in his REBOL-Simple would've been missing
the point of REBOL, but I doubt I would've shed much light on the why.
>
> So maybe REBOL-Simple shouldn't be a dialect, but just a reduced set of REBOL's default
words - and perhaps a few new ones?
The default word set in REBOL is actually quite simple. Block
manipulation is astonishingly simple and elegant compared to, say,
manipulating arrays in PHP. This is where REBOL's great design pays
off.
I think it's a bad idea to restrict the word set of REBOL. It's like
saying you want the English language to consist only of 30 words, so
we don't have to print dictionaries anymore. That gives you problems
with expressability, although it's easy to remember 30 different
words. You may have to use more words to express a particular thing,
because some words are not available to you, or some things are just
impossible to express without having a word for it. A more correct
thing would be to weed out all synonyms to reduce the chance of
running into a word you don't know. But contrary to English, REBOL
does not have many synonyms. It has a few, but they are there because
they make sense and increase readability.
I think you would actually want to add mezzanines where it makes
sense. The cost of having more words to look up in a reference is
lesser than having fewer words to remember. Let me illustrate why:
Some things are tremendously easy to do out of the box, like simple
email validation:
if email? somewhere-blabla.com [print "Yes, that's an email"]
It doesn't get much simpler than this and most beginners can figure
out what's going on there. But some mundane things are much harder,
like reformatting dates to a different format. We don't have a:
to-rfc-822 25-Jun-2008/04:12:56
Or:
to-csv [[1 2 3 4][5 6 7 8]]
There's a mezzanine missing to perform these trivial conversions, so
the code would appear very simple or "beginnerish". The action behind
the function might be very complex. To ask a complete newbie to write
out a CSV file of a block of blocks, might be a bit much, so you begin
to consider the contrast of having the user to write 20 lines of code
to write that CSV string out, versus having only to write the line
above.
I don't think it's the job of R2 or R3 itself to have built-in CSV
file conversion methods as CSV is unfortunately not as generic as we
like to think. But I do think the problem is right there. By using
mezzanines to simply the language in general you can increase
readability and reduce visible complexity. We just have to find
sufficiently generic cases to solve and carefully pick which ones to
implement.
R2.7.6 and R3 have several new mezzanines to handle general cases,
like moving elements around in a block with the new MOVE function.
Other words that fit the profile, implemented for R2.7.6 and R3:
ALSO
FIRST+
SHIFT
TO-RELATIVE-FILE
TAKE
Each one either represents a significant amount of code reduction or
fills a natural "hole" in the REBOL function list, one where you'd ask
why don't we have a function like this?
.
This is where you want development to happen and it's certain to be
discussed in the r3-alpha AltME world where R3 development happens.
If you find more generic cases to implement, post them here, and if
they are good, they may be discussed for implementation. Better yet:
Produce a well-tested and optimized mezzanine and present it here.
R3 also has new functions to make certain things much clearer, where
you would use an existing word in R2 to do the same thing with less
clarity. In R2 you would get the words of a block by typing:
>> first my-object
== [self name address street age]
You cannot possibly know this without reading up on extra
documentation or asking another developer or stumbling upon it by
random.
In R3:
>> words-of my-object
== [self name address street age]
That's just one little quirk removed to increase clarity drastically
and of course it just one function of a whole set that adds partial
reflectivity to R3.
--
Regards,
Henrik Mikael Kristensen
[10/18] from: btiffin:rogers at: 20-Aug-2008 12:08
On August 20, 2008 06:01:11 am Henrik Mikael Kristensen wrote:
> But some mundane things are much harder,
> like reformatting dates to a different format. We don't have a:
>
> to-rfc-822 25-Jun-2008/04:12:56
Out of the box no, but Christopher Ross-Gill has a beautiful form-date.r
posted to rebol.org. Lots of options. And in my humble opinion, inline with
the model used by other lingos; an external includeable feature as simple to
get at as
do http://rebol.org/library/scripts/form-date.r
Umm, not that a new user (or even oldtimers) would have any clues to do such a
thing, but it is there.
But I also agree. Some things in REBOL are just not quite right, out of the
box. Lack of simple to use zero padding has always gotten under my skin.
I'll be pushing for the current FORMAT R3 mezzanine for R2.7.7 (perhaps with
a different name - PAD or ALIGN or JIGGLE or somesuch - until an actual
FORMAT dialect is built up).
Cheers,
Brian
[11/18] from: tim-johnsons:web at: 20-Aug-2008 10:36
On Wednesday 20 August 2008, Henrik Mikael Kristensen wrote:
> if email? somewhere-blabla.com [print "Yes, that's an email"]
from /Core 2.6.2.4.2 (linux)
>> if email? somewhere-blabla [print "Yes, that's an email"]
Yes, that's an email
;; Bad call! Blows the validation scheme out of the water. :(
tim
[12/18] from: greg:schofield:iinet:au at: 21-Aug-2008 7:42
Max thankyou for your reply.
I have no doubt about learning REBOL myself and properly (in the end). Just a small dipping
into it proved its worth.
I am not convinced I am right in this and your response is a valid one ( I do wish there
was more explanation/documentation about the pecularities of REBOL at the conceptual
level. I am sure I have read before a descritption of it as an expression language, but
in a practical sense it still has not gelled - I keep falling into command/function syntax
understandings).
I suppose, on reflection, what I am getting may have little to do with programming languages
per se, but people gaining more control over their electronic environment.
REBOL has this control feature in spades. That is what exicites me about it. But my view
is that thise who need to get more control over their computer environment fall into
broad categories:
1) Natural or (self)taught programmers.
2) Scriptors, who in many regards could be seen as primitive versions of the former,
or extremely developed users.
3) Experienced users who understand things, but never really dip much further into things.
4) Oridinary users, who range from niave step by step program users to very proficient
application operators who use what is prepared for them, but often have, due to their
experience, very clear ideas on how things should be done to make things easier and more
efficient.
REBOL very much suits 1 & 2.
However,category 3 for me is the vital one, as they are the natural conduits for the
experience of those that could be classed as 4.
For me who is really in 2. All I need is a little time and experience with REBOL, I have
never doubted my ability to get my head around it eventually. At the moment, because
of other priorities I just made a conscious decision to wait on R3 and then get into
it properly. It parallels my decision to not learn C years ago; an estimate of time and
labour required to become proficient, the level of foreknowledge needed to achieve some
of things I had in mind, meant an investment in dedicated time that I simply did not
have.
Many people are in the same position. But it is more than that. In a sense this is not
about REBOL or any other language, nor is it about what people set as personal priorities.
It is more about shifting power downwards through the categories of comkputer usuage.
My view is that applying computers to real world tasks is being constrained by a top
heavy approach where category 1 more or less set the parameters for 2,3 and 4.
What I believe is that 4, the humble user is a very important person. They are the ones
simply using computers to get something done. Because they can do very little else except
use what they have in front of them, they have a resevior of needs that cannot be expressed.
Category 3, the more savvy user, because they can manipulate the programming environment,
develop all sorts of skills, that 4 calls upon when problems crop up.
Category 3, the skilled computer user, is: A) locked out of most application programs.
B) has no real way to preserve what they know or change the problems they see. C) Can
only perform tricks, D) spends a lot of time performing the same tricks over and over
again.
Scriptors (2) are cut out of most applications like 3 (this is changing but very slowly),
they can occassionally add a script to do something otherwise they are more like 3.
Shifting the power downwards, the power to actually conrtrol what happens within the
computer, to evolve tasks etc to be easier, more flexible, more effieicnt in use (which
is not the same as being efficient code). Needs a media of expression.
REBOL, has the power, and it has dialects and combining these two has social implications.
For the most part category 3 and 2 (by extension) are the social nexus between 4 and
1. If that makes sense - they are positioned to turn whatever 1 produces into something
that really works well for 4, enabling ordinary users to express the changes they require
and 3 amd 2 to make things happen.
On this basis, I hope people see why REBOL could be vitally important in lubricating
such a shift in computer usuage. It has the power, to eliminate the big-bloaty fixed
application, its environment could go well beyond mere "custermorization" and running
"macros". But there is a kanker also, a side effect of REBOL not being all that easy.
More often than not the problem of adapting computers to doing stuff, as a productive
and not a technical problem. Consists in just two things:
i) I have some data that I want to do X with, do X and give it back (best served with
a finction rich environment).
ii) I want data added in a sequence, a flow problem - best suited to a GUI language that
has simple conditional controls. IF a = X then b = Y type thing.
i and ii require a language that essentially allows people to focus on immediate problem
solving, not writing complex scripts or indeed being very competant scriptors.
A REBOL dialect seems the perfect bridge, but it can't be REBOL as such, just a slightly
REBOLish form of a procedual language (if that is the right description). REXX had the
right mixture for doing this (more or less) but has progressively become over-stretched
(ObjectREXX) like Python.
Unlike PYTHON which is a do more by adding more language simplicity is overcome by increasing
arcane syntax (to get special things done) and increasinging unreadablity - it falls
between the chairs, so to speak.
REBOL-simple, is just that, simple. To get more from it you go deeper (REBOL proper)
keeping the simple bit simple, but extending it in a purely additive way.
To me this works, not because REBOL needs simplification (it doesn't) but that categories
of users need simplicity in order to express control over their environment and shift
things down from the top.
Sorry for the long rant. Essentially what I am saying has little to do with REBOL as
such, but how REBOL might act to move something else along -- giving users more pratical
power over what their computers are doing and how.
Thanks Max.
Greg
--- Message Received ---
From: Maxim Olivier-Adlhoch <moliad-gmail.com>
To: rebolist-rebol.com
Reply-To: rebolist-rebol.com
Date: Tue, 19 Aug 2008 20:06:52 -0400
[13/18] from: carl:cybercraft at: 21-Aug-2008 7:42
On Tuesday, 19-August-2008 at 20:06:52 Maxim Olivier-Adlhoch wrote,
>You see, what makes REBOL distinct is not the computing model it has,
>or its functions, or library richness... its its syntax itself.
Thank you MAx. My planned (but not implimented;) reply to Greg would have been something
along the lines that leaving out the datatypes in his REBOL-Simple would've been missing
the point of REBOL, but I doubt I would've shed much light on the why.
So maybe REBOL-Simple shouldn't be a dialect, but just a reduced set of REBOL's default
words - and perhaps a few new ones?
-- Carl Read.
[14/18] from: carl:cybercraft at: 21-Aug-2008 18:12
On Wednesday, 20-August-2008 at 10:36:46 Tim Johnson wrote,
>On Wednesday 20 August 2008, Henrik Mikael Kristensen wrote:
>> if email? somewhere-blabla.com [print "Yes, that's an email"]
<<quoted lines omitted: 3>>
>;; Bad call! Blows the validation scheme out of the water. :(
>tim
Well spotted. Plus, given this was supposed to be an easy example for new users to figure
out, isn't it reasonable to assume that the questionmark is part of REBOL's syntax and
not just a character that's part of a word? Afterall, colons are added to both the beginning
and ends of words in REBOL, so it stands to reason that a questionmark on the end of
one suggests they can be added to all words. ie...
>> name1: "John"
== "John"
>> name2: "Janet"
== "Janet"
>> John? name1
== true
>> John? name2
== false
>> Janet? name2
== true
Makes sense to me... ;-)
Yes, facetious, but a reasonable assumption for a beginner to make, unlike assuming that
a questionmark is part of a word.
-- Carl Read.
[15/18] from: greg:schofield:iinet:au at: 21-Aug-2008 18:40
Henrik sorry I did not reply earlier.
I have read through your post twice, some things I get and others I don't.
But what you suggest could be way better than what I had in mind.
I cannot really judge, if you read my post to Max, I try to explain that it is not just
a matter of making it easier, but a matter of extending REBOL solutions to different
classes of computer users.
The illustration you use (R3):
>> words-of my-object
== [self name address street age]
Is a great example of something very different to what I had in mind, that really helps.
Your CVS example as well as being a more function orientated approach is close to what
I had in mind, and of course you are right it is all about getting the right level of
generalization.
If the thing is thought about in terms of engaging a different level of computer user,
without confining them to a dumbed-down version, but as a legitmate doorway in REBOL
that to me seems to be a real problem that is need of a solution.
I will not clutter up this elist with more general stupidities than I can help, I would
like to encourage people to think along the lines of REBOL-simple as a legitimate goal.
I am sure if a real solution is made it will not resemble anything much I have in mind
(which is a good thing).
When you say:
By using mezzanines to simply the language in general you can increase readability and
reduce visible complexity. We just have to find sufficiently generic cases to solve and
carefully pick which ones to implement.
I feel you are spot on. Most of it is about removing visible complexity, and should not
be a part of R3 itself. If the right generic mix is produced then that is a very simple
way for novices to get started doing non-trivial scripting in a simple way (not necessarily
a code efficient way -- but computers are faster these days, perceived speed is not often
effected).
Bundle this up in a sensible and comprehensible way and you have the everybody's interface
to REBOL and no barrier to using REBOL proper.
Thank you Henrik.
Greg Schofield Perth Australia
--- Message Received ---
From: Henrik Mikael Kristensen <henrikmk-gmail.com>
To: rebolist-rebol.com
Reply-To: rebolist-rebol.com
Date: Wed, 20 Aug 2008 12:01:11 +0200
[16/18] from: tim-johnsons:web at: 21-Aug-2008 7:18
On Wednesday 20 August 2008, Carl Read wrote:
> Well spotted. Plus, given this was supposed to be an easy example for new
> users to figure out, isn't it reasonable to assume that the questionmark is
> part of REBOL's syntax and not just a character that's part of a word?
> Afterall, colons are added to both the beginning and ends of words in
> REBOL, so it stands to reason that a questionmark on the end of one
> suggests they can be added to all words. ie...
Hiya Carl:
Might be good to check all type predicates for R3. Myself I've made use of
only
a few of the datatypes - but with REBOL3 coming along would be a good
time to review them. Know that all tests are correct would "harden" rebol.
BTW: I noticed something interesting:
>> source email?
email?: native ["Returns TRUE for email values." value [any-type!] 43]
Us "old hands" know that 'native means that this function is coded in C
and compiled into the binary _But_ what does the number 43 mean?
again email?: native ["Returns TRUE for email values." value [any-type!] 43]
-------------------------------------------------------------------------------------------------------^^
thanks
tim
[17/18] from: btiffin:rogers at: 22-Aug-2008 15:19
I believe it's an index into the datatype array (block, REBOL funky quick ref
structure, dunno the exact term to use).
source op? ends in 8, block? in 47, native? in 5 etc...
Cheers,
Brian
On August 21, 2008 11:18:46 am Tim Johnson wrote:
[18/18] from: carl:cybercraft at: 22-Aug-2008 23:12
On Thursday, 21-August-2008 at 7:18:46 Tim Johnson wrote,
>> Well spotted. Plus, given this was supposed to be an easy example for new
>> users to figure out, isn't it reasonable to assume that the questionmark is
<<quoted lines omitted: 7>>
> a few of the datatypes - but with REBOL3 coming along would be a good
> time to review them. Know that all tests are correct would "harden" rebol.
I've not touched R3 yet. Will wait until I've actually a need for it, since I've no
time just to play with it. (Plus I loath software upgrades. Seems there's one or two
a week these days if you've a reasonable amount of software installed, and with them
all having the potential to waste hours of your time should they stuff something up...)
> BTW: I noticed something interesting:
> >> source email?
>email?: native ["Returns TRUE for email values." value [any-type!] 43]
>
>Us "old hands" know that 'native means that this function is coded in C
>and compiled into the binary _But_ what does the number 43 mean?
>again email?: native ["Returns TRUE for email values." value [any-type!] 43]
Seems all the datatypes have a number...
>> source file?
file?: native ["Returns TRUE for file values." value [any-type!] 42]
so probably something as simple their addition to REBOL.
Is there to be a video datatype in R3? I see there's a video tag planned for HTML 5.
Hopefully REBOL plans to keep up.
-- Carl Read.
Notes
- Quoted lines have been omitted from some messages.
View the message alone to see the lines that have been omitted