meh` changed the topic of #opal to: http://opalrb.org - Ruby runtime and library on top of Javascript | 1.0.0 is near | This channel is logged at https://botbot.me/freenode/opal/
lacrosse__ has quit [Ping timeout: 260 seconds]
pmarreck has quit [Ping timeout: 260 seconds]
pmarreck has joined #opal
j_mcnally has joined #opal
lacrosse__ has joined #opal
ryanstout has quit [Quit: ryanstout]
e_dub has quit [Read error: Connection reset by peer]
e_dub has joined #opal
pmarreck has quit [K-Lined]
boberetezeke-clo has quit [K-Lined]
lacrosse__ has quit [K-Lined]
bcavileer_ has quit [K-Lined]
adambeynon has quit [K-Lined]
ceej has quit [K-Lined]
bcavileer_ has joined #opal
adambeynon has joined #opal
Zackio has quit [Ping timeout: 244 seconds]
Zackio has joined #opal
meh` has joined #opal
elia has joined #opal
ceej has joined #opal
<elia> adambeynon, you around?
<adambeynon> hey elia
<adambeynon> yeaaaap
<elia> :D
<elia> a couple questions
<elia> I find myself wanting to move critical stuff to the runtime, e.g. the class' singleton_class builder
<elia> or (as I already did) Module#append_features implementation
<elia> adambeynon, I wanted to know what do you think about that
<adambeynon> elia: yeah, especially the class/object/module/kernel stuff Im happy about being in there
<adambeynon> as a lot of it is runtime stuff
<adambeynon> so, yeah, thats fine with me
<elia> the second question is about naming, I just changed mtor to singleton_class
<elia> you ok with expanding some names a bit too?
<elia> adambeynon, last one I was wondering if we could take everything out of the 0.7 milestone before adding back anything we found extremely important to be there
<elia> and then ship 0.7
<adambeynon> looking at github issues now
GitHub197 has joined #opal
<GitHub197> [opal] elia pushed 2 new commits to master: http://git.io/yNMJwg
<GitHub197> opal/master 2f9235a Elia Schito: Move class’ singleton class building to runtime
GitHub197 has left #opal [#opal]
<GitHub197> opal/master de6eb6c Elia Schito: Make clear that that’s the singleton class proto
<adambeynon> elia: the only thing I really want for 0.7 is a way to handle requiring directories of files
<adambeynon> whether is uses require_tree
<adambeynon> or some other means
travis-ci has joined #opal
<travis-ci> [travis-ci] opal/opal#1987 (master - 2f9235a : Elia Schito): The build passed.
travis-ci has left #opal [#opal]
<travis-ci> [travis-ci] Build details : http://travis-ci.org/opal/opal/builds/36439763
<elia> adambeynon, you had any implementation for that ready? otherwise I can bake it in the next few days
<elia> featuring the same semantics of the sprockets one
<adambeynon> elia: I haven't done any coding yet for it
<adambeynon> or nothing that works anyway :P
<adambeynon> I think we could just delegate to sprockets for it
<adambeynon> it will need a Kernel#require_tree() component though
<adambeynon> which could just match a regexp against all the modules
<adambeynon> elia: tbh, there isnt a lot for 0.7 milestone that I would think is very urgent
<adambeynon> a couple of bug fixes would be nice
<adambeynon> but nothing that would make it a breaking change
<elia> agree
<elia> as Plato said once: “All bugs are created equal”
<adambeynon> lol, yeap
<adambeynon> looks easy enough to get working
<elia> I'm quite good at copy/paste
<elia> adambeynon, removing everything from 0.7, and adding an issue for require_tree
<elia> adambeynon, if you agree of course
<adambeynon> me too, unless Im using vim + tmux, in which case everything breaks my terminal
<adambeynon> elia: yeap, im good with that
<elia> adambeynon, should we keep operators?
<elia> I don't remember if there was any issue still standing
<adambeynon> elia: its all working, basically it generates anonymous functions at the top level of every file, for each operator used inside that file
<adambeynon> it makes the code uglier
<adambeynon> but it does make operators fast
<elia> if it can be disabled via compiler flags i'd merge it
<adambeynon> I mean, its kind of a fake speedup, as running in "real code", operators are such a small factor, that them being slow doesnt actually affect overall performance that much
<adambeynon> for every math op, I have so many other method calls taking place, that the slowness doesnt even count as a blip
<adambeynon> but, Its a nice thing I suppose that we have "fast operators"
<adambeynon> less of an attack surface for people
<elia> and stuff like yeahrb has probably different ratio for code/math
<elia> yes, marketing is really important too
ryanstout has joined #opal
<adambeynon> of course. the only negative is the uglier code... but, opal doesnt exactly shine at that anyway :P
<elia> meh`, anything against merging the fast-operators branch?
<elia> adambeynon, I think as long as it's opt-out it becomes a user's pref
<elia> also the helpers are not that bad as an inlined ternary op
<elia> *as bad
<adambeynon> elia: I think the operators are currently opt-in
<adambeynon> I cant remeber if I swapped the flag or not
<adambeynon> also, Im not 100% the flag is the best to use
<adambeynon> -V
<elia> yep
<adambeynon> I couldnt think of a better letter :)
<elia> lol, I checked and it doesn't seem to have any other meaning in MRI
<adambeynon> I dont think its going to be a common thing to opt-out of anyway
<adambeynon> I only used it to measure performance of on vs. off
<adambeynon> elia: I did also wonder whether `+` should be optimized for strings as well as numerics
<adambeynon> seems a possible common scenario?
<elia> it does
<elia> adambeynon, wanna try to add that before releasing?
<adambeynon> elia: umm, if I have time yes, but if it is the last thing to do, then I dont mind skipping it
<adambeynon> I would rather require_tree working, and then push 0.7.0
<elia> let's go without it
<adambeynon> 0.7 has a lot of changes, so it will be a good time to refresh what has changed, and a good opportunity for a glob post
<adambeynon> er, blog*
GitHub61 has joined #opal
<GitHub61> opal/master 87d1c3a Elia Schito: Merge pull request #585 from opal/operators...
GitHub61 has left #opal [#opal]
<GitHub61> [opal] elia pushed 1 new commit to master: http://git.io/Upg0zg
GitHub170 has joined #opal
GitHub170 has left #opal [#opal]
<GitHub170> [opal] elia deleted operators at c1c88a9: http://git.io/dPH5yw
travis-ci has joined #opal
<travis-ci> [travis-ci] opal/opal#1988 (master - 87d1c3a : Elia Schito): The build passed.
<travis-ci> [travis-ci] Build details : http://travis-ci.org/opal/opal/builds/36441186
travis-ci has left #opal [#opal]
<adambeynon> elia: I hope to blog about vienna soon as well. I have been massively refactoring an app that uses it, and think its a good time for an overview of the best way I find for building apps with it
<adambeynon> also got some real nice rspec helpers that work well with the views and routing
<elia> +1
<elia> sounds super awesome
<elia> I think I'll have to refresh opal-rails too
<adambeynon> elia: what is the state of source maps on 0.7 ?
<elia> adambeynon, they come through, but I think some fragments collide and thus create some confusion
<adambeynon> still usable enough though?
<adambeynon> does that just put some parts out by a line or 2?
<elia> kinda usable, but I didn't do extensive testing
<elia> let's say there's the ground for improvement
<elia> (adambeynon, gotta go in a couple of minutes)
<elia> I think (for sourcemaps) that having the source ruby code would help a lot giving hints to the browser
elia has quit [Quit: Computer has gone to sleep.]
<meh`> fast operators should be opt-in
<adambeynon> meh`: why opt in?
Kilo`byte has quit [Ping timeout: 272 seconds]
<meh`> adambeynon, unless, how does it work? :^)
<meh`> adambeynon, and the reason is, someone might have overloaded operators
<meh`> opal-browser would fail without overloaded operators
<meh`> so they should be opt-in
<adambeynon> meh`: it still supports overloaded operators
<meh`> adambeynon, then it's all good
<meh`> if the Ruby semantics are mainteined
<meh`> then it's all good
<adambeynon> meh`: wait, do you override Numeric#+ ?
<adambeynon> or any other Numeric#operator method?
<adambeynon> it basically inlines operators to be: typeof(lhs) === "function" && typeof(rhs) === "function" ? (lhs + rhs) : (lhs['$+'](rhs))
<adambeynon> er
<adambeynon> not function
<adambeynon> "number" rather
<adambeynon> typeof(lhs) === "number" && typeof(rhs) === "number" ? (lhs + rhs) : (lhs['$+'](rhs))
Kilo`byte has joined #opal
<meh`> adambeynon, yes
<meh`> adambeynon, the default options should reflect Ruby semantics over speed imho
<meh`> if you want speed, you opt-in
stnly has quit [*.net *.split]
krainboltgreene has quit [*.net *.split]
wasnotrice has quit [*.net *.split]
krainboltgreene has joined #opal
stnly has joined #opal
wasnotrice has joined #opal
ryanstout has quit [Quit: ryanstout]
seamon has joined #opal
seamon has quit [Quit: Bye]
seamon has joined #opal
seamon has quit [Client Quit]
seamon has joined #opal
seamon has quit [Client Quit]
seamon has joined #opal
seamon has quit [Client Quit]
seamon has joined #opal
seamon has quit [Client Quit]
seamon has joined #opal
seamon has quit [Client Quit]
seamon has joined #opal
seamon has quit [Client Quit]
seamon has joined #opal
seamon has quit [Client Quit]
seamon has joined #opal
ryanstout has joined #opal
ryanstout_ has joined #opal
ryanstout has quit [Ping timeout: 260 seconds]
ryanstout_ is now known as ryanstout
ceej_ has joined #opal
ceej has quit [Ping timeout: 268 seconds]
ceej_ is now known as ceej
seamon has quit [Quit: Zzzzzzz]
seamon has joined #opal
e_dub has quit [Quit: ZZZzzz…]
lacrosse__ has joined #opal
mieko has joined #opal
e_dub has joined #opal
elia has joined #opal
seamon has quit [Quit: Zzzzzzz]
seamon has joined #opal
elia has quit [Quit: Computer has gone to sleep.]
seamon has quit [Quit: Zzzzzzz]
mieko has quit [Remote host closed the connection]
seamon has joined #opal