fkchang has quit [Ping timeout: 260 seconds]
lovclrtxt has joined #opal
lovclrtxt has quit [Remote host closed the connection]
adambeynon has joined #opal
fntzr has joined #opal
GitHub155 has joined #opal
<
GitHub155>
opal/master 78a2cc6 Adam Beynon: Group all Encoding methods together in corelib/encoding.rb
GitHub155 has left #opal [#opal]
travis-ci has joined #opal
<
travis-ci>
[travis-ci] opal/opal#1251 (master - 78a2cc6 : Adam Beynon): The build was fixed.
travis-ci has left #opal [#opal]
GitHub0 has joined #opal
<
GitHub0>
opal/master d453167 Adam Beynon: Fix bug with parsing method calls for 'special'
GitHub0 has left #opal [#opal]
travis-ci has joined #opal
travis-ci has left #opal [#opal]
<
travis-ci>
[travis-ci] opal/opal#1252 (master - d453167 : Adam Beynon): The build passed.
GitHub36 has joined #opal
<
GitHub36>
opal/master 0c883ef Adam Beynon: Add CallNode#add_special to make it easier to register special methods
GitHub36 has left #opal [#opal]
travis-ci has joined #opal
travis-ci has left #opal [#opal]
<
travis-ci>
[travis-ci] opal/opal#1253 (master - 0c883ef : Adam Beynon): The build passed.
GitHub127 has joined #opal
GitHub127 has left #opal [#opal]
<
GitHub127>
opal/master 428b89e Adam Beynon: Fix bug in generated code for deconstructed block args
kludge` has quit [Ping timeout: 272 seconds]
kludge` has joined #opal
travis-ci has joined #opal
<
travis-ci>
[travis-ci] opal/opal#1254 (master - 428b89e : Adam Beynon): The build passed.
travis-ci has left #opal [#opal]
GitHub15 has joined #opal
<
GitHub15>
opal-rspec/master 7bea4d0 Adam Beynon: Update rspec gems to use latest master
GitHub15 has left #opal [#opal]
GitHub69 has joined #opal
<
GitHub69>
opal/master 2295674 Adam Beynon: Allow gvars to be lhs of mass-assignments
GitHub69 has left #opal [#opal]
GitHub187 has joined #opal
<
GitHub187>
opal/master 89296d5 Adam Beynon: Fix for reserved js keywords to be used as block names in methods
GitHub187 has left #opal [#opal]
travis-ci has joined #opal
<
travis-ci>
[travis-ci] opal/opal#1256 (master - 89296d5 : Adam Beynon): The build passed.
travis-ci has left #opal [#opal]
meh` has joined #opal
GitHub42 has joined #opal
GitHub42 has left #opal [#opal]
<
meh`>
adambeynon, hey
<
adambeynon>
hi meh` - was at lunch
<
meh`>
adambeynon, I think it's time to cleanup the runtime
<
meh`>
especially the stuff that gets aliased in the scope and the one that doesn't
<
meh`>
I'd rather see an explicit $opal.scope than $scope
<
meh`>
and I don't think it will add any overhead once it's interpreted decently
<
adambeynon>
$scope needs to be reassigned inside each class/module
<
meh`>
then that one makes sense ◕ ◡ ◔
<
meh`>
are all the aliased ones reassigned?
fntzr has quit [Ping timeout: 248 seconds]
<
meh`>
also I'm not sure I get what's the point of having Opal.$yield1 and Opal.$yieldX
<
adambeynon>
meh`: which aliased ones?
<
adambeynon>
$scope ?
<
meh`>
$breaker, $slice and $klass
<
adambeynon>
ah no. they are used just once
<
adambeynon>
set at the top of the file
<
meh`>
that's what I'm saying
<
meh`>
it makes me cringe to see Opal.$yieldX and $breaker
<
meh`>
it's all or nothing
<
meh`>
also Opal.$yieldX is inconsistent with the other helpers
<
meh`>
I'll work on a branch for the cleanup
GitHub172 has joined #opal
GitHub172 has left #opal [#opal]
<
GitHub172>
opal/master 2dd4437 Adam Beynon: Fix JSON.from_object() to use options hash
travis-ci has joined #opal
<
travis-ci>
[travis-ci] opal/opal#1257 (master - 2dd4437 : Adam Beynon): The build passed.
travis-ci has left #opal [#opal]
GitHub67 has joined #opal
<
GitHub67>
opal/master e390bc6 Adam Beynon: JSON.from_object should pass in js object for literals
GitHub67 has left #opal [#opal]
<
adambeynon>
meh`: Im rewriting a lot of runtime now
<
adambeynon>
most properties are going to be on an object
<
adambeynon>
_klass.__info__
<
adambeynon>
or something like that
GitHub43 has joined #opal
GitHub43 has left #opal [#opal]
<
GitHub43>
opal-jquery/master 8e5432d Adam Beynon: Run specs using opal master
travis-ci has joined #opal
travis-ci has left #opal [#opal]
<
travis-ci>
[travis-ci] opal/opal#1258 (master - e390bc6 : Adam Beynon): The build passed.
eventualbuddha has joined #opal
<
meh`>
adambeynon, oh ok, I'll leave that to you then
<
meh`>
I'm fixing up enumerable
GitHub117 has joined #opal
<
GitHub117>
opal-jquery/master 257c0d9 Adam Beynon: Slight cleanup
GitHub117 has left #opal [#opal]
<
meh`>
adambeynon, also I still think those properties should have a prefix that isn't _
<
meh`>
_ is valid in an instance variable
<
meh`>
it's a bad idea
<
meh`>
I'd go with $$klass
<
meh`>
adambeynon, and can $yieldX be renamed to yield?
<
adambeynon>
meh`: no :( we had that until I realised it was breaking some older browsers
<
adambeynon>
ie7/8 and co
eventualbuddha has quit [Ping timeout: 260 seconds]
<
adambeynon>
as for the diff, if the specs are passing, then it looks fine to me
<
meh`>
Opal is an object right?
<
meh`>
not a function
<
adambeynon>
yeap, and Object. just so happens to be the top scope as well
<
meh`>
we could call it Opal.call or something
<
meh`>
in the end it's to call a block
<
meh`>
Opal.call(block, arguments) looks good to me
<
meh`>
and that cleans up a lot of Enumerable
<
adambeynon>
meh`: I use Opal.call() as a debug approach in my apps
<
adambeynon>
like .send(), but it sets up lots of Error.prototype swizzling and stack tracing
<
meh`>
do we have an Opal.send?
<
adambeynon>
on master
<
adambeynon>
actually, been there a while
<
adambeynon>
and blockSend()
<
adambeynon>
or sendBlock
<
adambeynon>
... one of the two
<
meh`>
couldn't you override Opal.send?
<
meh`>
instead of using Opal.call
<
meh`>
adambeynon, we should have an Opal.debug.send if anything
<
adambeynon>
meh`: how crucial is method_missing on classes/modules, and not just objects
<
meh`>
adambeynon, very crucial
<
meh`>
I use it in lissio
<
meh`>
what do you have in mind?
<
adambeynon>
meh`: I'd like to go back to using functions as classes
<
adambeynon>
hmmm, might be easier to see if that could be done all inside runtime.js
<
adambeynon>
and have another runtime for function based classes
GitHub109 has joined #opal
<
GitHub109>
opal/master c5f3384 meh: Support function arguments in Opal.$yieldX
GitHub109 has left #opal [#opal]
travis-ci has joined #opal
travis-ci has left #opal [#opal]
<
travis-ci>
[travis-ci] opal/opal#1259 (master - c5f3384 : meh): The build passed.
<
meh`>
adambeynon, is there a way to have the if check kick in without an actual if?
<
meh`>
in Enumerable
<
meh`>
if (value === false || value === nil) {
<
meh`>
this can go wrong since it's not the actual if check
<
meh`>
this would be a good candidate really
<
meh`>
if (#{Opal.truthy(`value`)})
<
meh`>
and it gets inlined
<
meh`>
I'll comment on the helpers issue
elia has joined #opal
elia has quit [Quit: Computer has gone to sleep.]
eventualbuddha has joined #opal
<
meh`>
adambeynon, also yeah, the current if compilation is wrong
<
meh`>
>> :ok unless `new Boolean(false)`
<
meh`>
>> :ok unless `false`
<
DouweM>
note that it works the same in pure JS
<
meh`>
DouweM, yes, that is exactly the problem :)
<
DouweM>
I know, just pointing out it's not a problem inherent to Opal ;)
<
DouweM>
but yeah, we'd need to make if a little more intelligently
<
DouweM>
*intelligent
<
meh`>
>> false.tap { |s| break 42 if s }
<
meh`>
>> false.tap { |s| puts s.inspect; break 42 if s }
<
DouweM>
yeah, that's bound to cause trouble
<
adambeynon>
32 specs fail when fixing the compiler issue
<
adambeynon>
thats a lot of false positivies
<
meh`>
adambeynon, I'm looking into it
<
meh`>
I have a good enough idea
<
meh`>
(just tested on IE6 to verify it works)
<
adambeynon>
obj !== nil && (obj !== false && obj._isBoolean)
<
meh`>
adambeynon, no, that one is too slow
<
adambeynon>
too slow?
<
meh`>
I'm benchmarking if mine is faster
<
meh`>
yes adambeynon
<
meh`>
obj._isBoolean is 96% slower
GitHub164 has joined #opal
GitHub164 has left #opal [#opal]
<
GitHub164>
opal/master 889c69b Adam Beynon: Move Encoding helper into corelib from spec_helper
travis-ci has joined #opal
<
travis-ci>
[travis-ci] opal/opal#1260 (master - 889c69b : Adam Beynon): The build passed.
travis-ci has left #opal [#opal]
<
meh`>
adambeynon, without the first === true the literal true case is as slow as the Object ones
<
meh`>
although it makes literal false slower, where before we have literal false faster
<
meh`>
adambeynon, ping, having a weird problem with my patch
<
adambeynon>
meh`: whats happening?
<
meh`>
Building build/specs.js...
<
meh`>
NoMethodError: undefined method `join' for File
<
meh`>
adambeynon, how can I compile a fragment of Ruby?
<
meh`>
just the fragment
<
meh`>
without having all the runtime and corelib stuff
<
adambeynon>
bundle exec bin/opal -c "foo.bar 1, 2, 3"
<
adambeynon>
it also takes a file
<
meh`>
is opal -e broken?
<
adambeynon>
meh: works here for me
<
adambeynon>
whats it outputting?
<
meh`>
Opal::CLIOptions.inspect
<
meh`>
adambeynon, do I need to rerun bundle update if I make changes to the compiler?
<
adambeynon>
meh`: nope
<
adambeynon>
I cant work out why its inspecting
<
adambeynon>
erm, oops
<
meh`>
I don't get this bug :|
<
meh`>
also the indentation is broken in that if else
eventualbuddha has quit [Ping timeout: 252 seconds]
GitHub48 has joined #opal
<
GitHub48>
opal/master e735812 meh: DRY JSON.parse and JSON.from_object
GitHub48 has left #opal [#opal]
<
GitHub48>
opal/master e3df0a0 meh: Remove String#getbyte from string.rb, it's in encoding.rb
<
GitHub48>
opal/master 9136c99 meh: Keep all helpers under Opal::
<
adambeynon>
meh`: what is the benefit of those helpers?
<
adambeynon>
truthy/falsy in opal.rb
<
meh`>
adambeynon, did you read the inlined helpers issue?
<
adambeynon>
how is if Opal.truthy?(foo); end
<
adambeynon>
better than if foo; end
<
meh`>
adambeynon, it's not for Ruby code, it's for inlined js
travis-ci has joined #opal
<
travis-ci>
[travis-ci] opal/opal#1261 (master - e735812 : meh): The build passed.
travis-ci has left #opal [#opal]
<
meh`>
adambeynon, in Enumerable there are various checks that depend on truthiness
<
meh`>
adambeynon, but they are written as is, so they don't change with the compiler
<
meh`>
and interpolating an if with an inlined js again is ugly
<
meh`>
the point of the Opal:: helpers is to be inlined to keep the speed
<
meh`>
and make the inlined code clearer
<
meh`>
and less prone to staleness
<
adambeynon>
meh`: do you still have a link to that performance test
<
adambeynon>
of using a function call
<
adambeynon>
(just for reference)
<
meh`>
adambeynon, yes, wait a sec
<
meh`>
the function is slightly slower
<
adambeynon>
meh`: Yeah. could be useful for a debug mode though
<
meh`>
adambeynon, with the diff, on `if` true is faster to be checked, on `unless` false is faster to be checked
<
meh`>
just invert the results
<
meh`>
I get 58% slower on false, and 3% slower on true
<
meh`>
but correctness is better than speed in this case imho
<
adambeynon>
of course
<
adambeynon>
I think using a runtime helper
<
adambeynon>
$truthy(value)
<
adambeynon>
could be a way to go in development mode
<
adambeynon>
then, for production, a little compiler switch and boom
<
adambeynon>
uglier code
<
adambeynon>
but fast
<
adambeynon>
back in a couple of hours
<
adambeynon>
el classicooo
DouweM has quit [Read error: Connection reset by peer]
DouweM has joined #opal
adambeynon has joined #opal
<
adambeynon>
meh`: with that diff you showed earlier, its expected that some specs will fail
<
adambeynon>
I think they are passing currently, but shouldnt be passing
<
adambeynon>
(due to new Boolean(false) !== false)
<
meh`>
adambeynon, oh
<
adambeynon>
meh`: unless they have been fixed in the meantime anyway...
<
adambeynon>
that is based on about 3 weeks ago
<
adambeynon>
it was around 20 failing
<
adambeynon>
actually, thats not quite right
<
adambeynon>
that was when I fixed s(:not)
<
adambeynon>
which does the same
<
adambeynon>
but all the be_true and be_false checks use that a lot
<
meh`>
adambeynon, yeah, I guess my knowledge about the internals isn't enough to look into it
<
adambeynon>
meh`: I might do the fix now
<
meh`>
just keep the diff around or the method used so we don't have to benchmark it all again
<
meh`>
that would be awesome :D
<
meh`>
adambeynon, also I'm fixing Enumerable if you haven't seen
<
meh`>
it's all broken
<
meh`>
and I added some other helpers
<
meh`>
just a note, I don't see them as unchanging if you don't want to go the inlining helpers way
<
meh`>
but you can see it makes the code way easier to work with
<
meh`>
and less prone to errors because of changes in the compiler/runtime
<
adambeynon>
meh`: well, if we add them I think its best to add as few as possible
<
meh`>
adambeynon, I agree
<
meh`>
I'm adding the ones that are pervasive
<
adambeynon>
meh`: sure, sounds good
<
meh`>
and really end up being a "what the fuck is going on"
<
adambeynon>
always fun
<
adambeynon>
meh`: am I treading on your toes by doing this false/nil compiler stuff?
<
meh`>
adambeynon, not at all
GitHub185 has joined #opal
GitHub185 has left #opal [#opal]
<
GitHub185>
opal/master 8a5a1bf meh: Cleanup and compliancy fixes for Enumerable#any?
<
GitHub185>
opal/master 9409609 meh: Cleanup and compliancy fixes for Enumerable#collect
<
GitHub185>
opal/master c472744 meh: Cleanup and compliancy fixes for Enumerable#all?
travis-ci has joined #opal
<
travis-ci>
[travis-ci] opal/opal#1262 (master - 5dc4848 : meh): The build passed.
travis-ci has left #opal [#opal]
GitHub186 has joined #opal
<
GitHub186>
opal/master db85d65 Adam Beynon: Fix for eval option on bin/opal
GitHub186 has left #opal [#opal]
shurizzle has joined #opal
travis-ci has joined #opal
travis-ci has left #opal [#opal]
<
travis-ci>
[travis-ci] opal/opal#1263 (master - db85d65 : Adam Beynon): The build passed.
<
shurizzle>
l'hai già scaricato quello di mc cavallo?
<
meh`>
adambeynon, something's broken with yieldX
<
adambeynon>
meh`: in which scenario ?
<
meh`>
Enumerable#detect
<
meh`>
I'm trying to fix it
<
meh`>
>> Enumerator.new { |x| x.yield 1, 2; x.yield 3, 4, 5; x.yield 6, 7, 8, 9 }.find {|a| puts a.inspect }
<
meh`>
[1, 2] is `arguments`
<
meh`>
1 is a.inspect
<
meh`>
>> Enumerator.new { |x| x.yield 1, 2; x.yield 3, 4, 5; x.yield 6, 7, 8, 9 }.to_a
<
meh`>
=> [[1, 2], [3, 4, 5], [6, 7, 8, 9]]
<
meh`>
so it's not the enumerator being broken
<
meh`>
var value = Opal.$yieldX(block, arguments);
<
meh`>
this is the call
<
adambeynon>
could be down to function.length
<
meh`>
let me check
<
adambeynon>
a proc using a splat shows up the same length as a proc with 1 arg
<
adambeynon>
so we could be wronly assuming the arity of a block
<
meh`>
it sees it as 1
<
meh`>
just checked
<
meh`>
but you know, it's ok if it sees the splat as one, it has the same effect on multi yield
<
meh`>
it must be something else
<
meh`>
adambeynon, I'm not following
<
adambeynon>
well, yieldX would see the #each block as having arity 0
<
meh`>
adambeynon, why?
<
adambeynon>
im confusing myself now
<
meh`>
it gets it from block
<
meh`>
the one passed to #detect
<
adambeynon>
of course, yeah
<
adambeynon>
tried console.log inside #detect to see exactly what is getting passed in?
<
adambeynon>
bin/opal file.rb
<
adambeynon>
works well for testing small things
<
meh`>
adambeynon, yes
<
meh`>
I showed you earlier
<
meh`>
arguments is [1, 2]
<
meh`>
and 1 is passed
<
meh`>
but I'll console log arguments inside the block
<
adambeynon>
wait… Opal.$yieldX(block, arguments);
<
meh`>
to see what happens
<
adambeynon>
arguments._isArray === false
<
adambeynon>
arguments isnt an array
<
meh`>
adambeynon, I fixed that earlier
<
meh`>
adambeynon, now it converts arguments
<
adambeynon>
shouldnt that check be before the `if (block.length > 1 && args.length == 1) {` line
<
adambeynon>
surely that logic applies if the args is an arguments object as well
<
meh`>
yes, it does, it works in other situations
<
meh`>
I just used it all over the place in the first fixed methods
<
meh`>
0 examples, 722 failures (time taken: 0.20600008964538574)
<
meh`>
that didn't go well lol
<
adambeynon>
lol, errrr
<
adambeynon>
we also lost 2000 examples along the way
<
adambeynon>
it ran a lot quicker though ;)
<
meh`>
ok, something in $yieldX usage is definitely broken
<
meh`>
unless it's passing something that acts like a block but isn't
<
meh`>
probably nil?
<
adambeynon>
nil has a .call and .apply property
<
adambeynon>
but typeof "object"
<
meh`>
the errors are absurd
<
meh`>
Exception: 'undefined' is not a function (evaluating 'block.call(self, self)')
<
adambeynon>
thats from passing in a block?
<
adambeynon>
very weird error..
<
meh`>
I don't even know
<
adambeynon>
is that through rubyspecs?
<
meh`>
I'll show you
<
meh`>
"works", no weird errors is what I eman
<
meh`>
adambeynon, basically, our yieldX is broken
<
meh`>
it works in case of splats because it destructures the arguments itself
<
meh`>
somehow it magically works in other cases
<
meh`>
I'm kind of puzzled
<
meh`>
where does the destructuring happen?
<
adambeynon>
all a splat block does is do splat = $slice.call(arguments, index)
<
meh`>
adambeynon, what about proc { |x| x }
<
adambeynon>
function(x) { return x }
<
adambeynon>
blocks dont deconstruct
<
adambeynon>
thats what yieldX is for
<
meh`>
but it doesn't do it recursively, does it?
<
adambeynon>
meh`: well, proc { |a, (b, c)| … }
<
adambeynon>
that works
<
meh`>
it's all broken
<
meh`>
it works for whatever reason
<
meh`>
but it shouldn't
<
adambeynon>
fully works
<
adambeynon>
or partially works
<
meh`>
like in this case, it doesn't work for whatever reason
<
adambeynon>
which cases does it not work?
<
meh`>
I'm puzzled it works in other cases
<
meh`>
the find one
<
meh`>
everyone calm down
<
meh`>
this is... weird
<
meh`>
adambeynon, I think yield is compiling to the wrong thing
<
meh`>
adambeynon, ok, I think our $yieldX is broken, and our Array#each is broken, and they work because they're both broken
ryanstout has joined #opal
<
adambeynon>
Array#each looks ok to me..
<
adambeynon>
which case looks wrong?
<
meh`>
adambeynon, no
<
meh`>
I'll try fixing Array
<
meh`>
and breaking it with #find too
<
meh`>
then we can fix the real issue
<
adambeynon>
Array#each gives me the same results as ruby
<
meh`>
adambeynon, yes
<
meh`>
adambeynon, but it doesn't use $yieldX
<
meh`>
which never showed why and if it was broken
<
adambeynon>
but its still right..
<
meh`>
ok, you're right
<
meh`>
I made Array#each use $yieldX and it works
<
meh`>
even with find
<
meh`>
now I'm even more confused
<
adambeynon>
everything works?
<
meh`>
adambeynon, no, it works with Array
<
meh`>
but not with yield or block.call
<
meh`>
so it fails with normal enumerables?
<
meh`>
how is yield compiled?
<
meh`>
it's compiled to $yieldX
<
meh`>
what is going on
<
adambeynon>
meh`: sometimes it uses yield!
<
adambeynon>
bundle exec bin/opal -c "yield 42"
<
adambeynon>
$opal.$yield1($yield, 42)
<
meh`>
in this case it uses yieldX
<
adambeynon>
meh`: brb
adambeynon has joined #opal
GitHub21 has joined #opal
<
GitHub21>
opal/master a02f9e6 meh: Cleanup Array#collect
GitHub21 has left #opal [#opal]
<
GitHub21>
opal/master bebe8bc meh: Cleanup Array#each
<
GitHub21>
opal/master 9ca6b80 meh: Cleanup Array#collect!
GitHub112 has joined #opal
GitHub112 has left #opal [#opal]
<
GitHub112>
opal/master a689a4c meh: Cleanup Array#empty?
travis-ci has joined #opal
<
travis-ci>
[travis-ci] opal/opal#1264 (master - 47e356e : meh): The build passed.
travis-ci has left #opal [#opal]
travis-ci has joined #opal
<
travis-ci>
[travis-ci] opal/opal#1265 (master - a689a4c : meh): The build passed.
travis-ci has left #opal [#opal]
<
adambeynon>
meh`: progress?
<
meh`>
adambeynon, no
<
meh`>
adambeynon, but I just noticed that #each doesn't work correctly with yield
<
meh`>
while it does with Array
<
adambeynon>
#each as in Enumerable#each?
<
meh`>
>> Foo.new.each { |x| puts x.inspect }
<
meh`>
the compiled yield and the block.call do the wrong thing somehow
<
meh`>
$opal.$yieldX($yield, [1, 2])
<
adambeynon>
compiled yield does the same here for me under opal and ruby
<
meh`>
you're right
<
meh`>
count me extra confused
<
meh`>
disregard everything
<
meh`>
detect somehow is different
<
meh`>
adambeynon, should I use Opal. or $opal.?
<
adambeynon>
meh`: thats the thing, all? and any? pass all the specs, its just detect() that doesnt
<
adambeynon>
meh`: $opal
<
meh`>
adambeynon, ok
<
meh`>
all specs pass now
<
meh`>
fuck it, it was a false bug all along
<
meh`>
least astonishment my ass
<
adambeynon>
a false bug?
<
adambeynon>
false !== false ?
<
meh`>
adambeynon, no, a false in the literal sense
<
meh`>
it was all behaving correctly
<
meh`>
what was misbehaving was #detect
<
meh`>
for some absolutely retarded reason, it doesn't yield normally
<
meh`>
it does destructuring before the call
<
meh`>
I don't even want to know why
<
adambeynon>
so changing it to `value = $opal.$yieldX(…)` to match the others?
<
meh`>
it becomes block(#{Opal.destructure(`arguments`)})
<
meh`>
I was doing the yield, and it was wrong
<
ryanstout>
quick question, if I wanted to have eval work on the client, I have to include the parser right? is that just a require?
<
adambeynon>
why wouldnt it just be the same as all? and any?
<
adambeynon>
ryanstout: yeap
<
adambeynon>
require "opal-parser"
<
adambeynon>
which adds Kernel#eval
<
meh`>
adambeynon, I have no clue
<
ryanstout>
@adambeynon thanks a bunch
<
meh`>
ryanstout, keep in mind the parser is bigger than opal itself
<
adambeynon>
meh`: seems to work here for me
<
meh`>
(which is hilarious)
<
meh`>
adambeynon, yes yes, I was cleaning up the code, it was my version that wasn't working
<
adambeynon>
why? we are only a little bigger than coffeescript compiler, which seems good going to me
<
meh`>
it might still be bugged
<
meh`>
I forgot the bug I was trying to fix in the first place
<
meh`>
and I haven't fixed it
<
meh`>
this shit is going to kill my brain
<
meh`>
adambeynon, { a: 3, b: 4 }.find {|a, b| b == 4 } this doesn't work on opal
<
meh`>
but if I fix that case, I break the others
<
meh`>
this means either $yieldX isn't doing the right thing
<
meh`>
or something else is going on
<
meh`>
I'm for $yieldX hitting an edge case
<
meh`>
I think I got it
<
meh`>
it's Hash#each that's broken
<
meh`>
otherwise the rest wouldn't work
<
meh`>
nope, I don't get it
<
adambeynon>
meh`: { a: 3, b: 4 }.find {|a, b| b == 4 } is causing me a "cannot find param" error
<
meh`>
adambeynon, on opal?
<
adambeynon>
my bad
<
adambeynon>
bad copy/paste
<
adambeynon>
its still saying that
<
adambeynon>
2 bad copy.pastes
<
meh`>
I'm fairly sure I just fixed it
<
meh`>
>> { a: 3, b: 4 }.find {|a, b| b == 4 }
<
meh`>
and the result is right
<
meh`>
tonight I won the battle
<
meh`>
let's run the specs another time just to be sure
<
meh`>
here it comes
GitHub14 has joined #opal
<
GitHub14>
opal/master 87db58a meh: Use $opal instead of Opal
<
GitHub14>
opal/master ea4d2f0 meh: Cleanup and compliancy fixes for Enumerable#detect
GitHub14 has left #opal [#opal]
* meh`
waits for travis-ci to show up
<
adambeynon>
lol, and it would be a good days work
<
meh`>
adambeynon, all this compliancy fights are somehow extremely satisfying
<
adambeynon>
travis is being suspiciously slow ;)
<
meh`>
I killed it all
<
meh`>
the changes were too awesome for it to handle
<
adambeynon>
makes sense
<
meh`>
>network error while fetching
<
meh`>
I guess travis is having network issues
travis-ci has joined #opal
travis-ci has left #opal [#opal]
<
travis-ci>
[travis-ci] opal/opal#1266 (master - ea4d2f0 : meh): The build has errored.
<
adambeynon>
well, it passes on your machine and myn, so thats good enough for me ^_^
<
meh`>
now onto #drop
<
adambeynon>
meh`: i gotta go, ping me if you need any help
travis-ci has joined #opal
<
travis-ci>
[travis-ci] opal/opal#1266 (master - ea4d2f0 : meh): The build passed.
travis-ci has left #opal [#opal]
lupine has quit [Ping timeout: 264 seconds]
elia has joined #opal
elia has quit [Ping timeout: 268 seconds]
GitHub109 has joined #opal
<
GitHub109>
opal/master 0d7dc0f meh: Cleanup and compliancy fixes for Enumerable#drop_while
<
GitHub109>
opal/master 5471590 meh: Cleanup and consistency fixes for Enumerable#drop
GitHub109 has left #opal [#opal]
<
GitHub109>
opal/master a6d458b meh: Cleanup Hash#each
travis-ci has joined #opal
<
travis-ci>
[travis-ci] opal/opal#1267 (master - 1bdb2b3 : meh): The build passed.
travis-ci has left #opal [#opal]
lupine has joined #opal