List Info

Thread: New syntax and the BLOX browser




New syntax and the BLOX browser
user name
2007-10-15 15:35:12
Hi, I'm new to GNU Smalltalk, and I was trying Blox in the
lastest
version of GST (from the devo repository in Arch).

When a method source is displayed the browser shows the
"[" "]" used
by the new script syntax.
I like the script syntax, because is nice when writing
scripts... but
in the browser I think that is better to display methods
without the
"[" "]".

It's intentional or it's a bug? Can I help to change this?


_______________________________________________
help-smalltalk mailing list
help-smalltalkgnu.org

http://lists.gnu.org/mailman/listinfo/help-smalltalk

Re: New syntax and the BLOX browser
country flaguser name
United States
2007-10-15 16:21:20
Diego Fernandez wrote:
> It's intentional or it's a bug? Can I help to change
this?

It's intentional in the sense that source code in string
form for 
methods should now have those brackets.  The browser
currently just 
shows whatever the source code property is, and compiles it
directly 
using the standard methods.

I believe the place to make changes of the kind you desire
is directly 
in the Browser.  If you want to work on a patch to the
Browser for this, 
it would be welcome.  You should first apply the patch in 
http://lists.gnu.org/archive/html/help-sma
lltalk/2007-10/msg00051.html, 
which alters source code semantics and is likely to be
applied soon to devo.

I cannot tell you much else about the Browser
implementation, but I 
think the GSTParser and the positioning information that
RBProgramNodes 
provide would be useful in implementing this.  Feel free to
join us 
(http://smalltalk.gn
u.org/wiki/irc) if you'd like to chat about it.

-- 
;;; Stephen Compall ** http://scompall.no
candysw.com/blog **
"Peta" is Greek for fifth; a petabyte is 10 to the
fifth power, as
well as fifth in line after kilo, mega, giga, and tera.
   -- Lee Gomes, performing every Wednesday in his tech
column
      "Portals" on page B1 of The Wall Street
Journal


_______________________________________________
help-smalltalk mailing list
help-smalltalkgnu.org

http://lists.gnu.org/mailman/listinfo/help-smalltalk

Re: New syntax and the BLOX browser
country flaguser name
Switzerland
2007-10-16 02:44:25
Diego Fernandez wrote:
> Hi, I'm new to GNU Smalltalk, and I was trying Blox in
the lastest
> version of GST (from the devo repository in Arch).
> 
> When a method source is displayed the browser shows the
"[" "]" used
> by the new script syntax.
> I like the script syntax, because is nice when writing
scripts... but
> in the browser I think that is better to display
methods without the
> "[" "]".

It is intentional, though it does not really work without
the patch that 
Stephen pointed you to (and even with the patch, I haven't
tested that 
particular case).

The problem is that single-method compilation is needed in
two cases:

1) in the browser, and there one would like to avoid the
brackets

2) when the definition of a class changes, and there you
need to 
recompile exactly what was in the source code (including the
brackets).

So, there are two opposing behaviors, both of which may be
desirable.

I must say I'm not very motivated to implement this, so
unless someone 
steps forward, you'll have to write brackets in the browser
too.  

On the other hand, it should be possible to
"unbracket" the methods when 
they are chosen and "rebracket" them just before
accept.  As Stephen 
hinted, both can be done relatively easily, by creating a
parser 
(CompiledMethod>>#parserClass) and parsing the message
pattern.

When unbracketing, you scan to the next token and save its
position, 
then you scan all the method and save the position of the
last token, 
and finally you use copyFrom:to: to remove the brackets.

When rebracketing, you scan to the message pattern, and use
copyFrom:to: 
to split the method in two parts.  Then you put them
together with 
brackets around the second part.

Unfortunately, there is no single place in which to do this
change, 
because there is no common for MethodSetBrowser and 
ClassHierarchyBrowser.  So, a first (very much welcome) step
would be to 
refactor these two to have a Browser superclass.  If you
need help, 
write here so we can help you and put the result on the wiki
(a "GST 
hacker's guide" is another sorely missing part of the
wiki).

Paolo


_______________________________________________
help-smalltalk mailing list
help-smalltalkgnu.org

http://lists.gnu.org/mailman/listinfo/help-smalltalk

[1-3]

about | contact  Other archives ( Real Estate discussion Medical topics )