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