Smalltalk in Smalltalk - GSoC 2014

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Smalltalk in Smalltalk - GSoC 2014

Nick Salerni
Hello:

My name is Nick Salerni and I am currently a second year computer science student at Ryerson University. I was looking over various tops by various companies and I found your "Smalltalk in Smalltalk" project very interesting. I am definitely interested in submitting a proposal and working on this project, but before I submit my proposal I wanted to gather a bit more information about the project, allowing my proposal to be as complete as possible.

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

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.

I would be honoured to work on this project as a part of the Google Summer of Code program (even if the topic doesn't get pick for GSoC, I would still be interested in working on it). I hope to hear back from you soon!

Best regards


Nick Salerni
_______________________________________________
help-smalltalk mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/help-smalltalk
Reply | Threaded
Open this post in threaded view
|

Re: Smalltalk in Smalltalk - GSoC 2014

Holger Freyther
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.


_______________________________________________
help-smalltalk mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/help-smalltalk