2009/6/29 Igor Stasenko <[hidden email]>:
> 2009/6/29 Philippe Marschall <[hidden email]>: >> 2009/6/28 Klaus D. Witzel <[hidden email]>: >>> ... >>> goals: render _every_ glyph that is in _any_ modern (Unicode) platform font; >>> make fonts offline and online usable, especially on small devices if needed, >>> on demand (by end user). >> >> So you have to select the font and you don't select it using #leadingChar? >> > > Btw, can someone explain me, what is a #leadingChar in Character, and > how it affects the output/input & different encodings/text > representation? At some point when rendering text you need to know the language of it. You could put this information in a lot of different places like paragraph, document, whatever. However since an interned integer on Squeak currently has 30bits available and Unicode is a 22bit character set why not take that 8 spare bits put that information into each character? Yeah, there some minor limitations like there are way more than 255 languages in the world and for any latin-1 character you wouldn't be able to set the language and if you wanted to use unicode you're supposed to set the language of non-Latin1 characters to something different than the one of the Latin-1 characters. It could kinda work if there was only one image, sort of. These days you'd probably use FreeType to get nice text rendering which doesn't need or use the information at the character level but anyway. Now it starts to get funny when you're interacting with the outside world. They are not likely to use Squeak so they don't pass language information at the character level to you. So what language do you use for incoming characters? Well isn't really defined because it never really was designed to handle that. Seaside kinda tends to communicate with the outside world, you see the problem? And our code ideally should also run on GemStone, VAST, VW, .... Oh, and the language is of course taken into account for #=. That's funny because the strings you get could come from anywhere: database, ui, file, .... where you have no control whatsoever over what language is used. It could also have been done on a different computer with a different language setting. Cheers Philippe |
In reply to this post by Yoshiki Ohshima-2
2009/6/29 Yoshiki Ohshima <[hidden email]>:
> At Mon, 29 Jun 2009 00:38:16 -0700, > Andreas Raab wrote: >> >> Yoshiki Ohshima wrote: >> > Yeah, but insisting to use #= to do it seems to be a wrong goal >> > Define seasideEqual: and use it elsewhere would be better. >> >> You'd have to change too many places for this to be feasible. For >> example, consider Set and Dictionary operations which may have to be >> changed in this process. > > Right. And Phillippe can strip the leading char when he wants. That's what we try do and it's such a pain. We'd have to do it for every sting that we get from anywhere. At which point string handling in Smalltalk is harder than in C and has similar pitfalls. >> >> And we have to map characters to bytes and bytes to characters. >> > >> > Everybody does. Not sure why it is relevant. >> >> Because a simple conversion like squeakToUtf8/utf8ToSqueak is not >> lossless anymore. The problem is that Unicode is Unicode is Unicode ;-) >> You can either use it and live with its shortcomings or you can write >> something completely different. But as soon as one tries to redefine it >> partially it leads to problems since there are too many surrounding >> assumptions. > > From another POV, the communication with outside world was > secondary. No kidding, I noted. > The .changes in in UTF-8 but has the additional > information always so it is lossless. > >> >> I agree but you don't know how often I have gotten this answer when I >> >> suggested to simply drop #leadingChar. >> > >> > Maybe you get the answer often because it makes sense? I wrote this >> > a few times in last some years but if the goal is to make a >> > comprehensible personal computer environment, some information is >> > needed more than Unicode code points provides. >> >> Yes, but it is not clear whether that information belongs into the >> string itself or in its surrounding context. The argument that a >> language should be part of the string itself can certainly be made but >> it neglects the necessity of interacting with the outside world. And in >> the outside world (meaning Unicode) the language tag isn't part of the >> string but rather part of the context. Consequently, I think that Squeak >> should follow similar semantics (imperfect as that may be for some uses) >> and have language information associated with class Text (i.e., a text >> attribute) not with class Character (leadingChar). > > I should say I've been agreeing with it for a while, but it also is > a huge unstabilier to the existing system. Now Pharo people may be > able to leap the gap, if they like. I totally see the need to know the language of text to render. But the character is the wrong place to store it, seriously. Cheers Philippe |
In reply to this post by Edgar J. De Cleene
Hi Edgar,
Edgar J. De Cleene wrote: > > On 6/29/09 12:21 PM, "Juan Vuletich" <[hidden email]> wrote: > > >> Maybe all this is plain wrong for many. Maybe it will bring new >> problems. But it will indeed avoid the situations to repeat in the future.. >> > > Not wrong as I understand the goal and send mails to some members private > saying Cuis should be the stone on which we could build a better Squeak. > > Pero mi querido Juan, podrías ser un poquito mas abierto y dejar que > cooperemos sin "ensuciar" el Cuis ? > Most code in Cuis was not written by me. Code contributions are welcome. In fact, Cuis already includes code wrote specifically for it, and not by me. I just reserve the right to set quality standards and to end a discussion and make a decision. As Cuis is MIT, it doesn't matter much anyway. Anybody can take it and do whatever s/he wants. Cheers, Juan Vuletich > Edgra > |
In reply to this post by Philippe Marschall
2009/6/29 Philippe Marschall <[hidden email]>:
> 2009/6/29 Igor Stasenko <[hidden email]>: >> 2009/6/29 Philippe Marschall <[hidden email]>: >>> 2009/6/28 Klaus D. Witzel <[hidden email]>: >>>> ... >>>> goals: render _every_ glyph that is in _any_ modern (Unicode) platform font; >>>> make fonts offline and online usable, especially on small devices if needed, >>>> on demand (by end user). >>> >>> So you have to select the font and you don't select it using #leadingChar? >>> >> >> Btw, can someone explain me, what is a #leadingChar in Character, and >> how it affects the output/input & different encodings/text >> representation? > > At some point when rendering text you need to know the language of it. > You could put this information in a lot of different places like > paragraph, document, whatever. However since an interned integer on > Squeak currently has 30bits available and Unicode is a 22bit character > set why not take that 8 spare bits put that information into each > character? Yeah, there some minor limitations like there are way more > than 255 languages in the world and for any latin-1 character you > wouldn't be able to set the language and if you wanted to use unicode > you're supposed to set the language of non-Latin1 characters to > something different than the one of the Latin-1 characters. It could > kinda work if there was only one image, sort of. These days you'd > probably use FreeType to get nice text rendering which doesn't need or > use the information at the character level but anyway. > > Now it starts to get funny when you're interacting with the outside > world. They are not likely to use Squeak so they don't pass language > information at the character level to you. So what language do you use > for incoming characters? Well isn't really defined because it never > really was designed to handle that. > > Seaside kinda tends to communicate with the outside world, you see the > problem? And our code ideally should also run on GemStone, VAST, VW, > .... > > Oh, and the language is of course taken into account for #=. That's > funny because the strings you get could come from anywhere: database, > ui, file, .... where you have no control whatsoever over what language > is used. It could also have been done on a different computer with a > different language setting. > So, do i understood you right: this information (leadingChar) could be useful sometimes. But real world examples showing that its completely useless , at least by now. And often only adds an unnecessary complexity & confusion in handing a text & communicating with world outside the Squeak. > Cheers > Philippe > > -- Best regards, Igor Stasenko AKA sig. |
In reply to this post by Andreas.Raab
I've been asked to clarify that the Squeak Oversight Board is paying
attention to the current discussions. I had thought that would be obvious since several of the Board members have been participating to one extent or another (Igor, Andreas, Bert, and Randal for example). But it has been pointed out that not everyone is aware of the current board members. If you haven't already you might want to read our last meeting report and our upcoming agenda notes for Wednesday: http://squeakboard.wordpress.com/2009/06/18/meeting-report-for-6172009/ http://squeakboard.wordpress.com/2009/06/19/meeting-agenda-for-712009/ Feel free to propose agenda items. Ken signature.asc (196 bytes) Download Attachment |
Thank you, Ken. It's never too much to be reassured of Squeak
Oversight Board's devotion to its community. Hopefully, the board can give us a sense of direction and help the community to move forward. Would it be possible to update the agenda on the blog, according to these discussions? Naturally, if it's possible for you guys to talk about these issues during the upcoming meeting... =) Best regards, Ian 2009/6/29 Ken Causey <[hidden email]>: > I've been asked to clarify that the Squeak Oversight Board is paying > attention to the current discussions. I had thought that would be > obvious since several of the Board members have been participating to > one extent or another (Igor, Andreas, Bert, and Randal for example). > But it has been pointed out that not everyone is aware of the current > board members. > > If you haven't already you might want to read our last meeting report > and our upcoming agenda notes for Wednesday: > > http://squeakboard.wordpress.com/2009/06/18/meeting-report-for-6172009/ > > http://squeakboard.wordpress.com/2009/06/19/meeting-agenda-for-712009/ > > Feel free to propose agenda items. > > Ken > > > > -- http://mecenia.blogspot.com/ |
In reply to this post by Ken Causey-3
Ken Causey wrote:
> I've been asked to clarify that the Squeak Oversight Board is paying > attention to the current discussions. I had thought that would be > obvious since several of the Board members have been participating to > one extent or another (Igor, Andreas, Bert, and Randal for example). Indeed. I have been reading the discussion with interest and in detail. It is a very good insight into the current mindset of the community and I think we can use this as a starting point for where to move from here. So thanks everyone and keep 'em coming ;-) Cheers, - Andreas > But it has been pointed out that not everyone is aware of the current > board members. > > If you haven't already you might want to read our last meeting report > and our upcoming agenda notes for Wednesday: > > http://squeakboard.wordpress.com/2009/06/18/meeting-report-for-6172009/ > > http://squeakboard.wordpress.com/2009/06/19/meeting-agenda-for-712009/ > > Feel free to propose agenda items. > > Ken > > > ------------------------------------------------------------------------ > > |
In reply to this post by Ian Trudel-2
On Mon, 2009-06-29 at 16:42 -0400, Ian Trudel wrote:
> Thank you, Ken. It's never too much to be reassured of Squeak > Oversight Board's devotion to its community. Hopefully, the board can > give us a sense of direction and help the community to move forward. > > Would it be possible to update the agenda on the blog, according to > these discussions? Naturally, if it's possible for you guys to talk > about these issues during the upcoming meeting... =) It's not only possible, you don't even need me to do it. Simply add a comment to that blog entry. Frankly I'm still digesting the recent discussions and unsure what to take away from it. An agenda item written by someone other than me is likely to make more sense. Ken > Best regards, > Ian > > 2009/6/29 Ken Causey <[hidden email]>: > > I've been asked to clarify that the Squeak Oversight Board is paying > > attention to the current discussions. I had thought that would be > > obvious since several of the Board members have been participating to > > one extent or another (Igor, Andreas, Bert, and Randal for example). > > But it has been pointed out that not everyone is aware of the current > > board members. > > > > If you haven't already you might want to read our last meeting report > > and our upcoming agenda notes for Wednesday: > > > > http://squeakboard.wordpress.com/2009/06/18/meeting-report-for-6172009/ > > > > http://squeakboard.wordpress.com/2009/06/19/meeting-agenda-for-712009/ > > > > Feel free to propose agenda items. > > > > Ken > > > > > > > > > > > signature.asc (196 bytes) Download Attachment |
In reply to this post by Paolo Bonzini-2
Hi Paulo,
On Mon, Jun 29, 2009 at 2:13 AM, Paolo Bonzini <[hidden email]> wrote:
On reading this my first question us "what should at: do?". Have you thought this through? Does at: have to search for TAG marks and skip over them, or is the problem punted up to the client? If TAGs are hidden how does one find what TAGs are? Are there two classes, TaggedUnicodeString and UntaggedUnicodeString? etc...
|
In reply to this post by Juan Vuletich-4
Juan Vuletich wrote:
> It also says: > - Lead by Juan Vuletich (jmv) after these principles. I think this might be the most important bit. Squeak seems to lack anyone you can point to who has the authority to stand up and say "We're doing it this way. Don't like it? Too bad." and make it stick. Or more importantly, anyone who's *visibly* in that position, the board seems kinda amorphous, even bureaucratic that way. |
In reply to this post by Igor Stasenko
At Mon, 29 Jun 2009 22:30:31 +0300,
Igor Stasenko wrote: > > So, do i understood you right: this information (leadingChar) could be > useful sometimes. > But real world examples showing that its completely useless , at least > by now. And often only adds an unnecessary complexity & confusion in > handing a text & communicating with world outside the Squeak. Well, but Squeak in Chinese/Japanese/Korean have been using it and depending on it, so this characterization is not correct. -- Yoshiki |
In reply to this post by Philippe Marschall
Good people -
Whatever the impetus, it's good to see this recent spate of self-examination. When I look back on the early days, we had a cycle where we would use the old system for all it was worth (even with ugly hacks), exploring some current set of initiatives, and *then* we would fall back to clean things up and integrate what we learned in the latest push. Maybe that's what's happening now, but I feel the absence of some of those big challenges that motivate and reward real progress (not to make little of the current efforts). These could include... Take advantage of multicore processors and associated multi-thread OS's in our VM design(s). Demonstrate real ease of use in tapping that new dimension of performance. Linda and E are relevant. Press at least one good JIT design through to completion document it, and keep it alive on every platform. Make it easy to produce Squeak apps for the iPhone and similar platforms for which it seems so perfect. Bring Squeak to life in browsers. OMeta + V8 + Canvas = Squeak everywhere, including behind firewalls and where installation is prohibited Get serious about security. Take another look at ESqueak and figure how to make it just a bit simpler Along the same lines, make it easy for Squeak to rule the cloud. Each of these has high potential impact, and it would be nice to have made some real progress in one or two areas before doing a major merge or rewrite. What if you decide to eliminate shared globals; wouldn't this be a great time to include that rewrite? What if shared variables turn out to be a great way to synchronize multiple threads in the VM; wouldn't this be a good time to fold that in? Etc. So this may be the time to reorganize everything, but it also looks to me like there is nothing in the way of making some *bold* progress right now, and it's likely that the wider perspective achieved in the process might inform an even better next system. That said, don't forget there are good and committed people on both sides of this discussion, and your first priority should be how to maximize the community. FWIW I recommend face-to-face discussion. And beer. - Dan |
In reply to this post by Paolo Bonzini-2
At Mon, 29 Jun 2009 11:13:24 +0200,
Paolo Bonzini wrote: > > You're free to have your opinion on Han unification. Many people share > it, many people don't. But the fact is, only Squeak does it this way > and it does have as many problems as it solves. > > For another way to encode languages see > http://www.isi.edu/in-notes/rfc2482.txt. As Eliot wrote, an interactive environment has different constraint. #at: is one of them, and $- notation for specifying a character etc. (say print-it for it should print something) should provide some workable solution. I think a future version basically shouldn't try to "print" a Chararacter, but print out the code point and to display a character, you do have to supply the extra infomation. (Character object is convenient, but you can go with all String objects, if you like.) -- Yoshiki |
In reply to this post by Eliot Miranda-2
On 06/29/2009 11:08 PM, Eliot Miranda wrote:
> > On reading this my first question us "what should at: do?". Have you > thought this through? Does at: have to search for TAG marks and skip > over them, or is the problem punted up to the client? Tags are zero-width Unicode characters just like the byte-order mark U+FEFF. Note that the tag uses a completely different set of characters than the normal Latin alphabet. Similar to how in UTF-8/UTF-16 it is possible to find in O(1) time the beginning of a character, in this RFC it is always clear if a character is part of a tag or not. Paolo |
On Mon, Jun 29, 2009 at 3:09 PM, Paolo Bonzini <[hidden email]> wrote:
But being able to find the start of a character in O(1) doesn't tell you how many characters there are between a given address within the string and its start address, and it doesn't tell you what the address of a character at a given index in the string is. So if the TAG representation is the internal representation (which I think is implied by using this as a means of carrying language information around with the character data) then this representation implies O(N) at:, which means that it'll only be suitable as an exchange representation (and expensive to encode/decode to/from) or it needs an additional index structure, or...?
|
In reply to this post by Dan Ingalls
Hi Dan!
(Watch out - rambling ahead) Long time no hear. :) Dan Ingalls wrote: > Good people - > > Whatever the impetus, it's good to see this recent spate of > self-examination. Yep, indeed. > When I look back on the early days, we had a cycle where we would use > the old system for all it was worth (even with ugly hacks), exploring > some current set of initiatives, and *then* we would fall back to clean > things up and integrate what we learned in the latest push. > > Maybe that's what's happening now, but I feel the absence of some of > those big challenges that motivate and reward real progress (not to make > little of the current efforts). These could include... > > Take advantage of multicore processors and associated > multi-thread OS's in our VM design(s). Yeah, I am unsure if Cog has anything in this area. We do have the Hydra base, and personally I am quite impressed that Huemul actually has native POSIX thread == Process! I presume the "perfect" setup is green Processes running on a pool of native threads. Thus preserving the "light weight" of Process and still be able to utilize cores. I also would like to note that while it would be COOL to be able to scale on cores - the *reality* is that most apps we write in Squeak that *needs* to scale is typically web apps. And you scale web apps horisontally using multiple VMs and a load balancer, no big deal. So it doesn't really matter how cool it would be - it is not a "killer" feature IMHO. But the scalability of Erlang would open up new frontiers. :) > Demonstrate real ease of use in tapping that new > dimension of performance. Linda and E are relevant. > > Press at least one good JIT design through to completion > document it, and keep it alive on every platform. I presume Cog is our hope? The latest "news" in this area is that Eliot mentioned he is looking closer at the JIT in Factor (factorcode.org) and even considers porting it! And lots of JIT libs around these days, Nanojit in Tracemonkey, libJIT etc etc. But one thing is true - performance *kicks ass*. We may go on and on about how "unimportant" performance is but darnit, it really is a killer feature if we had a REAL fast VM whupping the Pyhon/Rubys. ;) > Make it easy to produce Squeak apps for the iPhone > and similar platforms for which it seems so perfect. Mmmm, most such platforms have their "own" UI which you really need to adhere to. I think simple interpreters that very easily can play with external libs have the upper hand here. Think Python. > Bring Squeak to life in browsers. > OMeta + V8 + Canvas = Squeak everywhere, including > behind firewalls and where installation is prohibited Cool yes. Killer feature? Nope, don't think so. > Get serious about security. Take another look at ESqueak > and figure how to make it just a bit simpler Doesn't make me drool. :) > Along the same lines, make it easy for Squeak to rule > the cloud. Ah, *that* one is more like it. Not sure HOW, but i do agree that the Cloud (in whichever shape or form) is coming. One thing I have noted as a consultant is that almost EVERY customer now runs virtual hardware. In Sweden almost always VMWare. And this actually benefits us - the customer just wants an "appliance". They often don't care what it is written in. If Squeak could offer something unique in this arena... but I fail to see what that could be :) > Each of these has high potential impact, and it would be nice to have > made some real progress in one or two areas before doing a major merge > or rewrite. What if you decide to eliminate shared globals; wouldn't > this be a great time to include that rewrite? What if shared variables > turn out to be a great way to synchronize multiple threads in the VM; > wouldn't this be a good time to fold that in? Etc. > > So this may be the time to reorganize everything, but it also looks to > me like there is nothing in the way of making some *bold* progress right > now, and it's likely that the wider perspective achieved in the process > might inform an even better next system. > > That said, don't forget there are good and committed people on both > sides of this discussion, and your first priority should be how to > maximize the community. FWIW I recommend face-to-face discussion. And > beer. Beer is good. Too bad we are so darn spread out. > - Dan regards, Göran |
2009/6/30 Göran Krampe <[hidden email]>:
> Hi Dan! > > (Watch out - rambling ahead) > > Long time no hear. :) > > Dan Ingalls wrote: >> >> Good people - >> >> Whatever the impetus, it's good to see this recent spate of >> self-examination. > > Yep, indeed. > >> When I look back on the early days, we had a cycle where we would use the >> old system for all it was worth (even with ugly hacks), exploring some >> current set of initiatives, and *then* we would fall back to clean things up >> and integrate what we learned in the latest push. >> >> Maybe that's what's happening now, but I feel the absence of some of those >> big challenges that motivate and reward real progress (not to make little of >> the current efforts). These could include... >> >> Take advantage of multicore processors and associated >> multi-thread OS's in our VM design(s). > > Yeah, I am unsure if Cog has anything in this area. We do have the Hydra > base, and personally I am quite impressed that Huemul actually has native > POSIX thread == Process! > > I presume the "perfect" setup is green Processes running on a pool of native > threads. Thus preserving the "light weight" of Process and still be able to > utilize cores. > > I also would like to note that while it would be COOL to be able to scale on > cores - the *reality* is that most apps we write in Squeak that *needs* to > scale is typically web apps. And you scale web apps horisontally using > multiple VMs and a load balancer, no big deal. > > So it doesn't really matter how cool it would be - it is not a "killer" > feature IMHO. > > But the scalability of Erlang would open up new frontiers. :) > >> Demonstrate real ease of use in tapping that new >> dimension of performance. Linda and E are relevant. >> >> Press at least one good JIT design through to completion >> document it, and keep it alive on every platform. > > I presume Cog is our hope? The latest "news" in this area is that Eliot > mentioned he is looking closer at the JIT in Factor (factorcode.org) and > even considers porting it! And lots of JIT libs around these days, Nanojit > in Tracemonkey, libJIT etc etc. > > But one thing is true - performance *kicks ass*. We may go on and on about > how "unimportant" performance is but darnit, it really is a killer feature > if we had a REAL fast VM whupping the Pyhon/Rubys. ;) > >> Make it easy to produce Squeak apps for the iPhone >> and similar platforms for which it seems so perfect. > > Mmmm, most such platforms have their "own" UI which you really need to > adhere to. I think simple interpreters that very easily can play with > external libs have the upper hand here. Think Python. > >> Bring Squeak to life in browsers. >> OMeta + V8 + Canvas = Squeak everywhere, including >> behind firewalls and where installation is prohibited > > Cool yes. Killer feature? Nope, don't think so. > >> Get serious about security. Take another look at ESqueak >> and figure how to make it just a bit simpler > > Doesn't make me drool. :) > >> Along the same lines, make it easy for Squeak to rule >> the cloud. > > Ah, *that* one is more like it. Not sure HOW, but i do agree that the Cloud > (in whichever shape or form) is coming. > > One thing I have noted as a consultant is that almost EVERY customer now > runs virtual hardware. In Sweden almost always VMWare. And this actually > benefits us - the customer just wants an "appliance". They often don't care > what it is written in. > > If Squeak could offer something unique in this arena... but I fail to see > what that could be :) > SqueakNos comes to mind. A modern OS appliance weights hundreds of megabytes (even gigabytes). SqueakNos can fit in couple megabytes and handle web/VNC altogether. :) >> Each of these has high potential impact, and it would be nice to have made >> some real progress in one or two areas before doing a major merge or >> rewrite. What if you decide to eliminate shared globals; wouldn't this be a >> great time to include that rewrite? What if shared variables turn out to be >> a great way to synchronize multiple threads in the VM; wouldn't this be a >> good time to fold that in? Etc. >> >> So this may be the time to reorganize everything, but it also looks to me >> like there is nothing in the way of making some *bold* progress right now, >> and it's likely that the wider perspective achieved in the process might >> inform an even better next system. >> >> That said, don't forget there are good and committed people on both sides >> of this discussion, and your first priority should be how to maximize the >> community. FWIW I recommend face-to-face discussion. And beer. > > Beer is good. Too bad we are so darn spread out. > >> - Dan > > regards, Göran > > > -- Best regards, Igor Stasenko AKA sig. |
In reply to this post by Göran Krampe
Sorry that I am late to this discussion - I was away for a week showing
off Squeak at an international free software conference [1]. Even exchanged some ideas with Richard Stallman about the Squeak licensing issues (he would be happier if we used GPL, of course). My first comment is that there are two sources for all the energy that we can now see in Pharo. One is improved processes, which is certainly something we should have in Squeak (and is *the* goal for 3.11) and the other is the "start up" glee that new projects tend to have. The latter will eventually wear off, but I am sure that the former is strong enough for it to keep going for a very long time. I watched people and energy move from Self to Squeak, from Squeak to Slate, from Squeak to IDST and many other similar cases. It is a great thing that Pharo exists and anyone who really would like to have Squeak be an Open Source Smalltalk-80 with a professional look now has that option available. The question that was asked was if this should be the only option? My understanding of the Etoys situation leads me to think that it can't survive as a fork. Who will continue to work on it now that ViewPoints has transferred responsibility to the new Squeakland Foundation? I would like Bert and Yoshiki to comment on this if possible. In the past we have had forks between squeakland and squeak which were later merged back and I want to see that happen again. I feel a moral responsibility for all the students and teachers that have been convinced to adopt Etoys (and I talked to quite a few this week). If Alan's suggestion of a Python version of Etoys had been followed and that was what the children were using then I wouldn't mind a "Squeak become: Pharo" situation, but it didn't happen. So my priorities are: 1) keep Etoys going and improving 2) Croquet 3) Seaside and Aida 4) Pharo About what Dan wrote, I agree 100%. It might seem like a contradiction, that I want as little change as possible. But that is not true at all - I accepted that relicensing was the number one priority for the community (I have always been happy with the SqueakL myself) and that doing this right would mean 6 months to a year of additional time with no progress. I actually proposed a technical solution that would both allow us to have more backwards compatibility and radical progress at the same time [2] but since nobody was convinced I am willing to push forward with more conventional development. On the last slide of my talk last week, I mentioned "Squeak and Cloud Computing" and gave some details about a project for next year with 16 thousand Squeak processors on a 6 inch wafer. Though nothing is being done in secret, I don't think most on this list are aware of just how much work is being done on Squeak right now and how many are considering joining over the next few months. -- Jecel [1] http://fisl.softwarelivre.org/10/www/en [2] http://wiki.squeak.org/squeak/584 |
In reply to this post by Yoshiki Ohshima-2
On Tuesday 30 Jun 2009 3:09:15 am Yoshiki Ohshima wrote:
> At Mon, 29 Jun 2009 22:30:31 +0300, > > Igor Stasenko wrote: > > So, do i understood you right: this information (leadingChar) could be > > useful sometimes. > > But real world examples showing that its completely useless , at least > > by now. And often only adds an unnecessary complexity & confusion in > > handing a text & communicating with world outside the Squeak. > > Well, but Squeak in Chinese/Japanese/Korean have been using it and > depending on it, so this characterization is not correct. regional or lingual variations. Devanagari also has such examples. The grapheme 'a' is rendered differently in Bombay and in Calcutta. Should the variations be encoded in the context or in every grapheme codepoint? leadingChar is just one way to resolve such variations. Personally, I prefer handling such variations as part of the context. A grapheme is a notional element. We need to encode it so that we can input, calculate, combine, compare and sort notional elements. Visual appearance becomes important only for manual edit and print operations. Subbu |
In reply to this post by Yoshiki Ohshima-2
On 06/30/2009 12:02 AM, Yoshiki Ohshima wrote:
> At Mon, 29 Jun 2009 11:13:24 +0200, > Paolo Bonzini wrote: >> You're free to have your opinion on Han unification. Many people share >> it, many people don't. But the fact is, only Squeak does it this way >> and it does have as many problems as it solves. >> >> For another way to encode languages see >> http://www.isi.edu/in-notes/rfc2482.txt. > > As Eliot wrote, an interactive environment has different constraint. > #at: is one of them, and $- notation for specifying a character > etc. (say print-it for it should print something) should provide some > workable solution. #at: is not one of them, language tags should not be skipped just like soft hyphens (U+00AD, also known as hyphenation hint) should not. Regarding specifying a character, I don't think it happens *so* often that a Japanese wants to specify explicitly a Chinese shape and vice versa for a single character. Just choose a default font based on the current local, and for the occasional time when you do know the language use something like this: String>>withLanguageTag: aString ^(Character codePoint: 16rE0001) asString, (aString collect: [:ch|Character codePoint: ch value+16rE0000]), self Character>>withLanguageTag: aString ^self asString withLanguageTag: aString (Character codePoint: 16r4000) withLanguageTag: 'JAPANESE' > I think a future version basically shouldn't try to "print" a > Chararacter, but print out the code point and to display a character, > you do have to supply the extra infomation. (Character object is > convenient, but you can go with all String objects, if you like.) Exactly my point. When you know a language you can go with String objects and then you can avoid #leadingChar. Paolo |
Free forum by Nabble | Edit this page |