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

Using timezone: Central European Time
* Bluelive leaves01:29
* Bluelive joins01:33
* arjanb leaves03:28
* arjanb joins14:01
* Bluelive leaves14:56
* Bluelive joins15:48
* Bluelive leaves15:58
* Bluelive joins
hmzels16:02
constructors valideren tegen instance not null variablen is stevige hap22:42
<arjanb>bedoel je testen of alle fields worden geinitializeerd?22:43
<Bluelive>meer dat ik een hel extra syntax heb moeten toevoegen22:44
en idd al die checks erbij zijn ook niet fijn
s/een hel//22:45
waarom mag het niet eens een keer simpel zijn ;)
<arjanb>compilers zijn niet simpel per definitie22:46
<Bluelive>ja idd22:47
heb gisteren wel weer wat output source gegenereerd
en dan merk je dat wat waarden niet kloppen en dan ben je weer de rest van de dag aan het debuggen
gesprek met die nosica mensen ook weer gehad22:48
had het niet echt goed in de hand, verviel al snel in een stomme discussie over kleien features22:49
nog wat leven op het nice front ?
<arjanb>op moment niet, Daniel is offline sinds kerst22:50
<Bluelive>twee weken met vrouw en kinderen, sommige mensen vinden dat leuk :)
hoe oud is daniel eigenlijk ?
<arjanb>geen idee maar afgestudeerd in 2000 dus ongeveer 27 schat ik22:52
<Bluelive>ow ik dacht dat hij nog studeerde22:53
<arjanb>ja voor PhD22:54
<Bluelive>geen idee hoe dat werkt
<arjanb>is vergelijkbaar met Dr. na je ir.22:55
<Bluelive>en ook daar heb ik geen soep van gegeten22:56
geen colleges enzo dus meer22:57
<arjanb>maar wel een dissertatie schrijven22:58
<Bluelive>ahja23:01
ik zal hem toch eens moeten vragen of nice hem helpt bij werk zoeken23:02
<arjanb>misschien als Nice een succes wordt23:03
<Bluelive>nice is toch al redelijk bekend op sommige plekken ?23:04
<arjanb>nah niet echt23:06
<Bluelive>nog niet af genoeg voor grote push ?23:07
of gewoon nog niet zo mee bezig geweest ?
<arjanb>de pageviews en downloads zijn ongeveer stabiel het laatste jaar23:09
<Bluelive>ik loop een hele ploeg vrienden zo gek te krijgen het te gaan gebruiken als het af is
vooral testers of ook gebruikers ?23:10
<arjanb>meeste testers
<Bluelive>al een paar vaste gebruikers gevonden ?23:11
<arjanb>een stuk of tien die we regelmatig in bug-reports of op mailinglist zien23:12
<Bluelive>dat is al heel wat
<arjanb>we hebben alleen te kort aan developers met tijd23:13
<Bluelive>daar heb je altijd een tekort aan ;)23:16
maar opzich gaat de core redelijk snel af zijn toch, als je geen features meer veranderd23:17
dan kun je kijken naar de api
<arjanb>het valt tegen hoe lang het duurt voordat je taal af hebt23:19
<Bluelive>waar gaat zoveel in zitten ?
<arjanb>vooral in de details en het gebruik van Nice\Java in Java\Nice23:21
<Bluelive>hmz23:22
en betaald dat zichzelf nog een beetje terug ?
<arjanb>hoe bedoel je?23:24
<Bluelive>nou dat het veel functionaliteit oplevert23:26
<arjanb>niet veel maar het _niet_ veroorzaken van irritatie is erg belangrijk23:27
bijv als we van tevoren hadden geweten hoeveel problemen tuples zouden kunnen geven had Nice ze nu nog niet gehad23:51
<Bluelive>dat kan ik me voorstellen
niet goed mapable naar Object[]'s ?23:52
<arjanb>wel maar dat wil je niet als een tuple of primitives hebt23:53
en javacc heeft moeite met de lookahead die je krijgt van tuples23:54
<Bluelive>dat is idd niet fijn23:56
zit zelf ook ff te balen van het idee dat ik straks een antlr target moet maken voor alpha om de grammar te kunne vertalen
<arjanb>je kunt wachten met een complete bootstrap totdat de taal stabiel is dan een parser met de hand maken23:57
<Bluelive>dat zowieso23:58
maar het is wel een usability eis
want anders moet je overal een javainterpreter, alpha en c compiler hebben
<arjanb>wie heeft nou geen java en c23:59
<Bluelive>mijn ervaring met java op *nix is dat het zuigt00:00
<arjanb>ervaring van hoelang geleden?00:02
<Bluelive>2 jaar geleden00:03
linux gaat wel
bsd wordt al wat beter
maar de rest kun je redelijk vergeten, meestal ook trager dan op windows00:04
<arjanb>en gcj kan ook bijna alle java dingen aan
<Bluelive>ah dat is wel een punt
nice komt gcj ook doorheen ?00:06
<arjanb>ja :)00:07
<Bluelive>en het volgende struikelblok00:24
hoe roep je de super constructor aan als je multiple inherretence hebt op gespecificeerde genrics00:25
in syntax alleen al
<arjanb>hmm een MI probleem maar dan erger00:26
<Bluelive>hmz00:29
hoe doet c++ dat
okee, heb een idee00:38
hmz dit wordt irritant
maar ff een type identifier voor identifier laten spelen00:39
klopt wel voor extends maar niet echt voor instance velden00:40
<arjanb>hoe wil je eigenlijk code gaan genereren ervoor?00:56
gebruik je een eigen object/dispatch systeen?00:57
<Bluelive>ehmz01:04
een instance is een struct
een paar velden zijn universeel01:05
1 ervan is een verwijzing naar type beschrijving
die staat onderanderen vol met functie pointers
of bedoel je dat niet01:07
<arjanb>ja01:08
dus met MI moet je meerdere constructors callen01:09
<Bluelive>yups
en ik heb gewoon maar besloten dat constructors gewoon de constructor aan roepen van z'n superclasses, dit kan betekenen dat de constructor van de baseclass meerdere keren gecalled wordt01:10
eerder had ik het idee om constructors om die reden eruit te houden01:11
of om alle classes die extended worden door een type te verzamelen en op die manier te callen, bases classes eerst
dat kan wel, maar dan kan een new geen parameters hebben, en notnull instancevariables zijn dan erg irritant01:12
niet echt opgelost
<arjanb>als ik het zo hoor ben je beter af zonder MI01:13
<Bluelive>het wordt nog leuker als je parametrics via meerdere specifieke types implementeerd01:14
maar alpha heeft geen interfaces dus moet wel
<arjanb>heb je al naar anderen talen gekeken hoe MI intern werkt?01:15
<Bluelive>c++ doet gewoon de constructors die hij extend
bij anderen weet ik niet
opzich zou ik single call initializer doen01:16
alleen kan je dan geen parameters aan een constructor geven
<arjanb>waarop niet constructor in 2 stappen? eerst initializer en dan constructor met arguments die dan weer fields kan wijzigen01:20
<Bluelive>hmz
dat is wel een goed idee01:21
dan kan ik die onzin syntax ook weg doen
alleen dan zit je wel nogsteeds met de notnull instancevariables01:26
<arjanb>ik kan de problemen die jij hebt niet gevolgen omdat ik nooit lowlevel over die dingen heb nagedacht01:51
hoewel de jvm zijn beperkingen heeft is het wel makkelijk dat je vaste midlevel basis hebt01:52
<Bluelive>ehmz01:53
maar hoe doen jullie dat in nice ?
<arjanb>wat?
<Bluelive>zorgen dat niet null instance fields altijd een value hebben ?01:54
<arjanb>alle nice classes heb een default constructor en je moet een waarde alle fields die geen default value hebben meegeven aan die constructor01:55
<Bluelive>is dat flexibel genoeg ?
<arjanb>nee daarom hebben we nu http://nice.sourceforge.net/cgi-bin/twiki/view/Dev/CustomConstructors01:56
<Bluelive>werkt dat wel met extenden ?02:02
<arjanb>ja
<Bluelive>ik weet niet zeker of zoiets zou werken in alpha02:04
<arjanb>geen idee of dit te doen is met MI02:08