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>
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>
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))