adambeynon 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 http://irclog.whitequark.org/opal
GitHub158 has joined #opal
GitHub158 has left #opal [#opal]
<GitHub158> [opal] meh pushed 3 new commits to master: http://git.io/TXvmvA
<GitHub158> opal/master 1585e3d meh.: Merge pull request #430 from alexch/hash-spec...
<GitHub158> opal/master 075fdcc Alex Chaffee: unit test for Array#select passing params to its block
<GitHub158> opal/master e4b6b91 Alex Chaffee: unit test for Hash#new with null values
travis-ci has joined #opal
<travis-ci> [travis-ci] opal/opal#1373 (master - 1585e3d : meh.): The build passed.
travis-ci has left #opal [#opal]
<travis-ci> [travis-ci] Build details : http://travis-ci.org/opal/opal/builds/13664090
elia has quit [Quit: Computer has gone to sleep.]
GitHub130 has joined #opal
<GitHub130> opal/master 69cdfa1 meh: Fix break in Enumerator...
GitHub130 has left #opal [#opal]
<GitHub130> [opal] meh pushed 1 new commit to master: http://git.io/zreqyw
GitHub181 has joined #opal
<GitHub181> [opal] meh force-pushed master from 69cdfa1 to 971e6d4: http://git.io/hDX6Hg
GitHub181 has left #opal [#opal]
<GitHub181> opal/master 971e6d4 meh: Fix break in Enumerator...
travis-ci has joined #opal
travis-ci has left #opal [#opal]
<travis-ci> [travis-ci] opal/opal#1374 (master - 69cdfa1 : meh): The build has errored.
<travis-ci> [travis-ci] Build details : http://travis-ci.org/opal/opal/builds/13665593
travis-ci has joined #opal
<travis-ci> [travis-ci] Build details : http://travis-ci.org/opal/opal/builds/13665676
travis-ci has left #opal [#opal]
<travis-ci> [travis-ci] opal/opal#1375 (master - 971e6d4 : meh): The build passed.
meh` has quit [Ping timeout: 248 seconds]
e_dub has joined #opal
e_dub has quit [Ping timeout: 252 seconds]
e_dub has joined #opal
ryanstout has quit [Quit: ryanstout]
e_dub has quit [Ping timeout: 272 seconds]
e_dub has joined #opal
ryanstout has joined #opal
e_dub has quit [Ping timeout: 252 seconds]
e_dub has joined #opal
ryanstout has quit [Quit: ryanstout]
elia has joined #opal
e_dub has quit [Ping timeout: 252 seconds]
elia has quit [Read error: Operation timed out]
elia has joined #opal
kludge` has quit [Ping timeout: 248 seconds]
kludge` has joined #opal
adambeynon has joined #opal
elia has quit [Quit: Computer has gone to sleep.]
e_dub has joined #opal
adambeynon has quit [Quit: Textual IRC Client: www.textualapp.com]
elia has joined #opal
e_dub has quit [Ping timeout: 260 seconds]
e_dub has joined #opal
adambeynon has joined #opal
meh` has joined #opal
adambeynon has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
e_dub has quit [Ping timeout: 272 seconds]
<elia> meh`, wow, looked into writing the changelog for 0.5
<elia> meh`, 783 commits
<elia> ◉_◉
<meh`> noice
<meh`> elia, did you see now infinite enumerators work?
<elia> meh`, saw a tweet in the flow
<elia> but delayed the retweet (and reading) to tonite
<elia> meh`, adding single stdlib files to the dist task…
GitHub85 has joined #opal
<GitHub85> opal/master eef232c Elia Schito: Build the single stdlib files in the :dist task
GitHub85 has left #opal [#opal]
<GitHub85> opal/master ecd6d42 Elia Schito: Hide empty lines from gzip and uglifyjs output
<GitHub85> opal/master 54a258a Elia Schito: Whitespace
<GitHub85> [opal] elia pushed 3 new commits to master: http://git.io/R9X63A
e_dub has joined #opal
travis-ci has joined #opal
<travis-ci> [travis-ci] opal/opal#1376 (master - eef232c : Elia Schito): The build passed.
<travis-ci> [travis-ci] Build details : http://travis-ci.org/opal/opal/builds/13690650
travis-ci has left #opal [#opal]
GitHub193 has joined #opal
<GitHub193> [opal] meh pushed 1 new commit to master: http://git.io/BYU9fg
<GitHub193> opal/master 82fd939 meh: Cleanup Enumerator
GitHub193 has left #opal [#opal]
e_dub has quit [Quit: It's a hard knock life]
travis-ci has joined #opal
travis-ci has left #opal [#opal]
<travis-ci> [travis-ci] Build details : http://travis-ci.org/opal/opal/builds/13693311
<travis-ci> [travis-ci] opal/opal#1377 (master - 82fd939 : meh): The build passed.
adambeynon has joined #opal
<meh`> adambeynon, yo
<adambeynon> yo yo
GitHub155 has joined #opal
<GitHub155> opal/master b619097 meh: Add Float::INFINITY and Float::NAN
<GitHub155> opal/master da34b56 meh: Add Enumerator#size
<GitHub155> [opal] meh pushed 3 new commits to master: http://git.io/y6v5fw
GitHub155 has left #opal [#opal]
<GitHub155> opal/master 78af294 meh: Cleanup and compliancy fixes for Enumerator
<meh`> adambeynon, do you agree with cleaning up and moving native to the stdlib?
<meh`> adambeynon, also you really need to fix yield inside blocks
<meh`> and possibly block.call breaking if you figure out some way
<meh`> I'm trying to implement lazy enumerables
<meh`> since we now support infinite enumerators (if you didn't notice)
<adambeynon> sure, sounds good
GitHub105 has joined #opal
GitHub105 has left #opal [#opal]
<GitHub105> opal/master 6639f14 meh: Make Array#fetch exceptions compliant
<GitHub105> [opal] meh pushed 1 new commit to master: http://git.io/UCh69w
<adambeynon> block.call breaking should be fixable
<adambeynon> I will have a look
<meh`> great
<meh`> the sounds good was for the cleaning up native and moving it, aye?
<adambeynon> yeah, for native
<meh`> roger
<adambeynon> I've got a tiny bit more work to do on mocks for rspec, then I will have a look at block.call
elia has quit [Ping timeout: 252 seconds]
<meh`> adambeynon, hash.map has the underlying map object, right?
<adambeynon> yes
<meh`> ok
<adambeynon> and hash.keys is an array of keys
<meh`> json had a soft dependency on Native
<meh`> fixed now
ryanstout has joined #opal
adambeynon has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
adambeynon has joined #opal
travis-ci has joined #opal
<travis-ci> [travis-ci] Build details : http://travis-ci.org/opal/opal/builds/13697368
<travis-ci> [travis-ci] opal/opal#1379 (master - 6639f14 : meh): The build passed.
travis-ci has left #opal [#opal]
adambeynon has quit [Quit: Textual IRC Client: www.textualapp.com]
meh` has quit [Quit: brb]
meh` has joined #opal
[spoiler] has joined #opal
DrShoggoth has joined #opal
DrShoggoth has quit [Remote host closed the connection]
DrShoggoth has joined #opal
meh` has quit [Ping timeout: 245 seconds]
meh` has joined #opal
[spoiler] has quit [Quit: Leaving]
[spoiler] has joined #opal
DrShoggoth has quit [Quit: Leaving]
DrShoggoth has joined #opal
GitHub54 has joined #opal
GitHub54 has left #opal [#opal]
<GitHub54> opal/master 87f498c meh: Spaces cleanup in Boolean
<GitHub54> opal/master 7718535 meh: Check with _isString in Kernel#raise
<GitHub54> [opal] meh pushed 3 new commits to master: http://git.io/2JhQcQ
<GitHub54> opal/master 07b974d meh: Cleanup and move Native to the stdlib
travis-ci has joined #opal
<travis-ci> [travis-ci] opal/opal#1380 (master - 7718535 : meh): The build passed.
<travis-ci> [travis-ci] Build details : http://travis-ci.org/opal/opal/builds/13706059
travis-ci has left #opal [#opal]
kludge` has quit [Quit: leaving]
elia has joined #opal
meh` has quit [Ping timeout: 245 seconds]
elia has quit [Quit: Computer has gone to sleep.]
elia has joined #opal
DrShoggoth has quit [Quit: Leaving]
meh` has joined #opal
<meh`> brixen, ping
[spoiler] has quit [Ping timeout: 264 seconds]
<meh`> elia, we lazy enumerators now ( ≖‿≖)
<meh`> >> Fibonacci.new.lazy.drop(10).take(10).to_a
<meh`> => [89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765]
<ryanstout> nice work
<meh`> yeah, good weekend fun
<elia> double that, :D nice work indeed
<meh`> the only thing we don't have is proper inspection of the lazy enumerator
<meh`> Rubinius does some internal magic we can't do in Opal
<meh`> well, I think we can't do it, there might be a way
<meh`> but still, magic
<meh`> now I just have to figure out a way to handle #next
<ryanstout> is lazy done with fibers?
<meh`> but that's probably impossible without continuations
<meh`> ryanstout, nope
<meh`> just enumerables :)
<ryanstout> ok, I must have been thinking of something else
<meh`> yeah, it's not clear to many how I'm doing what I'm doing
<meh`> everyone thinks there's a need for fibers or fsm to do this
<meh`> but the only limitation we have is with #next
<meh`> that's where fibers are needed
<meh`> and I've never seen anyone using enumerators like that anyway
<meh`> and our support for that is so limited right now
<meh`> that I think I'll just delete those
<meh`> they won't work as expected in many cases
kludge` has joined #opal
<ryanstout> not to side track, but has anyone thought about trying to add fiber support with some sort of AST transform? (google traceur does something similar to it with deferred and async)
<meh`> ryanstout, yeah, I know about those
<meh`> but it's impossible in Opal imho
<meh`> mostly because Ruby is so runtime driven
<ryanstout> yea, probably without an async type directive, it wouldn't know when its calling into that to change the code
<meh`> we *COULD* support fibers in advanced engines
<meh`> that have native generators
<meh`> but it wouldn't be of much use
<ryanstout> advanced engines?
<meh`> yeah
<meh`> v8 and spidermonkey
<meh`> they support yield
<meh`> natively
<ryanstout> oh yea
<ryanstout> generators are in chrome now :-)
<ryanstout> and FF I think
<meh`> yep
<meh`> THE FUTURE™
<meh`> too far away for anything feasable now
<ryanstout> yea, it can't get here fast enough, hehe
<ryanstout> yea
<meh`> we could really use proxies too
<meh`> but sincerely I'm amazed we can have lazy enumerators work now
<ryanstout> what would JS proxies give you that opal doesn't now?
<meh`> I was mostly playing around without much hope
<meh`> ryanstout, well, method_missing would get a lot better
<ryanstout> yea
<ryanstout> proxies have pretty good support right now
<meh`> we still target IE6+
<ryanstout> yea
<meh`> because we're masochists
<ryanstout> yea, its still big, (mostly china)
<meh`> sincerely, it just adds more fun
<meh`> especially in opal-browser :)
<meh`> the Enumerable stuff is almost completely implemented
<meh`> feels good man
<meh`> still few methods missing in there, and have to finish implementing the lazy methods
<ryanstout> cool, that will be really nice to have, good work
<meh`> thanks
e_dub has joined #opal
<meh`> >> Fibonacci.new.lazy.take_while { |x| x < 4000 }.to_a
<meh`> => [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584]
<meh`> bam
<meh`> >> Fibonacci.new.lazy.drop(5).take_while { |x| x < 4000 }.take(5).to_a
<meh`> => [8, 13, 21, 34, 55]
<elia> meh`, opal-browser gemspec needs some tidy up imo
<meh`> elia, how so?
<elia> e.g. s.require_paths = ["lib"]
<meh`> lol
<meh`> isn't that right tho?
<elia> and in lib is all opal
<meh`> but yeah, feel free to fix it up
<elia> k :happyface:
<meh`> as long as you keep the tabs ( ≖‿≖)
<meh`> oh wait
<meh`> it's in opal
<elia> ouch tabs!
<meh`> then it's spaces
<meh`> no tabs then
<elia> np, since i'm inside an editor
<elia> is that gemspec generated?
<meh`> nope
<meh`> I always based it on an older gemspec I wrote
<meh`> so pretty much telefono senza fili ◕ ◡ ◔
<elia> lolz
<elia> u should switch to `bundle gem`
<meh`> that wouldn't work nicely
<meh`> I have a special script to build them
<meh`> because I have an extremely restrictive umask
<elia> meh`, you ok with moving opal stuff to opal?
<meh`> elia, but it already is
<meh`> lib only has the requiring stuff
<meh`> and path addition
<elia> u have a passion for nested requirable paths don't you? :D
<meh`> >> Fibonacci.new.lazy.drop_while { |x| x < 4000 }.take(10).to_a
<meh`> => [4181, 6765, 10946, 17711, 28657, 46368, 75025, 121393, 196418, 317811]
<meh`> this code is getting ugly tho
<meh`> adam really needs to fix yield inside blocks
e_dub has quit [Quit: It's a hard knock life]
<elia> meh`, is your umask a problem for generators like `rails new` and `bundle gem`?
<elia> or you talking about gem building?
<meh`> elia, gem building, I don't know what bundle gem is
<meh`> I assumed it was a gem builder
<meh`> >> Fibonacci.new.lazy.select(&:even?).take(10).to_a
<meh`> => [2, 8, 34, 144, 610, 2584, 10946, 46368, 196418, 832040]
<meh`> bam
<elia> meh`, nope, just prepares a git-based gemspec and a gem's folder structure
<elia> meh`, lol
<elia> was using to the wrong repo
<elia> meh/o-b
<meh`> oh
<meh`> that must be a thousand years old
<meh`> why didn't I delete it?