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

Using timezone: Central European Time
<Bluelive>okiez, dat gaat werken die functors01:29
kan je wel erg lelijke dingen doen
this()()()()()()()()()()()()()() komt in me op :)
<arjanb>meestal houdt het wel op met 2 paar haakjes01:32
<Bluelive>ennu houd de parser er mee op01:33
blegh
<arjanb>gebruik je antlr?01:34
<Bluelive>yups
ik snap die foutmeldingen van antlr eigenlijk maar zelden01:39
<arjanb>zijn ze zo erg dan?01:41
<Bluelive>moah klagen over nondeterminisme, maar niet aangeven tussen wat01:42
grom kom er niet uit01:51
<arjanb>wat is de foutmelding?
<Bluelive>alpha.g:530: warning:nondeterminism upon01:52
alpha.g:530: k==1:LPAREN
alpha.g:530: k==2:"type",NUM_INT,IDENT,LPAREN,RPAREN,PLUS,MINUS,NOT,"new",NUM_FLOAT,CHAR_LITERAL,STRING_LITERAL,VERBATIM_LITERAL,"true","false","null"
alpha.g:530: between alt 3 and exit branch of block
<arjanb>waarom heb je lookahead op 2 staan?01:55
<Bluelive>het probleems zit er in dat a: b LPAREN a RPAREN en b: (LPAREN a RPAREN)?
omdat dat blijkbaar moest ;)01:56
<arjanb>daar moet je mee uitkijken want antlr doet soms vaag met de codegeneratie met lookahead > 101:57
<Bluelive>ow daar weet ik niks van
http://cal018000.student.utwente.nl/wakka/wakka.php?wakka=text is de offending stukje01:59
enige clue of dat op te lossen valt ?
1 van de twee greedy maken lijkt voor de hand te liggen, maarja02:01
<arjanb>waarom ( ... )* en niet ( ... )+ ?02:03
<Bluelive>omdat het optioneel is ?
tis een soort fallthrough match vanwege precedence02:04
ik zie niet helemaal waarom dit een ambiguiteit zou moeten zijn 02:08
<arjanb>wat is het stukje dat functionExpression bevat?02:10
<Bluelive>castExpression02:11
: functionExpression (z:AS solidType { Context.produceExpression(z, new CastExpression(Context.consumeExpression(), Context.consumeType(), true)); })*
;
<arjanb>en cast syntax is net als in java?02:13
<Bluelive>http://cal018000.student.utwente.nl/cgi-bin/cvsweb.cgi/Alpha/alpha.g?annotate=1.1.1.16
regel 533
ehmz, cast is nogal anders eigenlijk
(1+2) as Number02:14
beetje een experiment of c style casts nou wel of niet lekker werken
<arjanb>ik zie het probleem ook niet :/02:21
<Bluelive>testA: testB ("aa" testA "bb")* ;02:22
testB: "aa" testA "bb";
precies het zelfde probleem maar dan heel kort ;)
hmz, staat wel wat over in de faq02:27
maar ze houden op nadat ze erg diep gaan over waarom het niet werkt
<arjanb>linkje?02:28
<Bluelive>http://www.jguru.com/faq/view.jsp?EID=264825
onder aan wel een oplossing voor probleem dat zei hebben staan, maar niet voor iets wat ik volgens mij zo kan gebruiken02:30
<arjanb>dat is dus die vaagheid met lookahead > 102:31
<Bluelive>met k=1 geeft ie nog steeds een klacht over deze (en nog wat andere dingen)02:32
testA: "aa" testA "bb" ("aa" testA "bb")* ; kan ook niet ;) dat ligt wel redelijk voor de hand02:34
<arjanb>ehm huh?02:35
<Bluelive>dit is erg frustreerend eigenlijk02:37
<arjanb>tja daarom wordt antlr 3 echt LL(k)02:42
<Bluelive>hmz02:48
zo hebben een mail lijst bij yahoo, maar dan moet ik me daar weer inschrijven en alles
<arjanb>waarom maak je functionExpression niet greedy?02:49
<Bluelive>hoe ?02:50
invalid rule option greedy02:51
in de rule zelf gebruiken zou wel kunen maar heeft geen effect lijkt het
<arjanb>( options {greedy=true;} ... )*02:52
<Bluelive>hzm volgens mij alles al drie keer geprobeerd en nu doet ie het in eens
zucht
ik geloof dat ik bij je in het krijt sta nu ;)02:53
<Bluelive>okee sweet04:10
delegates en functors werken
<arjanb>:)04:42
trusten
* arjanb leaves
* arjanb joins14:53
<Bluelive>hoi17:12
ik zat een beetje te denken, en als ik delegates nou allemaal zou kunen omzetten naar functors, dan kan je ze ook gebruiken als type bij parametrics17:15
probleem is dat je dan wel on the fly functors moet allocen als je een delegate neemt van een method17:16
<arjanb>als autoboxing van primitives?17:17
<Bluelive>idd17:19
en dat een generieke functor class niet echt mogenlijk is
<arjanb>hoezo niet?17:20
<Bluelive>omdat ik op het moment niet delegates kan casten
zeg dat ik een unaryfunctor class maak17:24
class UnaryFunctor<ReturnType, ParameterType>
dan kan ik er op het moment geen delegate instoppen
omdat die parametrics in de implementatie van de class zelf defaulten naar Object op het moment
msihcien kan ik toch beter delegates gewoon zelf wel een type van een paramteric maken17:25

Generated by Sualtam