snusnu has joined #rom-rb
coop-cooper has quit [Ping timeout: 246 seconds]
coop-cooper has joined #rom-rb
snusnu has quit [Quit: Leaving.]
coop-cooper has quit [Ping timeout: 272 seconds]
mbj has quit [Ping timeout: 245 seconds]
mbj has joined #rom-rb
mbj has quit [Ping timeout: 252 seconds]
postmodern has quit [Quit: Leaving]
postmodern has joined #rom-rb
snusnu has joined #rom-rb
snusnu has quit [Quit: Leaving.]
coop-cooper has joined #rom-rb
coop-cooper has quit [Ping timeout: 260 seconds]
coop-cooper has joined #rom-rb
postmodern has quit [Quit: Leaving]
coop-cooper has quit [Ping timeout: 248 seconds]
coop-cooper has joined #rom-rb
coop-cooper has quit [Ping timeout: 252 seconds]
coop-cooper has joined #rom-rb
coop-cooper has quit [Ping timeout: 240 seconds]
coop-cooper has joined #rom-rb
postmodern has joined #rom-rb
coop-cooper has quit [Ping timeout: 260 seconds]
mbj has joined #rom-rb
mbj has quit [Read error: Operation timed out]
mbj has joined #rom-rb
mbj has quit [Ping timeout: 252 seconds]
mbj has joined #rom-rb
<
mbj>
dkubb: fuck, found something REALLY hard to unparse.
<
mbj>
dkubb: foo = bar while foo
<
mbj>
dkubb: because the condition is actually an lvar read, I cannot turn it into: while foo; foo = bar; end
<
mbj>
dkubb: And the lvar foo, just got introduced.
<
mbj>
dkubb: So I have to support emitting control keyword as postconditions with arbitrary deep checking for lvar assignments.
<
mbj>
dkubb: x && foo = bar while foo
<
mbj>
dkubb: Here I have to "know" foo gets assigned in the body of while, so controll condition is an lvar read.
<
mbj>
dkubb: So I'll have to support "post controll with lvar assignment detection" for ALL control statments.
<
mbj>
dkubb: That code is very rare.
<
mbj>
dkubb: There is NO other way to reproduce this line via while as postcondition.
<
mbj>
Now I hate lvar / private send ambiguity in ruby :D
<
mbj>
Or postcontroll statments.
<
mbj>
dkubb: Solution found.
<
mbj>
dkubb: Gonna inspect the nodes conditions and branches, searching for lvar assignments in body that must preceed the condition when parsed.
<
mbj>
dkubb: preorder = (lvar_assignments(body) & lvar_reads(condition)).any?
mbj has quit [Ping timeout: 252 seconds]
snusnu has joined #rom-rb
mbj has joined #rom-rb
snusnu has quit [Quit: Leaving.]
mbj has quit [Read error: Connection reset by peer]
snusnu has joined #rom-rb
onewheelskyward_ has joined #rom-rb
lgierth has joined #rom-rb
onewheelskyward has quit [*.net *.split]
dbussink_ has joined #rom-rb
snusnu has quit [Ping timeout: 272 seconds]
dbussink has quit [*.net *.split]
mbj has joined #rom-rb
lgierth has quit [Quit: Ex-Chat]
coop-cooper has joined #rom-rb
coop-cooper has quit [Ping timeout: 246 seconds]
mbj has quit [Quit: leaving]
coop-cooper has joined #rom-rb