Le 18 juil. 08 à 10:24, David Chisnall a écrit :

> On 18 Jul 2008, at 01:10, Quentin Mathé wrote:
>
>> btw, sending an invalid message from Smalltalk results in a 'type
>> info' exception instead of a 'selector not recognized'.
>
> This is a GNUstep problem, I believe.  The problem is that
> unrecognised selectors enter GNUstep's forwarding mechanism, which
> then attempts to use typed selector info to construct an NSInvocation
> instance.  I believe the correct thing for it to do is assume that
> every method that does not have type information available is to
> assume that it takes id and has id arguments, but instead it throws an
> exception.    I'll try to patch GNUstep to fall back to a 'count the
> colons' strategy.

ok, I see.

>> Cascade ';'
>
> Needs a new AST node class with a single receiver expression and a
> list of message expressions.  Patches welcome ;-)

Well :-)

>> and extends: for extending ObjC class with Smalltalk
>> category are the only thing I really miss currently.
>
> It's implemented in the parser, the AST, and the back-end.  All that's
> needed is a ten line bit of glue code to join the two together.  I'll
> try to do it soon...

Cool. I'm looking forward to it!

>> Collection
>> operations such as -collect:, -select:, etc., would be nice too but
>> probably are less critical. Writing collection related code in ObjC
>> style does the trick for now ;-)
>
> map:, foreach:, select: and fold: are implemented on NSArray.  None
> are implemented on NSDictionary (patches welcome!) or NSSet yet
> though.

Looks like I missed a commit :-)
Shouldn't we used Smalltalk terminology or simply provides both when  
it makes sense like:
- map / collect
- fold / inject
- filter / select
?

> I also haven't added F-Script-style dictionary literal
> parsing support, which I would like for 1.0 (although it's not in the
> todo list).

Could be nice.

Cheers,
Quentin.


_______________________________________________
Etoile-discuss mailing list
[email protected]
https://mail.gna.org/listinfo/etoile-discuss

Répondre à