Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2013-03-05

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:01 lichtkind something like reader and writer in moose isnt in perl 6?
00:08 Liz joined #perl6
00:17 * [Coke] goes to find what those are so he can tell you.
00:19 [Coke] getters and setters are builtin, yes. Are you asking if you can rename them?
00:20 [Coke] r: class A { has $.foo } ; my $a = A.new(); $a.foo(3); say $a.foo()
00:20 p6eval rakudo ce1827: OUTPUT«Too many positional parameters passed; got 2 but expected 1␤  in method foo at src/gen/CORE.setting:1864␤  in block  at /tmp/7Z4FKavmVB:1␤␤»
00:20 [Coke] bother.
00:23 fgomez joined #perl6
00:26 [Coke] r: class A { has $.foo is rw } ; my $a = A.new(); $a.foo=3; say $a.foo()
00:26 p6eval rakudo ce1827: OUTPUT«3␤»
00:46 rjbs At NYC Perl Hackathon, Saturday, the question came up "Can we ever have twigils, for $.foo and so on, in Perl 5?"  Some dark soul suggested, "Why not kill of the Ada package separator and repurpose $'foo?" :-)
00:48 lustlife joined #perl6
00:54 anuby joined #perl6
00:55 arlinius joined #perl6
00:57 perigrin But that would break Acme::Don't ... and Poker::Texas::Hold'em
00:58 perigrin and Re'em (though that last one wasn't on CPAN)
01:06 hypolin joined #perl6
01:10 Targen joined #perl6
01:11 cognominal joined #perl6
01:17 labster If Poker::Texas::Hold'em breaks, then we won't have to worry about HORSE in our modules.  http://en.wikipedia.org/wiki/HORSE
01:19 araujo joined #perl6
01:19 araujo joined #perl6
01:27 jeffreykegler joined #perl6
01:28 jeffreykegler TimToady: Best of luck with your health
01:42 lue Does anyone know how useful the Each type (ordered form of Junction) could be? Just curious.
01:44 sorear Not useful enough for anyone to bother implementing it
01:45 lue That's my feeling too (the not useful enough part). S09 had a small example of where it might be useful, but @array.say would be a shorter alternative.
01:51 perigrin labster: sure you say that but have you been to Omaha?
02:06 cognominal__ joined #perl6
02:06 japhb_ The discussion in the backlog about how to clearly respond to "Is Perl 6 ready?" made me think that maybe we need an easy, glanceable page answering that in a way that is hopefully useful to outsiders.  Of course, a little detail beyond the glances would be nice, so I mentally puttered for a bit, and came up with this concept:  https://gist.github.com/japhb/c51ee251868680bd01aa
02:06 japhb_ Thoughts and comments?
02:21 cognominal__ joined #perl6
02:22 FROGGS_ joined #perl6
02:22 sqirrel_ joined #perl6
02:56 TimToady japhb: nobody really has NFG support yet; rakudo is still mostly on the codepoint level
02:56 TimToady it fakes graphemes in a few spots, but won't have to fake it with real NFG
03:16 lee__ joined #perl6
03:20 orafu joined #perl6
03:27 TimToady joined #perl6
03:31 TimToady joined #perl6
03:49 adu joined #perl6
03:57 jaldhar_ joined #perl6
04:08 adu joined #perl6
04:11 rindolf joined #perl6
04:11 jfried joined #perl6
04:12 bloonix joined #perl6
04:14 jaldhar_ joined #perl6
04:33 arnsholt joined #perl6
04:35 swarley-freenode joined #perl6
04:35 odoacre joined #perl6
04:49 broquaint joined #perl6
04:53 swarley-freenode joined #perl6
04:58 preflex_ joined #perl6
05:05 aindilis joined #perl6
05:07 kaleem joined #perl6
05:07 SamuraiJack joined #perl6
05:08 mberends japhb: nice summary gist :) <nitpick>in the More Info section Portability, Ecosystem and Performance should be highlighted same as Community, Features and Documentation</nitpick>
05:10 mberends the statement 'Rakudo-on-Parrot has decent startup time' is IMO subjective and false
05:17 mberends consider abbreviating the paragraphs about Portability, Documentation and Performance to embody the style of Community, Features and Ecosystem
05:18 mberends (less > more)
05:22 sorear subjective *and* false!
05:22 sorear o/ mberends
05:24 mberends \o/
05:25 mberends like country *and* western?
05:26 sorear is country and western a contradiction?
05:30 mberends no, nor is subjective and false.  it was meant as a humorous reference to the silly remark that C&W musicians play two types of music ;-)
05:35 mberends I'm going to try to port Java Data Objects to Perl 5 and Perl 6.  I'm not expecting great performance, at least not initially, but the functionality of JDO is very useful.
05:38 mberends the idea behind targeting both Perl dialects in parallel is to put the spirit of the Perl Reunification Summit 2012 into practice.  Liz++ for that.
05:39 rjbs joined #perl6
05:43 japhb mberends, the "highlight" is actually a link.  I didn't have anything that immediately came to mind to link to for the other ones.
05:43 mberends ah, ok :)
05:44 japhb I almost said "This needs a lot more links", but I figured not to put in the effort of heavy linking if people didn't like it.  It *is* just a conceptual mock-up, anyway ....
05:45 japhb Though I guess I'm heartened that you mostly suggested edits to the existing content, rather than said "This is a lousy idea."
05:47 mberends It is a good idea, especially at a glance, to inform people who have a short attention span, which seems to be an increasing majority of people nowadays.
05:48 mberends I can imagine it finding a good place somewhere near the front of perl6.org
05:50 mberends I think heavy linking such as slashdot style feels a bit ponderous to read
05:53 mberends I would like for example: Community: Perl 6's strongest asset is its community, which is already one of the friendliest and most helpful you will find. Community members are responsive at all hours, but most active from 8 AM to midnight UTC. See <a href="target">Community</a>.
05:55 japhb Makes sense.
05:56 mberends Anyhow, good job!  I should quieten down and give others opportunity to comment.
05:57 japhb FWIW the longer paragraphs were longer because there seemed to be more to say to give even a semi-accurate picture of reality.  But that may have just been editing failure on my part.
05:57 japhb Thank you.
05:57 japhb (For the attaboy, not for quieting down.  ;-) )
05:58 mberends ;-) the longer paras seemed a bit TL;DR
05:58 japhb Hmmm.  Mayhaps you're right.
05:59 mberends you'll have more opinions to aggregate in another 12 hours or so
06:02 rindolf joined #perl6
06:05 japhb mberends, links and highlights rearranged as you prefer.
06:05 japhb (gist updated, I mean)
06:06 japhb Haven't edited the long paragraphs, yet, but need to go AFK.
06:10 lue japhb: "course-grained" in the Performance paragraph should be coarse-grained methinks
06:10 kaleem joined #perl6
06:11 drKreso joined #perl6
06:17 quester joined #perl6
06:18 rindolf joined #perl6
06:24 mberends japhb++ # not only for editing in my suggestions
06:26 erkan joined #perl6
06:26 erkan joined #perl6
06:27 moritz japhb++
06:29 rindolf joined #perl6
06:36 rindolf joined #perl6
06:41 mberends \o moritz
06:43 araujo joined #perl6
06:43 araujo joined #perl6
06:43 FLOSSrookie joined #perl6
06:45 FLOSSrookie I am going to try and learn perl6 and because I like using databases I would like to try to connect to one. However, unlike the rich perl resources which are on the Internet perl6 is not one of them. Can someone either tell me or link me to some sample code on how to incorporate a database into a project with DBIish? Some sample code would be great!
06:46 rindolf joined #perl6
06:49 sorear i think moritz has done stuff with dbiish
06:50 FLOSSrookie sorear: Then he needs to put it out on the net.
06:51 FLOSSrookie Or send me some info.
06:52 mberends FLOSSrookie: adapt the database examples in http://modules.perl6.org/ (and don't criticise moritz++, he does plenty of good)
06:52 mberends FLOSSrookie: and see https://github.com/jnthn/za​volaj/tree/master/examples
06:52 FLOSSrookie mberends: I am not criticizing him. It was just a "hint, hint"
06:52 mberends ok, ok ;-)
06:53 mberends the second URL has examples that were used in the conception of DBIish
06:55 sorear (welcome, if you're new)
06:56 FLOSSrookie Oh, you bet, I am new!
06:56 mberends FLOSSrookie: the test scripts in https://github.com/perl6/DBIish/tree/master/t use the various database drivers
07:02 rindolf joined #perl6
07:08 japhb lue: fixed by removing.  :-)
07:09 japhb mberends, moritz: edited Portability, Documentation, and Performance sections to reduce TL;DR and make each info paragraph similar in length and style.
07:10 * mberends Refreshes and Likes(tm)
07:10 japhb heh
07:13 tadzik FLOSSrookie: https://github.com/tadzik/zbl​og/blob/master/%C5%BAblog.pl contains a DBIish uses
07:13 tadzik practical-ish even
07:13 tadzik hello #perl6
07:14 mberends hello tadzik
07:17 ozmq joined #perl6
07:19 rindolf joined #perl6
07:31 jnthn morning o/
07:31 * jnthn is about for a few moments before the day's teaching :)
07:31 japhb Hello and good night.  :-)
07:31 japhb &
07:32 mberends o/ jnthn
07:32 * mberends ditto
07:34 rindolf joined #perl6
07:45 rindolf joined #perl6
07:48 FLOSSrookie Okay, what does this mean to any of you: http://paste.fedoraproject.org/4282/
07:51 jnthn teaching time, bbl...mebbe evening... &
07:53 sorear SQLITE_ERROR     =>    1 , #  SQL error or missing database
07:54 masak good morning in the best of all possible futures, #perl6!
07:55 sorear hello leibniz
07:56 masak call me Pangloss.
07:57 arnsholt \
07:57 sorear presumably, FLOSSrookie, you have a syntax error or missing database.
07:57 * arnsholt <3 Candide
07:57 sorear oh, that was arouet?  :/
07:58 rindolf joined #perl6
07:59 arnsholt Yeah, that was Voltaire. If it's any consolation, I had to look up Arouet on Wikipedia to see you meant Voltaire =)
08:01 masak <sorear> subjective *and* false!
08:01 masak heh, my thought exactly as I went through the backlog ;)
08:02 masak sorear: I don't know what frightens/delights me most: that you keep dropping CS/literary references like that, or that I get most of them. ;)
08:03 masak more of the literary ones than the CS ones, though. still need to learn parsing, category theory, and a lot of other math.
08:04 arnsholt mberends++ # Java Data Objects
08:05 FLOSSrookie Segmentation fault (core dumped)
08:05 FLOSSrookie This day just keeps getting better and better. I fixed the file path and now this ^
08:06 masak japhb++ # https://gist.github.com/japhb/c51ee251868680bd01aa
08:10 FROGGS joined #perl6
08:10 FLOSSrookie Yep, I know. I just don't know what is going to be done from here seeing how uninformative that general "Segmentation fault..." error is. If there had been more info I would take hope it could be fixed soon. But when you don't know where it went wrong .... This could take a while to fix.
08:10 arnsholt FLOSSrookie: Could you put your script in a gist or nopaste of some kind?
08:11 ozmq_ joined #perl6
08:11 ozmq_ left #perl6
08:12 arnsholt The segfault error message doesn't actually come from Perl 6 (so unfortunately we can't really fix it), even though it's triggered by a Perl 6 script
08:12 sorear masak: luck.  I didn't know "subjective and false" was a reference to anything.  I just thought mberends's phrasing was weird
08:12 arnsholt A segfault is what happens when a program attempts to read memory it's not allowed to read (so the OS terminates the program)
08:12 sorear does hpmor contain a similar line?
08:12 ObseLeTe joined #perl6
08:13 ozmq joined #perl6
08:13 sorear arnsholt: We just need to make sure perl 6 gets permission for all its memory accesses. :)
08:13 arnsholt mberends: As always, if you run into Zavolaj-related troubles or limitations on your path, please do tell me =)
08:13 sorear linux and windows at least let you install segfault handlers
08:13 arnsholt Read all the things! =D
08:14 FLOSSrookie arnsholt: http://paste.fedoraproject.org/4284 I removed some things from the script and it does not segfault but it is complaining about some prepare thing.
08:15 arnsholt "some prepare thing"?
08:15 rindolf joined #perl6
08:15 FLOSSrookie No such method 'prepare' for invocant of type 'Nil'
08:15 masak sorear: no, I didn't mean "subjective and false" was a literary reference. in that case, I just had the same thought, like "aren't those contradictory?"
08:15 FROGGS FLOSSrookie: then $db is "undef"
08:16 masak sorear: fwiw, I think it can be used in the way mberends does. language is pliable enough.
08:16 masak but it sounds kinda funny.
08:16 masak "false" here means something like "we can't put it among our claims".
08:17 FLOSSrookie FROGGS: It looks like I defined it.
08:18 masak sorear: re category theory: I'm currently enjoying http://arxiv.org/pdf/1302.6946.pdf
08:19 arnsholt FLOSSrookie: What do you get if you add "say so $db" after the connect statement?
08:20 arnsholt That'll print the boolean value of your $db
08:21 FLOSSrookie arnsholt: False
08:22 FLOSSrookie And how do I fix it.
08:23 arnsholt That's less obvious. I'm not really familiar with DBIish (or SQLite, for that matter)
08:23 FLOSSrookie Well, it says true now that I modified the path. And then it dumped the core again.
08:25 FROGGS I'd vote for a sample sqlite database within the DBIish repo, and tests for it
08:25 preflex joined #perl6
08:25 FROGGS (if there are non)
08:25 arnsholt Then it might be as simple as SQLite not creating a non-existent DB file without a flag
08:25 arnsholt The segfault it a bit trickier to diagnose
08:25 FLOSSrookie arnsholt: Does the code look sound in the paste?
08:26 FLOSSrookie arnsholt: I at least want to get that right for now.
08:26 arnsholt I can't see anything obviously wrong, but again, I'm not really familiar with DBIish
08:26 masak r: my $yo = set; my $dawg = set $yo; say $dawg.elems
08:26 p6eval rakudo ce1827: OUTPUT«0␤»
08:26 masak :(
08:26 masak hm, is this tikkited?
08:27 arnsholt FLOSSrookie: What if you add say()s between the prepare, execute and fetchall. Which one is it that explodes?
08:27 cogno joined #perl6
08:28 FLOSSrookie arnsholt: Could you modify the paste of my code to show what you mean.
08:28 masak well, we have https://rt.perl.org/rt3/Tic​ket/Display.html?id=116096 which is close enough.
08:28 rindolf joined #perl6
08:28 arnsholt FLOSSrookie: Just add a say "foo" after the prepare and say "bar" after the
08:28 arnsholt
08:28 odoacre join #bitcoin
08:28 arnsholt ... execute
08:28 odoacre ops
08:29 arnsholt (fatfingered)
08:29 arnsholt Then run the script again. Which strings get printed will show you which statement errors out
08:29 masak odoacre: hi!
08:29 odoacre hi there
08:29 masak lurking much? :)
08:30 odoacre heh
08:30 odoacre about a couple years i'd say
08:30 masak wow.
08:30 odoacre i lurk on your blog too, i really like it by the way
08:31 masak yay
08:31 masak odoacre: may I take this opportunity to poll you about your opinion on Perl 6? we're always curious about what people think, feel, and hope about Perl 6.
08:31 odoacre well, last time i tried it was about two years ago.
08:31 masak by the way, I hear bitcoins are stronger than ever.
08:32 FLOSSrookie arnsholt: Well, it appears that "foo" and "bar are shown I think it is the fetchall.
08:33 tadzik FLOSSrookie: did you try running DBIish tests, ooc?
08:33 FLOSSrookie tadzik: "ooc"?
08:33 odoacre i looked into bitcoins a couple years ago too, decided it's a waste of time, i'm actually embarrased you caught me attempting to jon the channel :(
08:33 odoacre i mean the concept is cool
08:33 odoacre but meh
08:33 kresike joined #perl6
08:34 kresike hello all you perl6 people
08:34 kresike +happy :)
08:34 odoacre about perl6 i honestly think it's also become unexciting perhaps
08:34 odoacre sorry to say that :(
08:35 sorear #perl6 is still pretty cool though.
08:35 masak agreed.
08:35 tadzik out of curiosity
08:35 tadzik FLOSSrookie: ^
08:35 sorear as long as masak and jnthn and pm and co are here, so will I
08:35 masak \o/
08:35 tadzik istr (I seem to recall) you're using R* provided by fedora, no?
08:35 xinming joined #perl6
08:36 FLOSSrookie tadzik: I have no clue what you just said. Sure, I would like to test DBIish that is what I am doing.
08:36 masak odoacre: why was Perl 6 exciting in 2004 but is unexciting now, in your view?
08:36 quester left #perl6
08:36 tadzik FLOSSrookie: did you install DBIish yourself, using panda?
08:36 FLOSSrookie tadzik: It came with the yum install I found out.
08:37 odoacre in 2004 i was still using perl a lot, nowadays not so much, it's kind of gone out of fashion/has a bad reputation and when you say, i'll do this in perl, your colleagues say, no! perl! horror!
08:37 tadzik I suppose that may not neceserilly have ran all the tests
08:37 odoacre perl6 was supposed to fix that
08:37 sorear masak: duh, it's because of the spec freeze.  don't you agree maintaining november was exciting?
08:37 masak sorear: hee hee.
08:38 tadzik odoacre: yeah, that happens. It's been like this since I remember
08:38 masak odoacre: thank you for your input.
08:38 masak odoacre: it rhymes with a lot that I keep hearing.
08:38 tadzik I learned to shrug, say "duh", get back to coding and then buy them beer saying "this round's on Perl"
08:38 FLOSSrookie tadzik: What do you mean by test? I mean test as in I am testing perl6 with DBIish.
08:39 tadzik FLOSSrookie: I mean that almost every module (library) out there comes with a set of tests, which are to make sure that the module actually works
08:39 masak I think the main thing to realize about the popularity of Perl, is that if you lead the way and have almost all the market share, like Perl did, then there's no way to go but down when the niche becomes populated by other players.
08:39 odoacre i still love perl, it's just that i have stopped fighting that battle i guess
08:39 rindolf joined #perl6
08:39 tadzik FLOSSrookie: it might be a good idea to run them, and make sure that it's either a bug in your code, or you're just using broken tools
08:39 masak it's a bit like saying "man, Elvis isn't half as popular as he was 50 years ago".
08:40 masak ...which is *true*, but it isn't just because of Justin Bieber, it's because of all of the new artists, and the space created for all of them.
08:40 sorear perl 6 has about 20 users now, I think that statistically we're far more likely to go up than down :)
08:41 masak odoacre: welcome to #perl6. we haven't stopped fighting the battle, even when we're jaded and cynical like sorear and me :)
08:41 odoacre :D
08:41 masak sorear: because there are more positive integers above 20 than below? :P
08:41 masak I like where that argument is going...
08:42 FLOSSrookie tadzik: I will do that but it will be tomorrow (I have been here long enough at this computer). Thanks to all those who helped.
08:42 masak s/positive/non-negative/
08:42 masak FLOSSrookie: good luck!
08:42 kresike masak, count in Rat's too, there are people using other languages than perl ☺
08:42 masak kresike: dang, there goes the proof...
08:42 FLOSSrookie left #perl6
08:42 sorear masak: yes, even if you restrict yourself to positive numbers less than the world population :)
08:43 odoacre but really, i would turn that question around and ask, what is the problem that has perl6 as a solution ?
08:43 masak "Is Perl 6 ready for production?" -- "Fraction of world population assimilated: .0000000033"
08:43 DrEeevil odoacre: ruby
08:43 DrEeevil at least perl6 is readable ;)
08:44 odoacre that's what people tend to say about perl5
08:44 kresike masak, my gut tells me there are still more numbers above 20 then there are below it, it's just a little harder to prove ☺
08:44 masak odoacre: I like programming in Pumpkin Perl. I like programming in Perl 6 even more. so "the problem" is "most problems I solve with programming", I guess.
08:44 masak kresike: your gut is wrong.
08:44 sorear kresike's gut uses measure theory.
08:45 masak kresike: there are a countably infinite amount of rationals between 0 (exclusive) and 20 (exclusive).
08:45 masak kresike: the same cardinality as those above 20.
08:45 odoacre masak you are avoiding the question :)
08:45 sorear but I'm actually thinking more from the POV of "regression to the mean"
08:45 kresike masak, I know ... and yes I hate infinites !
08:45 masak odoacre: oops, sorry.
08:45 masak kresike: I've made peace with them.
08:46 masak odoacre: let me try again.
08:46 kresike ☺
08:47 masak odoacre: Perl 6 has grammars, roles, and user-definable operators. many other languages do too, but Perl 6 has them in a unique way, which helps me think better about problems than in other languages.
08:47 masak odoacre: nowadays, when I code in some other language, like Java or JavaScript or Perl 5, I tend to formulate the solution in Perl 6, and then translate it down to the target language.
08:47 odoacre ok, and that's great, but it's still kind of metaphysical, no ?
08:48 masak yes.
08:48 masak I'm not sure there's a single problem Perl 6 solves that I can point to like you want.
08:48 masak it solves a lot of problems.
08:48 masak sometimes slightly better than other languages out there. sometimes a lot better.
08:49 rindolf joined #perl6
08:50 odoacre i really should give perl6 anover spin
08:51 odoacre i'll let you know masak :D
08:51 masak odoacre: pro tip: it helps to go in with a purpose. follow your own advice: solve a concrete problem.
08:51 odoacre yeah that's what i always try to do
08:51 masak make it a *small* concrete problem, it'll be challenging enough anyway ;)
08:51 masak ++odoacre
08:51 odoacre yeah, last time i checked finding docs was kinda hard
08:55 sorear We've partially fixed that in the last year
08:56 moritz we now have doc.perl6.org
08:56 moritz it's not complete, and not perfect
08:56 moritz but good enough that if you complain about missing docs, we can add it there quickly-ish
08:57 odoacre thanks guys
08:58 odoacre i'll set about doing something small n the next couple weeks or so
08:59 masak sounds great.
08:59 rindolf joined #perl6
09:02 rindolf joined #perl6
09:03 woolfy joined #perl6
09:04 daxim joined #perl6
09:10 rindolf joined #perl6
09:17 wk joined #perl6
09:22 masak I was thinking something like this. http://html5please.com/
09:22 masak but for Perl 6 production readiness.
09:23 FROGGS cool
09:23 masak and (at least for me) the key would be to *back things up* not just with a finger-in-the-air hunch, but with observable milestones.
09:23 sjn masak: good idea
09:23 FROGGS milestones++
09:23 * FROGGS likes to work onto goals
09:24 masak so, shiny three-state (use/caution/avoid) system with a shiny layout + concrete milestones. that's what I'd like to see.
09:24 cognominal joined #perl6
09:24 masak I'm willing to put actual tuits into this.
09:25 masak and, you see, when you expand any of those, there's a (short) paragraph explaining the most important fact, caveat, or workaround.
09:26 sjn masak: how do you envision keeping the list up-to-date? is here a good list to base something like this on?
09:26 masak well, not to overdesign things, but...
09:27 masak each update, bringing things closer to production-readiness, is news.
09:27 masak which would suggest an Atom feed to update things.
09:27 masak basically, a blog or tumblelog.
09:27 masak add a new update to the Atom feed, and the page updates.
09:28 masak come to think of it, I wish the whole web was made of Atom feeds.
09:28 masak then people who are interested in the production-readiness of Perl 6 can subscribe to that feed.
09:28 * FROGGS volunteers
09:29 masak FROGGS: cool. I don't believe I have access to create projects under the perl6 org on github, but we might start by brainstorming in a repo elsewhere.
09:29 masak FROGGS: mind if I create the repo?
09:30 FROGGS go ahead
09:31 rindolf joined #perl6
09:32 moritz I can do stuff in the perl6 org
09:32 moritz should I do anything for you?
09:32 FROGGS stuff++
09:32 FROGGS perl6please repo?
09:34 moritz a repo named perl6please?
09:35 FROGGS masak?
09:38 masak hold on.
09:38 masak https://github.com/masak/production-readiness
09:38 moritz should I fork that into perl6 orga?
09:38 masak I considered perl6please, but I considered that too cute for a repo name.
09:38 masak moritz: yes, please.
09:38 masak unless we want to wait for the project to materialize beyond a README.md :)
09:39 masak but I have good hopes for it. I already wrote static webpage generation with an Atom feed in Perl 6 once :)
09:39 masak mostly we can scavenge psyde for good code.
09:39 masak we might need to pull in the p5 Markdown module, though. that's the compromise I currently make in psyde.
09:39 DrEeevil I really really hate how a simple README now doesn't "work" anymore
09:40 moritz forked to perl6 org
09:40 FROGGS about the milestones... one milestone is to gain speed, we need benchmarks and an acceptable time for them
09:40 moritz and added 'perl6' team (aka everybody :-) as committers
09:40 masak \o/
09:40 masak moritz++
09:57 dakkar joined #perl6
09:58 rindolf joined #perl6
10:06 Ovidius joined #perl6
10:07 * masak uses 'git update set-url' for the first time to change his origin to git@github.com:perl6/production-readiness.git, rather than manually editing the .git/config file
10:09 fhelmberger joined #perl6
10:12 masak what I would like: a bliki platform where the Atom feed is the central part. it comes pre-configured as a blog, but any new resource/page can be created that projects the Atom feed in some way.
10:12 * masak adds it to his mental TODO list
10:12 sorear [GitHub] Subscribed to perl6/production-readiness notifications
10:13 sorear "does this mean I'm going to get email when perl 6 is production ready?"
10:13 masak :P
10:16 hoelzro joined #perl6
10:24 Ulti yeah I noticed I now have all sorts of perl6 github action in my inbox, is there some new social drive?
10:29 masak Ulti: discussions ultimately rooted in a dagolden post yesterday culminated in a new project.
10:30 masak well, "ultimately rooted" is perhaps a bit strong. I've been wanting this for some time now, but haven't stopped and verbalized it.
10:43 ObseLeTe joined #perl6
10:43 dalek nqp: 422d97c | (Arne Skjærholt)++ | src/6model/reprs/VMArray.c:
10:43 dalek nqp: Remove obsolete comment.
10:43 dalek nqp: review: https://github.com/perl6/nqp/commit/422d97ca51
10:43 dalek nqp: 311fabb | (Arne Skjærholt)++ | src/6model/reprs/VMArray.c:
10:43 dalek nqp: Stub positional REPROps in VMArray.
10:43 dalek nqp: review: https://github.com/perl6/nqp/commit/311fabb1eb
10:46 pmichaud good morning, #perl6
10:46 arnsholt o/
10:46 tadzik good morning pmichaud
10:48 moritz good am, pm
10:49 * pmichaud decides to try to catch up on latest discussions re: productionability
10:51 pmichaud in japhb's "Perl 6 ready?" gist, I think the "serious performance work in Rakudo has really yet to begin" needs revision.
10:51 pmichaud unless we want to deny the work of the past 2.5 years
10:54 brrt joined #perl6
10:58 mberends joined #perl6
10:59 masak +1
11:00 masak I'm doing $work, but I intend to try and summarize people's "Perl 6 ready?" thoughts/backlog/gists into something we can use for perl6/production-readiness, with an eye towards concrete achievables.
11:01 masak ...after $work :)
11:01 dalek nqp: 814b3bb | (Arne Skjærholt)++ | src/6model/reprs/P6 (2 files):
11:01 dalek nqp: Remove no return value-warnings from P6{int,num}.c
11:01 dalek nqp: review: https://github.com/perl6/nqp/commit/814b3bb538
11:02 pmichaud I'll be glad to contribute patches and thoughts, but once again my schedule is not my own for a while :-|
11:03 * masak hugs pmichaud
11:04 Harzilein hmm...
11:05 Harzilein i just tried perlito with add.pl from http://perl6advent.wordpress.com/2010/12/02/day-2-​interacting-with-the-command-line-with-main-subs/
11:05 Harzilein but it does not seem to generate code to call the main sub
11:06 tadzik I think perlito may not support MAIN
11:08 Harzilein :(
11:08 tadzik rakudo and niecza seem to both support it
11:09 tadzik sorry for the inconvenience :)
11:13 masak Harzilein: it's not entirely clear to me what perlito supports or does not support. however, I'm pretty sure the feature support is a lot lower than for either Rakudo or Niecza.
11:14 masak Harzilein: in other words, don't be surprised if you find not-yet-implemented things in perlito.
11:14 pmichaud is perlito far enough along to be in the feature matrix, ooc?
11:21 masak I would think so, yes.
11:21 masak I have no idea how it'd fare compared to, say, Pugs.
11:21 moritz afaict perlito never strived to be a feature-complete implementation
11:25 Harzilein i just wondered if i could use some perlito generated command line parsing with my perl5 script :)
11:29 mberends joined #perl6
11:34 * masak realizes that he submitted 5 RT tickets (and one spec issue) on his first day back
11:34 masak clearly I should vacation more often.
11:43 colomon masak++
11:43 moritz masak: is that more than your usual weekly average?
11:46 erkan joined #perl6
11:46 erkan joined #perl6
11:48 masak moritz: for a few years, I averaged one RT ticket per day. in the past two or so years, it's been slightly lower.
11:57 arnsholt jnthn: REPROps_Positional->get_elem_stable appears to be unused in NQP, and AFAIK it was only needed to support the old way of doing at_pos_native. Any objections to me removing it entirely?
11:59 grondilu wow, lots of change in the metamodel.  What's going on?
12:02 masak grondilu: what change are you referring to?
12:08 arnsholt Nah, this isn't really a major change I think
12:08 arnsholt Just dead code I think
12:09 moritz and it's not really in the MOP, but in the layer below
12:10 masak oh, the change that arnsholt++ is proposing.
12:10 masak arnsholt: if it's not used, I have no objections.
12:13 arnsholt Yeah, I'm pretty sure it'll be fine, since it's not in 6model-JVM, just prefer to have a second opinion on this kind of change to check for unintended consequences
12:13 brrt joined #perl6
12:22 SmokeMachine joined #perl6
12:22 masak TimToady++ # applying a moderate version of Skegness^WOKness to only Match objects
12:23 masak (http://folk.uio.no/alied/TMoL.html defines "skegness" as "Nose excreta of a malleable consistency.")
12:24 grondilu masak: I don't know exactly:  when git-pulling today I saw plenty of changes in src/Perl6/Metamodel
12:24 masak oh.
12:25 arnsholt Those aren't mine =)
12:26 arnsholt Oh, looking at the list of commits, it seems it's moritz++ who merged more of kboga++'s piridectomy work
12:26 arnsholt Those'll be mostly in the metamodel I think
12:26 masak rn: say Nil ~~ Parcel
12:26 p6eval rakudo ce1827, niecza v24-26-g713c785: OUTPUT«False␤»
12:27 masak r: say Nil.^mro
12:27 p6eval rakudo ce1827: OUTPUT«Nil (Iterator) (Iterable) (Cool) (Any) (Mu)␤»
12:27 masak Nil is... a kind of Iterator?
12:27 masak r: say List.^mro
12:27 p6eval rakudo ce1827: OUTPUT«(List) (Iterable) (Cool) (Any) (Mu)␤»
12:28 moritz masak: in the old spec, yes
12:28 moritz masak: in the old spec, Nil was something like (), but undefined in scalar context
12:28 moritz the new spec disagrees.
12:30 masak yeah. that's why I wanted to check.
12:37 m0li joined #perl6
12:37 cogno joined #perl6
12:45 SHODAN joined #perl6
13:04 wk joined #perl6
13:07 dayangkun_ joined #perl6
13:08 SmokeMachine joined #perl6
13:10 dayangkun joined #perl6
13:12 zamolxes joined #perl6
13:15 cognominal joined #perl6
13:16 immortal joined #perl6
13:16 immortal joined #perl6
13:18 masak today's autopun: "The worst thing about censorship is â– â– â– â– â– â– â– â– â– â– ."
13:22 lizmat :-)
13:22 * lizmat off to Amsterdam PM meeting &
13:22 woolfy left #perl6
13:22 lizmat left #perl6
13:25 * sjn just read that bdfoy is promising a fix for all modern perils! o/
13:27 kaleem joined #perl6
13:31 masak sjn: url?
13:31 sjn ttps://twitter.com/briandfoy_pe​rl/statuses/308929736829186048
13:31 sjn :D
13:31 sjn oops
13:31 sjn add an h
13:31 masak :)
13:31 masak URL provided by IKEA.
13:31 sjn assembly may be required
13:32 sjn https://twitter.com/briandfoy_p​erl/statuses/308929736829186048  # for the ircbots
13:33 masak I for one welcome our new peril-free modern overlords.
13:34 brrt peril free with perl
13:35 masak note that he doesn't promise to fix *all* perils. just the modern ones.
13:35 tadzik so 5.8 is EOLd, but still getting updates, eh?
13:36 masak like, I guess, Segwaying off a cliff.
13:36 masak tadzik: just like Perl itself! <ducks />
13:39 xinming joined #perl6
13:39 kaleem joined #perl6
13:39 SmokeMachine joined #perl6
13:41 [Coke] (perlito) is perlito in a state where I can fudge roast tests for it?
13:46 telex joined #perl6
13:49 ObseLeTe joined #perl6
14:19 [Coke] perl perlito6.pl -Cperl5 -e t/spec/S02-literals/listquote.t | perl
14:19 [Coke] Undefined subroutine &GLOBAL::t called at - line 13.
14:19 brrt left #perl6
14:22 Psyche^ joined #perl6
14:22 [Coke] ah, my bad, leftover -e.
14:22 [Coke] actual error:
14:22 [Coke] perl perlito6.pl -Cperl5 t/spec/S02-literals/listquote.t | perl
14:22 [Coke] Missing value after operator > at lib5/Perlito6/Expression.pm line 286.
14:22 nwc10 I'm not sure if it's really a great idea spending time fudging for Perlito. It's not obvious that it's a very active project: https://github.com/fglock/Perlito/commits/master
14:22 [Coke] nwc10: I'm spending about 15m. that's it. :)
14:22 nwc10 aha
14:23 masak [Coke]++
14:24 xinming joined #perl6
14:25 crab2313 joined #perl6
14:25 [Coke] I picked 3 or 4 spec tests, some issue on each of them so far.
14:28 census joined #perl6
14:30 cognominal joined #perl6
14:35 benabik joined #perl6
14:36 PacoAir joined #perl6
14:38 census joined #perl6
14:39 colomon rn: say (1, 2, "a", "b").sort
14:39 p6eval niecza v24-26-g713c785: OUTPUT«a b 1 2␤»
14:39 p6eval ..rakudo ce1827: OUTPUT«1 2 a b␤»
14:39 kaare__ joined #perl6
14:40 masak sorting values from different types considered insane.
14:40 colomon masak: agreed.
14:40 colomon yet here I am looking at spectests which do just that
14:40 masak consider those spectests insane :)
14:41 masak things need to be on the same "real line". 2 and "a" ain't.
14:41 masak and Perl 6 doesn't have enough static typing to get .sort to enforce that.
14:42 colomon what I really don't get is: these tests are five years old.  rakudo todo'd them a year ago.  yet they've just recently started failing on niecza.  what's up with that?
14:42 colomon S32-hash/kv.t line 37, etc.
14:43 masak some update to Mono?
14:43 colomon not on my machine.
14:44 colomon anyway, I'm thinking the right solution is to make the tests more correct
14:45 colomon but would love a second opinion.
14:47 PerlJam colomon: make the tests more correct <-- there's your second opinion  ;)
14:48 dalek roast: 79de2c6 | (Solomon Foster)++ | S32-hash/kv.t:
14:48 dalek roast: Change tests so they no longer depend on the order of sorting numbers with strings.
14:48 dalek roast: review: https://github.com/perl6/roast/commit/79de2c6619
14:48 [Coke] what does sort default to?
14:48 colomon [Coke]: cmp
14:48 masak then rakudo is correct.
14:48 masak oh wait.
14:48 masak infix:<cmp> isn't Perl 5's cmp.
14:48 colomon cmp doesn't default to comparing strings
14:49 masak rn: say 2 cmp "a"
14:49 p6eval rakudo ce1827: OUTPUT«Increase␤»
14:49 p6eval ..niecza v24-26-g713c785: OUTPUT«Decrease␤»
14:49 masak colomon: right.
14:49 masak was thinking about leg.
14:49 masak rn: say 2 leg "a"
14:49 p6eval rakudo ce1827, niecza v24-26-g713c785: OUTPUT«Increase␤»
14:49 colomon on niecza, I'm pretty sure cmp compares the typenames when you try to compare different types.  (with an except for Reals where they all compare alike.)
14:50 [Coke] rn: say +"a"
14:50 p6eval niecza v24-26-g713c785: OUTPUT«Unhandled exception: Cannot parse number: a␤  at /home/p6eval/niecza/lib/CORE.setting line 1479 (die @ 5) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3595 (ANON @ 10) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3597 (NumSyntax.str2num @ 5) ␤  at /h…
14:50 p6eval ..rakudo ce1827: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏a' (indicated by ⏏)␤  in method gist at src/gen/CORE.setting:10514␤  in sub say at src/gen/CORE.setting:7592␤  in block  at /tmp/IVQHmXvvHM:1␤␤»
14:50 colomon *exception
14:52 dalek roast: 6aab7ad | (Solomon Foster)++ | S14-roles/namespaced.t:
14:52 dalek roast: Fix test to conform to the B() to (B) change.
14:52 dalek roast: review: https://github.com/perl6/roast/commit/6aab7addf1
14:52 * colomon is now wondering how many of the current Niecza test failures are actually bad tests.
14:53 colomon ooo, this one is a legit niecza bug.
14:57 masak colomon++
14:58 [Coke] colomon++
14:59 colomon n: say Bool
14:59 p6eval niecza v24-26-g713c785: OUTPUT«Bool()␤»
14:59 colomon n: say Int
14:59 p6eval niecza v24-26-g713c785: OUTPUT«(Int)␤»
15:01 colomon n: say Bool.STR
15:01 p6eval niecza v24-26-g713c785: OUTPUT«Unhandled exception: Unable to resolve method STR in type Bool␤  at /tmp/vuW_f5pJWJ line 1 (mainline @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4274 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4275 (module-CORE @ 581) ␤  at /home/p…
15:01 colomon n: say Bool.Str
15:01 p6eval niecza v24-26-g713c785: OUTPUT«Bool()␤»
15:05 dalek niecza: 2e5a010 | (Solomon Foster)++ | lib/CORE.setting:
15:05 dalek niecza: Fix CommonEnum.gist to return (Type) instead of Type() for undefined.
15:05 dalek niecza: review: https://github.com/sorear/niecza/commit/2e5a010551
15:05 PerlJam dagolden++ clarifying post -- http://www.dagolden.com/index.php/1923/​my-perl-6-post-was-really-about-perl-5/
15:06 dalek roast: 0d86772 | (Solomon Foster)++ | S12-attributes/class.t:
15:06 dalek roast: Refudge for Niecza.
15:06 dalek roast: review: https://github.com/perl6/roast/commit/0d86772f72
15:07 pmichaud yeah, in retrospect the earlier article could've used a better title.
15:07 PerlJam indeed
15:07 pmichaud "What Perl 6 can tell us about Perl 5 evolution"  or something like that.
15:10 colomon the framing is still kind of all weird.  "Perl 6 is hopeless" still seems to mean "Perl 6 is not going to sweep in and make Perl 5 completely irrelevant in the short term".
15:12 * colomon is excited about having a new computer arrive today...
15:14 * felher is very pleased that rakudo is fast enough to do placeholder substitution in a file fast enough for his purposes.
15:14 colomon \o/
15:15 FROGGS (new computer)++
15:15 FROGGS I am still excited about my company-laptop
15:40 cosimo joined #perl6
15:46 colomon rn: say "m" ~~ /[M]/
15:46 p6eval rakudo ce1827, niecza v24-26-g713c785: OUTPUT«#<failed match>␤»
15:47 colomon rn: say "m" ~~ /:i [M]/; say "m" ~~ /[M]/
15:47 p6eval rakudo ce1827, niecza v24-26-g713c785: OUTPUT«「m」␤␤#<failed match>␤»
15:47 colomon rn: say ("m" ~~ /[M]/).Bool
15:47 p6eval rakudo ce1827, niecza v24-26-g713c785: OUTPUT«False␤»
15:49 dalek nqp: dda02aa | (Arne Skjærholt)++ | src/6model/reprs/VMArray. (2 files):
15:49 dalek nqp: Import resizing code from QRPA and make method stubs slightly less stubby.
15:49 dalek nqp:
15:49 dalek nqp: Also fixes two copy-pasto return values.
15:49 dalek nqp: review: https://github.com/perl6/nqp/commit/dda02aad4d
15:49 colomon ugh, this looks to be an ugly, ugly niecza- bug
15:49 SamuraiJack_ joined #perl6
15:52 colomon n: say "m" ~~ /[M]/; say 'ß' ~~ m:i/SS/; say 'SS' ~~ m:i/ß/; say  "m" ~~ /[M]/;
15:52 p6eval niecza v24-26-g713c785: OUTPUT«#<failed match>␤False␤False␤「m」␤␤»
15:52 colomon yup, officially ugly
15:55 masak wt...
15:56 benabik ignore case gets stuck?
15:56 masak something sets case insensitivity and then doesn't unset it?
15:56 masak n: say "a" ~~ /[A]/; say "b" ~~ m:i/B/; say "a" ~~ /[A]/
15:56 p6eval niecza v24-26-g713c785: OUTPUT«#<failed match>␤「b」␤␤「a」␤␤»
15:57 masak yep.
15:58 dayangkun joined #perl6
16:00 neilb_ joined #perl6
16:02 neilb__ joined #perl6
16:07 TimToady I hope you don't think those are character classes...
16:08 kmwallio joined #perl6
16:09 kmwallio left #perl6
16:12 cosimo joined #perl6
16:16 thou joined #perl6
16:17 felher Is the reason that STD has some '{}' in the regex that the closure is a sequence point after which $/ guaranteed to be defined?
16:18 TimToady no, it terminates the declarative part that feeds longest token matching
16:18 felher TimToady: ah, okay. Thanks :)
16:19 sizz joined #perl6
16:19 benabik Why not :: ?
16:19 TimToady that also commits to the current token, which prevents backtracking to a shorter but better match
16:20 TimToady or even one of the same length
16:20 benabik Ah.
16:20 TimToady there's more than one way to match an identifier, for instance
16:21 colomon TimToady: roast thinks they are character classes, see ignorecase.t
16:23 colomon n: say "a" ~~ /A/; say "b" ~~ m:i/B/; say "a" ~~ /A/
16:23 p6eval niecza v24-27-g2e5a010: OUTPUT«#<failed match>␤「b」␤␤「a」␤␤»
16:23 colomon n: say "a" ~~ /A/; say "b" ~~ m/:iB/; say "a" ~~ /A/
16:23 p6eval niecza v24-27-g2e5a010: OUTPUT«[31m===[0mSORRY![31m=​==[0m��Unrecognized regex modifier :iB at /tmp/jZplhY2FGN line 1:�------> [32msay "a" ~~ /A/; say "b" ~~ m/:iB[33m�[31m/; say "a" ~~ /A/[0m��Action method mod_internal:oops not yet implemented at /tmp/jZplhY2FGN line 1:�------>…
16:23 colomon n: say "a" ~~ /A/; say "b" ~~ m/:i B/; say "a" ~~ /A/
16:23 p6eval niecza v24-27-g2e5a010: OUTPUT«#<failed match>␤「b」␤␤#<failed match>␤»
16:24 colomon hmm, that might be a pretty good hint to the location of the problem...
16:24 TimToady indeed
16:25 rindolf joined #perl6
16:28 colomon TimToady: what regexes should I be looking for for that?
16:30 colomon regex_def?
16:30 kresike bye folks
16:30 colomon that looks like it's actually for grammars.
16:32 colomon quote?
16:32 TimToady eh, you should be looking down in the Regex subgrammar
16:33 colomon quote:m, no?
16:33 SmokeMachine joined #perl6
16:33 TimToady if it's like STD, things to do with the %*RX dynamic array, specifically %*RX<i>
16:34 TimToady but I have vague recollection that not all impls follow the %*RX strategy
16:34 colomon niecza's got it.
16:34 colomon grammar Regex is STD
16:34 colomon elsif $i.defined  { %*RX<i>  = $i;  self }
16:35 colomon that's in a method tweak?
16:35 SmokeMac_ joined #perl6
16:35 TimToady but it should be in something that declares a my %*RX over the correct scope
16:35 TimToady it would seem to be missing something like that
16:36 colomon nibbler has
16:36 colomon :temp %*RX;
16:36 colomon rule nibbler, I mean.
16:38 colomon hmmm
16:38 colomon n: say "a a" ~~ /a/; say "b b" ~~ m:g/b/; say "a a" ~~ /a/
16:38 p6eval niecza v24-27-g2e5a010: OUTPUT«[31m===[0mSORRY![3​1m===[0m��Regex modifier g not yet implemented at /tmp/d1WyLHoD4i line 1:�------> [32msay "a a" ~~ /a/; say "b b" ~~ m:g[33m�[31m/b/; say "a a" ~~ /a/[0m��Unhandled exception: Check failed��  at /home/p6eval/niecza/boot/lib/CORE.s…
16:38 TimToady token quote:sym</ />   {
16:39 TimToady probably needs a temp %*RX;
16:40 colomon "Only $ and @ variables may be used in regexes for now"
16:41 colomon though surely that isn't the right syntax?
16:41 benabik :temp %*RX; I'd imagine
16:42 * colomon feels wildly out of his depth here.
16:42 TimToady actually, quote:m for the m:i// form
16:42 colomon TimToady: maybe not completely out of my depth, that much I figured out on my own.  ;)
16:42 TimToady :temp %*RX; is just like :my %*RX; but copies in the current values like your environment vars do
16:42 colomon niecza> say "a" ~~ /A/; say "b" ~~ m:i/B/; say "a" ~~ /A/
16:42 colomon #<failed match>
16:43 colomon ï½¢bï½£
16:43 colomon #<failed match>
16:43 colomon \o/
16:43 colomon benabik++, TimToady++
16:43 TimToady feel free to backpatch STD as well
16:44 * TimToady has to run off to a meeting soonish
16:44 colomon probably needed for quote:ms, quote:s, quote:ss, and quote:tr as well, right?
16:44 TimToady can't hurt
16:44 colomon TimToady: I don't know how to test STD to make sure my changes are correct?
16:44 TimToady well, you can't really, since STD is just a parser :)
16:45 TimToady well, you could look at the output of viv to see what the tree looks like, I suppose, but STD stops when it comes to deep semantics
16:46 TimToady but if you do the same thing to STD as you do elsewhere, it should be good enough for STD's purposes
16:46 TimToady which is mostly just to be a prototype
16:47 dalek niecza: 2a7e0fd | (Solomon Foster)++ | src/STD.pm6:
16:47 dalek niecza: Add :temp %*RX; to quote:rx, quote:m, etc.
16:47 dalek niecza: review: https://github.com/sorear/niecza/commit/2a7e0fd1e7
16:48 supernovus joined #perl6
16:48 supernovus Anyone else having a problem installing panda lately?
16:50 masak colomon++
16:50 masak supernovus: there was some known panda breakage in the backlog a few days back.
16:50 masak supernovus: don't remember if it got resolv'd.
16:52 dalek std: 692eb4f | (Solomon Foster)++ | STD.pm6:
16:52 dalek std: Add :temp %*RX; to quote:rx, quote:m, etc.
16:52 dalek std: review: https://github.com/perl6/std/commit/692eb4f33b
16:52 arnsholt phenny: tell jnthn I'm working on VMArray directly on nqp/master. Think it should be fine, since nothing's actually using it yet. Also, I think I can kill REPROps_Positional->get_elem_stable. You agree?
16:52 phenny arnsholt: I'll pass that on when jnthn is around.
16:53 supernovus http://pastebin.com/pF3NQkrM
16:54 supernovus So at the moment, panda is entirely unusable. Sigh.
16:54 FROGGS joined #perl6
16:55 kst joined #perl6
16:56 supernovus I can also confirm that the bug in IO::Socket::INET that makes the get() method freeze up on a blank line is still there.
16:58 FROGGS supernovus: right
17:02 supernovus In the recent discussion about "production readiness", a lot of people seem to put speed at the top of the list, but in my opinion, speed sits well below essential features being broken.
17:04 zby_home_ joined #perl6
17:08 SmokeMachine joined #perl6
17:11 wk joined #perl6
17:15 masak supernovus: usually referred to in positive terms, as "stability".
17:16 masak supernovus: if it's any help, stability has gotten *much* better since 2008. in fits and starts. pmichaud and jnthn and sorear and moritz are taking it very seriouisly. we can still get better, of course.
17:17 masak didn't IO::Socket::INET get broken because of some Parrot carpet-pull?
17:17 pmichaud yeah, I'm still not happy with the socket I/O breakages we've had lately.
17:17 pmichaud That whole io-refactor branch has just been a lot of hurt.
17:17 colomon FedEx pulling up outside!
17:18 masak it's the feds!
17:18 FROGGS well, I can think of a patch but this involves hardcoding parrots chunksize into IO::Socket::INET
17:18 TimToady are they pulling up carpets?
17:18 masak no, that's CIA.
17:19 TimToady .oO(Carpet Intelligence Agency?)
17:19 colomon it's a new Linux box!
17:19 * TimToady feels bad for the old one
17:20 PerlJam supernovus: Well, for me, improved IO is probably next on the list after speed, but I'm not running up against "essential features" that are missing so much.
17:20 bluescreen10 joined #perl6
17:20 pmichaud PerlJam: well, features that were working but are now broken is definitely Bad.
17:20 * TimToady would, running the other way with it, like to see more POSIXy things in the essentials category
17:21 masak +1
17:21 * TimToady would also like to know how to read errno
17:21 colomon TimToady: If the old one hadn't decided to start shutting down every time I asked it to do something hard, it wouldn't be getting replaced.
17:21 moritz the real problem with socket errors is that while people are quick to point at problems, it's very rare that somebody constructs a minimal-ish test case
17:22 TimToady colomon: maybe you should replace me too :)
17:22 moritz which exposes the problem
17:22 TimToady yes, stability is the mother of testing
17:22 TimToady or something like that
17:23 moritz effort is
17:23 pmichaud I just know that I was surprised at one of the Star releases late last year failing most of the socket tests.
17:23 TimToady as for speed, we can fix things faster if we have more speed :)
17:23 pmichaud s/most of/several of/
17:24 TimToady more to the point, with more speed we can recruit more people to fix things faster :)
17:24 TimToady we try to encourage Impatience as a virtue, and sometimes that backfires
17:25 PerlJam TimToady: Niecza is faster than Rakudo, but doesn't seem to be recruiting more people  :)
17:26 TimToady there may be people here who are willing to work on rakudo because niecza proves it could be faster :)
17:26 * colomon is thinking he may give the new machine a while to warm up before booting it...
17:26 masak PerlJam: Niecza doesn't have, and never had, the public mindshare Rakudo has.
17:27 tadzik and marketing
17:27 masak PerlJam: which is a pity. it's a fine implementation.
17:27 PerlJam masak: Sorry, I was just handwaving like TimToady taught me to.  :)
17:27 tadzik people were always surprised that there's Perl 6 on .NET and it's fast
17:27 jnthn evening o/
17:27 phenny jnthn: 16:52Z <arnsholt> tell jnthn I'm working on VMArray directly on nqp/master. Think it should be fine, since nothing's actually using it yet. Also, I think I can kill REPROps_Positional->get_elem_stable. You agree?
17:27 colomon \o
17:28 PerlJam TimToady: I'm going to play the part of doubting Thomas on that one.
17:28 diakopter put your fingers in my side
17:28 masak eeeww
17:29 PerlJam diakopter: Are you in need of an operation?  Does your spleen or appendix need removal?
17:29 * masak .oO( doubting Thomas the Tank Engine )
17:30 diakopter _o_o
17:30 japhb (I'm backlogging, so apologies if this was already resolved later ....)  pmichaud, re: http://irclog.perlgeek.de/​perl6/2013-03-05#i_6551157 , I meant no denial -- I wrote my honest impression: that while certain very large performance gotchas had been filed off (can't compile in less than 1.5 GB RAM, jnthn's 30x performance boost for IIRC the X metaop from a couple months ago, etc.) that *considerable* work in the last 2.5 years had been a
17:30 japhb bout correctness, maintainability, portability, and optimizability (but not major *optimization*, other than to prove that the optimizability work actually functioned correctly and capture a few easy but modest gains).  I apologize my wording came off denialist.  :-(
17:32 * PerlJam wonders where you would "market" niecza ...
17:32 PerlJam I don't run across many .net/mono hackers, so that leads me to believe that they aren't the same kinds of tinker that would hack on something like Perl 6.  (sorear being an exception, of course)
17:34 PerlJam or maybe sorear just needs to talk about niecza at some .net/mono conference or something to drum up hackers.
17:34 Chillance joined #perl6
17:34 diakopter PerlJam: well, there's jnthn :P
17:34 pmichaud japhb: it depends on if you're talking about optimization.  Your gist says "serious performance work in Rakudo really has yet to begin", and that's just not true imo.
17:34 pmichaud All of the refactors have been in preparation for being able to do optimizations.
17:35 PerlJam diakopter: I haven't seen jnthn hack on niecza either (but I also haven't been watching his every move :)
17:35 japhb FROGGS, re: http://irclog.perlgeek.de/​perl6/2013-03-05#i_6551064 , there is https://github.com/japhb/perl6-bench/ , which needs more love, but I think can help in that area.
17:35 pmichaud Clearly inlining to native ops is a significant optimization that has been made.
17:35 japhb pmichaud, ah, so s/performance/optimization/ is one obvious improvement to phrasing.
17:35 diakopter I was referring to I don't run across many .net/mono hackers, so that leads me to believe that they aren't the same kinds of tinker that would hack on something like Perl 6.
17:36 masak you don't run across many .Net hackers? clearly you don't live in .se
17:36 masak we're so monoculturally .Net here that it makes me a little ashamed.
17:37 * diakopter didn't know that
17:37 japhb masak, the SF Bay Area has a serious love/hate relationship with Microsoft.
17:37 tadzik pl is very python-strong
17:37 PerlJam masak: so ... are there .net conferences in .se?
17:37 pmichaud japhb: even better would be to get rid of the "really has yet to begin".  Much of it has begun.  What you really want to indicate is that there's a lot more to be done.
17:37 tadzik they're doing some big conferences here, in a circus tent
17:37 japhb pmichaud, hmmm, fair enough.
17:37 masak PerlJam: I'm pretty sure there are. I'm not a .Net programmer, though.
17:38 japhb pmichaud, how about "is still in the early stages"?
17:38 moritz does anybody else get lots of passing TODOs in t/spec/S32-num/stringify.rakudo ?
17:38 pmichaud moritz: they probably pass due to the commit I made 2 days ago
17:38 pmichaud I didn't have a chance to update the tests.
17:38 moritz pmichaud: I'll do that then
17:38 pmichaud r:  say (1/5).perl
17:38 p6eval rakudo ce1827: OUTPUT«0.2␤»
17:38 jnthn It's bull that we haven't invested serious effort into performance related work in Rakudo. Think of the serialization work that improved startup time dramatically, or the things that happened when moving to the nom line of development, or the optimizer, or the many, many smaller profile-driven improvements over time...
17:38 shlomif joined #perl6
17:39 japhb jnthn, again, I'm sorry.  My late-night phrasing clearly was insulting, and was not meant to be.
17:39 pmichaud japhb: yeah, I'm not even sure I agree with "in the early stages".  There just a whole lot of foundation that has to be correct before you can layer in the higher-level optimizations.
17:39 jnthn Some of the things have *favored* performance over stability. We could make augment work properlyer if we undid some optimizations. We could have more stability if we never pre-compiled (and heck would I like that, given nobody but me ever works on the serializer, and everybody tends to only ever be horrified when it fails...
17:40 diakopter japhb: perhaps characterize what you imagine could be done to do the "serious/focused" optimization effort
17:40 japhb My impression was that the serialization work was about correctness and addressing a serious immediate pain point (get "critically bad" down to "not great, but not awful"), rather than trying to make it perl5-level super-fast.
17:41 PerlJam japhb: not "super-fast", but definitely faster than it was.
17:41 supernovus masak: I realize it's gotten far more stable in the last few years, and MUCH faster too.
17:42 jnthn japhb: At the time it happened it was a dramatic improvement.
17:42 japhb And I thought the optimizer was serious work to get working, but was really just the stage upon which heavy optimization could happen, not something big and sophisticated and JVM/LuaJIT-like in its power.
17:42 moritz those tests are nasty to fudge
17:42 moritz they are in a function that is called many times
17:42 japhb jnthn, yes, but I was trying to say that that was sawing off a blade of pain, not sanding it down to a smooth sheen.
17:42 moritz and not all calls succeed
17:43 jnthn japhb: Sure, that means "more to do", not "nothing serious done"
17:43 colomon moritz: probably easier just to fix rakudo.  ;)
17:43 supernovus PerlJam: I guess it depends on what people consider essential features. Most of my libraries are related to Internet services, so for me, a working networking stack is essential :-)
17:43 pmichaud let me look at the tests
17:43 japhb jnthn, yeah, I am really sorry.  I think we're in violent agreement, but I clearly was insulting, and I didn't mean to be.
17:43 jnthn *nod*
17:44 pmichaud I'm also still not convinced that p5-speed is our best benchmark or indicator of progress at the moment.
17:44 moritz it's not, but it is what many people will compare rakudo to, whether we like it or not
17:44 [Coke] I think it's a reasonable benchmark, even if our goal isn't parity.
17:45 PerlJam um ... what coke and moritz said  :)
17:46 pmichaud I agree it's a useful comparison.  I'm not sure I agree that "until you reach p5 speed, rakudo is useless or not production ready".
17:46 japhb pmichaud, I'm fairly sure I can't convince my department head at $day-job to let me program in Perl 6 most of the time until it is less than 2-10x the speed of perl5, depending on task and situation.
17:46 jnthn Please also remember that you need to talk about specific benchmarks, not faster in general.
17:46 pmichaud japhb: 2-10x is in the realm of what we're shooting for, yes.
17:47 pmichaud I'm not arguing for a 20x difference being okay.
17:47 pmichaud but I've seen a few people say that "faster than p5" is an essential criteria, and I'm not sure I agree with that.
17:47 japhb Right, again we're in agreement, thankfully.  :-)
17:47 japhb Yeah, that I don't buy.
17:48 [Coke] moritz: you could skip instead of todo. :|
17:48 pmichaud "as fast as p5" works as long as we accept some looseness in the "as fast as" part.  Without the looseness, "as fast as" means literally "no slower than".
17:48 jnthn Faster than p5 at what? I suspect if I nail native type handling on the JVM port we may be able to beat Perl 5 at certain things. Other areas are gonna be much tougher to get close on.
17:49 pmichaud I also would like to point to my lightning talk.  Rakudo is clearly faster than p5 for a lot of OOP stuff.
17:49 PerlJam So, what's the comparative speed target we should be marketing to the world?   2x-10x is a fairly wide margin
17:49 pmichaud especially startup time.
17:49 japhb jnthn, my goal was/is to have a benchmark suite that treated <= 2x as "green", <= 10x as "yellow", and make sure for every test we through at it, our implementations aren't showing red.
17:49 jnthn japhb: That sounds much more reasonable than talking about factors in general.
17:50 moritz [Coke]: I could, yes
17:50 moritz japhb++ # full of good ideas these past few days
17:50 pmichaud http://pmthium.com/2012/09/a-rakudo-performance/   # in case the reference is needed again :)
17:51 japhb pmichaud, that was comparing against full-blown Moose, which I think is a very important comparison, but does not satisfy that part of the audience that says "I use Mo/Mouse/hand-coded OO specifically to avoid Moose startup, and you can't beat that."
17:51 japhb moritz, That was an old good idea, but thank you.  ;-)
17:51 pmichaud japhb: I'd want to see the actual performance comparison before saying "you can't beat that" though.
17:51 pmichaud because I suspect we can.  :)
17:52 japhb Oooh, I'd like to see that.  :-)
17:52 japhb But I was speaking in terms of a theoretical audience member reacting to your slide deck, not having a specific test in mind myself.
17:53 PerlJam I'd like to see a benchmark against Perl 5 "hand-coded" OOP I think.
17:53 moritz maybe once we can inline accessors (or on a platform where calls aren'
17:53 supernovus Well, P6 has a full MOP, has a "full blown Moose", it's part and parcel, so a fair comparison would be P5+Moose+MooseX::Declare+Regex​p::Grammars+Lots::More::Stuff
17:53 moritz t so slow)
17:53 pmichaud japhb: yeah, but such an audience member isn't speaking from actual measurements, just speculation.
17:53 japhb pmichaud, sure.  But remember, most people follow their gut, even when there is evidence right in front of them.
17:53 thou joined #perl6
17:53 japhb Hell, that's half or more of US politics explained in one sentence.
17:54 moritz supernovus: others argue that it's only a fair comparison if you actually use that stuff
17:54 avi_ People who complain about startup costs should consider the alternatives available to them, such as running a daemon and a lightweight client.
17:55 pmichaud right, but generic statements like "Perl 6 has slower startup than Perl 5" is just perpetuating the apples-to-oranges comparison meme.
17:55 pmichaud it's not helpful.
17:55 supernovus moritz: Possibly, but with Perl 6, the features are there, and are used by pretty much anyone who writes in Perl 6.
17:55 japhb moritz, The big mistake that people make when thinking of perl5 OO performance is assuming that people use accessors *at all*.  Almost none of the "raw perl5 OO" code I use on a daily basis does.  The OO is used in the classic sense: some data with some methods.
17:56 avi_ Java people are well aware of start up costs, and it is a very popular language as well. So imho startup cost is just a performance point one could improve in the future, but the market has spoken, java is everywhere and startup cost be damned.
17:57 jnthn avi_: Yeah, but not many people do Java one-liners ;)
17:57 avi_ mmmmmm true but imho a perl one-liner is a maintenance smell
17:57 jnthn avi_: It all depends what your use case is. If you're writing a daemon, or anything long running, startup time is, indeed, not important. :)
17:57 avi_ there's probably like a 10% chance you're going to have to script that..
17:58 japhb supernovus, pmichaud was indeed trying to do a fair apples-to-apples comparison in that slide deck.  The problem is that a lot of people are currently using oranges, and are perfectly happy with the results, and don't know why they want to start using apples just to be "fair".
17:58 tadzik you look from the wrong angle
17:58 tadzik there's not point _having_ it
17:58 tadzik you fire and forget
17:58 avi_ jnthn: oh but the point is that if you need to execute this program a lot, you can treat it as a service, like spamd for spamassassin.
17:58 not_gerd joined #perl6
17:58 supernovus Nearly all of my uses for Perl are for services that you start once, and leave running.
17:58 not_gerd o/
17:59 PacoAir joined #perl6
17:59 pmichaud japhb: I don't have a problem with people continuing to use oranges, either.  I'm not claiming our apples are good enough to supplant their oranges either.  I only have trouble with people who say "your apples aren't as good as our oranges, and are therefore unsuitable for anything."
17:59 not_gerd personally, what kills startup time for me is the parsing stage
17:59 supernovus japhb: I would say then, if they are happy with oranges, why worry about them? They can continue enjoying oranges, because apples aren't going to replace them.
17:59 FROGGS japhb: about perl6-bench, that will help, yes
18:00 supernovus pmichaud: beat me to the punch
18:00 not_gerd I've a not-too-large script where it's at 1s, and a 1k codebase where it's 7+s
18:00 japhb I use Perl for services, cronjobs, CLI tools, one-off experiments ... a full range of tasks, some of which require low latency to not be annoying, and shouldn't just be registered as services.
18:00 not_gerd the 7+s weren't so bad if there was automatic precompilation
18:00 takadonet joined #perl6
18:00 takadonet hey everyone
18:00 not_gerd but without it, user experience is worse than C++
18:02 japhb supernovus, you found the boundary of the metaphor, not of my intent.  People are interested in what Perl 6 has to offer on a wide range of subjects.  But saddling "lean and mean" perl5 with extra stuff in order to perform an apples-to-apples comparison only works on audience members already using that extra stuff.  Some of the rest want to know if Perl 6 can fill the orange niche in the market also.
18:03 PerlJam .oO( when life gives you apples and oranges ... make a fruit salad? )
18:03 japhb The pace of this conversation is at the very limit of my ability to read and respond, so I apologize if I have lost a thread someone started.
18:03 [Coke] (time on my box with some random perl5 and a semi-recent rakudo to print 1 is ~85 times slower... less than half a sec vs. 0.005s.
18:03 pmichaud japhb: we can terminate our thread; we've both said what we need to say :)
18:04 [Coke] japhb: I don't think we're targetting those users specifically.
18:04 supernovus I use Perl 5 in a lot of projects, including places where Moose is overkill. I have plenty of code using plain old bless calls, and direct calls to $object->{field}, and for those cases, that's fine. For building a large scale web application on the other hand, I prefer a bit more substance, which Perl 5 + Moose + $Preferred_Web_Framework can provide, and which I'm trying to bring to Perl 6 by contributing as many web service rela
18:04 supernovus ted libraries as I can. :-)
18:05 [Coke] (nqp is just under 20x slower)
18:05 japhb pmichaud, circling back to the very beginning of this ... how would you phrase the situation with the performance and optimization work in Rakudo, so that it is useful for outsiders, and accurate WRT all the work y'all have put in?
18:05 grondilu joined #perl6
18:06 PerlJam [Coke]: now ... if only we had some profiling tools that helped us zero-in on where the bottle necks are  :)
18:06 japhb supernovus, and good on you for that work.  :-)
18:06 pmichaud japhb: I don't want P5 to be our benchmark, so the very first sentence throws me off for the rest of the paragraph.
18:06 japhb [Coke], yes, those numbers seem about right, last time I checked.
18:07 japhb pmichaud, OK, fair enough.
18:07 PerlJam pmichaud: so what *should* be the benchmark?
18:07 perigrin does there have to be a benchmark?
18:07 pmichaud Perl 6 implementations suffer from very poor performance compared to p5 for those types of things that p5 has been extensively optimized for, and ignoring the additional capabilities that p6 brings
18:07 [Coke] nqp-jvm is at 2s, or 440x.
18:07 PerlJam perigrin: yes.
18:08 perigrin PerlJam: why? it just opens up to false comparisons ... like pmichaud just illustrated.
18:08 PerlJam perigrin: or ... people will make comparisons whether we want them to or not.  The trick is giving them a useful comparison to make.
18:08 japhb pmichaud, I agree with that statement, but was that intended as a quote to put in, or just how you're thinking about it?
18:09 japhb PerlJam, agreed
18:09 pmichaud not a quote -- just what the statement would need to say to be accurate
18:09 japhb Hmmm.
18:09 perigrin PerlJam: "Strange Game. The only way to win is not to play at all."
18:09 japhb "Shall ... We ... Play ... A ... Game?"
18:09 supernovus gotta run, back later
18:10 [Coke] benchmarks are a useful thing, even if the goal isn't to answer a fiver who is questioning whether or not they should move.
18:10 pmichaud for a quote, something like "Existing Perl 6 implementations continue to have slower startup times, execution speeds, and memory usage for many common applications."
18:10 [Coke] (our answer to that has been "it's ok, you don't have to" for some time now.)
18:10 perigrin pmichaud: "slower than desired" it's still faster than I can do it by hand :)
18:10 PerlJam perigrin: I'm not sure that quote applies.  "playing the game" here is about communication.  How do we communicate to others where Rakudo fits in their world so that they have a good framework for evaulating it?
18:11 PerlJam [Coke]: definitely!
18:11 pmichaud "However, Perl 6 has many features built-in that are currently external libraries to languages such as Perl 5, and in these areas Perl 6 implementations can be competitive."
18:12 pmichaud (could enumerate some of the features, such as full OO, grammars, gradual typing, signatures, etc.)
18:12 japhb pmichaud, updated with all but your last parenthetical comment
18:13 pmichaud "Many of the more egregious performance issues have been dealt with, and performance work in Rakudo continues at a steady pace."
18:13 perigrin PerlJam: go look at my early blog posts about Moose. I focused less on the starup times and more on the expressivity of the code for *everyday* tasks
18:13 pmichaud something like that.
18:13 spider-mario joined #perl6
18:13 perigrin and we reported the improvements we were seeing relative to Moose itself
18:13 japhb pmichaud, I wondered whether to leave that sentence in at all ... I don't want to get back to having too much in the overview paragraph that it becomes TL;DR again.
18:14 pmichaud I'm fine with omitting it.
18:14 perigrin people still trotted out benchmarks for Moose vs CAF or Class::AccessorXS or whatever
18:14 pmichaud from my perspective, the important aspects are:
18:14 perigrin and we pointed out what Moose was doing that XYZ comparison wasn't illustrating ... and worked on improving Moose in those cases.
18:14 japhb OK, just edited to make first sentence comma list more parallel.
18:14 pmichaud P6 implementations are still too slow for many common/traditional applications
18:15 pmichaud However, they can be faster in areas where p6 offers capabilities that are external libraries in other languages
18:15 PerlJam perigrin: okay.  I still think we need a good story about what they can expect from Rakudo.
18:15 lichtkind_ joined #perl6
18:15 pmichaud We're working steadily on speed improvements; significant progress has been made here and we know more is coming
18:15 japhb s/we know//?
18:16 pmichaud sure
18:16 japhb OK, trying that edit, hold on a sec
18:16 perigrin PerlJam: sure, but tying that against something arbitrary is just doing the naysayer's work for them.
18:16 perigrin what pmichaud just said is good
18:16 pmichaud also, p6 (the language) focuses on programmer productivity, expressivity, and learnability more than p5 does
18:17 perigrin "We know we're slow for common things, but we have more baked in that other languages do, and we're working on the slowness"
18:17 pmichaud indeed, whenever p5 tries to improve those latter items in a general way, its speed approaches that of perl 6 :)
18:17 perigrin heh
18:17 PerlJam "we're working on the slowness" is an unsatisfying answer when I want to know can I use it to parse a file and make some substitutions.
18:18 perigrin can someone coming from Perl5, Ruby, or python satisfyingly use it for that task?
18:19 jnthn dinner &
18:19 pmichaud PerlJam: in some sense it depends on the kinds of substitutions you're wanting to make.
18:19 not_gerd_ joined #perl6
18:19 colomon My impression is that memory usage may play a big role in the slowness?
18:19 japhb Do I keep the stuff about the status of parallelism?
18:19 pmichaud japhb: I don't know to what degree parallelism should plan in the notion of 'ready'.
18:19 timotimo maybe the world would understand perl6 better if we had (and regularly looked after) some perl6.tumblr.com thing with animated gifs and texts
18:20 japhb pmichaud, my *impression* is that several community members think so, but certainly not all.
18:20 pmichaud For some people, it's critical.  For many people (like me), I've yet to make use of any sort of parallelism in Perl (5 or 6) because my applications have never needed it.
18:20 PerlJam timotimo: like this one: http://this-plt-life.tumblr.com/post/36425​230743/when-i-read-about-perl-6-semantics
18:20 PerlJam ?
18:21 pmichaud So, if we can only consider a language to be "ready" when it has parallelism built-in, then it needs to be there.  If a language can be 'ready' without parallelism, then it may not need to be there.
18:21 pmichaud In the 20+ years I've been doing Perl programming, I've never needed its threading features.
18:21 perigrin you have however used fork I bet.
18:21 PerlJam pmichaud: whenever I've wanted parallelism in Perl 5, fork and POE and such have been "good enough"
18:22 timotimo i don't understand why he's laughing his butt off, PerlJam
18:22 japhb OK, gist updated.  How does the Performance paragraph look now?
18:22 pmichaud perigrin: I have used "fork", but I don't consider that to be language-level parallelism :)
18:22 diakopter "However, they can be faster in areas where p6 offers capabilities that are external libraries in other languages"  - which features/libraries?
18:22 neilb_ joined #perl6
18:22 PerlJam timotimo: he's happy!  :-)
18:23 pmichaud colomon: yes, memory usage plays a big role in the slowness.  I'm hoping jvm will help with that too.
18:23 colomon pmichaud: me too.
18:24 pmichaud japhb: I like this version a lot better.  Thanks.
18:24 pmichaud I have to run, alas -- bbl
18:24 japhb diakopter, perhaps we need a (separate) page that helps people understand that.
18:24 * not_gerd thinks it would help if someone actually tracked rakudo performance
18:24 japhb pmichaud, you're welcome.
18:25 not_gerd some of my project euler stuff has regressed since december
18:26 PerlJam japhb++  btw
18:26 japhb not_gerd, again, that's what I intended with perl6-bench -- it is able to check out, build, and perftest arbitrarily many versions of multiple implementations -- but I have not had tuits to really finish it up and get it to the arewefastyet.com level.
18:26 japhb PerlJam, thank you, I'm trying.  :-)
18:28 diakopter japhb: I asked the question because I didn't know of any
18:29 PerlJam .oO( isperl6readyyet.com would make a good name :)
18:29 huf .oO( isperl6readyyetreadyyet.com )
18:29 japhb diakopter, I *think* pmichaud was referring to Perl 5 there, where not just the OO, signatures, and type system, but even just the contents of List::Util etc. are all external libraries.
18:29 japhb PerlJam, I thought about that very thing last night.
18:29 masak or perl6please.com
18:30 diakopter japhb: right, I didn't know those were faster in p6
18:30 huf p6p? :)
18:30 japhb masak, that was indeed a good idea, but I think we still need an isperl6readyyet to give the overview, since html5please is more about rubber meeting road.
18:30 not_gerd .oO( p6pls, p6pies )
18:31 PerlJam I prefer pecan pie myself.
18:31 japhb diakopter, I don't want to speculate about performance I haven't personally tested.  :-)
18:31 * not_gerd only trusts lies he tells himself
18:32 japhb .oO( Lies, Damn Lies, and The Lies I Tell Myself )
18:33 japhb jnthn, is the current wording in https://gist.github.com/japhb/c51ee251868680bd01aa acceptable to you as well?
18:34 japhb masak, as a matter of fact, I'd *personally* really like to use a perl6please.com, because I really hate running into gotchas.  I'm not one that finds "working around my tools" to be all that fun.  :-/
18:36 masak *nod*
18:39 [Coke] "perl6's fine grained parallelism" - wozzat?
18:39 [Coke] (last time I asked about the spec stuff for this, I got the impression it wasn't spec'd)
18:39 timotimo well, the rough ideas for how it may be implemented some time are there, kind of :P
18:42 japhb commute &  # Will backlog in a bit; more comments welcome
18:48 colomon rn: say 1, { 1 / ((1 / $_) + 1) } ... 1/5).map({.perl}).join(', ')
18:48 p6eval rakudo ce1827: OUTPUT«[31m===[0mSORRY![​31m===[0m�Unexpected closing bracket�at /tmp/_l036ZXKe9:1�------> [32msay 1, { 1 / ((1 / $_) + 1) } ... 1/5[33m�[31m).map({.perl}).join(', ')[0m�»
18:48 p6eval ..niecza v24-28-g2a7e0fd: OUTPUT«[31m===[0mSORRY![31m​===[0m��Unexpected closing bracket at /tmp/pX9hCYmdLi line 1:�------> [32msay 1, { 1 / ((1 / $_) + 1) } ... 1/5[33m�[31m).map({.perl}).join(', ')[0m��Parse failed��»
18:48 spider-mario joined #perl6
18:48 colomon rn: say (1, { 1 / ((1 / $_) + 1) } ... 1/5).map({.perl}).join(', ')
18:48 p6eval rakudo ce1827: OUTPUT«1, 0.5, 1/3, 0.25, 0.2␤»
18:48 p6eval ..niecza v24-28-g2a7e0fd: OUTPUT«1, 0.5, <1/3>, 0.25, 0.2␤»
18:51 PacoAir joined #perl6
18:51 colomon ah
18:52 moritz rakudo doesn't auto-type stuff inside <...> yet
18:53 masak rn: say (1, { 1 / ((1 / $_) + 1) } ... 1/5)».perl.join(', ')
18:53 p6eval rakudo ce1827: OUTPUT«1, 0.5, 1/3, 0.25, 0.2␤»
18:53 p6eval ..niecza v24-28-g2a7e0fd: OUTPUT«1, 0.5, <1/3>, 0.25, 0.2␤»
18:55 uvtc joined #perl6
18:55 Moukeddar joined #perl6
18:55 ObseLeTe joined #perl6
18:56 gdey joined #perl6
18:57 * grondilu reads http://rosettacode.org/wiki/Category:Perl_6
18:57 grondilu nope, sorry
18:57 * grondilu was actualy talking about http://rosettacode.org/wiki/Include_a_file#Perl_6
18:58 grondilu is "macro include(AST $file) { slurp $file.eval }" really correct?
18:58 moritz no
18:58 * grondilu would have written:  macro include(AST $file) { slurp($file).eval }
18:59 moritz at least I think not
18:59 moritz after all $file is an AST
18:59 moritz that example treats it as a string (file name)
18:59 grondilu then macro include(AST $file) {  $file.slurp.eval }
18:59 grondilu ?
19:00 uvtc Re. the start-up time issue, I think the need for fast start-up time is lessened by having a good repl. With Perl 5, new users would edit/run edit/run edit/run their script as they go. And a long start-up time would be a pain. But I can see using a P6 repl to try more things out interactively, with new users needing to repeatedly run their script less often than with P5.
19:01 uvtc Er, hope that sentence made sence.
19:01 uvtc sense*
19:02 moritz it did
19:02 moritz but in my experience, new users often have a hard time trying out one concept in isolation
19:02 colomon but I'd argue that's only a very small lessening in the need for a fast start-up time
19:03 not_gerd grondilu: `slurp $file.eval` looks right to me
19:03 not_gerd $file is an AST containing, say, a string literal
19:03 not_gerd calling eval gives you that string, calling slurp the file contents
19:04 not_gerd assuming the return value of the macro gets inserted textually if it's a string, it should work as advertized
19:04 benabik Scala uses a lot of tricks to get around their startup time for scripts: fsc is a daemon that sits in the background waiting for compile requests.  The REPL will start it if it's not there, and I think it shuts down after inactivity.
19:05 benabik I suppose by "lots of", I mean "this one interesting one"
19:05 uvtc I think Clojure has something similar named "drip". (Have not tried it.)
19:08 masak not_gerd: also assuming that AST objects have an .eval that does the corresponding thing to Str.eval
19:08 masak not_gerd: which is a fair assumption. but not (yet) spec'd.
19:09 japhb_ joined #perl6
19:09 moritz but then it still returns whatever the .eval returns, not an AST
19:09 masak grondilu: in Rakudo, any macro that doesn't return a quasi is suspect and probably wrong.
19:09 masak moritz: oh, true.
19:10 moritz shouldn't it be something more like   macro include($file) { quasi { {{{$file}}}.slurp.eval } }  ?
19:10 * masak tries to run that in his brain
19:10 denisboyun_ joined #perl6
19:10 masak the inclusion would happen at runtime.
19:10 masak which probably isn't what you want.
19:11 * masak makes an attempt
19:11 masak macro include($file) { my $contents = $file.eval.slurp; quasi { eval $contents } }
19:12 masak note; two 'eval'. the first to eval the AST into a filename. the second to eval the included program.
19:12 masak also, the first happens at macro application. the second happens at runtime.
19:12 masak this also makes me wonder if we wouldn't like an "eval to AST" primitive.
19:13 masak I already knew that we will want the "eval from AST" primitive.
19:13 moritz I even see use case for 3 stages
19:14 timotimo may i ask what, approximately, i have missed in the last ~4 days?
19:14 moritz text -> ast -> code -> result
19:14 not_gerd masak: I assumed that returning $str from a macro would insert $str.to-ast
19:14 masak not_gerd: no, it's dirtier than that.
19:14 masak not_gerd: it inserts the *text* into the program, and parses it in context.
19:14 uvtc masak: were you and alester working on an article/blog-post? I think it came up last week ... maybe I missed it?
19:15 masak uvtc: I was away last wekk.
19:15 moritz timotimo: nqp on jvm is bootstrapped. We've been discussing how to communicate Perl 6's production readiness to a broader audience
19:15 masak uvtc: during which alester once again reminded me that he has not forgotten me.
19:15 masak week*
19:15 uvtc Ah, ok, I didn't miss it then. Thanks.
19:15 timotimo moritz: a clue how far nqpjvm is from compiling a rakudo?
19:15 masak uvtc: I'm pretty busy with $work after being back. no time for Perl 6 until next week.
19:20 ggoebel_ jnthn: curious if you are running the jvm in client mode? faster startup and smaller memory footprint at the cost of less aggressive optimization
19:26 hash_table joined #perl6
19:27 diakopter ggoebel_: the java running on p6eval says "The default VM is client."
19:27 diakopter (and it's using default)
19:38 Liz joined #perl6
19:49 cognominal joined #perl6
19:49 lichtkind an alle die sich wunderten: ich meinte den traktor http://www.native-instruments.com/de/pro​ducts/traktor/dj-software/traktor-pro-2/
19:50 * not_gerd wundert sich
19:50 masak :)
19:50 benabik joined #perl6
19:50 moritz nr: say ().pick.perl
19:50 p6eval niecza v24-28-g2a7e0fd: OUTPUT«Any␤»
19:50 p6eval ..rakudo ce1827: OUTPUT«Nil␤»
19:50 moritz TimToady: under the new specs, what is the correct behavior?
19:51 masak did any of us ever draw the connection between generating uniformly random balanced-brackets strings, and uniformly random binary trees? https://en.wikipedia.org/wiki/Random_binary_tree
19:51 masak (yes, I'm thinking about balanced brackets again. it seems to be a recurring thing my brain does.)
19:53 moritz S02 says: «There is a special value named Nil. It means "there is no value here". It is the undefined equivalent of the empty () list, except that the latter is defined and means "there are 0 arguments here".»
19:53 moritz however there was a commit "Simplify Nil semantics; never means () now" (48958abed853ecc0e2632e6f77beaf855a4afd72)
19:53 * moritz thoroughly confused
19:53 masak moritz: probably the S02 quote is fossilized.
19:54 moritz that's very unfortunate, because it seems to be the most intuitive explanation of what Nil is supposed to mean
19:54 masak yeah, I'm not sure what Nil means anymore either.
19:55 masak how does it differ, for example, from Mu? or Any?
19:55 masak how does it differ from Failure?
19:55 moritz and are there instances of Nil?
19:56 masak no, it's singletonness probably hasn't changed.
19:56 masak nr: say Nil.new === Nil.new
19:56 p6eval niecza v24-28-g2a7e0fd: OUTPUT«Unhandled exception: No value for parameter '$l' in 'infix:<===>'␤  at /home/p6eval/niecza/lib/CORE.setting line 0 (infix:<===> @ 1) ␤  at /tmp/mb26DdPwUv line 1 (mainline @ 5) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4274 (ANON @ 3) ␤  at /home/p6e…
19:56 p6eval ..rakudo ce1827: OUTPUT«True␤»
19:56 masak heh.
19:56 masak nr: say Nil.new === Nil
19:56 p6eval niecza v24-28-g2a7e0fd: OUTPUT«Unhandled exception: No value for parameter '$l' in 'infix:<===>'␤  at /home/p6eval/niecza/lib/CORE.setting line 0 (infix:<===> @ 1) ␤  at /tmp/2I8O4fzIGL line 1 (mainline @ 4) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4274 (ANON @ 3) ␤  at /home/p6e…
19:56 p6eval ..rakudo ce1827: OUTPUT«True␤»
19:57 moritz it's Nil, there is no value here!
19:57 masak :P
19:57 moritz on some level that is so consequent it's admiriable
19:57 * masak .oO( not even an empty list )
19:58 masak s/consequent/consistent/ # German false cognate?
19:58 moritz aye
19:58 * grondilu wonders if degenerate behavior could not fill an entire synopsis.
19:58 masak Swedish also.
19:58 moritz also
19:58 masak :P
19:58 moritz C<Nil.Stringy> and C<Nil.Str> fail with a resumable warning
19:58 moritz that returns a value of C<''> on resumption.
19:58 moritz is that a warn() or a fail() ?
19:59 moritz all warnings are resumable
19:59 moritz but warnings aren't returned
19:59 benabik warn() ; return '' # ?
20:00 moritz benabik: then it could just say "warns and returns ''" :-)
20:01 masak masak's law of unintended consequences: For every DWIM you design into your language, there's at least one corresponding WAT.
20:02 moritz masak++
20:03 masak the `perl -e 'print "Nancy" + 1'` on Twitter today made me think of this.
20:03 diakopter eval print "Nancy" + 1
20:03 gdey joined #perl6
20:04 masak ?eval "Nancy" + 1
20:04 moritz p5eval_: "Nancy" + 1
20:04 masak ENOBUUBOT
20:04 moritz p5eval_: eval "Nancy" + 1
20:04 masak do it locally :)
20:05 benabik perl v5.12.4: OUTPUT«nan»
20:05 masak indeed.
20:06 masak which makes a sick, nauseating kind of sense, I guess.
20:06 moritz nr: say "Inf" - 1
20:06 p6eval rakudo ce1827, niecza v24-28-g2a7e0fd: OUTPUT«Inf␤»
20:06 moritz nr: say "Infamous" - 1
20:06 p6eval rakudo ce1827: OUTPUT«Cannot convert string to number: trailing characters after number in 'Inf⏏amous' (indicated by ⏏)␤  in method Numeric at src/gen/CORE.setting:10512␤  in sub infix:<-> at src/gen/CORE.setting:2842␤  in sub infix:<-> at src/gen/CORE.setting:2842␤  in block  at /tmp/N…
20:06 p6eval ..niecza v24-28-g2a7e0fd: OUTPUT«Unhandled exception: Cannot parse number: Infamous␤  at /home/p6eval/niecza/lib/CORE.setting line 1479 (die @ 5) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3595 (ANON @ 10) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3597 (NumSyntax.str2num @ 5) ␤…
20:07 masak \o/
20:07 FROGGS nr: say "Inf1" - 1
20:07 p6eval niecza v24-28-g2a7e0fd: OUTPUT«Unhandled exception: Cannot parse number: Inf1␤  at /home/p6eval/niecza/lib/CORE.setting line 1479 (die @ 5) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3595 (ANON @ 10) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3597 (NumSyntax.str2num @ 5) ␤  at…
20:07 p6eval ..rakudo ce1827: OUTPUT«Cannot convert string to number: trailing characters after number in 'Inf⏏1' (indicated by ⏏)␤  in method Numeric at src/gen/CORE.setting:10512␤  in sub infix:<-> at src/gen/CORE.setting:2842␤  in sub infix:<-> at src/gen/CORE.setting:2842␤  in block  at /tmp/DnPWU…
20:07 FROGGS k
20:08 dalek rakudo/new-nil: af2e7e1 | moritz++ | src/core/Nil.pm:
20:08 dalek rakudo/new-nil: bring Nil more in line with newest spec
20:08 dalek rakudo/new-nil: review: https://github.com/rakudo/rakudo/commit/af2e7e1b9c
20:10 FROGGS jnthn: what I dont understand about NQPRegex(HOW), I can make an object, bin an AST to $!do using a helper method, and can then call method ALT_NFAS
20:10 FROGGS jnthn: but where is the code which calculates the NFA?
20:11 jnthn FROGGS: In NFA.pm
20:12 jnthn FROGGS: Called by Cursor.pm
20:13 * moritz supresses the urge to answer to http://www.perlmonks.org/?node_id=1021888 with "There is a well-known solution in Perl 6".
20:15 FROGGS moritz: explain the solution so they may can adopt it
20:15 gdey joined #perl6
20:15 not_gerd left #perl6
20:17 bluescreen100 joined #perl6
20:17 FROGGS jnthn: method !precompute_nfas()?
20:18 moritz I don't think "introduce signatures/parameter lists in perl 5; implement a concise syntax for it; wait 8 years until your employer uses a new enough Perl; then use it" is a helpful answer to anybody in the thread
20:18 FROGGS hehe, okay
20:18 jnthn FROGGS: That one triggers computing the at compile time so they get serialized, yes
20:19 masak moritz: the art of knowing when "solved in Perl 6!" will be exciting to people, and when it comes off as taunting :P
20:21 moritz nr: say ({}()).perl
20:21 p6eval niecza v24-28-g2a7e0fd: OUTPUT«Unhandled exception: Unable to resolve method postcircumfix:<( )> in type Hash␤  at /tmp/julBQwbdvT line 1 (mainline @ 8) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4274 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4275 (module-CORE @ 58…
20:21 p6eval ..rakudo ce1827: OUTPUT«No such method 'postcircumfix:<( )>' for invocant of type 'Hash'␤  in  at src/gen/BOOTSTRAP.pm:895␤  in any  at src/gen/BOOTSTRAP.pm:879␤  in block  at /tmp/CfjZmFLGyQ:1␤␤»
20:21 moritz nr: say ({;}()).perl
20:21 p6eval rakudo ce1827, niecza v24-28-g2a7e0fd: OUTPUT«Nil␤»
20:22 moritz is the empty block still supposed to return Nil?
20:22 moritz the spec patch only mentions that conditionals that don't execute any branches return ()
20:22 Liz_ joined #perl6
20:22 moritz nr: my $x = 0; say do { if $x { } };
20:22 p6eval rakudo ce1827, niecza v24-28-g2a7e0fd: OUTPUT«Nil␤»
20:22 shinobicl joined #perl6
20:23 moritz for performance reasons, we should make () a singleton
20:24 moritz at least for those empty branches codegen paths
20:24 moritz Parcels are immutable, so that should be OK
20:24 moritz nr: say () == ()
20:24 p6eval rakudo ce1827, niecza v24-28-g2a7e0fd: OUTPUT«True␤»
20:24 moritz nr: say () === ()
20:24 p6eval rakudo ce1827, niecza v24-28-g2a7e0fd: OUTPUT«False␤»
20:28 masak nr: say (1) === (1)
20:28 p6eval rakudo ce1827, niecza v24-28-g2a7e0fd: OUTPUT«True␤»
20:29 masak oh wait
20:29 masak nr: say (1,) === (1,)
20:29 p6eval rakudo ce1827, niecza v24-28-g2a7e0fd: OUTPUT«False␤»
20:30 Liz_ joined #perl6
20:30 dalek nqp: 30d0f65 | (Arne Skjærholt)++ | src/6model/reprs/VMArray.c:
20:30 dalek nqp: Implement at_pos_boxed in VMArray.
20:30 dalek nqp: review: https://github.com/perl6/nqp/commit/30d0f65d02
20:37 Gwyxx joined #perl6
20:38 Liz_ left #perl6
20:48 japhb_ TimToady, re: http://irclog.perlgeek.de/​perl6/2013-03-05#i_6552216 could you explain in a little more detail, or patch https://github.com/perl6/perl6-most-wanted appropriately?
20:56 shinobicl Hi. What kind of errors are catched at compile time. Can i deduce that from the message error?
20:56 jnthn Compile itme errors typically start with SORRY
20:56 shinobicl rakudo: Int $a = 'x';
20:56 p6eval rakudo ce1827: OUTPUT«[31m===[0mSORRY![31m===[0m�Two terms in a row�at /tmp/nfg7kRfMjC:1�------> [32mInt [33m�[31m$a = 'x';[0m�    expecting any of:�        postfix�        infix or meta-infix�        infix stopper�        statement end�        statement modifier�        stateme…
20:57 jnthn Like that :)
20:58 shinobicl thanks :)
21:02 moritz or you can catch the execptions (in case of doubt with 'try eval "..."'), and see if they conform to X::Comp
21:02 moritz r: try eval '1 1'; say $! ~~ X::Comp; # two terms in a row
21:03 p6eval rakudo ce1827: OUTPUT«True␤»
21:03 moritz r: try eval 'die "runtime"'; say $! ~~ X::Comp;
21:03 p6eval rakudo ce1827: OUTPUT«False␤»
21:03 * moritz can't resist showing off
21:03 dalek roast: d869702 | (Solomon Foster)++ | S03-sequence/basic.t:
21:03 dalek roast: Fix tests to conform to current Rat.perl.
21:03 dalek roast: review: https://github.com/perl6/roast/commit/d86970227b
21:03 dalek roast: dfcb7af | (Solomon Foster)++ | S05-metasyntax/litvar.t:
21:03 dalek roast: Fudge for niecza.
21:03 dalek roast: review: https://github.com/perl6/roast/commit/dfcb7af2e2
21:04 japhb_ moritz, you earned it.  :-)
21:04 jnthn r: sub foo(Int $x) { }; foo('oops')
21:04 p6eval rakudo ce1827: OUTPUT«===SORRY!===␤CHECK FAILED:␤Calling 'foo' will never work with argument types (str) (lines 1, 1)␤    Expected: :(Int $x)␤»
21:04 * jnthn can show off too :P
21:06 denisboyun__ joined #perl6
21:06 japhb_ r: ':16«f.8*:4[2]**:2<1*2**2>»/-:60[1,0]'.perl.say
21:06 p6eval rakudo ce1827: OUTPUT«":16«f.8*:4[2]**:2​<1*2**2>»/-:60[1,0]"␤»
21:06 japhb_ r: ':16«f.8*:4[2]**:2<1*2**2>»​/-:60[1,0]'.Numeric.perl.say
21:06 p6eval rakudo ce1827: OUTPUT«-62/15␤»
21:06 japhb_ Beat that.  ;-)
21:07 shinobicl what is X::Comp ?
21:07 moritz shinobicl: http://doc.perl6.org/type/X::Comp
21:08 pmichaud oooh, moritz++ achieves the coveted double-show-off :)
21:08 pmichaud X::Comp *and* perl6doc
21:09 japhb_ pmichaud, and he's *also* showing off one of mine as well.  :-)  (Though that happens to be not one of the best examples of it.)
21:09 pmichaud japhb++
21:10 japhb_ http://doc.perl6.org/images/type-graph-Real.svg has got to still be my favorite
21:11 dalek doc: 3118235 | moritz++ | lib/containers.pod:
21:11 dalek doc: documentation on containers, assignment and binding
21:11 dalek doc: review: https://github.com/perl6/doc/commit/3118235c64
21:11 japhb_ .oO( Whodathunkit?  In between all the chatting, occasionally we produce some cool stuff. )
21:13 moritz a terrifying thought :-)
21:17 * colomon is building Rakudo on his new machine...
21:18 takadonet left #perl6
21:19 clkao joined #perl6
21:19 skids joined #perl6
21:19 skids o/ what did I miss?  rakudo/jvm yet?
21:19 * pmichaud wonders if he should write "The Soul of a New Virtual Machine"....
21:20 uvtc japhb_: Hm. No "Complex" in that svg diagram.
21:21 japhb_ uvtc, that diagram is centered on Real
21:21 uvtc Oops. Right. Just realized that. :)
21:21 japhb_ You may be thinking of http://doc.perl6.org/images/type-graph-Numeric.svg
21:22 japhb_ Which, come to think of it, is also a pretty good one.
21:22 pmichaud I like that one a bit better than the Real one :)
21:22 japhb_ Funny how I would optimize the SVG generator to work well for numeric types ...  ;-)
21:32 FROGGS jnthn: https://gist.github.com/FROGGS/5094474
21:33 FROGGS nqp: https://gist.github.com/FROGGS/5094474
21:33 p6eval nqp: OUTPUT«[ 1, 0 ]␤»
21:33 FROGGS \o/
21:33 diakopter nqp-jvm: https://gist.github.com/FROGGS/5094474
21:33 p6eval nqp-jvm: OUTPUT«Lexical 'self' not found␤  in <anon>␤  in <anon>␤  in <anon>␤  in eval␤  in evalfiles␤  in command_eval␤  in command_line␤  in MAIN␤  in <anon>␤  in <anon>»
21:33 FROGGS nqp: https://gist.github.com/FROGGS/5094474
21:33 p6eval nqp: OUTPUT«[ 2, 0 ]␤»
21:34 jnthn :)
21:34 diakopter dunno what nqp-jvm is doing..
21:34 cognominal joined #perl6
21:35 FROGGS jnthn: but local testing told me that it doesnt evaluate concats for example
21:35 FROGGS if that true?
21:35 jnthn concat should work out fine
21:36 jnthn NFA handles them...if it didn't a lot wouldn't work ;)
21:36 jnthn Got an exaple where it doesn't so as you expect?
21:37 FROGGS jnthn: ya, concats are working !!
21:37 FROGGS maybe the ast was buggy or something
21:37 jnthn .oO( pain in the ast )
21:37 FROGGS nqp: https://gist.github.com/FROGGS/5094474
21:37 p6eval nqp: OUTPUT«[ 5, 3, 0 ]␤»
21:37 FROGGS jnthn: ohh yes
21:38 FROGGS jnthn: "I" still have to do the hard work after getting the fates, right?
21:40 jnthn FROGGS: yes
21:40 FROGGS k
21:40 jnthn FROGGS: Though if you know one of them is a literal then you can just go and pick it as a result right off
21:40 FROGGS damn, I almost wanted to surrender that today
21:40 jnthn it's only if it's a regex object that you're interpolating that you gotta really run it and check out the cursor that comes back
21:41 FROGGS ahh, of course, it has to match (sinced it matched already)
21:41 dalek niecza: 061b688 | (Solomon Foster)++ | test.pl:
21:41 dalek niecza: Fix tests to match current (std).
21:41 dalek niecza: review: https://github.com/sorear/niecza/commit/061b688bb8
21:41 jnthn FROGGS: Well, you may well now be third most knowledgable person in the world on Rakudo's NFAs ;)
21:42 FROGGS *g*
21:42 * pmichaud guesses he is the second.  :)
21:42 jnthn pmichaud: I like to think you're the first given you designed the thing :P
21:42 * pmichaud is feeling the effects of perl6 tuit depravation.
21:42 pmichaud er, deprivation
21:42 diakopter ha!
21:42 pmichaud something like that.
21:43 jnthn the *worst* thing about it all is that I spent, like, a few weeks looking at those things almost every day whlie doing the work to get NQP and Rakudo's grammar parsing using the LTM.
21:43 diakopter that made my day
21:43 jnthn by the end, I could read the NFAs by looking at the sequence of numbers they serialized too
21:43 pmichaud :)
21:44 pmichaud ...and that's a bad thing?  ;)
21:44 jnthn Worse, I started walking around town, seeing phone nmbers on buildings, and reading *those* as NFAs...
21:44 pmichaud oooh, that could be a Bad Thing.
21:44 * colomon 's new Linux box now has working Rakudo and Niecza installs
21:44 pmichaud OTOH, we now have a secret encryption code.
21:44 diakopter colomon: is the fan loud?
21:44 pmichaud colomon: faster? better?
21:44 pmichaud colomon: louder?  :-)
21:44 colomon the fan is incredibly loud at startup
21:44 jnthn Yeah, then I got Rakudo/NQP to work nicely with them and didn't look too much until I had to port the NFA runner to the JVM :)
21:45 colomon pmichaud: in this case, "better" would simply mean "does not shut down under a moderately heavy load".
21:45 colomon but it's got 32 gigs memory, which is 4x more than I've ever had on a machine before.
21:46 japhb_ colomon, thankfully super-quiet fans are often a cheap swap, assuming you have an open enough case and large enough fan holes.
21:46 colomon japhb_: it's just at startup, it gets quiet in about two seconds.
21:46 japhb_ nod
21:46 colomon and it will live in the basement once I've got everything I need installed on it.
21:46 japhb_ heh
21:47 FROGGS jnthn: I know what you mean, I sometimes have these "visual experiences" when walking outside in rl
21:47 colomon I'm actually installing stuff using a SSH shell from my MBP anyway.  :)
21:47 FROGGS not NFA sequences though
21:47 japhb_ .oO( Yes, I have noise-dampening insulation for my computer.  It's called "Two floors, three doors and a half a foot of fiberglass insulation and sheetrock between us."
21:48 masak jnthn: I once got so into an abstract board game that when I closed my eyes, I saw the board. when I crossed the street, I saw the board. when I watched football, I saw the board.
21:49 FROGGS It's is like "ohh, there might be treasure" when walking through a park, after playing diable II too long
21:49 FROGGS *diablo
21:49 masak yeah.
21:49 FROGGS *g*
21:49 japhb_ .oO( My brain is my ARG. )
21:50 jnthn masak: Did you get board of that after a while?
21:50 * FROGGS remembers that quake video .oO( I've got no feet, I've got no feet! )
21:50 FROGGS haha
21:50 FROGGS jnthn++
21:51 FROGGS can you board that to jvm too?
21:51 masak jnthn: no. it's still my favorite game :)
21:51 masak jnthn: the "minimax principle" is still one of the most beautiful, zen pieces of strategy I know of.
21:52 masak it goes something like "if you attack as strongly as possible, you lose. if you attack as weakly as possible (but no weaker), you may win."
21:54 benabik joined #perl6
21:57 FROGGS gnight fellows
21:58 bluescreen__ joined #perl6
22:02 colomon right, panda broken
22:07 colomon has anyone made progress figuring out the panda bug?
22:08 benabik Not enough bamboo?
22:11 bluescreen100 joined #perl6
22:14 TimToady arguably ().roll should be Nil, but ().pick is more problematic, since pick has semantics that terminate when you run out of values, so this could just be a degenerate case of asking for 1 when there are only 0 elements
22:14 donaldh joined #perl6
22:15 benabik r: (1,2,3).pick(4)
22:15 TimToady however, returning () is probably okay for that, since if you actually try to use it for a real value, you'll end up with Nil anyway
22:15 p6eval rakudo ce1827:  ( no output )
22:15 benabik r: say (1,2,3).pick(4)
22:15 p6eval rakudo ce1827: OUTPUT«2 3 1␤»
22:15 TimToady yeah, that
22:15 TimToady or we could special case .pick to be more magical than .pick(1)
22:16 TimToady if .pick just calls .roll instead, for instance, then it would automatically produce a Nil
22:16 TimToady doesn't matter much one way or the other
22:16 TimToady as for what distinguished Nil from, say, Mu...well, $x ~~ Mu is always true, and $x ~~ Nil is always false
22:17 TimToady Nil is closer to a bottom type than a top type
22:17 TimToady *guishes
22:17 masak makes sense.
22:18 japhb_ TimToady, I assume you except Mu and Nil themselves from those smartmatches?
22:19 TimToady Nil is specially excepted like Match, True, and False
22:19 TimToady Mu just naturally matches anything
22:19 TimToady and a few things that aren't Any too :)
22:19 TimToady std: 42 ~~ Nil
22:19 p6eval std 692eb4f: OUTPUT«Potential difficulties:�  Smartmatch against Nil always fails; perhaps you should use * === Nil or :!defined instead at /tmp/bHhspVEVOF line 1:�------> [32m42 ~~[33m�[31m Nil[0m�ok 00:00 42m�»
22:20 japhb_ std: Mu ~~ Nil
22:20 p6eval std 692eb4f: OUTPUT«Potential difficulties:�  Smartmatch against Nil always fails; perhaps you should use * === Nil or :!defined instead at /tmp/THaDNnRzvI line 1:�------> [32mMu ~~[33m�[31m Nil[0m�ok 00:00 42m�»
22:20 japhb_ std: Nil ~~ Mu
22:20 p6eval std 692eb4f: OUTPUT«ok 00:00 42m␤»
22:21 japhb_ r: say so Nil ~~ Mu
22:21 p6eval rakudo ce1827: OUTPUT«True␤»
22:21 TimToady smartmatch hasn't been symmetrical for years and years
22:21 japhb_ r: say so Mu ~~ Nil
22:21 p6eval rakudo ce1827: OUTPUT«False␤»
22:21 uvtc asymart-match
22:21 japhb_ TimToady, I know.  I was curious what STD had to say about that case.
22:21 TimToady r: say so Nil ~~ Nil
22:21 p6eval rakudo ce1827: OUTPUT«True␤»
22:21 TimToady that's a bu
22:21 TimToady *ug
22:21 TimToady (by new spec)
22:22 TimToady that's is, it only became a bug recently...
22:22 japhb_ .oO( Running out of bugs?  I WILL MAKE MORE. )
22:23 benabik moritz++ fixed that particular one on new-nil branch.
22:23 diakopter nwc10: heh, new java release
22:25 uvtc left #perl6
22:44 donaldh jnthn: in nqp-jvm are 4 protoregex tests expected to fail?
22:45 jnthn donaldh: No, but under what target?
22:45 jnthn selftest?
22:45 donaldh Yes
22:45 jnthn selftest was clean for me, last I knew
22:46 donaldh Okay, I'll debug. I'm on MacOS
22:46 jnthn how do they fail, ooc?
22:51 donaldh jnthn: not ok 3 - successful protoregex match
22:51 donaldh 3,4,6,7
22:53 jnthn hm
22:53 jnthn I remember fixing that
22:54 donaldh $<symbols> appears to be an empty string
22:54 jnthn https://github.com/jnthn/nqp-jvm-prep/commi​t/005dc490dc26c8beaa9880eb65705585e1b4b88e
22:54 jnthn that was the commit that fixed it
22:55 jnthn It's possible something regressed since, but I'm surprised I didn't see it.
22:56 donaldh ah, I'm based off ce3ee72
22:56 donaldh I thought I'd fetched the latest. My mistake.
23:02 jnthn Hm. Seems the whole evening disappeared prepping for tomorrow's teaching...
23:02 jnthn ah well...sleep time
23:02 jnthn 'night o/
23:02 diakopter o/
23:03 cognominal joined #perl6
23:15 masak 'night, #perl6
23:15 diakopter o/
23:27 skids joined #perl6
23:45 Exodist joined #perl6

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

Perl 6 | Reference Documentation | Rakudo