josh-k has quit [Remote host closed the connection]
DanielVartanov_ has quit [Remote host closed the connection]
lopex has quit [Ping timeout: 252 seconds]
lopex has joined #rubinius
enebo has joined #rubinius
dzhulk has joined #rubinius
jbr^ has joined #rubinius
DanielVartanov_ has joined #rubinius
houhoulis has joined #rubinius
DanielVartanov_ has quit [Remote host closed the connection]
carlosgaldino has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
havenwood has joined #rubinius
diegoviola has joined #rubinius
houhoulis has quit [Remote host closed the connection]
houhouli_ has joined #rubinius
diegovio1 has joined #rubinius
diegoviola has quit [Ping timeout: 245 seconds]
diegovio1 is now known as diegoviola
houhouli_ has quit [Remote host closed the connection]
[spoiler] has quit [Quit: Leaving]
havenwood has quit [Remote host closed the connection]
havenwood has joined #rubinius
dzhulk1 has joined #rubinius
dzhulk has quit [Ping timeout: 265 seconds]
elia has joined #rubinius
houhoulis has joined #rubinius
<brixen>
#require is so bonkers in MRI
<brixen>
accidentally it works <
<brixen>
^^^ every file loaded ever
houhoulis has quit [Remote host closed the connection]
dzhulk1 has quit [Read error: Connection reset by peer]
dzhulk has joined #rubinius
dzhulk has quit [Client Quit]
enebo has quit [Quit: enebo]
dzhulk has joined #rubinius
<yxhuvud>
so how would you want to change the semantics?
<brixen>
yxhuvud: nothing major, just a proper OO API instead of two global variables with hidden semantics
<brixen>
if you haven't read load.c, you have no idea the brilliance you are missing
<brixen>
all that shit is basically for edge cases, too
<yxhuvud>
would it be possible to do it right but reimplement most of the old behaviour? would anything break?
<chrisseaton>
brixen: what do you think about removing require from the source files? so having some kind of external configuration like in rake that says that files are in the project and does the require part
<yxhuvud>
doesn't a lot of gems work like that in practice anyhow, ie they have one central file that do all the requires
<chrisseaton>
yxhuvud: yeah - and I wonder if the runtime knew about it all at a higher level if it could do things like concatenate and cache all the dependencies for your app and then just read and parse a single file
meh` has joined #rubinius
<yorickpeterse>
chrisseaton: You mean like a single, giant pom.xml? Yeah, I'd rather have regular require() calls
|jemc| has joined #rubinius
<chrisseaton>
yorickpeterse: well POM files don't list what files are in your project - they use the convention of whatever is in your src directory gets included - and that could work well for GEMs - everything in your lib directory gets included - you'd need exceptions of course
elia has quit [Quit: Computer has gone to sleep.]
enebo has joined #rubinius
elia has joined #rubinius
enebo has quit [Quit: enebo]
elia has quit [Quit: Computer has gone to sleep.]
<yorickpeterse>
Bah, the computation book wasn't overly helpful for my parsing needs
<yorickpeterse>
errr s/overly/very
pwh has joined #rubinius
<|jemc|>
yorickpeterse: well, the pegleromyces parser is only about 300x slower than your current one :P
<yorickpeterse>
heh
<yorickpeterse>
I hope to be able to get my parser running at ~10MB/sec
<yorickpeterse>
Right now it only does 2,8MB/sec
<yorickpeterse>
Meanwhile the raw lexer, without Ruby, can do 200MB/sec :<
<yorickpeterse>
Sometimes I wonder if I'm the only one who cares about performance on this level
<yorickpeterse>
Certainly looks like nobody else bothered to solve this problem so far
<yorickpeterse>
Racc, from an idea point of view, is a step in the right direction
<yorickpeterse>
It just didn't really age well in the past...10 years
<|jemc|>
yeah, a few things about racc annoyed me
<|jemc|>
and a few things about kpeg annoy me too :P
<yorickpeterse>
Racc's code is a mess
<|jemc|>
pegleromyces doesn't need to be the most performant parser generator but I need to be able to mutate the parser at runtime
pwh has quit []
<|jemc|>
hm. time to add syntax error reporting
josh-k has joined #rubinius
elia has joined #rubinius
DanielVartanov_ has joined #rubinius
DanielVartanov_ has quit [Remote host closed the connection]
pwh has joined #rubinius
pwh has quit []
josh-k has quit [Remote host closed the connection]
pwh has joined #rubinius
carlosgaldino has joined #rubinius
pwh has quit []
RageLtMan has quit [Read error: Connection reset by peer]
<cremes>
yorickpeterse: Ruby users usually prioritize speed of development over execution speed. i’m glad you are pushing on the area of parsers & lexers because it certainly highlights a shortcoming in Ruby
<cremes>
perhaps rbx 3.x will show us the way
<cremes>
we need straight line perf. Ruby can survive a long time in its current niche but I won’t be a user unless perf improves drastically. I have too many problems to solve and my time is short.
<chrisseaton>
cremes: parser performance can be solved using the same VM tech as we need for Ruby I think - we're looking at specialisation and partial evaluation of parsers as well as Ruby at Oracle
<chrisseaton>
cremes: and then the benefit is you can inline parse action code into your parser