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

World: r3wp

[Red] Red language group

Kaj
29-Mar-2011
[659]
Thanks Doc, that reads much better
AdrianS
29-Mar-2011
[660x2]
Well, you have to think a little bit if Red is the same as those 
when it comes to searching. Perl is actually unique since pearl is 
the spelling of the oyster product. When it comes to Python, I can 
tell you that in typical English language use, the frequency of the 
word python will be relatively low, so you won't really pollute search 
results for the language which has a relatively large use in the 
IT community. Ruby is somewhat similar in that you won't find too 
many uses of the singular word ruby used by the general population 
- at least not to outweigh its language name frequency. When it comes 
to Red, I can guarantee you that red is quite a common word.
Redd?
Maxim
29-Mar-2011
[662]
well..... if you search red language in google, you already have 
the 3rd entry and several hits on the first results page, so I  guess 
it not that big a deal  :-)
AdrianS
29-Mar-2011
[663x2]
sure, that's what I said above, you need to use "red language" - 
the thing is that "language" needs to be part of the query and I'm 
guessing that there will be lots of pages where this word will not 
be included. I just think that if you are going to be creating a 
new language, uniqueness in naming is only a plus and now would be 
the time to determine that rather than after its use is widespread
really it's not like there is a shortage of unique names out there 
- the only problem is that usually everyone has an opinion as to 
what's a good name - too many points of view
Dockimbel
29-Mar-2011
[665x4]
I think that the language name alone is not the typical query that 
someone would do. Here's two examples:


- Tiobe index relies on "<language> programming" as its search query 
to mesure the popularity of a programming language (see http://www.tiobe.com/index.php/content/paperinfo/tpci/tpci_definition.htm)


- For Cheyenne web server (not a language, but uses a common name), 
people coming to the web site with only "cheyenne" as a search keyword 
are very few. A vast majority use "cheyenne server" or "cheyenne 
web" or "cheyenne rebol". Anyway, after been online for a few months/years, 
Cheyenne's web site appeared on first page if you search for that 
word only (while there's really a *lot* of others resources not related 
to this web server).


There's also another point to consider. If the target name is not 
strongly associated with an existing brand or a popular product, 
you'll see a lot of unrelated results on first page (that's the case 
for "Red"). So, AFAIU page ranking algorithm, once Red language will 
spread larger, I'm ready to bet that the cross-reference links of 
Red-related site (and back-references to Red's home site) will push 
it rapidly on the first page, or even in the top 3 list.
Anyway, I'm not against switching to a better (unique) name, but 
it needs really to fill my criteria:
- short
- sounds ok in english
- doesn't sound bad in french
- have a meaning related to the language
- if possible, not a backronym (they are usually bad)

- has .org / .com / .net free (it's ok if adding "-lang" is needed 
for that)
- I need to like it (or at least be able to get accustomed to it)
The jewel names could have been a good place to pick a programming 
language name, but last time I've checked all the good&short ones 
have been taken already.
(Gabriele took the last good one ;-))
Maxim
29-Mar-2011
[669x2]
zen

 was a good name that Carl once said he would have been willing to 
 rebrand REBOL to.
but I really like Red.  :-)
Dockimbel
29-Mar-2011
[671]
Zen would have been a good choice too for my language. IIRC, when 
I checked that a few months ago, it was taken already. Anyway, same 
lack of uniqueness as Red.
Pekr
29-Mar-2011
[672]
Stay with the name, Doc :-)
GrahamC
29-Mar-2011
[673x2]
You could use ch'an ... that preceded zen :)
Ch'an Buddhism spread to Japan where it became known as Zen
BrianH
29-Mar-2011
[675x2]
I like Red. It's a strong, simple name with emotional connotations 
that isn't in current use for baffling unknown reasons. It's the 
same reason that Project (Red) chose it.
I have to say I'm not a fan of the something in 14.7 of the system 
specs: "Support 0 and 1 as valid boolean results". That is a bad 
practice, and putting it into Red/System might lead to it leaking 
into Red. Just because it's C level doesn't mean it needs to repeat 
C's mistakes. It's better to stick to the REBOL-like, Lisp-like truth 
values.
Dockimbel
29-Mar-2011
[677]
Well, it's just an option, as mentioned in my last blog entry, another 
one is to make boolean first class type.
Maxim
29-Mar-2011
[678]
I also would like variable declarations to infer type based on first 
(static) assignment.... much more usable.
BrianH
29-Mar-2011
[679x3]
That would be better, Doc.
Maxim, that is what he has proposed for the top level variables. 
It might work for locals as well though.
Another C mistake that shouldn't be emulated is in 14.5. Don't call 
your 8-bit integer "char!", as it doesn't work with multibyte characters. 
Use "uint8!" or "byte!" instead.
Maxim
29-Mar-2011
[682]
yes, byte! is better choice.
Gregg
29-Mar-2011
[683]
Thank you for the light version of the docs Doc. :-)
Andreas
29-Mar-2011
[684]
Call the boolean type uint1! and be done with it. For a systems programming 
language, 0/1 as valid boolean results makes eminent sense.
BrianH
29-Mar-2011
[685]
It's funny, I was about to thank you for the dark version :)
Dockimbel
29-Mar-2011
[686]
Brian: it might be too high-level for Red/System. I need to have 
a fine-grained control on memory accesses. A variable-size datatype 
would get in the way. But I admit I didn't consider that option, 
I would need to think about it deeper to see if it could be an advantage.
Andreas
29-Mar-2011
[687]
byte! (and uint8!) is certainly better than char!.
Dockimbel
29-Mar-2011
[688]
Hehe, I knew I would make everybody happy that way ;-)
GrahamC
29-Mar-2011
[689]
exactly why is using 0 = false 1 = true bad?
Dockimbel
29-Mar-2011
[690]
uint8! is the more accurate, but a bit too cryptic. Byte! sounds 
nice.
BrianH
29-Mar-2011
[691x2]
0/1 as boolean makes sense with (possibly implicit) conversion to 
a boolean type, but 0/1 are not how conditional expressions are treated 
at the system level - those are handled with condition codes. If 
you don't have an explicit boolean type that is not an integer, you 
can end up with the if (a = b) problem all over again, especially 
once you allow chained assignments. Don't repeat C's mistakes.
If you want a "bit!" type for uint1, that would help too.
Dockimbel
29-Mar-2011
[693x2]
Max: variable type inference for functions locals should be easy 
to add. I'm against having an inference engine in Red/System, but 
if some rules are trivial to implement and give a significant advantage, 
I'll surely do it.
if (a = b) problem
: good point
Maxim
29-Mar-2011
[695]
I was also thinking that you might want to extend the integer qualification 
you added for hex notation to the other integer sizes, when they 
are implemented.  ex: 

33L
33s
33b

etc
Dockimbel
29-Mar-2011
[696]
Right, that's something to consider too. But I've often found such 
notation a bit hard to read and remember. Also to consider: hex syntax 
opens a hole in the "no digit as first character in words" rule. 
I hoped that I wouldn't have to break that rule again for other literals.
BrianH
29-Mar-2011
[697]
Doc, by multibyte chars I wasn't talking about variable-size, I was 
talking about fixed-size with Unicode support. A char! would have 
a single size, but that size would either be 1, 2 or 4 bytes depending 
on whether the base plarform supports ASCII, Unicode2 or full Unicode.
Dockimbel
29-Mar-2011
[698x2]
I think that such rule played well its role of barrier against typos 
in code for REBOL, even if it closes the door to some syntax combinaisons. 
So, I'm quite reluctant to break it further. A solution would need 
to be found for different sized integer literals.
Brian: right, but I'm not sure that Red/System needs to be Unicode-aware, 
at least not to implement UTF-8 Red's sources parsing.
BrianH
29-Mar-2011
[700]
I think that readable trumps consise in this case, Maxim. And for 
a compiled language, to-long 33, to-short 33 and to-byte 33 can be 
resolved at compile time with no overhead.
Dockimbel
29-Mar-2011
[701]
Unicode: it's an open question that needs experimenting further with 
Red/System. I'm not against to make char! a unicode codepoint type, 
if it helps coding at Red/System level.
BrianH
29-Mar-2011
[702]
Doc, if Red/System doesn't need to be Unicode-aware, you should replace 
the string! type in it with a binary! type and just have compiler-resolved 
string-to-binary conversions of string literals in the source. Have 
real strings only exist at the Red level.
Dockimbel
29-Mar-2011
[703]
That's the solution I was considering so far, but your point about 
Unicode makes me wonder if there's is not a better solution than 
the old C way.
Andreas
29-Mar-2011
[704]
All better solutions include byte! + binary! types :)
BrianH
29-Mar-2011
[705]
The old C way was based on legacy byte-size chars. It is better to 
be Unicode-aware from the start than it is to retrofit it.
Andreas
29-Mar-2011
[706x2]
Btw, you should probably specify that "printable characters" are 
bytes in the range 20h-79h
US ASCII only defines 128 characters.
BrianH
29-Mar-2011
[708]
Andreas, 79h is the DEL char, not printable :)