meh` 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 https://botbot.me/freenode/opal/
elia has quit [Max SendQ exceeded]
elia has joined #opal
elia has quit [Quit: Computer has gone to sleep.]
capitalist has joined #opal
capitalist has quit [Quit: Sleep quit]
capitalist has joined #opal
capitalist has quit [Quit: Sleep quit]
capitalist has joined #opal
<meh`> capitalist, are you still looking for an answer to the language support question?
<capitalist> hey meh` - I've been doing some exploring of the code the past couple of hourss
<capitalist> I'm really blown away by the level of support
<capitalist> you guys are further than jruby
<meh`> lol
<meh`> some things we will never be able to support, sadly
<capitalist> so, refinements are not in right?
<meh`> they aren't, we were trying to figure out a way to make them work
<meh`> but it's not a priority, there are other things that need a fixing
<meh`> fibers cannot be supported either
<capitalist> yeah, i'm totally not worried about that - i didn't expect opal to be mature enough to use, but it totally is and more
<meh`> unbound methods *should* work
<meh`> I remember implementing them
<meh`> it is
<meh`> I even wrote an overwolf app in it
<meh`> actually, two
<capitalist> lol
<capitalist> can it run rails ;)
<meh`> some parts of it, probably, you could probably make activerecord work with WebSQL or IndexedDB
<capitalist> so, if I do Kernel patches to add language keywords, you think that'll work?
<meh`> how do you mean?
<capitalist> so, you know how in MRI if you want to feel like the language has a keyword it doesn't, you just add it as a method on Kernel
<capitalist> what would that do in Opal?
<meh`> ah ok, yeah, it works
<meh`> almost anything should work
<capitalist> Does Opal still Class -> Module -> Kernel -> Object -> BasicObject as ancestors?
<meh`> as long as it doesn't depend on platform dependant things
<meh`> like files
<meh`> yep
<capitalist> I did Kernel and Object backwards - but you get it
<meh`> there are currently a couple broken things in the ancestor chain that I was fixing
<meh`> but they mostly have to do with native bridges
<capitalist> sooo, yeah - this is pretty amazing - i feel like I'm cheating at js
<meh`> it doesn't show Kernel, but it actually works
<meh`> there are some broken things with native bridges, but it's a hard problem to fix
<meh`> basically native bridging means you can use javascript native types as they were ruby objects
<meh`> for instance, String, Array, Number, Boolean, Function
<meh`> that means inheriting from them needs weird quirks
<meh`> but in general, if you're just writing Ruby without doing weird stuff, it should all work out of the box
<capitalist> which is exactly what I'll be doing 99.99% of the time
<meh`> let's put it this way, if I didn't hit it yet, and you do, it means you must be doing some REALLY weird stuff
<meh`> and you shouldn't be proud of it :P
<meh`> but yeah, if you find anything weird just open an issue, we usually fix stuff fast enough
<capitalist> hehe, Forrest Chang is doing a good job of advocacy for the project - just watch two of his conf talks
<capitalist> will do, I'll probably try to hack on it myself to learn how it works
<meh`> the problem with advocating Opal is that people assume it's just a simple hack that can only run some small subset of Ruby
<meh`> when it can actually run rspec unmodified
<capitalist> yep, I assumed that until I saw him nonchalantly using it as the template handler for his js
<capitalist> As a capitalist, I'm cool with that, gives me more time with it first *maniacal laugh*
<capitalist> that's saying a lot too, because rspec does some funky shit
<meh`> indeed
<meh`> there is an opal-rspec, but it actually just adds a dynamic browser formatter and support for asynchronous tests
<meh`> https://github.com/opal/opal-browser you can see async rspec tests there
<capitalist> man, this is so cool - so i can ditch jasmine too?
<meh`> yep, the tests for opal-browser are rspec, and they're ran on travis through browserstack for multibrowser testing
<meh`> now they're broken because browserstack was hacked, and there have been some changes to the runtime so I didn't refresh the travis build, but you get the point
<capitalist> so, how many hours of dev you think you've got invested in opal at this point?
<meh`> it's what I've worked most on in the past few years
<meh`> but I basically ditched javascript away completely
<meh`> unless I'm working on opal itself
<capitalist> lissio looks like it would go hand in hand with the SMACSS or BEM stuff
<meh`> https://github.com/meh/wuvwuvwuv this is a whole overwolf app, using lissio
<capitalist> why are the tabs so big in this source
<capitalist> some weird formatting in here : https://github.com/meh/wuvwuvwuv/blob/master/app/app.rb
<meh`> capitalist, it's github, 8 spaces per tab I think
<meh`> I don't see it because I have a custom CSS that changes that to 2 :P
<capitalist> github does that? dafuq? why wouldn't they just show the file as authored
<capitalist> where does ::Promise come from in this app?
<meh`> capitalist, it's in the stdlib
<meh`> capitalist, in this case it's required by browser/http
<meh`> which is required by lissio
<capitalist> so, this could be a way to do some of the ES6 stuff earlier because the Opal "runtime" could shim it if necessary?
<meh`> capitalist, that's going to be harder
<capitalist> the method_missing implementation is very clever
<meh`> yeah, and it's faster than it looks from what I tested
meh` has quit [Ping timeout: 244 seconds]
capitalist has quit [Quit: Sleep quit]
cpup has joined #opal
cantonic has joined #opal
Synchunk has joined #opal
cantonic has quit [Quit: cantonic]
cantonic has joined #opal
Synchunk has left #opal ["Leaving"]
elia has joined #opal
capitalist has joined #opal
capitalist has quit [Quit: Sleep quit]
meh` has joined #opal
cantonic has quit [Quit: cantonic]
capitalist has joined #opal
cantonic has joined #opal
elia has quit [Quit: Computer has gone to sleep.]
capitalist has quit [Quit: Sleep quit]
capitalist has joined #opal
capitalist has quit [Quit: Sleep quit]
capitalist has joined #opal
cantonic has quit [Quit: cantonic]
cantonic has joined #opal
elia has joined #opal
elia has quit [Quit: Computer has gone to sleep.]
capitalist has quit [Quit: Sleep quit]
capitalist has joined #opal