I haven't really tried Coral yet, so please forgive my ignorance, but have you thought of using a modified block syntax to define methods?
I'm thinking of something like this:

[factorial |
"Answer the factorial of the receiver."

self = 0 ifTrue: [^ 1].
self > 0 ifTrue: [^ self * (self - 1) factorial].
self error: 'Not valid for negative integers'
]

[min: aMin max: aMax |

^ (self min: aMin) max: aMax
]

[+ aNumber |

"Refer to the comment in Number + "
aNumber isInteger ifTrue:
[self negative == aNumber negative
ifTrue: [^ (self digitAdd: aNumber) normalize]
ifFalse: [^ self digitSubtract: aNumber]].
^ aNumber adaptToInteger: self andSend: #+
]

Evaluating one of these expressions could return a compiled method without a class. And since we use the ">>" to retrieve a method, we could use the "<<" operator to add it to a class's method dict.

I think it would make a very simple and consistent syntax. And maybe we could even modify the entire system to support it. I wouldn't mind seeing a couple of extra brackets and a vertical bar in the browser if the method's syntax is made more consistent.

Anyway, it's just an idea...

Best regards,
Richo

On Sat, Mar 5, 2011 at 3:58 PM, St�phane Ducasse <stephane.ducasse@inria.fr> wrote:

> What is coral all about? There seems to be no documentation except a little tutorial. But the tutorial does not make much sense to me. It explains the installation of coral and the result is that you can run a script from the commandline. Well, that is possible anyway. So where is coral located. Between positioning it as a shell replacement in the mailing list and the "just runs a shell script" is a huge space where it could be actually located. Any hints are appreciated.

We want a scripting syntax to be able to builds script with pharo so we have coral.
In coral you write

Point >> mydistance
� � � �[
� � � �^ x * x
� � � �]

Point class>>myNewPointWithx: anInt withY: another
� � � �[

� � � �]

With OSProcess we access os behavior and yes I should fix the configurationOf...

We have a more compact class creation syntax

[
Object <| MyPoint
� � � �iv: 'myx'
"not sure that this is like that I'm watching a movie so not pharo "
]

Stef


>
> Norbert
>
>
> On 05.03.2011, at 08:58, St�phane Ducasse wrote:
>
>>
>> On Mar 4, 2011, at 2:17 PM, Alexandre Bergel wrote:
>>
>>> Hi!
>>>
>>> After I've tried Hazel, I was wondering what is the status of Coral. I would love to move away from Bash.
>>
>> me tooo.
>>
>>> I am just wondering.
>>
>> Use coral it is working.
>> We should get more and more user.
>> I'm waiting for after next week to introduce a better way to handle file.st, �file.cor.....
>> When hazel will be working we will use it but this is orhtogonal to Coral.
>>
>> We have documenting FS and we should improve it too.
>>
>> Luc told me that he remove the icon to get the start up faster
>> Stef
>>
>>>
>>> Cheers,
>>> Alexandre
>>> --
>>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>>> Alexandre Bergel �http://www.bergel.eu
>>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>>
>>>
>>>
>>>
>>>
>>>
>>
>>
>
>