Log of the #nice channel on irc.freenode.net

Using timezone: Greenwich Mean Time
* arjanb joins09:03
* bonniot joins12:52
<bonniot>i just sent a change for custom constructors13:29
it fixes the NPE
the thing is that the return type is a sure type (never null)13:30
it's not the definitive solution, because that's still incorrect for classes with type parameters13:31
but it can get you going
<arjanb>i see
<bonniot>actually, i wonder: don't we want to allow a custom constructor that returns null, or not a new instance but an existing one?13:32
<arjanb>we have dicussed this before13:34
<arjanb>an the idea then was overloaded constructors which is just a normal method but calling it has the same syntax as the normal constructor
<bonniot>ok, but that's a separate feature from custom constructors, right?13:36
<arjanb>these can't be compiled inside classes because you might want to return a subtype
<bonniot>ok, it makes sense
another reason is that a custom constructor can be used as a "parent" constructor for subclasses, while a overloaded constructor could not13:37
<bonniot>ok, so we focus on CC at the moment13:39
then the "sure" type is correct
maybe we can share the work. are you free now?13:46
<arjanb>it's weekend thus yes13:47
what would you feel more confident with? code generation?
<arjanb>yes but we don't have to work both on CC13:50
<bonniot>what do you propose?13:52
<arjanb>properties, expression local variables13:53
<bonniot>for whom?
<arjanb>doesn't matter though i'm not sure if i can do properties13:54
btw i have cleaned up block call syntax and tried the multiple block case should i commit both or only the first?13:55
<bonniot>please commit the clean up first
what does the multiple case look like? when is it useful?
i'm not sure about it at the moment13:56
<arjanb>it can easily added later it's only 3 lines in the parser13:57
<bonniot>ok, so lets support only single blocks at the moment13:58
what did you change in the bloc ksyntax?14:18
<arjanb>just moved it to seperated thing in the parser14:23
<bonniot>i've got resolution working, so calls to CC are recognized14:46
i could do some cleanup of the resolution process. do you want to look at code generation for CCs?14:56
<arjanb>so i need to make a subclass of ConstructorExp in gnu.expr
<bonniot>maybe you don't need to subclass15:00
you should first have an idea what the bytecode should look like15:01
then you can see how to generate it
do you already have an idea of how the bytecode will look like?15:04
<arjanb>the same as a normal constructor except the call to the super constructror is at the end15:05
<bonniot>then probably adding a boolean option to ConstructorExp is the best15:07
how is it going?17:16
but i think i have a part of the codegeneration17:21
<bonniot>which part?
<arjanb>creating of the bytecode constructor17:22
*away for food*17:23
*back* and committed17:53
the commit mailinglist is slow today
<bonniot>in your commit, i don't see where classe is set18:21
<arjanb>that should happen some pass before i think18:22
<bonniot>ah, so you could not test the code generation, then?
<bonniot>yes, you could not? :-)
or yes you could?
(it's funny, because different languages have different rules...)
it's not hard to get the NiceClass from the classTC18:24
shall I do that part?
<arjanb>and the this(...) is not converted to a superconstructor call too
<bonniot>i'm making a nice helpr function for that :-)18:27
ahm i need to update Gen too...18:29
ok, it compiles18:31
ok, i commited the changes18:56
it now gets to 'this is not declared'18:57
since there needs to be special support for that
<arjanb>i think your last commit is incomplete19:03
ok, i found it. commited19:07
* bonniot is away: ....19:39
* bonniot leaves22:01

Generated by Sualtam