Hi Croqueteers,
I'm creating a simple interface to Croquet to allow setting of keyframes, sketching, etc., and I need to create my own UI behaviors. As it now stands, the tool support is insufficient (I did read the TPointer class comment, and realize that tool support isn't done). It appears that the tool only operates when there is an object selected. I envision a pen-based system that uses Genie to interpret any stroke made with the pen, even if there is no selected object. I would also like to be able to assign different behaviors to the yellow and red buttons.
The approach that I have come up with is to have a hierarchy beneath TPointer, where each class defines a different type of UI behavior. There would be a TStandardPointer that supports the current behavior. Some of the protocol of TCamera (such as snapBack) would be moved into TPointer or TStandardPointer.
I also want to add a history to support undo/redo. I haven't decided whether this belongs in the camera, the pointer, or somewhere more global. I'll probably opt for the pointer, and move it later if necessary.
I'm writing this so as not to re-invent the wheel in case this area is actively being worked on. If not, I hope that I can do some work that furthers my research and is useful for Croquet. I'm also hoping to generate a bit of discussion, since I'm not sure I have a solid grasp on the design space, and know that there are others out there. If anyone is interested, I'll write something a bit more detailed than this email.
Thanks, Joshua
All:
I am implementing Combinatorial Games. (Conway numbers and infinitesimals are combinatorial games, FYI.) Combinatorial games are partially ordered, and may be confused with each other (neither greater than, less than, or equal to). G || H means that G is confused with H, G |> H means that G is greater than or confused with H, and G <| H means that G is less than or confused with H.
The trouble is that, when I try to make any of those an operator, I seem to run into the use of || to delimit local variables. I get an error message, "Argument name expected ->". The loss of || is not so bad, as <> is an alternative. But it would be nice to use <| and |>, and I do not see a necessary conflict with other usage.
Any help much appreciated. :-)
Thanks,
Bill
On Sunday, February 2, 2003, at 06:36 PM, Bill Spight wrote:
The trouble is that, when I try to make any of those an operator, I seem to run into the use of || to delimit local variables. I get an error message, "Argument name expected ->". The loss of || is not so bad, as <> is an alternative. But it would be nice to use <| and |>, and I do not see a necessary conflict with other usage.
yes, please. Also #|| would be nicer to use than #|, when building dynamic tuples in LindaTalk.
cheers, rob
All:
One snag seem to happen here:
Scanner>>scanToken
[(tokenType _ typeTable at: hereChar asciiValue) == #xDelimiter] whileTrue: [self step]. "Skip delimiters fast, there almost always is one." mark _ source position - 1. (tokenType at: 1) = $x "x as first letter" ifTrue: [self perform: tokenType "means perform to compute token & type"] ifFalse: [token _ self step asSymbol "else just unique the first char"]. ^token
The token type of | is #verticalBar, which does not begin with x, and it does not combine with other symbols to form a token. I am sure that there are good reasons for this. You would like |[, |(, )|, ]|, and || (and maybe others) to remain unambiguous.
I could fiddle with it to have it recognize |> and <| as tokens (best to do without ||, I think), but I do not really know what is best.
Any help appreciated. :-)
Many thanks,
Bill
Bill Spight wrote:
All:
I am implementing Combinatorial Games. (Conway numbers and infinitesimals are combinatorial games, FYI.) Combinatorial games are partially ordered, and may be confused with each other (neither greater than, less than, or equal to). G || H means that G is confused with H, G |> H means that G is greater than or confused with H, and G <| H means that G is less than or confused with H.
The trouble is that, when I try to make any of those an operator, I seem to run into the use of || to delimit local variables. I get an error message, "Argument name expected ->". The loss of || is not so bad, as <> is an alternative. But it would be nice to use <| and |>, and I do not see a necessary conflict with other usage.
Any help much appreciated. :-)
Thanks,
Bill
May be this would the opportunity to throw away hand made parser and use the right technology like Smacc. I saw that there is a scanner and parser for Smalltalk so it could be extended for squeak (may be john already did that).
I saw that the RefactoringBrowser in VW has now a color editing while you are typing. You can identify errors while typing. Any decent IDE now has that kind of feature.
Stef
On Tuesday, February 4, 2003, at 07:48 PM, Bill Spight wrote:
All:
One snag seem to happen here:
Scanner>>scanToken
[(tokenType _ typeTable at: hereChar asciiValue) == #xDelimiter] whileTrue: [self step]. "Skip delimiters fast, there almost always is one." mark _ source position - 1. (tokenType at: 1) = $x "x as first letter" ifTrue: [self perform: tokenType "means perform to compute token & type"] ifFalse: [token _ self step asSymbol "else just unique the first char"]. ^token
The token type of | is #verticalBar, which does not begin with x, and it does not combine with other symbols to form a token. I am sure that there are good reasons for this. You would like |[, |(, )|, ]|, and || (and maybe others) to remain unambiguous.
I could fiddle with it to have it recognize |> and <| as tokens (best to do without ||, I think), but I do not really know what is best.
Any help appreciated. :-)
Many thanks,
Bill
Bill Spight wrote:
All:
I am implementing Combinatorial Games. (Conway numbers and infinitesimals are combinatorial games, FYI.) Combinatorial games are partially ordered, and may be confused with each other (neither greater than, less than, or equal to). G || H means that G is confused with H, G |> H means that G is greater than or confused with H, and G <| H means that G is less than or confused with H.
The trouble is that, when I try to make any of those an operator, I seem to run into the use of || to delimit local variables. I get an error message, "Argument name expected ->". The loss of || is not so bad, as <> is an alternative. But it would be nice to use <| and |>, and I do not see a necessary conflict with other usage.
Any help much appreciated. :-)
Thanks,
Bill
Prof. Dr. Stéphane DUCASSE (ducasse@iam.unibe.ch) http://www.iam.unibe.ch/~ducasse/ "if you knew today was your last day on earth, what would you do different? ... especially if, by doing something different, today might not be your last day on earth" Calvin&Hobbes
squeak-dev@lists.squeakfoundation.org