solnic changed the topic of #rom-rb to: Ruby Object Mapper | Mailing List: https://groups.google.com/forum/?fromgroups#!forum/rom-rb | Logs: http://irclog.whitequark.org/rom-rb
travis-ci has joined #rom-rb
<travis-ci> [travis-ci] dkubb/sql#210 (master - abd8148 : Dan Kubb): The build was broken.
<travis-ci> [travis-ci] Build details : http://travis-ci.org/dkubb/sql/builds/16165805
travis-ci has left #rom-rb [#rom-rb]
solnic has joined #rom-rb
<mbj> gotta go to sleep cu
<dkubb> mbj: good night
<mbj> dkubb: Found some weird edge cases for unparser in the addressable library.
<mbj> dkubb: I hope unparser can soon be validated against the rubygems corpus.
<mbj> dkubb: Than we can finally trust mutatn :D
<mbj> dkubb: "return(1), (2)" is valid ruby
<dkubb> oh weird
<dkubb> what does that do?
<mbj> return [1, 2]
<mbj> Return can take multiple arguments.
<mbj> def foo
<mbj> return 1, 2
<mbj> end
<mbj> foo # => [1, 2]
<mbj> NEVER used this form before.
<mbj> Found it in addressable. The rubygems corpus is a really good fuzz input :D
<mbj> The community fuzzed the language to its extremes :D
<dkubb> ahh yeah, I've used that before
<dkubb> I don't lik eit much
<mbj> Yeah
<mbj> Especially as
<mbj> def foo
<mbj> 1, 2
<mbj> end
<mbj> is not valid
mbj has quit [Quit: leaving]
lgierth has quit [Quit: Ex-Chat]
coop-cooper has joined #rom-rb
CraigBuchek has quit [Quit: Leaving.]
coop-cooper has quit [Ping timeout: 265 seconds]
cored has quit [Ping timeout: 264 seconds]
juhakaja has joined #rom-rb
juhakaja has quit [Remote host closed the connection]
juhakaja has joined #rom-rb
ilyasov has joined #rom-rb
juhakaja has quit [Ping timeout: 272 seconds]
solnic has quit [Quit: Leaving...]
ilyasov has quit [Remote host closed the connection]
lfox has quit [Quit: ZZZzzz…]
lfox has joined #rom-rb
coop-cooper has joined #rom-rb
juhakaja has joined #rom-rb
lfox has quit [Quit: ZZZzzz…]
juhakaja has left #rom-rb [#rom-rb]
coop-cooper has quit [Ping timeout: 240 seconds]
_br_ has quit [Ping timeout: 245 seconds]
_br_ has joined #rom-rb
_br_ has quit [Ping timeout: 240 seconds]
_br_ has joined #rom-rb
solnic has joined #rom-rb
cored has joined #rom-rb
cored has quit [Ping timeout: 246 seconds]
cored has joined #rom-rb
cored has joined #rom-rb
cored has quit [Changing host]
postmodern has quit [Quit: Leaving]
breakingthings has joined #rom-rb
mbj has joined #rom-rb
jgaskins has joined #rom-rb
CraigBuchek has joined #rom-rb
20WAARXMO has joined #rom-rb
20WAARXMO has quit [K-Lined]
travis-ci has joined #rom-rb
<travis-ci> [travis-ci] Build details : http://travis-ci.org/dkubb/yardstick/builds/16191294
<travis-ci> [travis-ci] dkubb/yardstick#110 (master - 1b394d5 : Erik Michaels-Ober): The build was broken.
travis-ci has left #rom-rb [#rom-rb]
<mbj> Just released mutant-0.3.2 and unparser-0.1.6.
<mbj> All known issues fixed.
<solnic> mbj: congrats!
<mbj> solnic: No new features, you still have to wait for the confiugurable mutation selector.
<mbj> solnic: Especially unparser is now able to round trip 100% of rom related source.
<solnic> mbj: I'm in no rush ;)
<mbj> solnic: Gonna test aginst the rubygems corpus soon. Once done bumping unparser to 1.0.0.
cored has quit [Ping timeout: 252 seconds]
<mbj> solnic: I need that feature also, I'll not mutation cover unparser in the traditional way.
<mbj> solnic: 99% of the code should be covered via Unparser.unparse, the only public interface of this library.
mbj has quit [Read error: Connection reset by peer]
travis-ci has joined #rom-rb
<travis-ci> [travis-ci] Build details : http://travis-ci.org/dkubb/memoizable/builds/16192360
<travis-ci> [travis-ci] dkubb/memoizable#129 (master - 55e2a9c : Erik Michaels-Ober): The build has errored.
travis-ci has left #rom-rb [#rom-rb]
travis-ci has joined #rom-rb
<travis-ci> [travis-ci] dkubb/memoizable#131 (devtools - 2e96c23 : Dan Kubb): The build has errored.
travis-ci has left #rom-rb [#rom-rb]
<travis-ci> [travis-ci] Build details : http://travis-ci.org/dkubb/memoizable/builds/16192415
<travis-ci> [travis-ci] Build details : http://travis-ci.org/dkubb/equalizer/builds/16192704
travis-ci has joined #rom-rb
<travis-ci> [travis-ci] dkubb/equalizer#103 (master - 72feca2 : Erik Michaels-Ober): The build has errored.
travis-ci has left #rom-rb [#rom-rb]
travis-ci has joined #rom-rb
<travis-ci> [travis-ci] dkubb/memoizable#132 (devtools - 5cd172f : Erik Michaels-Ober): The build has errored.
<travis-ci> [travis-ci] Build details : http://travis-ci.org/dkubb/memoizable/builds/16193027
travis-ci has left #rom-rb [#rom-rb]
mbj has joined #rom-rb
lfox has joined #rom-rb
CraigBuchek has quit [Quit: Leaving.]
mbj has quit [Quit: Lost terminal]
mbj has joined #rom-rb
<dkubb> mbj: good morning
<mbj> dkubb: hi
<mbj> dkubb: Very happy with my progress on unparser
<mbj> dkubb: Soon itls parese /**/*.rb correctly.
<dkubb> mbj: awesome
<mbj> dkubb: Once I finished this one, I'll move to the rubygems corpus. Than we can move unparser to 1.0 :D
<dkubb> mbj: I was reading about markov chains and I think it could be trained by the rubygems corpus and then be used to generate valid ruby code
<mbj> dkubb: Later I'll try to do the same for comments, but the AST source equivalency is FAR more important.
<mbj> dkubb: Swichted to MRI 2.1 as main ruby for TDD, works like a charm and shortens my cycle times be 20%
<mbj> s/be/by/
<dkubb> that also happens to be the best explanation I've read about them too
<mbj> reading
<mbj> dkubb: What primitives you'd assign to the markov chain? chars, tokens, ast nodes?
<dkubb> mbj: from what I've read you can do it a few ways.. one is to just do a character-by-character generation of the source. you then run it through something to make sure it's valid, and then feed it into whatever you want to test with it
<dkubb> mbj: another approach I've read about is to generate things at the word (node) level
<dkubb> mbj: which seems like it would be a bit more reliable. you'd parse the corpus with parser, and building the makov chain with the ast nodes. you'd then use that to generate the code later
<dkubb> apparently it works quite well with characters based chains though.. as long as you use an order of 3 or 4
solnic has quit [Quit: Linkinus - http://linkinus.com]
<dkubb> mbj: the main reason I was looking at this is I was thinking about how to better fuzz sql generation
<dkubb> one thing I'm unsure of is, if you can parse and unparse the entire rubygems corpus, does that automatically mean you can handle anything a markov chain, built from the same corpus, can generate?
<dkubb> according to that article markov chains *can* generate new code not seen in the original
lfox has quit [Quit: ZZZzzz…]
lfox has joined #rom-rb
CraigBuchek has joined #rom-rb
<mbj> dkubb: I think it will work best on the token level.
<mbj> dkubb: I dont think character level will yield valid ruby/sql often.
<mbj> dkubb: even token level might result on to high error rate.
<mbj> Imagine a delimiter that never gets closed.
<mbj> I think we'll end up in node level.
lfox has quit [Quit: ZZZzzz…]
CraigBuchek has quit [Quit: Leaving.]
lfox has joined #rom-rb
<mbj> dkubb: You are already subjected to "happy new year?"
dkubb has left #rom-rb ["Linkinus - http://linkinus.com"]
dkubb has joined #rom-rb
breakingthings has quit []
snusnu has joined #rom-rb
<dkubb> mbj: have you thought about extracting the normalization code from unparser into something that can work with parser generically
lfox has quit [Quit: ZZZzzz…]
snusnu has quit [Quit: Leaving.]
mbj has quit [Ping timeout: 272 seconds]
coop-cooper has joined #rom-rb
postmodern has joined #rom-rb
mbj has joined #rom-rb
lfox has joined #rom-rb
lfox has quit [Quit: ZZZzzz…]
mbj has quit [Read error: Connection reset by peer]
mbj has joined #rom-rb