Summer of Code for Syx?

11 views
Skip to first unread message

ZuLuuuuuu

unread,
Mar 19, 2009, 6:12:28 AM3/19/09
to Syx general discussion
Hi,

I guess Syx is not going to participate in Google Summer of Code 2009.
But this does not prevent us to do our own summer of code, right? What
would be some project ideas for a summer of code for Syx project?
Maybe we can list the ideas here and people interested can pick up the
one they like to work on all summer...

Some project ideas that comes to my mind:

- A complete new web site: Luca is already working on it but a
roadmap might be created and some ideas might be discussed etc.

- Complete Glib/GObject/GTK+ bindings: So that a complete graphical
application might be created in Syx.

- A class browser: A class browser written in GTK+ would be very
cool.

- Win32 bindings: This is not a priority but if it is done we can get
a lot of Windows developers interested in Syx.

- Improved documentation: Documentation is maybe one of the most
important features of a programming language and there are always a
lot of things that can be done to improve it. Smalltalk has quite a
documentation but having a centralized, well written documentation
(mini tutorial/tutorial/reference manual for both the core and the
bindings etc.) would help the project gain popularity very fast.

These are the projects that come to my mind for now, of course Luca is
the one if these things make sense at all.

Luca Bruno

unread,
Mar 19, 2009, 9:19:54 AM3/19/09
to syx-d...@googlegroups.com
Hi,
your idea is good though winning the SC wouldn't mean win any money :P
Well all the ideas are good, but all those that are going to be
completed will inevitably be refactored in the future.
As you know I'm heavily refactoring the VM and this include a
different management of the external C pointers. This would lead to a
refactoring of the GTK+ project e.g. in the future.

For what concerns the documentation, I've begun writing a manual which
also include Smalltalk general programming, that can be used as a
starting point for the project.

The only problem is that I'm the first one to not be completely
available for both helping the project and managing this summer of
code until summer comes because of university :)
Also, before running this SC, Syx should be an interesting project to
the whole community first. Maybe this is not a requirement for
starting a SC as everyone could get involved and interested in making
his own parts of a programming language and learn something more,
without being already involved in the project.

I'd like to raise another project: complete the standard, or at least
good supports for numbers.
Yet another project: Unicode.
Another interesting project is porting Syx to other platforms, like AIX.

Completing the G-bindings isn't much useful if the developer can't
rely on a SortedCollection, but it's definitly useful (as you said) to
let Syx gain more popularity.

Would you like to organize it in the meanwhile? :)

--
lethalman.blogspot.com - Thoughts about computer technologies
code.google.com/p/syx - A Smalltalk-80 implementation searching for helpers

ZuLuuuuuu

unread,
Mar 19, 2009, 10:06:53 AM3/19/09
to Syx general discussion
On 19 Mart, 15:19, Luca Bruno <lethalma...@gmail.com> wrote:
> Hi,
> your idea is good though winning the SC wouldn't mean win any money :P

Definately, this is a voluntary thing.

> Well all the ideas are good, but all those that are going to be
> completed will inevitably be refactored in the future.
> As you know I'm heavily refactoring the VM and this include a
> different management of the external C pointers. This would lead to a
> refactoring of the GTK+ project e.g. in the future.
>

Since I don't know much about making bindings I can't say much about
this. Maybe we can start making the bindings and refactor it in
parallel with the VM changes?

> For what concerns the documentation, I've begun writing a manual which
> also include Smalltalk general programming, that can be used as a
> starting point for the project.
>

Yes, also I have some Smalltalk material from the book I started
writing, so I can help with the main tutorial/manual. By the way, by
"main tutorial", I have in my mind a tutorial like the Python's:
http://docs.python.org/tutorial

I can also promise to write a "Syx in Six Minutes" tutorial like "Ruby
in Twenty Minutes": http://www.ruby-lang.org/en/documentation/quickstart

> The only problem is that I'm the first one to not be completely
> available for both helping the project and managing this summer of
> code until summer comes because of university :)

This is also the case for me. So, we will just do a rough plan and
talk the details when summer comes ;)

>
> Yet another project: Unicode.

Again, I don't know the details but I guess Panda Smalltalk had this
feature, right? So the person who will do this task can get help from
the Panda code?

>
> Would you like to organize it in the meanwhile? :)
>

Which one, the SC?

Luca Bruno

unread,
Mar 19, 2009, 4:15:10 PM3/19/09
to syx-d...@googlegroups.com
> Since I don't know much about making bindings I can't say much about
> this. Maybe we can start making the bindings and refactor it in
> parallel with the VM changes?

Exactly, but it's necessary to mention it once the SC starts.

> I can also promise to write a "Syx in Six Minutes" tutorial like "Ruby
> in Twenty Minutes": http://www.ruby-lang.org/en/documentation/quickstart
>

Eheh sounds good :)

> > Yet another project: Unicode.
>
> Again, I don't know the details but I guess Panda Smalltalk had this
> feature, right? So the person who will do this task can get help from
> the Panda code?
>

I don't know if Vincent is going to work on that for Syx. He just switched
to another project and he's now a full time job. Though a basic
implementation of unicode strings shouldn't require a look at other
implementations for any developer IMHO.

> >
> > Would you like to organize it in the meanwhile? :)
> >
>
> Which one, the SC?

Yes :) rephrase: would you like to help me in organizing it in the summer?

--
http://syx.googlecode.com - Smalltalk YX
http://lethalman.blogspot.com - Thoughts about computer technologies
http://www.debian.org - The Universal Operating System

signature.asc

Sami Abdin

unread,
Mar 19, 2009, 11:33:15 AM3/19/09
to syx-d...@googlegroups.com
I would also be interested in participating in the SC(even if there isn't one in the end). I could write up the FFI part of the documentation as I have been playing around with it for the last week and have become familiar with the code. I agree that Syx first needs to achieve Smalltalk-80 compatability as it is missing some really big features. I will try to write up some of the missing mathematical functions.

Regards
Sami.

Luca Bruno

unread,
Mar 19, 2009, 4:27:09 PM3/19/09
to syx-d...@googlegroups.com
On Thu, Mar 19, 2009 at 07:33:15PM +0400, Sami Abdin wrote:
> I would also be interested in participating in the SC(even if there isn't
> one in the end). I could write up the FFI part of the documentation as I
> have been playing around with it for the last week and have become familiar
> with the code. I agree that Syx first needs to achieve Smalltalk-80
> compatability as it is missing some really big features. I will try to write
> up some of the missing mathematical functions.
>

The problem is that Syx has no FFI, but primitives. I'll explain you the
difference as you're seeing it for the first time:

FFI is a fast interface for foreign libraries. That "fast" means that you
don't need to write any C wrapper around the library functions but you can use
them directly using some C/assembly tricks on calling the functions. The
only thing you have to know when calling library functions is their
signature. Using FFI you don't extend the VM.

With primitives you directly extend the VM. In terms of library interfaces,
this mean you call a C function made for Syx from Syx, and the primitive
will call the library function for you.

Of course, the FFI in order to work will need a couple of primitives too,
but not a primitive per library function.

FFI:
library symbol/signature -> FFI primitive -> find symbol, parse signature -> call

Primitives:
wrapper primitive -> find symbol -> call

--

signature.asc

ZuLuuuuuu

unread,
Mar 19, 2009, 4:58:29 PM3/19/09
to Syx general discussion
On 19 Mart, 22:15, Luca Bruno <lethalma...@gmail.com> wrote:
>
> > > Would you like to organize it in the meanwhile? :)
>
> > Which one, the SC?
>
> Yes :) rephrase: would you like to help me in organizing it in the summer?
>

Sure :)

ZuLuuuuuu

unread,
Mar 19, 2009, 5:30:48 PM3/19/09
to Syx general discussion
I prepared a page which gives information about the event:

http://groups.google.com/group/syx-discuss/web/syx-summer-of-code-event-2009

Feel free to edit the page.

Luca Bruno

unread,
Mar 19, 2009, 5:35:23 PM3/19/09
to syx-d...@googlegroups.com
On Thu, Mar 19, 2009 at 02:30:48PM -0700, ZuLuuuuuu wrote:
> I prepared a page which gives information about the event:
>
> http://groups.google.com/group/syx-discuss/web/syx-summer-of-code-event-2009
>
> Feel free to edit the page.

Wow, well done :D I'll definitely include that in the website once it's
finished. For what concerns the class browser, there's also a small example in
the examples/ dir but for CGI.

I'd add other 2 projects: object inspection, debugging.

(sigh so many things to do...)

signature.asc

ZuLuuuuuu

unread,
Mar 19, 2009, 6:09:58 PM3/19/09
to Syx general discussion
On 19 Mart, 23:35, Luca Bruno <lethalma...@gmail.com> wrote:

>
> I'd add other 2 projects: object inspection, debugging.
>

Did you save it, I can't see the changes?

Luca Bruno

unread,
Mar 19, 2009, 6:24:03 PM3/19/09
to syx-d...@googlegroups.com

Oh no I was just asking :) I believe those are good ideas then. Added.

Adding namespaces, pool dictionaries, projecting a robust packaging
format/protocol and a scripting file format (very future usage).

signature.asc

ZuLuuuuuu

unread,
Mar 19, 2009, 6:59:47 PM3/19/09
to Syx general discussion
On 20 Mart, 00:24, Luca Bruno <lethalma...@gmail.com> wrote:
>
> Oh no I was just asking :) I believe those are good ideas then. Added.
>
> Adding namespaces, pool dictionaries, projecting a robust packaging
> format/protocol and a scripting file format (very future usage).
>

Oh, ok :)
Reply all
Reply to author
Forward
0 new messages