• Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r4wp

[#Red] Red language group

Pekr
30-Nov-2012
[4507]
Gregg - no need to make me look dumb. My wishlist.txt is just one 
line - get the small cross-plaftorm View like engine for Red available 
too - it might be attractive to many ppl, easy as that ;-)
Gregg
30-Nov-2012
[4508x2]
I do not want to make you look dumb Petr. My goal is to save us all 
time and keep important information stored, so we don't have to go 
through the same discussion(s) again. I will put your final wishlist 
note in the file, so when this comes up again, you can just direct 
people to it. See, I'm saving you time too. :-)
If you want to extract any other comments from this chat, and include 
them there, to clarify your desires, that would be great.
Arnold
1-Dec-2012
[4510x2]
As far as the wish for a View/VID native solution goes, I wish that 
as well. Maybe it will be possible when the JIT compiler becomes 
reality to easily adapt Rebol's VID. 

It does not have to be complete like VID, a basic set of widgets 
will get you a long way.  

Other solutions are a really good thing too, but looking at GTK and 
myself I find it hard to find out how to get GTK on my mac. It is 
not a standard dmg file I can download and install and it works. 
Other GUI solutions require integration of their package or having 
the end user of your programs to find out how to get it running on 
their machine. That kind of thing can be a real showstopper to global 
acceptance.


I know Doc is working hard and has already stated he intends to come 
up with a VID like native solution. So we can let him focus and be 
silent ,or we can comment and discuss letting him know we do care.
Should FUNCTION not be the same as FUNC ? Because FUNC is primarily 
the preferred way to spell FUNCTION for shorter. And FUNCT is than 
the special case that uses only local variables?
Jerry
1-Dec-2012
[4512]
I can do this in C, define something based on another defination 
=> #define a 0 #define b (a + 1) ... Can I do the same thing in Red/System?
PeterWood
1-Dec-2012
[4513]
This prints 15 for me:

#define a 10
#define b [a + 5]

print [b lf]
Jerry
1-Dec-2012
[4514]
Hun, So we did can do that in Red/System ... Thanks, Peter.
PeterWood
1-Dec-2012
[4515]
It even works if b is defined before a:

Red/System []

#define b [a + 5]
#define a 10

print [b lf]
DocKimbel
1-Dec-2012
[4516]
Arnold: I think that FUNCT is an interesting function constructor, 
but has a horrible name, and as FUNCTION is rarely used, I thought 
it would be good to make it act like FUNCT, it will be easier for 
newcomers and look less awkward than the truncated FUNC name. Also, 
we might want to make FUNCTION act the same way in Red/System (I 
don't remember if there was some show-stopper for that).
Arnold
1-Dec-2012
[4517]
Agreed FUNCT is a horrible name!
Ladislav
1-Dec-2012
[4518]
Not that it matters to you, but my code uses FUNCTION which comes 
from R1, in fact
Kaj
1-Dec-2012
[4519]
Shouldn't /extern take a non-block, like /local? It seems confusing
DocKimbel
2-Dec-2012
[4520x2]
It is not equivalent to /local, because locals variables can have 
a type specifier and doc-string, while external variables not.
AltMe is really bad for keeping up with more than one single topic 
at a time. The discussion about the Red documentation slipped away, 
while being a very important question to me where I need feedback 
and inputs. So I would like to resume it. 

What should Red reference documentation look like ideally?
Kaj
2-Dec-2012
[4522x2]
I guess the REBOL docs are a good model to start with. They're pretty 
good, although they're sometimes too clinical. I would like them 
to give more advice on gotchas and background information. Official 
documentation has mostly carefully avoided explaining how REBOL works
If you want to do something fancy, you could add interactive examples, 
like on http://w3schools.com
kensingleton
2-Dec-2012
[4524x2]
My thoughts - All documentation needs to be in a single location. 
It should comprise 3 main sections 1) Explanation of how rebeol works 
- like core manual plus inner working of Rebol - the theory, 2) Reference 
of every word with samples of how to use the each word - must be 
exhaustive, 3) Tutorials split into novice, intermediate and advanced 
- all with examples. Current Reboi documentation is much better now 
but is still too scattered and fragmentary and not enough examples 
on how to use each word. Anything in Red that is not documented will 
be a cause of frustration and will result in lack of use. Plan to 
do the documentation for someone who has never heard of Rebol and 
Red that way less corners will be cut and important information will 
not be assumed to be known.
Sorry for Rebol - read - RED
Henrik
2-Dec-2012
[4526]
I think in sequence of creation, the reference should be done first.
kensingleton
2-Dec-2012
[4527]
Henrik, I agree. However, documentation that just regurgitates the 
api that can be gleaned with "help" word is next to useless - documentation 
needs to explain a lot more about a word than the api does - iat 
least: ts reason for existence, how to use it, and examples of usage.
Henrik
2-Dec-2012
[4528x2]
yes, the R3 reference is functional for this. Initially it fills 
the skeleton parts that contain the same information as help, but 
it works like a wiki, where each page can be filled with examples. 
I think comments were planned as well, but that never came about.
when it comes down to it, I want every function to be documented 
in the reference with every defect, caveat, bugs, tricks and whatever 
can be found.
AdrianS
2-Dec-2012
[4530x2]
One example of a reference that I find very useful is the Clojure 
cheat sheet. The one one clojure.org doesn't have tooltips, but some 
do. The nice thing is that all link to the clojuredocs.org site which 
is a great for crowdsourcing usage examples, including notes, caveats. 
For sure Red should have something similar.


http://jafingerhut.github.com/cheatsheet-clj-1.3/cheatsheet-tiptip-cdocs-summary.html

http://clojuredocs.org
I don't know how it stands up to "modern" standars wrt interactive 
documentation, but I know that Gigaspaces won some kind of award 
for the organization/presentation of their developer documentation 
- this was a few years ago when I was investigating the technology.


http://wiki.gigaspaces.com/wiki/display/XAP91/XAP+9.1+Documentation+Home
kensingleton
2-Dec-2012
[4532]
Good example docs from Closure - very comprehensive and helpful - 
something like that with tutorials and theory would be cool
Kaj
2-Dec-2012
[4533]
Hey, everyone seems to be in agreement on docs :-)
Pekr
2-Dec-2012
[4534]
This one from Carl is even kind of nice - http://www.rebol.com/docs/reference.html
Oldes
2-Dec-2012
[4535x2]
it should be easy to improve Carl's reference to look like the Clojure 
one - showing the help string on roll over event which is nice and 
helpful.
Regarding the Red's VID discussion - I think it's still too early 
to ask something like this. First there must be I/O implemented in 
Red. You cannot start bulding a house from the roof. I'm pretty sure 
that once Red will be mature enough, there will be people trying 
to make own VID clones. I have also no problem with native VID. It 
should be transparen imho. And tt should be clever enough to support 
different screen resolutions. Not like old R2's one. I don't remember 
if the R3's version was better in that.
Arnold
2-Dec-2012
[4537x4]
Turn it around. You cannot seriously start building a house without 
knowing how the roof is going to be. After all the house is built 
because of the roof!
(at) Clojure jafingerhut: To be honest I hate those popup messages. 
You cannot copy anything from them and to keep them in site you are 
required to hover the mouse over the link. Not  what I want if I 
have to type something from its contents in another window.
site = sight
clojuredocs: check out this http://api.clojuredocs.org/search/clojure.core/map
real state of the art documentation :D
Kaj
2-Dec-2012
[4541]
If you need to know how the roof will be before starting on the floor, 
we can do it like REBOL 3 and not release Red until we have VID
AdrianS
2-Dec-2012
[4542]
Arnold: it's clear that people will have different preferences. I 
find the tooltips handy for when I just want to refresh my memory 
by a quick hover without having to lose the context of the page I'm 
on. If I want more details (which could be copied and pasted), I 
just click through. What's the problem with that? If you don't want 
tooltips, don't keep moving your cursor, or make tooltips optional.
Pekr
2-Dec-2012
[4543]
His point is, that with PC world converging towards touch, tooltips 
are a dead concept - there is no hover with touch devices. I also 
myself don't like pop-up menus, etc. - it was always a hell, and 
requires special treatment in GUI subsystems ....
AdrianS
2-Dec-2012
[4544x3]
Not so sure that mobile trends will mean no hover ability - I expect 
there's going to be a rise in the use of active styluses (along with 
touch) with the growing number of higher resolution tablets on which 
you can do some real work.
Put it this way - why should it bother someone if I want/like these 
tooltips as long as each person gets to configure the UI to their 
liking?
I've had a tablet pc (with active stylus) since 2007 and I still 
like what that brings for certain applications.
BrianH
3-Dec-2012
[4547]
Adrian, tablets with styluses are rare now; the iPad led the way 
toward finger-only interfaces. It's been announced that the Surface 
Pro will have a stylus, but it's a passive one. The Android tablets 
with styluses are passive too, just using the stylus for a sharper 
pointer. An active stylus is an expensive peice of electronics, while 
a passive stylus is just plastic with maybe some metal or rubber 
on it, so you can see why they're preferring passive now. Hover is 
going away for a lot of platforms, or was never there for some of 
the new ones.
AdrianS
3-Dec-2012
[4548x2]
I think I'm seeing a different trend Brian. Non-active styluses were 
first used on the not tablet pc tablets because it's the cheapest 
solution and the first tablets had relatively low rez screens and 
were primarily meant for consuming content. When you start doing 
any serious content creation palm rejection is a big issue and the 
non-active styluses do a relatively poor job of this. BTW, the Surface 
Pro looks to have an active stylus - not sure where you heard otherwise. 
Also see the Samsung Galaxy Note tablets (hugely popular)  which 
also have an active stylus. IMO, you're just going to see more and 
more tablets support these as screen resolutions go higher and people 
start doing real work on their devices. 


http://forum.tabletpcreview.com/microsoft/54066-microsoft-announces-surface-pro-pricing.html
sorry, Doc - we shouldn't be polluting this group
DocKimbel
4-Dec-2012
[4550x3]
EXIT and RETURN support have been added. Function! support is now 
complete. I plan to add closure! support too (and maybe R2-like functions 
also), but having object! seems like higher priority for now, as 
I want to implement port! datatype asap.
A mention about THROW function attribute: I will add support for 
it, but it won't be usable until we get  dynamic function creation 
support.
I need to process some pending tickets from the bugtracker, so I 
will probably start working on object! support tomorrow.
Pekr
4-Dec-2012
[4553]
btw - will you allow append to objects, like R3 does? (at least I 
think it does :-)
DocKimbel
4-Dec-2012
[4554x2]
I always had mixed feelings about it, on one side it allows to extend 
objects in-place, which is very useful when they are referenced (in 
a tree structure for example), but it also encourages a, IMHO bad 
coding pattern, which is using objects to store data when you should 
use (the much cheaper) blocks instead.
So far, I think that the pros are more important than the cons, so 
Red will probably support it too.
Pekr
4-Dec-2012
[4556]
Well, it would be strange from you to try to push us to recreate 
an object just to expand it, whereas in REBOL3 group you are wondering, 
why function bodies are not hot-patchable anymore, no? :-)