Camelia, the Perl 6 bug

IRC log for #moe, 2013-05-14

| Channels | #moe index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
01:26 stevan jdv79: by not keeping XS I killed the ability to use CPAN
01:26 stevan jdv79: by not wanting to support the old quirky and semi broken object model I killed the ability to use CPAN
01:27 stevan jdv79: by not wanting to support tie/untie, AUTOLOAD, subroutine attributes and other assorted syntactic oddities I killed the ability to use CPAN
01:28 stevan CPAN is hopelessly tied to the current implementation
01:29 leedo will there be something like AUTOLOAD or method_missing in ruby?
01:29 leedo guess that'd be part of the MOP?
01:29 stevan i would lean more towards method_missing
01:30 leedo er, probably not related to MOP now that i think about it
01:31 stevan well, it is kinda
01:31 stevan method dispatch
01:31 stevan which is a MOP-ish subject
02:56 sprocket joined #moe
05:08 nperez joined #moe
05:11 nperez left #moe
05:11 genehack joined #moe
05:31 hiratara joined #moe
06:33 tobyink joined #moe
07:25 alex joined #moe
08:28 broquaint stevan: Have you seen/any thoughts on the v5 approach? https://github.com/rakudo-p5/v5
08:32 tobyink joined #moe
08:46 melo joined #moe
10:23 tobyink joined #moe
11:31 tobyink joined #moe
12:54 gizmomathboy joined #moe
13:04 stevan broquaint: not really no
13:05 broquaint Fair enough :)
13:17 stevan I will take a look today though
13:30 jnap joined #moe
13:40 sprocket joined #moe
14:19 jnap joined #moe
14:34 jnap1 joined #moe
15:00 sivoais joined #moe
15:13 sprocket joined #moe
15:32 jdv79 a lot of cpan can work sans XS but i get the general sentiment.  what is moe for then?  when i first heard of it it was something of a replacement for the current p5 interp.  now it sounds like its more just another perl6 in the regard for p5 interop.
15:33 perigrin jdv79: nobody had heard of it before January.
15:33 jdv79 ironic that both projects started from "p5 is a dead end"
15:33 perigrin it's still growing into itself.
15:33 sartak why is it ironic?
15:33 jdv79 over generalizing of course
15:33 perigrin (well not nobody, ... some people had)
15:35 jdv79 just because, in my aparently wrong assumptions, i thought moe was something of a "perl6 is cool but... we can redo perl5 without going that far"
15:35 jdv79 now i get why moe was called "perl6 lite"
15:36 perigrin well Moe *isn't* goign that far
15:38 perigrin though I don't entirely disagree that it's less an Ultra Modern Perl5 and more an Ultra Modern Perl
15:43 jdv79 hopefully it generates some awesomeness
15:47 alh joined #moe
15:50 stevan well the problem is
15:50 stevan if you go into Perl 5, fix the language warts, make the runtime more sane and fix the object system
15:50 stevan you get something that looks a lot like Perl 6
15:50 stevan it was inevitable really
15:51 stevan I couldn't have avoided it if I tried
15:51 jnap1 damn you :)
15:51 stevan well I could have
15:51 stevan i could have made it suck more, but we already have PHP for that
15:51 jasonmay the appeal for me is that we will have a robust object system
15:52 jasonmay since we have MOP geniuses on our side
15:53 stevan I was asked last night by someone "what will Moe do that $other_language can't, why not just switch to $other_language"
15:53 tadzik now you have an answer
15:53 stevan yes :)
15:53 tadzik oh, I have an op here? odd :)
15:53 tadzik now I have to contribute. Ehh
15:53 stevan :)
15:54 tadzik fair enough
15:54 stevan yeah, my answer was basically "the MOP", but also that while I do like other languages, none of them are as permissive as Perl
15:54 stevan you can literally fuck with every corner of Perl
15:54 stevan even places you shouldn
15:54 stevan t
15:55 jasonmay kinky
15:55 jasonmay yeah I was considering if you can work ways to cleanly handle DI and stuff like that in Moe
15:56 jasonmay if I have an app that has more than two components of any sort, I jump straight to BB
15:57 jasonmay java has tools for DI, scala has the cake pattern
15:57 stevan yeah
15:58 jasonmay we have people who have thought extensively about that and incorporating modern object systems into it
15:58 jasonmay could make this pretty damn powerful
16:02 stevan I need to look into modules in perl 6 more
16:02 stevan I dont think they are exactly what I want
16:02 stevan but I would love to add something closer to the ML modules system
16:02 stevan or the NewSpeak module system
16:04 PerlJam What do ML or NewSpeak do differently?
16:04 stevan ML has functors
16:05 stevan Modules which take Modules as arguments and return Modules as results
16:06 stevan and NewSpeak has modules that can inherit from other modules
16:06 stevan and you treat classes in those modules the same way you treat methods inside classes
16:06 stevan meaning you can override a class, and all the other classes can use that
16:06 stevan it is (sorta) solving the Expression Problem
16:07 stevan http://stevan-little.blogspot.com/2009/​07/thoughts-on-parameterized-roles.html
16:07 stevan http://stevan-little.blogspot.com/2009/07/​more-thoughts-on-parameterized-roles.html
16:07 stevan that was my take on a possible ML functor-ish Role system
16:07 jasonmay so scala's combinators are pretty much functors then
16:09 stevan in that they return parsers?
16:09 doy not really
16:09 doy the point of functors is that they operate on a level above actual values
16:10 doy the use of "functor" in ml is stretching the definition a bit, but is that same general concept
16:10 jasonmay I looked at them in haskell a bit
16:11 stevan yeah, not the same thing
16:11 stevan ML Functor != Haskell Functor
16:11 doy yeah
16:11 doy you can see the resemblance, though
16:12 stevan yes, slightly
16:13 perigrin they both start with F
16:13 stevan so does Fuuuuuuuuhhhhh
16:14 perigrin and I can see the resemblance between that and Functors too
16:15 perigrin mostly the latter makes me make noises that sound like the former.
16:15 jnap joined #moe
16:16 stevan Former, that also starts with F
16:16 stevan ITS EVERYWHERE!
16:18 perigrin #moe brought to you by the letter F ... and the number 13
16:20 jnap stevan:  I remember you mentioning functors a while back, in admiration
16:21 jnap what's the use case (in terms of an example that is better or more elegantly solved that way)
16:22 sprocket good morning #moe!
16:22 sprocket question: is there a "how to get started with moe" link out there that i'm not finding
16:22 stevan morning sprocket
16:23 stevan sprocket: not really anything beyond https://github.com/MoeOrganization/moe
16:23 sprocket or is this channel a good "how to get started" place
16:23 sprocket ok
16:23 sprocket that's what i'd seen already :)
16:23 stevan more tests in here -> https://github.com/MoeOrga​nization/moe/tree/master/t is good
16:23 sprocket as in writing more tests?
16:23 stevan yup
16:23 sprocket ok
16:23 sprocket are you porting a test suite from either p5 or p6 over?
16:23 sprocket or starting anew?
16:24 stevan the p5 tests suite is a hot mess
16:24 stevan not worth even looking at really
16:24 sprocket i'd imagine so :)
16:24 stevan the perl 6 one is useful and I have been referring to it, but not porting it so much
16:24 sprocket the p6 one seems to be fairly comprehensive
16:24 sprocket ok
16:25 sprocket are any tests that i drop into that dir automagically run by sbt?  i've not worked with scala in the past
16:25 stevan no, you have to do
16:26 stevan sbt assembly && bin/prove-moe t/*
16:26 stevan to run them all
16:26 stevan well, you only have to do sbt assembly once
16:26 stevan unless you change the scala code
16:26 jasonmay they are TAP right?
16:26 jasonmay so could you use prove
16:27 stevan yes, prove-moe uses prove under the covers
16:27 stevan just adds in the Test::More into the include
16:27 jasonmay oh, oops, yeah mised the prove- in that script name
16:27 stevan and calls bin/moe
16:27 jasonmay nice
16:27 sprocket ok, i'll start experimenting with that then :)
16:27 stevan sprocket++
16:27 stevan sprocket: feel free to ping me if you have questions
16:28 sprocket sure thing, i've got a couple hours to futz around with it today, i'll check back in a bit :)
16:28 stevan cool
16:33 sprocket is it easier if i do a fork in github, then submit pull req's?
17:22 ilbot2 joined #moe
17:22 Topic for #moe is now https://github.com/MoeOrganization/moe | http://moeorganization.github.com/moe-docs/ | logs at http://irclog.perlgeek.de/moe/today and http://colabti.org/irclogger/irclogger_log/moe
17:30 sprocket so looking through some of the test suite, i note that new methods have been added that aren't present as operators in p5 or p6
17:31 sprocket i.e.) for arrays there is a "@x.maxstr" method
17:31 sprocket what's the rationale behind adding such ops?
17:32 sprocket is moe going to go off in its own direction, or is it going to be somewhat of a bridge between the two languages?
17:34 jnap1 joined #moe
17:40 sahadev sprocket: maxstr and others were taken from P5's List::Util. I believe I was adding a few of those (sum, reduce, first etc) and chose to add the others as well, as it was pretty easy to do. I don't think there was any particular rationale than "it'd be nice to have".
17:41 alex joined #moe
17:44 sprocket sahadev: was just curious - i was thinking moe was going to be a "slimmed down" version of perl5's core, and some of the "nice to have"'s seemed like they might be nice to have some of the time, but not necessarily all the time. :)
17:45 sprocket sahadev: i'm wondering what the plans for moe's object system will be - if it's like perl6 or moose, would it be possible to pull in some of these methods as non-core modules?
17:46 jasonmay sprocket: p5-mop and then some
17:46 jasonmay I believe
17:47 sprocket and just for consistencies sake, it might be nice to have some synchronization between p5 and p6 naming conventions?
17:49 jnap joined #moe
17:52 sprocket jasonmay: p5-mop as in Moose style?
17:53 sprocket looking at some of the moe code, it looks p6-ish in many cases
17:54 jasonmay directly yeah
17:54 jasonmay there is no MOP logic yet
17:55 sprocket gotcha
18:02 sahadev sprocket: agreed. Moe's still in its infancy, so things can and will change as time passes. something's in the code doesn't mean that it's going to stay permanently.
18:45 tobyink joined #moe
19:08 stevan sprocket: my definition of slim is not "less methods on Array", but "no UNIX toolkit included in the language"
19:09 stevan and I definitely appreciate the number of methods Scala provides on things like Array, etc
19:10 stevan that said, when we introduce roles in the MOP some of that will likely get moved around
19:10 stevan sprocket: as for what flavor MOP, it will be mostly like p5-mop, which itself was inspired by 6model, which was derived to fit the Perl 6 object model, which is what Moose was going for as well
19:11 stevan in other words, the differences in flavors are subtle
19:12 stevan sprocket: re: syncing names across p5 and p6, I mostly did that, I looked over both and collected the names, always erring on the side of Perl 6
19:13 jnap joined #moe
19:35 jnap1 joined #moe
19:37 * masak .oO( for more expertise about erring on the side of Perl 6, cf the Perl 6 project ) :P
19:44 ilbot2 joined #moe
19:44 Topic for #moe is now https://github.com/MoeOrganization/moe | http://moeorganization.github.com/moe-docs/ | logs at http://irclog.perlgeek.de/moe/today and http://colabti.org/irclogger/irclogger_log/moe
20:13 jnap joined #moe
20:17 moe [moe] prakashk created prakashk/unless+modifiers (+3 new commits): http://git.io/y1lP4w
20:17 moe moe/prakashk/unless+modifiers 8a67ccc Prakash Kailasa: Hashes have .eqv method now, so compare_deeply can be simplified.
20:17 moe moe/prakashk/unless+modifiers 4da13fc Prakash Kailasa: support for unless..else block
20:17 moe moe/prakashk/unless+modifiers bf1ea90 Prakash Kailasa: statement modifiers and few tests
20:21 moe [moe] prakashk opened pull request #117: unless statement and statement modifiers (master...prakashk/unless+modifiers)  http://git.io/AEUNAA
20:57 moe [moe] stevan pushed 1 new commit to master: http://git.io/pzjoeQ
20:57 moe moe/master b575655 Stevan Little: Merge pull request #117 from MoeOrganization/prakashk/unless+modifiers...
20:57 stevan sahadev++
21:00 jnap joined #moe
21:16 moe [moe] prakashk deleted prakashk/unless+modifiers at bf1ea90: http://git.io/MvQxWg
21:27 moe [moe] stevan pushed 1 new commit to master: http://git.io/6xnGLA
21:27 moe moe/master 7eba5f3 Stevan Little: using statement modifiers
21:40 sprocket stevan: thanks for the explanation :)
21:44 gizmomathboy joined #moe
21:52 stevan sprocket: no problem, I look forward to your contributions :)
22:28 prammer_ joined #moe
22:45 rjbs joined #moe
22:45 rjbs #::?  #::?  Really?  I guess that's revenge for perl having a //=.
22:52 * perigrin read that as a weird comment on a package trinary.
22:53 perigrin //= makes sense in context
22:54 perigrin too bad perl5 doesn't stuff operators into the main namespace ... '//ould be too much fun
23:00 masak what's #::? ?
23:02 jasonmay masak: stream (lazy) cons
23:06 masak oh, in Scala?
23:14 sprocket joined #moe

| Channels | #moe index | Today | | Search | Google Search | Plain-Text | summary