World: r4wp
[#Red] Red language group
older newer | first last |
DocKimbel 24-Sep-2012 [2116x3] | And with string auto-scaling from 1 to 4 bytes per codepoints. ;-) |
*codepoint | |
I will publish the new code tomorrow. | |
BrianH 24-Sep-2012 [2119] | UCS1 to UCS4 scaling? Fixed-length internally? |
DocKimbel 24-Sep-2012 [2120x3] | Yes, Latin-1 / UCS-2 / UCS-4 |
Conversion for printing in UTF-16 done on-the-fly (no additional buffer needed) | |
Brian: you don't read Red's blog? :-) See http://www.red-lang.org/2012/09/plan-for-unicode-support.html | |
BrianH 24-Sep-2012 [2123x3] | Been busy :( |
Will you eventually be doing the same trick R3 does of keeping its symbols in UTF-8 format internally, for binary hashing? Of course you might be handling symbols completely differently... | |
The symbol being the string part of a word. | |
DocKimbel 24-Sep-2012 [2126x2] | Yes, I currently keep an UTF-8 version in cache for each small string, but I'm not sure I will keep it. |
I'm not using currently hashing for words, but indexing as lookups are done mostly during compilation. | |
BrianH 24-Sep-2012 [2128] | I'm talking about eventually, when/if you get real runtime word types :) |
DocKimbel 24-Sep-2012 [2129x2] | Words dynamically created might need hashing though. |
Right, it could be a good option. | |
BrianH 24-Sep-2012 [2131] | I think that R3 stores symbols in something like a BTree. |
DocKimbel 24-Sep-2012 [2132x2] | Red stores them in a block! value currently, so probably the less efficient way...we'll see in the future how to optimize it the best way. |
Maybe a Trie would be the best data structure for symbols (I have used them in other projects for fast short strings lookups). | |
BrianH 24-Sep-2012 [2134] | One gotcha we ran into with R3: R3 uses aliases to handle case-insensitive word equality. We found that aliases were a good, safe use for that, but not safe or stable to use for anything else. Perhaps you might consider this for Red. |
DocKimbel 24-Sep-2012 [2135] | Maybe, I haven't decided yet how I will handle that. |
Arnold 24-Sep-2012 [2136] | I can think of using to-head and to-tail. My opinion is you should have a more descriptive name for your variable. So length-of-cityname instead of length. The length could be of anything and the variable could be reused. Besides native English speaking programmers have always faced the fact that their prime candidate for variable names were taken because they were a reserved word. Imho so is should stay length? and not be length-of though that last one saves me from pressing a shift-key. |
Oldes 25-Sep-2012 [2137x2] | Maybe it's too soon to think about optimizations, but what about function inlining? |
(sorry that my question is out of topic... I was offline when I send it without noticing the unicode news:) | |
DocKimbel 25-Sep-2012 [2139] | Optimizations are for Red/System v2 (the rewrite in Red). The compiler will have a different architecture much more suitable for optimizations (including function inlining). |
NickA 25-Sep-2012 [2140] | Doc, how will the open sourcing of R3 have an impact on your Red work? Will you be studying RT's code to see how everything was accomplished? |
Pekr 25-Sep-2012 [2141x2] | well, maybe depends upon the licence Carl selects? The other thing is - Doc might study some internals, but still he can't directly use C code, as Red is being written in Red/System, so C to Red/System rewrite would have to happen anyway .... |
Of course, being able to understand Carl's R3 architecture might be REALLY inspirational, so I would not discount that option :-) | |
DocKimbel 25-Sep-2012 [2143x3] | No changes for Red plans, I continue on the same path towards a complete v1.0. |
Will you be studying RT's code to see how everything was accomplished? Certainly not!! The GPL precludes me from looking at the code, the risk is too high to unconsciously write similar code and infringe the license. It is even worse than that, all Red contributions implementing a feature that exists in R3, will need to pass through a peer-reviewing process to determine if it is a derivative work of R3 or not. The reviewing persons would be able to look at R3 sources, but doing so, would not be able to contribute code to Red. So I strongly advise current and future Red contributors that wants to add REBOL features to Red from looking at R3 sources. so C to Red/System rewrite would have to happen anyway .... No!! Porting GPL code to another language falls under derivate work clause too. If it wasn't the case, it would be too easy to workaround GPL terms by porting it from language A to B, then from B to A. There is a reason why most big software companies prohibit their developers from looking at GPL source code. Yes, that's how GPL can be bad to non-GPL world. | |
Besides that, GPL is great if you live in a GPL-only world. | |
Pekr 25-Sep-2012 [2146x2] | Amen! |
Your above post should be posted to the discussion forums ... the split of REBOL community might be apparent. As for me, I am staying with the active project, hence with Red ... Well, I am a coding lamer, so most probably I personally don't need to worry about eventually looking into R3 source code :-) | |
DocKimbel 25-Sep-2012 [2148x2] | Feel free to re-publish my post everywhere you want. ;-) |
(just fix the typos first ;-)) | |
Pekr 25-Sep-2012 [2150] | Well, I think that I will be a nice guy for quite some time, not trying to steal the happiness of guys out there :-) |
Janko 25-Sep-2012 [2151] | So let me just say what I am thinking.. I wonder if R3 would be released already if you weren't making so much progress with Red.. I hope 2 (or more) options will be able to bring even more people into Rebol family of languages. The time is about to be right. Python is getting sort of backlash (finally). |
Pekr 25-Sep-2012 [2152x2] | Well, R3 is not out yet, Carl did not say, which year he will release R3 sources on :-) |
Before the Christmas, we might see extensive Red alpha, along with Android support ;-) | |
DocKimbel 25-Sep-2012 [2154] | Janko: it can be a good or bad motivation for newcomers. Some might find it great to have the choice, other might be afraid by the fragmentation. |
Janko 25-Sep-2012 [2155x2] | Because rebol/red are so different than anything else it might at the end help people learn about this coding mindset / convention, and then they have more choices. Sometimes lang choice is highly determined by runtime also (by my own exp).. in this case having many runtime options (red red/system rebol topaz) is a good thing. |
anyway... Red is speeding with new dev last weeks, this is awesomest news for me. | |
DocKimbel 25-Sep-2012 [2157x2] | I agree with you about the runtime choice. I wish Gabriele had more time to work on Topaz. |
Janko: more "awesomenesses" to come in the next days/weeks. ;-) | |
Kaj 25-Sep-2012 [2159] | It's ironic that we will have a GPL interpreter and a BSD compiler. It's much more logical to have a BSD interpreter and a GPL compiler... |
DocKimbel 25-Sep-2012 [2160] | The frontier between both architectures is blurry in modern language implementations. Red final compiler will be able to work both AOT and JIT, so BSD is the way to go. |
Kaj 25-Sep-2012 [2161] | I know, the irony is on the REBOL side |
Arnold 25-Sep-2012 [2162] | I'm on the Red team! |
DocKimbel 25-Sep-2012 [2163x2] | Red Unicode printing support extended to all Unix platforms: http://static.red-lang.org/hello_unicode2.png |
For those testing Unicode output on Windows, you need to change the default raster font of DOS console to Consolas (recommended) or Lucida. The default font is unable to print Unicode characters. | |
Jerry 25-Sep-2012 [2165] | print "^(4F60)^(597D), ^(4E16)^(754C)!" ; Chinese |
older newer | first last |