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

World: r3wp

[!REBOL3-OLD1]

Ammon
6-Mar-2009
[11851]
Adrian, what Brian is proposing will get you most of what you want, 
but what you are asking for seems to be a bit to specific and from 
my perspective doesn't add enough value to be worth the time to implement. 
 With intuitive sorting you'ld get all of the functions that require 
both an Integer! and a String! first followed by those that require 
an Integer! or a String!.  About 80% of the reason that I actually 
use Help is to see the order in which a function expects it's arguments 
to be in.  Searching for [Integer! String!] will list the functions 
that opperate on a string and require an index to that string at 
the top of the list and I think that's what you're really looking 
for.  Some people think in oppisite directions and want to declare 
the index first and others want to declare the string first.  It's 
just a matter of preference and doesn't change what the function 
does.
BrianH
6-Mar-2009
[11852x3]
Adrian, the order of arguments are preserved in the spec, but the 
order of types in the typespec for a particular argument are not. 
That is what I meant. Do you also want to search for functions that 
take multiple arguments, by the types of each of those arguments 
(their names don't matter), in the order specified? If so, why?
I'm having a lot of trouble coming up with a use case for that behavior 
in REBOL.
Or a way to specify it that is simple enough for a function that 
is, by its very nature, primarily used by people who don't know what 
they're doing, if only for a moment. I use HELP often, but only when 
I need help.
AdrianS
6-Mar-2009
[11855x3]
as a new user to REBOL, you tend to browse around to discover new 
functionality - least I do. The example I gave before was to answer 
questions like "what can I do with two strings?" or "or "what can 
I do with a block and an integer?". Typically, you tend to have a 
bit of a clue as to the datatypes you're working with, but you often 
can't recall the function names
I mean you typically have a clue to the datatypes for particular 
kinds of operations
from experience in other languages
BrianH
6-Mar-2009
[11858]
It's funny, I've found that experience in other languages tends to 
make REBOL more difficult to understand, with some notable exceptions: 
Lisp-family languages, assembler, and Icon :)
AdrianS
6-Mar-2009
[11859]
I suppose, though, that if the type information is often (most of 
the time?) not there this type of lookup won't get you too much
BrianH
6-Mar-2009
[11860x2]
Any experience in a language with C-like syntax trips you up, for 
instance :)
With the possible exception of Nemerle.
AdrianS
6-Mar-2009
[11862x2]
yeah, I found that I had to make a significant mental shift to grasp 
REBOL - all of a sudden though, it became clear - almost an epiphany 
- I think btiffin had a good list of the various stages of understanding
I wonder if this non-REBOL experience will hinder wide scale adoption
BrianH
6-Mar-2009
[11864x2]
The worst problems come from comparing REBOL to any compiled functional 
language not in the Lisp family, like Haskel.
REBOL's not going for large-scale adoption. With software-as-a-service 
and the huge programmer population, even a niche language can have 
huge impact and lots of developers. We don't want the mass market 
- that road leads to Java or VB.
AdrianS
6-Mar-2009
[11866x3]
well, if you can believe it, I've been "following" REBOL since it's 
beginnings, but never really pursued a deeper understanding of it 
due to various reasons (lack of adoption, closed nature of the language, 
lack of time on my part, etc). I have always, though, felt a very 
strong attraction to it because of all the possibilities hinted at 
- the lightweight nature, the clarity of expression, the built-in 
GUI, dialecting, and so on.
with R3, I'm trying to take the time to really learn it - I'm also 
learning patience at the same time
it's been baking for quite a while - but I can smell the goodness!
BrianH
6-Mar-2009
[11869]
I learned a lot about R3 by writing R2-Forward. Perhaps you can learn 
something by reading it.
AdrianS
6-Mar-2009
[11870]
I will use it as an example for sure - I was wondering though - the 
documentation on the diffs are pretty important - it creates essentially 
a hybrid REBOL and without detailed docs explaining the diffs, it 
might make it harder to know what's what - you did mention the release 
notes in the code, but that's not so accessible for quick reference
BrianH
6-Mar-2009
[11871x3]
It's not meant to be a quick reference - it's meant to be read thoroughly. 
The code is written for clarity where possible, but also optimized. 
There's about 8K of comments too.
The R3 docs will explain the differences, where necessarr, eventually. 
For now, consider that a function is defined in R2-Forward to be 
evidence that it has changed.
Every function that is different from its R3 version has notes that 
explain how it is different. The only lacking docs are Unicode-related.
AdrianS
6-Mar-2009
[11874]
so, the approach that should be used with R2-forward is - program 
as if you were using R3 and when seeing a difference try see if it's 
due to an R2-forward limitation or a bug, no?
BrianH
6-Mar-2009
[11875x3]
That's what I do with it at work.
It also helps because the R3 docs are better organized than the R2 
docs, so it's easier to just use the R3 docs, thougn they need work.
There are some gotchas - I didn't redefine any R2 natives in the 
main module. That is on my todo list for a suplementary module.
AdrianS
6-Mar-2009
[11878]
I was thinking about where/how REBOL might hitch a ride on Java's 
success and popularity - being in the server-side Java space for 
quite a while now, some of the trends are pretty obvious to me - 
and some of this touches on some of the unfinished business in REBOL, 
namely modularity - are you familiar at all with OSGi Brian?
BrianH
6-Mar-2009
[11879]
Not with the term. Cleaning up R3's modularity is the next thing 
on the todo list, and I will backport it to R2-Forward as much as 
possible. Most of the hard work of the backport has been done already 
by Gabriele in his %module.r. By the way, if you don't use R2-Forward 
as a module, a lot more code doesn't work. The new words are just 
exported from it when loaded as a module - they redefine the global 
words when you just DO it. Those changes to global words can break 
other parts of R2 in unknown ways. If you just import the module, 
only the words in your script are redefined, so only your script 
has to be made compatible.
AdrianS
6-Mar-2009
[11880]
I'll keep that in mind
BrianH
6-Mar-2009
[11881]
This is how I use R2-Forward safely at Qtask without changing the 
rest of the codebase, for instance.
AdrianS
6-Mar-2009
[11882x6]
here's an outline of what OSGi is from the horse's mouth, if you 
care to look - http://www.osgi.org/About/WhatIsOSGiand some of the 
benefits - http://www.osgi.org/About/WhyOSGi. I'll try to explain 
where I see REBOL taking advantage of this.
essentially, OSGi is all about modularity and dynamic services
by specifying very clearly the dependencies among modules, different 
versions of the same code can run in the same runtime
pretty much all of the big names in the application server space 
are moving or have moved over to this architecture for their own 
implementation and some are exposing OSGi as an environment in which 
the user applications can run in
what OSGi is or is becoming is a similar environment as IOS, if I 
recall some of the details. With distributed OSGi, the services that 
make up an application can be located anywhere
here is where I think REBOL apps/modules could fit in - if there 
was some sort of binding to an OSGi runtime available
BrianH
6-Mar-2009
[11888x2]
First of all, this is not the place to discuss such things if you 
want them acted on. AltME is too ephemeral, and some of the core 
people don't come here that often, and most of the core people haven't 
been on the mailing list in years.


Post those links in R3 chat. The modularity stuff can go in R3/Language/Modules 
(2165) and the services stuff in Tools/Reb-Services (54). Keep in 
mind that the vast majority of a Java spec like that is dedicated 
to making Java suck less, so the REBOL version will likely be mch 
simpler.
If you want it all together, post it in Tools/Reb-Services. We already 
have a good handle on the module system, even if it's not done yet.
AdrianS
6-Mar-2009
[11890]
I will move this over to those areas, but I just want to say that 
my whole point here is that REBOL very easily could be a supplier 
of services (and possibly a consumer, though less likely) to applications 
built on OSGi - the fact is that the Java enterprise area is huge 
and getting a foothold in there would really open a lot of eyes to 
what REBOL can bring - a total shift to REBOL, of course :-)
BrianH
6-Mar-2009
[11891]
Well, the place for that is Reb-Services. At this point we are focused 
on the Modules and below layers.
AdrianS
6-Mar-2009
[11892x2]
it probably wasn't clear from what I was saying that I'm not expecting 
others to work on this area  - rather, I'd like to contribute, if 
possible, but I would want to discuss some of the implications with 
some of the experts to see if anything needs to be kept in mind while 
finishing up R3 so that REBOL can play nicely with Java
anyhow, I got that this is not the place
BrianH
6-Mar-2009
[11894x2]
It does sound interesting. I look forward to the discussions in Reb-Services 
:)
Integrating Reb-Services with web services, .NET Remoting and DBUS 
would be interesting too.
Kaj
7-Mar-2009
[11896]
Personally I´m aiming for Syllable messages
Maxim
7-Mar-2009
[11897x3]
integrating reb-services with liquid's internal messaging would be 
fun too   :-)
(and pretty easy methings)
**methinks**
Pavel
8-Mar-2009
[11900]
Is it possible to work with images somehow if load doesnt work for 
.jpg yet?