[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Help-smalltalk] Smalltalk in Smalltalk - GSoC 2014

From: Holger Hans Peter Freyther
Subject: Re: [Help-smalltalk] Smalltalk in Smalltalk - GSoC 2014
Date: Fri, 14 Mar 2014 21:05:58 +0100
User-agent: Mutt/1.5.21 (2010-09-15)

On Mon, Mar 10, 2014 at 04:27:16PM -0400, Nick Salerni wrote:
> Hello:

Dar Nick,

sorry for the late reply. Work has been a bit busy.

> What would the specifics of the project entail? Also, who would be the mentor 
> for this specific project?

The mentoring would be done by me. I am the Co-Maintainer of GNU Smalltalk
and use it both as a hobby and for some parts of my work.

In terms of work. It is a task with many possibilities. Currently we have
two Smalltalk parsers/compilers. One is written in C and located in the
libgst/ directory. The other is based on the RBParser/Refactoring Tools
and located in the 'Parser' and 'Compiler' package (packages/stinst/*).

The STinST (Smalltalk in Smalltalk) system is the base of a couple of
utilities and projects:

  * My experimental linting package use it to build a model of the
    code that can be inspected.
  * We use it in gst-convert to convert from one dialect of Smalltalk
    to another.
  * VisualGST is using to build the model.

There are various "issues" with the code that could make a difference:

* Not all of the packages that are included with GNU Smalltalk can be
  parsed by the STInST parser (let alone be compiled). E.g. GNU Smalltalk
  has a feature for compile time constants. Using compile time constants
  in array literls do not work. Paolo (the maintainer) created an almost
  working patch. But then there are still more issues.
  So for each available package you would need to try to load it with
  the Parser/Compiler, classify the error, create a testcase and look
  into fixing it.

* The syntax formatter is a bit of a horror. It would be nice to have
  more choices.

* Tools using the STInST parser could be extended. E.g. gst-convert
  is using the refactoring rules syntax but it is not expressive
  enough. E.g. in gst both 'abc' subStrings: $b and 'abc' subStrings: 'b'
  work. In Pharo this only works with a string. It would be good to
  be able express rules like this.

Is this something that would interest you?

> Also I wanted to provide a bit more background information on myself. During 
> first semester of my current year of studies (2nd year) I had to take a class 
> on object oriented programming and design. Approximately one third of the 
> course was an introduction to the Smalltalk language and I really enjoyed it. 
> It is nice to see how Smalltalk can make one fundamentally understand object 
> orientation.

Ah that is nice to hear. Have you looked at GNU Smalltalk yet? Personally I
think it is a great VM and has potential but it is lacking in terms of tooling
compared to the other dialects.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]