00:27
chap has quit [Quit: bb]
00:53
elia has quit [Quit: Computer has gone to sleep.]
02:07
e_dub has joined #opal
03:47
ryanstout has joined #opal
03:48
ryanstout has quit [Client Quit]
03:52
jurbat has joined #opal
04:06
e_dub has quit [Ping timeout: 276 seconds]
04:19
e_dub has joined #opal
06:46
jurbat has quit [Ping timeout: 246 seconds]
07:25
_whitelogger_ has joined #opal
07:25
_whitelogger has quit [Remote host closed the connection]
07:28
chap has joined #opal
07:39
_whitelogger_ has joined #opal
08:06
e_dub has quit [Ping timeout: 276 seconds]
08:18
e_dub has joined #opal
08:27
elia has joined #opal
08:36
<
elia >
meh`: here I am
08:36
<
meh` >
elia, do you know anything about the constant lookup stuff in opal?
08:37
<
elia >
I think I saw it trying to port uri from ruby2 stdlib
08:37
<
meh` >
this bug is blocking me on opal-browser
08:48
<
elia >
meh`: have you tried looking for the bug in runtime.js
08:49
<
elia >
i think the core of constants lookup is create_scope…
08:49
<
meh` >
elia, I think it's harder than that
08:49
<
meh` >
and I don't know enough to start looking around
08:49
<
meh` >
it really makes no sense as bug
08:49
<
meh` >
even if I fully scope the name of the constant
08:49
<
meh` >
it says it can't find it
08:49
<
meh` >
but it's definitely there
08:50
<
meh` >
and I wish opal-spec added sourcemaps
08:50
<
meh` >
because it's impossible to backtrace the errors
08:50
<
elia >
got nothing out of the browser debugger?
08:50
<
meh` >
elia, nope, I tried tho
08:51
<
meh` >
for some reasons constants are completely fucked up
08:52
<
elia >
we probably need to import some more constants related specs from rubyspec
08:52
<
meh` >
uncomment the requires at the end of dom/event.rb
08:52
<
elia >
and maybe try reimplementing from scratch
09:06
<
elia >
I have no time, but if I accidentally discover somthing I'll report back :)
09:31
kludge` has quit [Ping timeout: 276 seconds]
09:36
kludge` has joined #opal
10:10
<
meh` >
I don't even
10:17
elia has quit [Ping timeout: 268 seconds]
10:20
elia has joined #opal
11:49
lupine has quit [Ping timeout: 260 seconds]
12:06
e_dub has quit [Ping timeout: 260 seconds]
12:17
lupine has joined #opal
12:19
e_dub has joined #opal
13:06
<
meh` >
Class#=== seems to be broken
13:06
<
meh` >
a._klass == c
13:06
<
meh` >
c["$==="](a)
13:15
<
meh` >
where's adam :(
13:29
chap has quit [Quit: bb]
13:46
<
meh` >
this bug is huge
13:46
<
meh` >
nope, it's proper
13:46
<
meh` >
I'm the retard I guess
13:48
GitHub41 has joined #opal
13:48
GitHub41 has left #opal [#opal]
13:48
<
GitHub41 >
opal/master cf7661b meh: Fix Native.=== on subclasses
13:51
travis-ci has joined #opal
13:51
<
travis-ci >
[travis-ci] opal/opal#765 (master - cf7661b : meh): The build passed.
13:51
travis-ci has left #opal [#opal]
14:09
GitHub127 has joined #opal
14:09
GitHub127 has left #opal [#opal]
14:09
<
GitHub127 >
opal/master 6c45580 meh: Prohibit instantiation of non derived Native, use Native::Object instead
14:11
travis-ci has joined #opal
14:11
<
travis-ci >
[travis-ci] opal/opal#766 (master - 6c45580 : meh): The build passed.
14:11
travis-ci has left #opal [#opal]
16:06
e_dub has quit [Ping timeout: 268 seconds]
16:18
e_dub has joined #opal
16:33
elia has quit [Ping timeout: 240 seconds]
16:36
jurbat has joined #opal
17:15
elia has joined #opal
17:18
jurbat has quit [Quit: Computer has gone to sleep.]
17:19
<
meh` >
elia, any clue about where the hell adam is?
17:19
<
meh` >
we need our overlord
17:19
<
elia >
nope, yes, try by email
17:20
<
elia >
…maybe he gets them on the smartphone
17:20
<
meh` >
but I need his full capabilities, that constant lookup bug is making me rage
17:26
elia has quit [Ping timeout: 264 seconds]
17:58
adambeynon has joined #opal
18:01
<
meh` >
adambeynon, finally!
18:02
<
meh` >
adambeynon, ready for some bug fixing? ( ≖‿≖)
18:02
<
adambeynon >
yeahhhhhhhh
18:03
<
meh` >
adambeynon, constants
18:03
<
meh` >
they're broken
18:04
<
adambeynon >
might need a bit more info ;)
18:04
<
meh` >
adambeynon, clone opal-browser
18:05
<
meh` >
then checkout events
18:05
<
meh` >
then bundle exec rake
18:05
<
meh` >
NameError: uninitialized constant Object::Definition
18:06
<
meh` >
start from event.rb and the files it requires at the end
18:07
<
adambeynon >
cloning..
18:12
<
adambeynon >
class Definition < Definition
18:12
<
meh` >
yes, that should work
18:12
<
adambeynon >
wheres the base Definition defined?
18:12
<
meh` >
it's inside a module
18:13
<
meh` >
Event::Definition
18:13
<
meh` >
but you're already inside Event
18:13
<
meh` >
so it's in scope
18:13
<
meh` >
but even if you fully scope the constant
18:13
<
meh` >
it says it can't find it
18:13
<
adambeynon >
right, this is why we need some docs on require
18:13
<
adambeynon >
in sprockets
18:14
<
adambeynon >
all requires are added before the source file
18:14
<
adambeynon >
so even though you require() afterwards
18:14
<
adambeynon >
yeh...
18:14
<
adambeynon >
sprockets limitation
18:14
<
meh` >
and this is why I hate sprockets
18:14
<
meh` >
how can I use anything else?
18:15
<
meh` >
or any way to solve it that doesn't suck
18:15
<
adambeynon >
well, you can, but if you dont have it working under sprockets, it would limit it in any rails based build env
18:16
<
meh` >
and this is why I hate sprockets²
18:16
<
adambeynon >
what if event.rb just loaded event/base.rb
18:16
<
adambeynon >
whch contained Definition
18:16
<
adambeynon >
then, event/ui.rb etc can all require base.rb
18:17
<
adambeynon >
basically, move all that stuff from event.rb into event/base.rb
18:17
<
adambeynon >
and event.rb just load all the "sub-event" files
18:17
<
adambeynon >
not pleasant, but would work until we can find a better solution
18:18
<
meh` >
I still hate you a bit for chosing sprockets tho
18:19
<
meh` >
now back to work on lissio
18:21
<
adambeynon >
yeh, well, sprockets has its bad points, but makes it reallly easy to get working with rails apps
18:21
<
adambeynon >
which is a huge target for ruby devs
18:21
<
adambeynon >
we can look at a better system to come
18:21
<
adambeynon >
Opal::Builder has good foundations
18:22
<
adambeynon >
which could treat require() as a macro
18:22
<
adambeynon >
"insert the file right here"
18:29
elia has joined #opal
18:32
<
meh` >
elia, the problem was sprockets all along
18:35
elia has quit [Ping timeout: 240 seconds]
18:39
<
adambeynon >
were there any other constant issues? Im writing up a doc now outlining how opal-sprockets works
18:39
<
adambeynon >
and its limitations
18:42
<
meh` >
adambeynon, I think the other one I reported was caused by the same issue
18:43
<
e_dub >
adambeynon, did you ever fix that issue i had with self.class.constants / Object.constants ?
18:46
<
meh` >
adambeynon, when are we getting a terminal repl again?
18:46
<
meh` >
it would be very useful to me
19:01
fkchang has joined #opal
19:01
<
meh` >
adambeynon, is there a way to use racc in an opal gem?
19:03
<
adambeynon >
e_dub: looking at it now
19:03
<
adambeynon >
meh`: we should get a repl soon, just need to decide whether we use therubyracer or nodejs
19:03
<
adambeynon >
meh`: and you can indeed use racc
19:03
<
adambeynon >
our lexer/parser does
19:05
<
meh` >
adambeynon, should I generate the parser and keep the generated parser around?
19:05
<
meh` >
or is there some gem magic?
19:05
<
adambeynon >
meh`: I find it easier to keep the generated parser in lib/
19:05
<
adambeynon >
and git-commit any changes to it
19:06
<
adambeynon >
saves doing it at runtime
19:11
GitHub13 has joined #opal
19:11
GitHub13 has left #opal [#opal]
19:11
<
GitHub13 >
opal/master 022a6bc Adam Beynon: Fix buggy Class#constants for Object (fixes #304)
19:11
<
adambeynon >
e_dub: turns out the fix was easier than I thought :D
19:11
<
adambeynon >
now on master
19:11
<
e_dub >
awesome, thanks
19:15
<
meh` >
adambeynon, my god, the documentation is written in such a bad english
19:16
<
adambeynon >
for what now
19:16
<
meh` >
adambeynon, sorry, for racc
19:16
travis-ci has joined #opal
19:16
<
travis-ci >
[travis-ci] opal/opal#767 (master - 022a6bc : Adam Beynon): The build passed.
19:16
travis-ci has left #opal [#opal]
19:16
<
adambeynon >
ahh, yeah
19:16
<
adambeynon >
took me ages to start using racc
19:16
<
adambeynon >
due to the docs
19:17
<
adambeynon >
had no idea what was going on
19:17
<
meh` >
I changed my mind
19:17
<
meh` >
I'll write it by hand
19:17
<
meh` >
it's not a complex grammar anyway
19:17
<
adambeynon >
meh`: what was it for?
19:17
<
meh` >
adambeynon, template parser
19:18
<
adambeynon >
what syntax?
19:18
<
meh` >
mustache inspired
19:18
<
adambeynon >
ah right. yeah, some regexps should be good for that
19:18
<
adambeynon >
dont know if this is any help:
19:18
<
adambeynon >
its not complete, but the lexer/parser side of things work
19:18
<
adambeynon >
actually
19:19
<
adambeynon >
its racc I think
19:19
<
meh` >
yeah, I'll make it by hand
19:38
<
adambeynon >
meh`: I think our repl being based on top of node.js makes more sense
19:38
<
adambeynon >
playing with opal-node now
19:38
<
meh` >
adambeynon, no phantomjs? :(
19:38
<
meh` >
but I need browsery to play
19:38
<
adambeynon >
meh`: we cant easily control it
19:38
<
adambeynon >
meh`: have you looked at opal-irb
19:38
<
adambeynon >
you can load that up in any browser
19:38
<
adambeynon >
not phantomjs's weird fake dom
19:38
<
meh` >
adambeynon, I did, but it's useless to me if I have to work on opal itself or on opal-browser :(
19:38
<
adambeynon >
so a page refresh should do the trick
19:38
<
adambeynon >
why? I think it uses opal-sprockets as the build system
19:38
<
meh` >
fkchang, I SUMMON THEE
19:39
davidboy has quit [Ping timeout: 246 seconds]
19:39
<
meh` >
I know what I'll do now
19:39
<
meh` >
I'll get parslet to work
19:39
<
meh` >
nothing's as good as parslet
19:42
<
meh` >
adambeynon, how do I require a library in a non opal gem?
19:45
<
adambeynon >
inside your config.ru file
19:45
<
adambeynon >
instead of env.append_path
19:45
<
adambeynon >
add a env.use_gem("parslet")
19:45
<
meh` >
adambeynon, I don't have a config.ru
19:45
<
meh` >
is it the same if I add it with the Opal.append_path?
19:46
<
meh` >
because it seems a pain in the ass
19:46
<
meh` >
if I can't put it in the lib/lissio.rb
19:46
<
adambeynon >
ahh, Opal.doesnt have a Opal.use_Gem
19:46
<
adambeynon >
you could do
19:47
<
adambeynon >
Opal.append_path File.join(Gem::Specification.find_by_name("parselet").gem_dir, 'lib')
19:47
<
adambeynon >
which is long and ugly
19:47
<
meh` >
can't you add Opal.use_gem? :)
19:48
<
meh` >
I'll go for a smoke, if you can add Opal.use_gem I'll look over the hate of sprockets :P
19:48
GitHub141 has joined #opal
19:48
GitHub141 has left #opal [#opal]
19:48
<
GitHub141 >
opal/master 60d3944 Adam Beynon: Add Opal.use_gem helper method
19:48
<
adambeynon >
^^ boom
19:56
<
meh` >
and now the fun begins
20:05
e_dub has quit [Ping timeout: 240 seconds]
20:11
GitHub134 has joined #opal
20:11
<
GitHub134 >
opal/master afa8cb9 Adam Beynon: A resque body now returns the last expression evaluated (fixes #302)
20:11
GitHub134 has left #opal [#opal]
20:11
<
adambeynon >
Im going to try and hammer through some github issues of minor fixes
20:11
<
adambeynon >
there are a few there which keep causing issues
20:11
<
adambeynon >
and hopefully they are just small fixes
20:12
<
meh` >
I'm working on stringio
20:16
travis-ci has joined #opal
20:16
<
travis-ci >
[travis-ci] opal/opal#769 (master - afa8cb9 : Adam Beynon): The build passed.
20:16
travis-ci has left #opal [#opal]
20:19
e_dub has joined #opal
20:24
GitHub75 has joined #opal
20:24
<
GitHub75 >
opal/master cc8e942 Adam Beynon: Allow new lines in chained method invocation (fixes #287)
20:24
GitHub75 has left #opal [#opal]
20:29
<
meh` >
and now I'd really need a repl
20:31
travis-ci has joined #opal
20:31
<
travis-ci >
[travis-ci] opal/opal#770 (master - cc8e942 : Adam Beynon): The build passed.
20:31
travis-ci has left #opal [#opal]
20:31
<
meh` >
adambeynon, do I have to do anything to add another file to corelib?
20:37
GitHub173 has joined #opal
20:37
<
GitHub173 >
opal/master 97e6c98 Adam Beynon: Allow blocks to accept default arguments (fixes #286)
20:37
GitHub173 has left #opal [#opal]
20:37
<
adambeynon >
just require() it from corelib/opal.rb
20:37
<
adambeynon >
what are you thinking of adding?
20:37
<
meh` >
I need the IO constants in stringio
20:37
<
meh` >
nothing major
20:38
<
adambeynon >
I would probbaly put io.rb into stdlib for now
20:38
<
adambeynon >
we are going to have 2 implementations of io.rb
20:38
<
meh` >
adambeynon, why?
20:38
<
adambeynon >
one for browser
20:38
<
adambeynon >
one for node/phantom
20:38
<
adambeynon >
3 potentially
20:38
<
meh` >
better reason to have this in core
20:38
<
meh` >
it's just constants
20:39
<
meh` >
common to all
20:39
<
meh` >
adambeynon, are you going to fix the super/splat issue too?
20:39
<
meh` >
that's a pretty huge issue
20:42
travis-ci has joined #opal
20:42
<
travis-ci >
[travis-ci] opal/opal#771 (master - 97e6c98 : Adam Beynon): The build passed.
20:42
travis-ci has left #opal [#opal]
20:43
<
adambeynon >
meh`: have you got a code example of it not working?
20:44
<
meh` >
adambeynon, Struct
20:44
<
meh` >
> bundle exec opal -e 'puts Struct.new(:a, :b, :c).new(1, 2, 3).b.inspect'
20:46
<
meh` >
> bundle exec opal -e 'puts Struct.new(:a, :b, :c).new(1, 2, 3).c.inspect'
20:46
<
meh` >
just to be clear it's not Struct being broken :)
20:50
_whitelogger has joined #opal
20:51
<
adambeynon >
yeh, I have experienced it myself
20:51
<
adambeynon >
I cant make a test case for it though
20:52
<
adambeynon >
I must be missing something obvious
20:53
<
meh` >
I think it has to do with super without arguments
20:53
<
adambeynon >
yeh, i have pretty much copied struct.new line for line
20:54
<
adambeynon >
and its woking fine in an isolated spec
20:55
<
fkchang >
meh`: you summoned?
20:56
<
meh` >
fkchang, yes, how would I go about adding a dep to be used inside opal-irb?
20:57
<
fkchang >
If I follow, add the gem to the Gemfile, Rakefile, require it, the sprockets task that builds the example should pull it in. I've had played withe the idea of a requirejs call that would load a js file runtime, say from a cdn
20:58
<
fkchang >
I do need to extract it so it's easy to add to any page, at some point
21:07
<
adambeynon >
meh`: I could not find a single test case, so I just use the Struct example as the actual test case
21:07
GitHub117 has joined #opal
21:07
GitHub117 has left #opal [#opal]
21:07
<
GitHub117 >
opal/master ad90bb3 Adam Beynon: Fix bug in calling super with no parens/args...
21:07
<
adambeynon >
bad practice, but it is testable >_<
21:07
<
adambeynon >
and fixable ^^
21:08
<
adambeynon >
Im thinking of adding some hook into our master branch to update opalrb.org/try on every push
21:08
<
adambeynon >
so it reflects master
21:08
<
meh` >
adambeynon, can you give me a hand?
21:08
<
meh` >
I'm having trouble understanding what the hell is going on
21:08
<
meh` >
adambeynon, in irb or whatever, real Ruby
21:08
<
meh` >
require stringio
21:09
<
meh` >
and do StringIO.ancestors
21:09
<
meh` >
you can see there are IO::writable and IO::readable
21:09
<
meh` >
they're documented, but I don't get how they are reachable
21:09
<
meh` >
IO::writable doesn't work
21:13
<
adambeynon >
meh`: looks like some c magic inside mri internals
21:14
<
adambeynon >
I always thought it inherited from IO
21:14
<
meh` >
yeah, me too
21:14
<
meh` >
it doesn't :D
21:14
<
meh` >
I'm checking how rubinius does it
21:15
<
adambeynon >
a much better way, probably
21:15
<
adambeynon >
s/better/nicer
21:15
<
meh` >
it defines a dummy module
21:16
<
meh` >
there's probably some hidden magic there too
21:16
<
meh` >
or not at all
21:19
<
adambeynon >
brixen could be the guy to ask ;)
21:19
GitHub54 has joined #opal
21:19
GitHub54 has left #opal [#opal]
21:19
<
GitHub54 >
opal/master 7e69a43 Adam Beynon: Move rubyspec custom filters into spec/filters...
21:24
travis-ci has joined #opal
21:24
travis-ci has left #opal [#opal]
21:24
<
travis-ci >
[travis-ci] opal/opal#773 (master - 7e69a43 : Adam Beynon): The build passed.
21:26
<
adambeynon >
back in a tick
21:40
lanael has joined #opal
21:49
davidboy has joined #opal
22:07
chap has joined #opal
22:21
lanael has left #opal [#opal]
22:25
GitHub163 has joined #opal
22:25
<
GitHub163 >
opal/master 7df6016 meh: Initial StringIO implementation
22:25
GitHub163 has left #opal [#opal]
22:26
<
meh` >
a parse error
22:28
travis-ci has left #opal [#opal]
22:28
travis-ci has joined #opal
22:28
<
travis-ci >
[travis-ci] opal/opal#774 (master - 7df6016 : meh): The build passed.
22:30
e_dub has quit [Quit: Leaving]
22:45
e_dub has joined #opal
23:32
meh` has quit [Ping timeout: 264 seconds]