Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2011-09-08

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:02 whiteknight pmichaud: did you see my reply to dukeleto?
00:03 pmichaud whiteknight: scanned it, but I already had my draft in place before then.  I'm thinking it's still worthwhile to state my official position.
00:03 pmichaud if you think I should look closely at your reply before replying, I can do that.
00:03 cognominal joined #perl6
00:03 whiteknight okay, I'm just pointing out that the general mood is...energetic right now, but there is hardly consensus about distancing parrot from rakudo
00:04 pmichaud agreed and understood
00:04 pmichaud I'm not taking that to be the consensus opinion at all
00:04 pmichaud rather, I see that Parrot is kind of having to decide what its consensus will be
00:04 whiteknight okay. Every body is on tilt right now. cotto's email really sent us for a bit of a loop. I want to make sure nobody makes rash decisions
00:04 pmichaud so, I wanted to weigh in with an obeservation about that, not to say "you all are making a mistake"
00:05 TimToady decommuting &
00:05 whiteknight ok
00:05 pmichaud but yes, I did note that dukeleto's comment is not at all the consensus opinion (and knew that to be the case even as I read his message :)
00:07 uasi joined #perl6
00:09 dukeleto just to reiterate, yes, my reply to cotto on parrot-dev is my personal opinion and has no official endorsement whatsoever
00:12 [Coke] diakopter: ETOOMUCHCOFFEE: EINVALIDEXCEPTION
00:15 uasi joined #perl6
00:16 tdignan joined #perl6
00:22 flussence argh... all I wanted to do is read lue++'s pod file in HTML, instead I ended up adding N<>!
00:25 dukeleto pmichaud: the reason I don't consider rpbench-results something like Is Rakudo Fast Yet is because there is no graphical representation of the data, and frankly, it is extremely hard to read the data
00:25 pmichaud dukeleto: the data exists, if anyone wants to graph it.  It definitely shows the trend.
00:28 dukeleto pmichaud: it is just my opinion, but without an automated graphical interface like http://www.arewefastyet.com , there is a big hurdle to using and interpreting the data
00:28 pmichaud dukeleto: fair enough
00:28 dukeleto pmichaud: i think the trend is obvious to you, but I have to squint very hard, as an outsider, to see the trend
00:28 pmichaud when I posted the reports to parrot-dev prior to the spring PDS, I don't know that anyone had difficulty understanding the results.
00:29 pmichaud it was pretty obvious that things weren't very rosy.
00:30 dukeleto pmichaud: perhaps it is just me. I am a very visual person. But i think tables of numbers, in general, are not nearly as elucidating as pretty graphs.
00:30 pmichaud dukeleto: that's fine, I don't disagree.
00:35 cognominal joined #perl6
00:37 odoacre joined #perl6
00:41 felher is writing 'when(condition)' without any 'given' just instead of 'if($_ ~~ condition)' considered bad style?
00:43 flussence seems fine to me
00:44 uasi joined #perl6
00:44 soh_cah_toa joined #perl6
00:45 felher good. :) thnx :)
00:46 [Coke] pmichaud: I'm happy to turn that into a graphical site.
00:46 [Coke] is the data in a repo somewhere?
00:47 [Coke] ... like, say, github? (didn't see the url before. ;)
00:47 [Coke] pmichaud: ENOREADME
00:48 pmichaud [Coke]: the data are in the logs/ subdir
00:48 pmichaud or you can just parse the files themselves for the data
00:48 pmichaud if you need a json form, I can write a script to generate that.
00:49 [Coke] I can do that. just keep making nom awesomer.
00:49 pmichaud the scripts used to produce the report are in pmichaud/rpbench on github
00:49 [Coke] forking...
00:49 pmichaud see tools/rpreport, I think
00:50 uasi joined #perl6
01:01 [Coke] pmichaud: are kiwi/orange/plum different machines?
01:03 pmichaud yes.
01:03 pmichaud all of my machines are named for fruits :)
01:03 pmichaud my router is "blueberry".  :)
01:03 jnthn is your mobile "blackberry"? :P
01:04 [Coke] all of my machines are named for beverages. I get that.
01:04 [Coke] (and to answer jnthn's next question, the router is "beverage")
01:05 [Coke] so, you have multiple kiwi runs. only the latest run should be used for graphing?
01:05 [Coke] (because you re-ran all the old benchmarks?)
01:05 tdignan I name mine after military radio equipment
01:05 tdignan HAARP, Skynet
01:06 tdignan mmmm, tasty
01:13 uasi joined #perl6
01:49 felher perl6: { $_ = 3; { $^a; when 3 { say "when" }; say "should not be displayed"; }("something"); say "should not be displayed, too"; }; say "should be displayed"
01:49 p6eval niecza v9-10-g678102e: OUTPUT«when␤should be displayed␤»
01:49 p6eval ..rakudo fc57d1: OUTPUT«when␤should not be displayed, too␤should be displayed␤»
01:49 p6eval ..pugs: OUTPUT«should not be displayed␤should not be displayed, too␤should be displayed␤»
01:49 felher niecza++
01:56 felher sleep &
01:58 packetknife joined #perl6
02:00 woosley joined #perl6
02:00 * colomon 's machines are all named after traditional musicians....
02:03 packetknife Is there a good editor or extension for existing editor that tracks Rakudo's syntax and implemented features? I found no indication in Komodo or EPIC/E..
02:05 jevin joined #perl6
02:05 pmichaud [Coke]: sorry, had to leave earlier.  The kiwi runs represent whatever I chose to run on that date.
02:06 pmichaud so yes, that involves re-running the old benchmarks.  the idea is to run the entire suite as close in time (and using identical setup) as much as possible.
02:06 pmichaud so, I don't want to pull forward the values from the previous month's benchmarking, because the underlying toolset (C compiler, kernel, libraries, etc.) might've changed in that time
02:07 pmichaud so, we re-run the entire set based on which builds (rakudo ver + parrot ver) happen to be of "interest" at that time.
02:08 [Coke] so, short answer: "yes". ;)
02:09 [Coke] I have something nearly working with flot now, with zooming. just need to put in our actual data.
02:11 pmichaud coolness.  Coke++
02:11 pmichaud yeah, short answer is "yes"  :)
02:15 * [Coke] will definitely be pulling flot into his work project. ;)
02:16 Minimiscience joined #perl6
02:22 daniel-s joined #perl6
02:25 benabik joined #perl6
02:31 Vlavv joined #perl6
02:47 packetknife OK, seems VIm has Perl 6 support.. hrmm.
02:55 packetknife Any others?
02:57 benabik packetknife: Any other editors with perl6 support?
02:57 packetknife Yes, that are keeping w/ Rakudo as it evolved preferably.
02:58 cognominal joined #perl6
02:58 [Coke] first pass: http://feather.perl6.nl/~coke/bench/html/
02:59 benabik There seems to be a fork of cperl-mode for emacs that speaks p6: https://github.com/jrockway/cp​erl-mode/tree/mxd-perl6-merge
03:02 packetknife benabik: Ty!
03:04 benabik packetknife: I'd personally suggest Vim with ft=perl6, but I
03:04 benabik 'm definatly biased.
03:05 * benabik has set the default text editor on his Mac to gVim.
03:05 packetknife benabik: I'm a VIm guy for general editing but became fond of Komodo IDE.
03:06 benabik packetknife: I still generally prefer Makefiles to IDEs, but do sometimes see the appeal.  :-D
03:08 Khisanth joined #perl6
03:08 packetknife benabik: Yes, it took three/four years to break the decades long configure/makefile habit. I might just return, you're making me reminisce.
03:08 molaf joined #perl6
03:10 [Coke] phenny: tell pmichaud first pass: http://feather.perl6.nl/~coke/bench/html/ , with stealable code at https://github.com/coke/rpbench - copy over a log file as "logs/latest.log" and run "make"
03:10 phenny [Coke]: I'll pass that on when pmichaud is around.
03:11 [Coke] dukeleto: ping?
03:16 pmichaud [Coke]++   # wow, nice work
03:16 phenny pmichaud: 03:10Z <[Coke]> tell pmichaud first pass: http://feather.perl6.nl/~coke/bench/html/ , with stealable code at https://github.com/coke/rpbench - copy over a log file as "logs/latest.log" and run "make"
03:17 [Coke] pmichaud: Nice to use some of my work skills for perl6. It's still rough, but I figure I'll go to sleep and let moritz fix it all tomorrow. ;)
03:17 pmichaud wfm
03:17 pmichaud I may grab the code back into the rpbench repo, and automatically generate the graphics when I do the reports
03:17 pmichaud then they can live in the rpbench-results repo along with the data
03:18 [Coke] fine with me, I only forked because it's easy and I didn't know how ugly it'd be.
03:18 pmichaud forking is good, it's easy to pull back and cherry pick :)
03:18 pmichaud I can also give out commitbits to the rpbench repo if anyone wants
03:19 [Coke] o/
03:19 [Coke] One thing that is broken on that for sure is the dates. I just treated "2001.04" as numeric, which is, of course, wrong. ;)
03:20 pmichaud Yeah.  Also, sometimes the labels end up being non-numeric.
03:20 pmichaud (in the reports)
03:20 pmichaud but that can be cleaned up.
03:20 [Coke] commit early.
03:20 jaldhar joined #perl6
03:23 Su-Shee_ joined #perl6
03:26 plobsing joined #perl6
03:28 sorear good * #perl6
03:29 sorear phenny: tell pmurias lib/BigInteger.cs is partially under the MSPL.
03:29 phenny sorear: I'll pass that on when pmurias is around.
03:30 JimmyZ joined #perl6
03:37 packetknife joined #perl6
03:50 Khisanth joined #perl6
03:56 dukeleto [Coke]: pong
04:04 satyavvd joined #perl6
04:09 [Coke] dukeleto: just the URL you already saw. Unping.
04:09 birdwindupbird joined #perl6
04:24 envi_laptop joined #perl6
04:27 uasi joined #perl6
04:41 thou joined #perl6
04:43 jevin joined #perl6
04:46 JimmyZ_ joined #perl6
05:03 uasi joined #perl6
05:28 sayu joined #perl6
05:35 Khisanth joined #perl6
05:38 DarthGandalf joined #perl6
05:39 Shozan joined #perl6
06:05 orafu joined #perl6
06:05 Alias_ joined #perl6
06:14 koban` joined #perl6
06:14 koban` left #perl6
06:18 masak joined #perl6
06:19 masak goedemorgen, #perl6
06:19 masak Word of the Month: "foundering" -- http://www.modernperlbooks.com/mt/​2011/09/the-right-to-be-wrong.html
06:22 masak for once, I'm not so sure I agree with chromatic's choice of words. but I understand if he feels a need to use the verb for Perl 6 when it keeps appearing as the subject of a thread about Parrot.
06:23 masak there's been cycles of activity and *despair* within the Perl 6 community, as chronicled by au++'s prophetic T-shirt.
06:24 masak but despair is not the same thing as taking in water and sinking.
06:24 moritz I also don't get the "prohibiting the other to be wrong even in small ways."
06:24 dukeleto masak: do you think we are in a valley or at a peak in the despair graph?
06:24 moritz if parrot wasn't allowed to be wrong even in small ways, there's no way we could be using it
06:25 masak moritz: chromatic is under the impression that people over in the Rakudo community keep telling Parrot not to do certain things it needs.
06:26 masak dukeleto: define "we". Perl 6, Rakudo, Parrot?
06:26 moritz dukeleto seems to have the same opinion on parrot-dev
06:26 masak dukeleto: the Perl 6 community is currently at a maximum, with the possible exception of some crazy days of the golden age :)
06:26 dukeleto masak: all of the above
06:27 sorear masak: maximum despair?
06:27 masak :P
06:27 masak maximum activity.
06:27 masak I actually think it's broader than it ever was, in terms of graph diameter.
06:27 dukeleto masak: well, i would say that parrot is in a deep valley of despair, compared to previous times
06:27 satyavvd joined #perl6
06:27 masak dukeleto: I would say so to.
06:30 masak too*
06:31 masak dukeleto: I don't believe the message from yesterday that "Parrot has no focus because Rakudo won't allow it to have a focus."
06:31 masak to me that seems like an unfair and unproductive starting point.
06:32 dukeleto masak: did I say those words?
06:32 masak chromatic did, yesterday on #parrot.
06:32 dukeleto masak: Parrot definitely has no focus, but I don't think Rakudo is to blame
06:32 masak dukeleto: you replied to him with "I agree".
06:33 * JimmyZ doesn't think so too
06:33 masak if Parrot wants not to alienate Rakudo devs, it needs to choose a better message to broadcast.
06:33 dukeleto masak: parrot has fewer dev resources than perl 6
06:33 moritz dukeleto: I doubt that
06:34 dukeleto moritz: really?
06:34 moritz dukeleto: at least parrot seems to have more regular committers than rakudo
06:34 masak dukeleto: even if that's true, that's no reason for blaming Rakudo for Parrot's lack of... things.
06:34 moritz dukeleto: it might depend on how broad you define "perl 6" here though
06:34 thou joined #perl6
06:35 masak dukeleto: part of the discussion seems to be Rakudo reinventing the wheel because Parrot's wheel didn't fit. I think any *resolution* to the disagreements needs to acknowledge that this was necessary to get Rakudo to where it is today.
06:35 masak because Parrot didn't provide what Rakudo needed.
06:35 dukeleto masak: i hacked on Rakudo and the perl 6 test suite before I ever touched parrot.
06:35 masak (and maybe it couldn't at the time)
06:35 masak dukeleto: ok, nice to hear.
06:36 moritz and fwiw, parrot has in the past actively de-perlized features in the hope to attracked non-perl HLL devs
06:36 masak dukeleto: I'm not putting you in one camp or another. I'm trying to reply to your question. (in a roundabout way, admittedly)
06:36 moritz (and not just features, also infrastructure)
06:36 dukeleto masak: i have written tests in the rakudo core test suite, and wrote the first implementation of roots(). I love Perl 6 and Rakudo and want them to succeed. I consider myself a Rakudo developer, sans commit bit.
06:37 masak dukeleto: I'm not questioning your loyalty to Perl 6 or Rakudo.
06:37 dukeleto masak: i had to say hard things about parrot, that happened to involve rakudo. Most of my email was intended for parrot devs. I wasn't trying to disrepect any perl 6 or rakudo devs
06:37 masak dukeleto: I haven't met you, but you seem like a nice person.
06:38 masak dukeleto: I haven't felt any disrespect from you.
06:38 masak or from any Parrot dev, for that matter.
06:38 masak I'm in *disagreement* over some things that chromatic have written.
06:38 sorear I do not beleive there are any genuinely not-nice people on the greater-Perl 6 or Parrot teams
06:39 moritz just some sometimes-hard-to-deal-with people
06:39 sorear some of them can be frustrating to work with, but no more
06:39 moritz (though they are rare too)
06:40 dukeleto masak: me and chromatic have actually talked extremely little about this stuff. We both have opinions. Sometimes, they even coincide.
06:40 masak dukeleto: nod
06:41 masak dukeleto: all I'm saying, I guess, is try not to blame Parrot's lack of focus on Rakudo too much.
06:41 masak because I don't believe that it's Rakudo that's putting a spanner in Parrot's works.
06:43 masak we're not "actively prohibiting [Parrot] to be wrong even in small ways". (again, quoting chromatic.) that's no way to talk about your main customer.
06:45 sorear masak: you're completing chromatic's vague statements in a way ey may not have intended
06:45 masak oh?
06:46 dukeleto masak: i didn't say that, nor do I agree with it. Everybody knows that chromatic is prone to hyperbole, but that is his hyperbole.
06:46 masak granted.
06:47 cotto His problem isn't that people forget what he says.
06:47 dukeleto masak: chromatic has not been present in the parrot community for many months, and all of sudden, this "tension" and a few commits from him roll in.
06:47 masak chromatic seems to have reacted very badly to the idea that Rakudo may start targeting other VMs, and he's using rhetoric and leverage to display that. that's fine.
06:47 moritz aye
06:48 masak but it will happen, and I'd prefer if we could all face that rather than going at each other's throats.
06:48 moritz and it's not a decision against parrot, it's a decision for other backends
06:48 cotto I appreciated pmichaud's frank discussion on that topic earlier today.
06:48 moritz it's not like we're going to drop parrot support or anything
06:48 moritz cotto: which channel?
06:48 moritz I might want to backlog
06:49 masak much of the blaming going on seems to stem from some unspoken (faulty) assumption that Rakudo will migrate from Parrot.
06:49 dalek niecza: 0f286c3 | sorear++ | lib/NieczaCLR.cs:
06:49 dalek niecza: Here is a draft of the CLR/C# candidate comparer
06:49 dalek niecza: review: https://github.com/sorear/niecza/commit/0f286c36e6
06:49 cotto moritz, they're all running together.  I suspect #parrot
06:49 cotto I'm almost certain it wasn't #reprap.
06:49 cotto lemme dig
06:50 moritz cotto: I'll find it, no worry
06:50 sorear I'd like to be linked.
06:51 * sorear out.
06:51 Su-Shee masak: everybody thinks that. thanks to plenty of very fuzzy postings and no clear communication, literally everyone I know thinks that rakudo kicks parrot. either you make _very clear where rakudo is going or people will continue to believe that.
06:51 Su-Shee there's a _ missing.
06:52 samlh left #perl6
06:53 Sivasakthikumar joined #perl6
06:54 Sivasakthikumar Hi
06:54 * moritz can't remember seeing a single blog post or comparable thing that implies that rakudo is going to ditch parrot
06:54 moritz hi Sivasakthikumar
06:54 dukeleto masak: so i just want to reiterate that my stance is that parrot currently lacks focus, and that is not rakudo's fault. That is squarely parrot's fault
06:54 moritz I for one have been very careful to include that in all of my explanations on that matter, and pmichaud has been too
06:54 Sivasakthikumar i am new in perl6 ... i want to install perl6 in my desktop
06:55 Sivasakthikumar can u help me ?
06:55 moritz of course there's always room for misunderstanding
06:55 moritz Sivasakthikumar: sure
06:55 dukeleto Sivasakthikumar: you want to download a Rakudo Star release, most probably
06:55 Sivasakthikumar Yes i done that ...
06:55 dukeleto Sivasakthikumar: one thing to note, is that is only one kind of flavor of perl 6. There are many.
06:56 Sivasakthikumar i am using windows xp .. i installed rakudo-star.2010.07.msi
06:56 Su-Shee moritz: I read one for example by pmichaud and asked afterwards here very carefully, because it very much sounded to me like "abandoning parrot" - what do you think will people have in their heads who don't ask here for clarification?
06:57 moritz Su-Shee: please use https://github.com/downloads/rakud​o/star/rakudo-star-2011.04.v2.exe the 2010.07 version is very old
06:57 moritz sorry, meant Sivasakthikumar
06:57 moritz Su-Shee: that's unfortunate
06:57 Su-Shee moritz: will do, I used rakudo 07.2011 ;)
06:57 Sivasakthikumar Ok ..i will try
06:58 pmichaud I find it very difficult to talk about the possibility of other backends without it also being assumed that we're abandoning parrot.
06:58 Sivasakthikumar Ok ... then what the next steps
06:58 moritz Sivasakthikumar: run the .exe file
06:59 cotto moritz and sorear: http://irclog.perlgeek.de/p​arrot/2011-09-07#i_4389501 (pmichaud talking about Rakudo on other VMs)
06:59 Sivasakthikumar Rakudo - star  is a complier
06:59 masak dukeleto: to finish the reply to your question, I felt that Rakudo had some respectable speed around the release of Rakudo Star, but the last month or so has definitely seen some slowing down. it's a bit bus-number-related.
06:59 Sivasakthikumar Rakudo - star  is a complier rt
07:00 dukeleto masak: also, parrot has just about no performance testing. http://isparrotfastyet.com has a lot of potential, tho
07:00 masak Sivasakthikumar: it's a distribution of the Rakudo compiler, yes.
07:00 Su-Shee it's very simple, many people don't read the channel or the mailinglist but an article here and there and make up their own thoughts. also, maybe some people might even like the idea.
07:01 dukeleto Su-Shee: might not like what idea?
07:01 masak dukeleto: oh! when I said "slowing down", I meant dev activity and some nebulous general enthusiasm metric.
07:01 dukeleto masak: ah, i misinterpretted
07:01 Su-Shee dukeleto: might like the idea of rakudo without parrot. others surely don't.
07:01 masak dukeleto: mind, there are promising things going on with Rakudo, they're just not materializing fast enough.
07:02 masak dukeleto: due to a lot of protective hand-waving lately, Rakudo doesn't have a master branch. :/
07:02 pmichaud well, we *do*, but it's going away :)
07:02 masak right.
07:03 dukeleto Su-Shee: all said was that parrot needs to operate on the fact that rakudo *might* port away from parrot. That is mostly so parrot can strive to make a shiny product that is not rakudo, because that is really a shiny language to make shiny products once removed
07:03 Sivasakthikumar Yes .. i installed successfully rakudo-star-2011.04.exe
07:03 Sivasakthikumar What next ?
07:03 pmichaud ...read the README?  ;-)
07:03 pmichaud nah, that never works :)
07:04 cotto write an entry to masak's animal farm game?
07:04 cotto er, masak++'s
07:04 cotto ;)
07:05 masak someone is *yet* to present an AI! it's a disgrace! :)
07:05 Sivasakthikumar Moritz  Help me the next step
07:05 Su-Shee dukeleto: hey, I'm just a bystander reading along, I basically honestly give a shit on what rakudo runs as long as I get it. :) I'm just trying to explain why people think rakudo is going to abandon parrot.
07:05 cotto masak, so if I wrote one that acted randomly, it could win?
07:06 pmichaud cotto: by definition, I think it's guaranteed to win at least once given an infinite number of games :)
07:06 moritz Sivasakthikumar: next step after what? after succeful installation?
07:06 masak cotto: as a trial, I wrote one that did the simplest thing I could think of. it won against one that did nothing. :)
07:07 Sivasakthikumar Yes .. Any documentation
07:07 Sivasakthikumar Any help documents
07:07 JimmyZ per6.org
07:07 JimmyZ perl6.org
07:07 Sivasakthikumar Ok
07:07 moritz Sivasakthikumar: http://perl6.org/documentation/ has lots of pointers to general Perl 6 docuemntation
07:07 Sivasakthikumar Ok ...
07:08 masak Sivasakthikumar: also, feel free to ask here. we have an evalbot and we're very friendly.
07:10 Sivasakthikumar How can i compile perl5 programes here
07:10 masak rakudo: say "hello Sivasakthikumar!"
07:10 p6eval rakudo fc57d1: OUTPUT«hello Sivasakthikumar!␤»
07:11 Sivasakthikumar Yes .. For example .... Test.pl   >   In perl 5 ... perl test.pl ... rt
07:11 Sivasakthikumar Can i run multiple statements here ?
07:12 moritz rakudo: say 1; say 2;
07:12 p6eval rakudo fc57d1: OUTPUT«1␤2␤»
07:12 moritz rakudo only supports Perl 6 programs, not Perl 5
07:12 Sivasakthikumar Ok ...
07:12 MayDaniel joined #perl6
07:12 mberends Sivasakthikumar: you have a "perl6.exe" on your computer. Find it.
07:12 mberends morning #perl6, btw
07:13 Sivasakthikumar Yes .. i founded perl6.exe
07:14 Sivasakthikumar Where i can see perl6 updates for every day ?
07:14 Sivasakthikumar One More General questions  abt perl 6 release ?
07:14 Sivasakthikumar Any one have idea what is the perl6 release date ?
07:15 mberends Sivasakthikumar: it all appears randomly in this IRC channel
07:16 Sivasakthikumar ok
07:16 Sivasakthikumar Thanks for every one ..
07:16 mberends Sivasakthikumar: there are work-in-progress releases about once a month
07:17 Sivasakthikumar Ok ... Where i can see the updates for that release
07:17 Sivasakthikumar i am very new in perl6 ... sorry for my stupid questions
07:17 Sivasakthikumar i love to learn perl6 ..
07:17 sasy joined #perl6
07:18 mberends Sivasakthikumar: that's ok, your questions will rapidly become smarter :)
07:18 pernatiy joined #perl6
07:18 Sivasakthikumar Ok ..
07:19 mberends new releases will appear in the Downloads part of https://github.com/rakudo/rakudo but the next one is a few weeks away
07:19 Sivasakthikumar Ok cool ..
07:20 mberends It will help your use of Rakudo if you add the directory where perl6.exe lives to your PATH
07:20 Sivasakthikumar this is only running for perl6 statements ...
07:21 mberends no, also perl 6 script files
07:21 Sivasakthikumar Ok ... How can i start the programs in perl 6
07:22 mberends you should get a command like this to work: perl6 myscriptfile.pl6
07:22 Sivasakthikumar Can i save pg_name . pl and run using
07:22 Sivasakthikumar Ok got it
07:22 Sivasakthikumar pl6 for extension
07:23 mberends .pl6 is not compulsory, but useful to avoid confusion
07:23 Sivasakthikumar Ok ..
07:24 Sivasakthikumar So it's similer to perl5
07:24 Sivasakthikumar for execution and all
07:24 mberends of course, it's still perl! but different in many details.
07:25 Sivasakthikumar Yes ...
07:25 mberends you should keep your own scripts in separate directories, because it's quite common to completely reinstall Rakudo (with an update for example)
07:26 dukeleto Sivasakthikumar: you may want to checkout http://modules.perl6.org
07:27 Sivasakthikumar Ok thanks for info
07:28 Sivasakthikumar mberends :  Ok i will create the sample scripts in diff directories
07:28 mberends Sivasakthikumar: :-)
07:28 Sivasakthikumar Ok
07:29 mj41 joined #perl6
07:30 mberends Sivasakthikumar: try something quick without a script file: perl6 -e "say 1, 2, 4 ... 256"
07:31 Sivasakthikumar Ok ..
07:31 masak rakudo: .say for 1, 2, 4 ... 256
07:31 p6eval rakudo fc57d1: OUTPUT«1␤2␤4␤8␤16␤32␤64␤128␤256␤»
07:32 im2ee joined #perl6
07:32 cotto rakudo: .say for 1, 2, 6 ... 33.4
07:32 p6eval rakudo fc57d1: OUTPUT«Attempt to return from exhausted Routine␤  in sub EXHAUST at src/gen/CORE.setting:427␤  in sub coro at src/gen/CORE.setting:3733␤  in method reify at src/gen/CORE.setting:3703␤  in method reify at src/gen/CORE.setting:3507␤  in method reify at src/gen/CORE.setting:…
07:32 JimmyZ rakudo: .say for 1, 2, 11 ... 256
07:32 p6eval rakudo fc57d1: OUTPUT«Attempt to return from exhausted Routine␤  in sub EXHAUST at src/gen/CORE.setting:427␤  in sub coro at src/gen/CORE.setting:3733␤  in method reify at src/gen/CORE.setting:3703␤  in method reify at src/gen/CORE.setting:3507␤  in method reify at src/gen/CORE.setting:…
07:32 Sivasakthikumar yes ....
07:32 cotto lulz
07:32 * masak submits rakudobug
07:32 masak cotto++
07:33 Sivasakthikumar ... => is new operator in perl6
07:33 Sivasakthikumar it's like a ranging oprator
07:33 mberends yes, it's called "series"
07:34 mberends there is also still .. but that is less magic
07:34 cotto masak, post that bug when you've filed it
07:34 Sivasakthikumar Ok cool ...
07:35 masak cotto: https://rt.perl.org/rt3/Ti​cket/Display.html?id=98678
07:36 masak mberends: actually, it's called "sequence" these days. "series" refers to the sum of a sequence.
07:36 Sivasakthikumar where i can see more features reg perl6
07:36 pmichaud huh
07:36 masak Sivasakthikumar: you mean learning material?
07:36 cotto has anyone gotten bus errors playing with mls' profiling code?
07:36 Sivasakthikumar yes
07:36 masak Sivasakthikumar: read http://ahmadzawawi.blogspot.com/2011/08/l​earning-perl-6-again-with-carl-masak.html
07:36 pmichaud for 1,2,6 ... 33.4 { .say }
07:37 pmichaud rakudo: for 1,2,6 ... 33.4 { .say }
07:37 p6eval rakudo fc57d1: OUTPUT«Attempt to return from exhausted Routine␤  in sub EXHAUST at src/gen/CORE.setting:427␤  in sub coro at src/gen/CORE.setting:3733␤  in method reify at src/gen/CORE.setting:3703␤  in method reify at src/gen/CORE.setting:3507␤  in method reify at src/gen/CORE.setting:…
07:37 masak Sivasakthikumar: or the Perl 6 book at https://github.com/perl6/book
07:37 moritz http://perl6.org/documentation/
07:37 pmichaud that one should be fixable.
07:37 moritz I hope so :-)
07:37 cotto I'm getting one on the setting build after making a change, but it doesn't happen every time
07:37 moritz rakudo: for 1,2,6 ... * { .say }
07:37 p6eval rakudo fc57d1: OUTPUT«1␤2␤6␤Attempt to return from exhausted Routine␤  in sub EXHAUST at src/gen/CORE.setting:427␤  in sub coro at src/gen/CORE.setting:3733␤  in method reify at src/gen/CORE.setting:3703␤  in method reify at src/gen/CORE.setting:3507␤  in method reify at src/gen/CORE.se…
07:37 cotto making a change to the profiling code, that is
07:38 pmichaud oh, I bet the problem is that it's unable to figure out the sequence.
07:38 Sivasakthikumar thanks masak
07:39 pmichaud rakudo: for 1,2,3 ... * { .say }
07:39 p6eval rakudo fc57d1: OUTPUT«(timeout)1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤11␤12␤13␤14␤1​5␤16␤17␤18␤19␤20␤21␤22␤23␤24␤25␤26␤27␤28␤29␤30␤31␤​32␤33␤34␤35␤36␤37␤38␤39␤40␤41␤42␤43␤44␤45␤46␤47␤48​␤49␤50␤51␤52␤53␤54␤55␤56␤57␤58␤59␤60␤61␤62␤63␤64␤6​5␤66␤67␤68␤69␤70␤71␤72␤73␤74␤75␤76␤77␤78␤79␤80␤81␤
07:39 pmichaud yeah, sequence fail.
07:39 cotto pmichaud, is integration with http://oeis.org/ not a core language feature?
07:39 cotto ;)
07:39 masak Sivasakthikumar: also, be fearless. ask questions, we like it :)
07:39 moritz cotto: nope, left to a module :-)
07:40 pmichaud I wonder if ... should be extensible to allow custom sequences, though :)
07:40 * moritz has a question
07:40 moritz when will Perl 6 be finished?
07:40 * moritz runs and hides
07:40 pmichaud moritz: "Seven years after Perl 5 finishes."
07:40 pmichaud that's my prediction.
07:41 cotto When will COBOL be finished?
07:41 * moritz hopes earlier
07:42 masak moritz: I finished my part Perl 6 several months ago. I'm just waiting for you other guys to finish your parts. :P
07:43 pmichaud I wonder if RT 98678 is a problem with return/fail inside of a gather.
07:43 masak oh wait here's one thing I didn't do. macros. can't be that hard, though.
07:43 pmichaud rakudo: sub xyz() { gather { take 1; return 2; take 3; } };  say xyz();
07:43 p6eval rakudo fc57d1: OUTPUT«Attempt to return from exhausted Routine␤  in sub EXHAUST at src/gen/CORE.setting:427␤  in block <anon> at /tmp/yiO7_acKn_:1␤  in sub coro at src/gen/CORE.setting:3733␤  in method reify at src/gen/CORE.setting:3703␤  in method reify at src/gen/CORE.setting:3507␤  i…
07:43 JimmyZ Perl 6 will be finished after Perl 7 is borned :)
07:43 masak so... exhausting!
07:43 pmichaud rakudo: sub xyz() { gather { take 1; fail 2; take 3; } };  say xyz();
07:43 p6eval rakudo fc57d1: OUTPUT«Attempt to return from exhausted Routine␤  in sub EXHAUST at src/gen/CORE.setting:427␤  in block <anon> at /tmp/69_SkYMqwO:1␤  in sub coro at src/gen/CORE.setting:3733␤  in method reify at src/gen/CORE.setting:3703␤  in method reify at src/gen/CORE.setting:3507␤  i…
07:43 pmichaud yup, that's the problem.
07:44 Sivasakthikumar thanks masak ...
07:45 * masak adds this to the ticket
07:45 pmichaud I wonder if this means that gather needs to trap and rethrow any return/fail exceptions.
07:45 moritz shouldn't it simply be opaque to them?
07:46 moritz erm, sorry, transparent. Not interact with them at all
07:46 pmichaud well, the GatherIter thinks there may still be more elements available.
07:47 pmichaud i.e., when the GatherIter is requested to produce another element, it returns control back to the sub
07:47 pmichaud a return/fail isn't signaling the iterator that the end of the list has been reached.  That normally occurs when the gather exits.
07:48 moritz right
07:48 pmichaud besides, what does "return" inside of a gather mean in this instance, anyway?  By the time we reach the 'return' statement, the sub has in fact already exited.
07:49 pmichaud because gather returns a lazily iterated object to the caller -- i.e., it's the list that is the result of the xyz(), not the return statement.
07:49 Sivasakthikumar What is the result for this sample :   for 100,98,96 ... 1 { .say }
07:49 pmichaud Sivasakthikumar: it will be an infinite list, counting down from 100 by 2s
07:50 moritz rakudo: for 100,98,96 ... 1 { .say }
07:50 p6eval rakudo fc57d1: OUTPUT«(timeout)»
07:50 Sivasakthikumar Yes ...
07:50 pmichaud the stop condition has to be matched exactly
07:51 moritz rakudo: for 100,98,96 ... * <= 81 { .say }
07:51 p6eval rakudo fc57d1: OUTPUT«100␤98␤96␤94␤92␤90␤88␤86␤84␤82␤80␤»
07:51 mberends Sivasakthikumar: it probably works better if you end it with a 2 or a 0
07:52 cotto Has anyone here been playing with the profiling code?
07:52 pmichaud the mls++ profiling code?
07:52 cotto pmichaud, yup
07:52 pmichaud "playing" as in "using it" or as in "modifying it"?
07:53 cotto using
07:53 pmichaud I used it a fair bit last week.  I haven't had tuits this week yet.
07:53 cotto I'm trying to figure out if I've made it less stable or if it should be expected to occasionally crash while profiling the setting build
07:53 pmichaud I never experienced a crash the times I used it.
07:53 pmichaud I used it about 5-6 times.
07:53 cotto ok
07:53 pmichaud I'm 64-bit, if that makes a difference.
07:54 cotto me too
07:55 pmichaud okay, I really need sleep here.  bbiaw
07:55 cotto 'night
07:56 moritz sleep well
07:58 masak 'night, pm
08:24 masak cotto: thinking about it, writing an AI that acted randomly will actually be (1) harder than coming up with the naive winning algorithm I came up with, and (2) possibly very interesting once the competition gets started, because it'll confuse the heck out of all the AIs trying to analyze behavior :)
08:24 cotto masak, I like where this is going
08:28 masak cotto: I have a feeling lack of clear, to-the-point, "do this", non-source-code-based documentation is the big blocker for people diving into writing AIs. I plan to fix this, possibly this weekend.
08:28 cotto proposing a random trade might be the most interesting part
08:28 masak cotto: if you decide to give it a go, let me know if you run up against any blockers.
08:28 cotto masak, certainly
08:28 masak cotto: trades are the only degree of freedom in the whole game.
08:29 masak cotto: an AI is composed of only two routines: one which proposes trades, an one which accepts/rejects them.
08:29 bonifatio joined #perl6
08:29 cotto masak, is the contest separate from masak/farm.git ?
08:32 masak in what sense?
08:32 masak tadzik and I haven't decided how/where to store AI submissions yet.
08:32 masak I'm pretty sure they will be stored somewhere publicly, though.
08:35 cotto masak, farm.git doesn't explain how to use different AIs.  istr seeing that somewhere though.
08:41 cotto I suppose it could be your sneaky way of getting contestants to read the source.
08:48 masak that's the problem -- at present, that might be the only way.
08:48 masak but I do have the lightning talk slides.
08:48 masak they outline how the AI API looks.
08:49 masak http://masak.org/carl/yapc-eu-2​011-little-animal-farm/talk.pdf
08:50 masak see slide 43 :)
08:50 dalek rakudo/nom: 0c6ec02 | (Martin Berends)++ | lib/Test.pm:
08:50 dalek rakudo/nom: [lib/Test.pm] move time recording operations as near as possible to tests
08:50 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0c6ec02787
08:51 dalek rakudo/nom: 4967c55 | (Martin Berends)++ | tools/test_summary.pl:
08:51 dalek rakudo/nom: [tools/test_summary.pl] add a --view option to report on test times
08:51 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4967c559a3
08:53 cotto If nom is the new master, should someone set the default branch on github to be nom instead of master?
08:53 * cotto sleeps
08:55 phenny joined #perl6
08:55 masak cotto: probably, yes. but master isn't gone quite yet.
08:55 phenny joined #perl6
08:59 * masak linked the lightning talk slides from https://github.com/masak/farm as a start
09:05 jferrero joined #perl6
09:17 tadzik good morning, zebry
09:17 mberends hello tadzik
09:17 pmichaud a still not asleep Pm says "good night, tadzik"  :-)
09:17 tadzik wow, you know who was on #parrot yesterday? Some guy called "panda"
09:17 tadzik it's alive! :)
09:17 mberends heh
09:18 pmichaud I'm still very proud that so many Perl module authors have chosen to add my initials to the end of their files.  :)
09:18 mberends :)
09:19 tadzik :)
09:19 tadzik you could say that you're a father of Perl modules
09:19 tadzik they keep your last name. Well, your name last
09:20 mberends pmichaud: and so many people calibrate their times to your wristwatch (7pm etc)
09:20 pmichaud I'm not much for the am/pm distinction myself.  I prefer 24 hour clocks.
09:21 tadzik me too
09:21 pmichaud I do enjoy moritz' occasional "good am, pm" though :)
09:22 masak sleep well, pm.
09:22 pmichaud moritz: ping
09:23 mberends pmichaud: if you've run tools/test_summary.pl --timing at least twice before, you can now use tools/test_summary.pl --view to browse the results
09:23 pmichaud mberends: noted, thanks.
09:26 pmichaud moritz: unping, I'm heading to sleep for a short while.  bbl.
09:28 daxim joined #perl6
09:32 woosley left #perl6
09:34 pmurias joined #perl6
09:40 pmurias joined #perl6
09:46 JimmyZ joined #perl6
09:49 pmurias joined #perl6
09:52 bbkr_ what is the proper syntax for slurpy array of hashes signature? i need method to accept foo( {1=>2}, {3=>4}, ... ), i've tried :( *@params[Hash] ) but it croaks about amount of params in sub-signature
09:52 JimmyZ array of pair?
09:53 moritz bbkr_: *@params where all(@params) ~~ Hash
09:55 xinming_ joined #perl6
09:57 bbkr_ rakudo: sub foo( *@params where { all(@params) ~~ Hash} ) { }  ; foo ( {1=>2}, {"foo"=>"bar"} );
09:57 p6eval rakudo 4967c5: OUTPUT«Constraint type check failed for parameter '@params'␤  in sub foo at /tmp/KLPC5jmxoL:1␤  in <anon> at /tmp/KLPC5jmxoL:1␤  in <anon> at /tmp/KLPC5jmxoL:1␤␤»
09:57 moritz sub foo( *@params where { all(@params) ~~ Hash} ) { }; foo()
09:57 moritz rakudo: sub foo( *@params where { all(@params) ~~ Hash} ) { }; foo()
09:57 p6eval rakudo 4967c5: OUTPUT«Constraint type check failed for parameter '@params'␤  in sub foo at /tmp/E9qCtM3YH2:1␤  in <anon> at /tmp/E9qCtM3YH2:1␤  in <anon> at /tmp/E9qCtM3YH2:1␤␤»
09:58 moritz b: sub foo( *@params where { all(@params) ~~ Hash} ) { }; foo()
09:58 p6eval b 1b7dd1: OUTPUT«Constraint type check failed for parameter '@params'␤  in 'foo' at line 22:/tmp/obSti_S7cs␤  in main program body at line 22:/tmp/obSti_S7cs␤»
09:58 jnthn >>~~<<
09:58 jnthn er, extening version
09:59 jnthn Seems neither ng or nom think that case auto-threads.
09:59 JimmyZ rakudo: sub foo( **@params  ) { say @params.perl } ; foo ( {1=>2}, {"foo"=>"bar"} );
09:59 p6eval rakudo 4967c5: OUTPUT«LoL.new(({"1" => 2}, {"foo" => "bar"}))␤»
09:59 jnthn Which maybe makes sense, or you can't write $foo ~~ Junction
09:59 moritz right
09:59 moritz b: sub foo( *@params where { all(@params).isa(Hash)} ) { }; foo()
09:59 p6eval b 1b7dd1:  ( no output )
09:59 moritz b: sub foo( *@params where { all(@params).isa(Hash)} ) { }; foo({a => 1})
09:59 p6eval b 1b7dd1: OUTPUT«Constraint type check failed for parameter '@params'␤  in 'foo' at line 22:/tmp/zuOC3FSTzP␤  in main program body at line 22:/tmp/zuOC3FSTzP␤»
10:00 moritz same problem probably
10:00 jnthn rakudo: sub foo( *@params where { all(@params).isa(Hash)} ) { }; foo({a => 1})
10:00 p6eval rakudo 4967c5: OUTPUT«Constraint type check failed for parameter '@params'␤  in sub foo at /tmp/4DV7y5WIgX:1␤  in <anon> at /tmp/4DV7y5WIgX:1␤  in <anon> at /tmp/4DV7y5WIgX:1␤␤»
10:00 jnthn hm
10:00 moritz b: sub foo( *@params where { [&&] @params.map({$_ ~~ Hash}) ) { }; foo({a => 1})
10:00 p6eval b 1b7dd1: OUTPUT«===SORRY!===␤Unable to parse blockoid, couldn't find final '}' at line 22␤»
10:00 moritz b: sub foo( *@params where { [&&] @params.map({$_ ~~ Hash}) } ) { }; foo({a => 1})
10:00 jnthn rakudo: sub foo( *@params where { @params >>~~>> Hash } ) { }; foo({a => 1})
10:01 p6eval b 1b7dd1:  ( no output )
10:01 p6eval rakudo 4967c5: OUTPUT«Cannot access attributes in a type object␤  in method pairs at src/gen/CORE.setting:4345␤  in method keys at src/gen/CORE.setting:4341␤  in sub hyper at src/gen/CORE.setting:7221␤  in block <anon> at /tmp/VLfLZtrJUP:1␤  in method ACCEPTS at src/gen/CORE.setting:104…
10:01 moritz b: sub foo( *@params where { [&&] @params.map({$_ ~~ Hash}) } ) { }; foo({a => 1}, {b => 2})
10:01 p6eval b 1b7dd1:  ( no output )
10:01 moritz nom: sub foo( *@params where { [&&] @params.map({$_ ~~ Hash}) } ) { }; foo({a => 1}, {b => 2})
10:01 moritz rakudo: sub foo( *@params where { [&&] @params.map({$_ ~~ Hash}) } ) { }; foo({a => 1}, {b => 2})
10:01 p6eval rakudo 4967c5:  ( no output )
10:01 jnthn OK, hyper is missing a :D that makes my >>~~>> not work, I think.
10:02 bbkr_ what does this magic [&&] do in signatures?
10:02 jnthn Also, all(@params>>.isa(Hash) :)
10:02 moritz bbkr_: it's just code inside a { ... } block
10:02 jnthn er, closing ) on the end
10:03 jnthn rakudo: sub foo( *@params where { all(@params>>.isa(Hash)) } ) { }; foo({a => 1})
10:03 p6eval rakudo 4967c5:  ( no output )
10:03 jnthn rakudo: sub foo( *@params where { all(@params>>.isa(Hash)) } ) { }; foo(1)
10:03 p6eval rakudo 4967c5: OUTPUT«Constraint type check failed for parameter '@params'␤  in sub foo at /tmp/NaP8PFZ6C3:1␤  in <anon> at /tmp/NaP8PFZ6C3:1␤  in <anon> at /tmp/NaP8PFZ6C3:1␤␤»
10:03 jnthn There we go.
10:03 bbkr_ awesome
10:03 bbkr_ thanks for patience in answering my lame questions :)
10:04 jnthn Though all(@params>>.ACCEPTS(Hash)) will just happen to run faster in nom.
10:04 jnthn ($foo ~~ SomeType is cheaper than $foo.isa(SomeType))
10:04 jnthn Well, probably.
10:04 jnthn :)
10:05 JimmyZ rakudo: sub foo( **@params ) { @params[0].perl.say }; foo( {1=>2}, {"foo"=>"bar"} );
10:05 p6eval rakudo 4967c5: OUTPUT«{"1" => 2}␤»
10:05 JimmyZ rakudo: sub foo( *@params ) { @params[0].perl.say }; foo( {1=>2}, {"foo"=>"bar"} );
10:05 p6eval rakudo 4967c5: OUTPUT«{"1" => 2}␤»
10:06 tadzik make  400.76s user 5.18s system 108% cpu 6:12.86 total on blead parrot
10:09 lateau_ joined #perl6
10:10 im2ee Hello :)
10:10 tadzik hello
10:12 JimmyZ left #perl6
10:12 JimmyZ joined #perl6
10:14 yves joined #perl6
10:15 im2ee tadzik, how are you? :)
10:15 tadzik pretty fine :) You?
10:15 im2ee Too. :)
10:18 plobsing joined #perl6
10:20 donri joined #perl6
10:21 lateau_ left #perl6
10:22 packetknife joined #perl6
10:22 pmurias joined #perl6
10:27 yves_ joined #perl6
10:29 Sivasakthikumar
10:30 mls hi jnthn!
10:30 mls et al ;)
10:31 tadzik hello hello
10:32 tadzik make spectest  1433.31s user 73.86s system 99% cpu 25:19.42 total
10:32 mls jnthn: not sure if you backlogged it, but we found why 'now' hands on a 32bit machine while you were on vacation
10:32 daniel-s joined #perl6
10:32 tadzik b: say (1465.13 - 1433.31) / 1465.13
10:32 p6eval b 1b7dd1: OUTPUT«0.0217182093056589␤»
10:37 mls jnthn: The Num::Rat method goes into an infinite loop, as $a/$b/$c/$d get negative because of an integer overflow
10:38 mls There's no way the current time can be represented as a Rat when numerator and denominator are 32bit ints
10:39 mls so it's pretty much unfixable with nom's current "Int == int" idea
10:51 jnthn mls: Well, we made it work somehow in master, which also had the same idea.
10:51 jnthn mls: I suspect that was by promotion to Num or some such.
10:51 colomon master has promotion to Num all over the place.
10:52 flussence are Instants specified to be consistent between different perl6 runs?
10:52 colomon in fact, almost all math is done as Num, and then converted back to Int only if it fits
10:53 Exodist joined #perl6
10:55 colomon how do you get at master in the evalbot now?
10:56 masak colomon: 'b:' for the 2011-07 release, 'rakudo:' for the nom branch.
10:57 mkramer1 joined #perl6
10:57 colomon masak++
10:57 masak colomon: that wasn't a direct reply to your question, but that's what we have.
10:57 colomon b: say 1e20.Int
10:57 p6eval b 1b7dd1: OUTPUT«-9223372036854775808␤»
10:57 colomon nom: say 1e20.Int
10:58 colomon rakudo: say 1e20.Int # old habits...
10:58 p6eval rakudo 4967c5: OUTPUT«-9223372036854775808␤»
10:58 flussence a short-term fix for 'now' might be to define Instant == 0 as the start of the script...
10:59 flussence (it'll still break for dates far from the present, but it'll work for simple timer things)
11:00 envi joined #perl6
11:01 colomon mls: do you have an example Num that causes trouble in Num.Rat?
11:18 woosley joined #perl6
11:22 Trashlord joined #perl6
11:32 cosimo joined #perl6
11:34 Psyche^ joined #perl6
11:39 moritz rakudo: say now.x
11:39 p6eval rakudo 4967c5: OUTPUT«1315482008.61476␤»
11:41 JimmyZ joined #perl6
11:43 mls colomon: any 10 digit number with some extra digit after the decimal point
11:44 mls e.g. 1315482008.61476
11:44 pernatiy joined #perl6
11:46 benabik joined #perl6
11:55 pmichaud joined #perl6
12:00 Shozan joined #perl6
12:12 lumi_ joined #perl6
12:25 im2ee How to exec system command and get output? :)
12:26 moritz qx/.../, just like in p5
12:26 moritz but please don't do it on p6eval
12:28 im2ee p6eval should be secured, it is? :)
12:28 im2ee And it should be secured agains opening files, right? :)
12:29 im2ee I won't to do it on p6eval, moritz . :)
12:29 moritz it should be. It isn't. Patches welcome :-)
12:32 im2ee You know.. Somebody can use it to destroy the machine, right? :)
12:33 moritz well, I've tried to make that a bit harder
12:33 im2ee I will start this bot on my machine, maybe i will find some bugs - and i write about it. Can I? :)
12:33 moritz there are user permissions, resource limits and a chroot involved
12:34 tadzik I'm not sure those are even bugs
12:34 im2ee moritz, great. :)
12:37 Exodist joined #perl6
12:41 im2ee tadzik, it's great too. :)
12:41 tadzik :)
12:53 wamba joined #perl6
12:53 abercrombie joined #perl6
12:54 felher Taken from S12: "any class name mentioned in a method is also considered virtual, that is, polymorphic on the actual type of the object." Could someone please give an example of what that means? :)
12:55 Holy_Cow joined #perl6
12:57 im2ee joined #perl6
12:59 felher I thought maybe it means something like:
12:59 felher perl6: class Base { class Test { method say_name() { say "base"; } }; method say_say_name() { Test.say_name(); } }; class Child is Base { class Test { method say_name() { say "Child"; } }; }; Base.say_say_name(); Child.say_say_name();
12:59 p6eval rakudo 4967c5, niecza v9-11-g0f286c3: OUTPUT«base␤base␤»
12:59 p6eval ..pugs: OUTPUT«Child␤Child␤»
13:00 Holy_Cow left #perl6
13:00 jaldhar joined #perl6
13:00 moritz I thin that "virtual class names" are a very bad idea
13:00 moritz *think
13:00 masak it was a common idea back when A12 was written.
13:00 moritz since class names are scoped lexically, and lexical scopes are static (mostly)
13:01 moritz and it would also mean you can't compute multi dispatch thingies at compile time etc.
13:01 jnthn Highly suspect it's a fossil.
13:01 jnthn Otherwise how do you do $obj.SomeParent::foo()
13:01 * moritz too
13:02 jnthn If you want the virtual thing, just say "self" :)
13:03 felher okay then. But nevertheless: what would it mean? Has it anything todo with what i said? Or am i completely off the track?
13:04 JimmyZ joined #perl6
13:04 masak felher: looks like what you wrote should work the way you think if what S12 says were actually according to spec :P
13:04 masak who will update S12 to spec?
13:05 JimmyZ you
13:05 JimmyZ 哈哈
13:05 felher masak: very well :)
13:05 felher thnx folks. :)
13:06 moritz if it's just deleting that part, I can do that.
13:07 * frettled braces.
13:07 * frettled curly braces.
13:09 frettled joined #perl6
13:09 mux joined #perl6
13:09 LoRe_ joined #perl6
13:09 lucs joined #perl6
13:09 nine joined #perl6
13:09 ruoso joined #perl6
13:09 jasonmay joined #perl6
13:09 Bucciarati joined #perl6
13:09 risou_awy joined #perl6
13:09 cotto_work joined #perl6
13:09 dukeleto joined #perl6
13:09 phenny joined #perl6
13:10 lue joined #perl6
13:10 araujo joined #perl6
13:10 dalek specs: 3e3f556 | moritz++ | S12-objects.pod:
13:10 dalek specs: [S12] remove a fossile noted by felher++
13:10 dalek specs:
13:10 dalek specs: At least I find it very unlikely that virtual class names correspond
13:10 dalek specs: to our current mindset of actually knowing some stuff at compile time.
13:10 dalek specs: review: https://github.com/perl6/specs/commit/3e3f556001
13:11 tadzik I'm glad to have anything "More suprisingly" removed :)
13:12 wooden joined #perl6
13:12 wooden joined #perl6
13:12 nebuchadnezzar joined #perl6
13:12 DarthGandalf joined #perl6
13:13 masak moritz++ # removing fossils (sans final "e")
13:14 moritz the 'e' in fossile is a fossile :-)
13:18 masak you've been working too much with fissile material :P
13:19 moritz indeed I have :-)
13:20 moritz (basically *all* material is fissile, though it sometimes takes great effort)
13:20 benabik moritz: Hydrogen?
13:21 pernatiy joined #perl6
13:21 moritz benabik: right, that was the exception I was thinking of. But I don't often work with hydrogen, and there's not much free hydrogen on earth
13:21 moritz (ok, lots in the universe. I should have been more precise :-)
13:22 benabik moritz: Lots of free hydrogen around…  If you casually drop high voltage wires in puddles, like I do.  <.<  >.>
13:23 colomon rakudo: say 1315482008.61476.Int
13:23 p6eval rakudo 4967c5: OUTPUT«1315482008␤»
13:23 literal joined #perl6
13:23 sjn joined #perl6
13:25 BinGOs joined #perl6
13:27 azm joined #perl6
13:29 jrockway joined #perl6
13:29 azm I need help
13:30 azm if ($ARGV[1] eq ") {
13:30 azm how this line should be copleted without getting an error please ?
13:31 moritz " #
13:31 moritz though in Perl 6 you'd write   if @*ARGS[1] eq '...'
13:31 moritz (and this is a Perl 6 channel)
13:34 flussence or you could write a much more readable MAIN sub...
13:35 azm I get error with: if ($ARGV[1] eq " #) {
13:35 azm this is the whole code http://pastie.org/2502783
13:35 moritz azm: that's not what I wrote
13:35 azm ah
13:36 azm instead )
13:36 moritz azm: and this is not a Perl 5 help channel. Try #perlhelp instead
13:36 azm I'm sorry
13:37 flussence actually reading the error message helps too
13:39 azm moritz,  #perlhelp does not exist
13:39 azm :/
13:39 azm still not working
13:39 tadzik maybe #perl-help then, and maybe on irc.perl.org
13:39 azm so like this : if ($ARGV[1] eq ""#) {
13:39 azm so like this : if ($ARGV[1] eq "" #) {
13:40 abercrombie why do you keep writing the wrong one?
13:40 moritz azm: the # (comment character) was just a trick of mine to complete the line, not the statement
13:40 azm abercrombie, I dont know what " # meant
13:40 moritz azm: so it was to quickly answer a question asked out of context, not as a good answer
13:41 azm ah, well
13:41 azm I posted whole code
13:41 moritz ... after my answer, yes
13:41 moritz azm: http://perldoc.perl.org/perlintro.html
13:41 azm man
13:41 azm please
13:41 azm its out of my range now
13:42 moritz just like perl 5 questions are out of #perl6 range
13:42 moritz (hint, hint)
13:42 azm I asked in perl
13:42 azm I got answer:  if you're doing @ARGV processing, use Getopt::Long and save yourself some pain.
13:42 azm which I dont know what means
13:42 masak so you came here for a different answer? :)
13:42 azm yep
13:43 moritz azm: that doesn't make it more on-topic here.
13:43 masak azm: Getopt::Long is a nice CPAN module.
13:43 azm seems like you have nothing to solve here anyway
13:43 moritz masak: core even, iirc
13:43 masak azm: if you don't know about CPAN, you should definitely take some time to learn about it. you'll thank yourself.
13:43 masak azm: what moritz++ said. core.
13:43 azm I know cpan
13:43 azm but the code should work without it
13:43 * masak should takes some time to learn about core :)
13:43 tadzik azm: how is perlintro out of your range?
13:44 masak azm: we can tell you how to process arguments in Perl 6. :)
13:44 tadzik azm: Getopt::Long is a core module
13:44 masak azm: it's really nice.
13:44 azm tadzik, Im trying to learn SEH exploitation and debugging
13:44 azm not perl
13:44 tadzik SEH?
13:44 azm but I admit its kinda script kiddie style
13:44 moritz azm: then you're wrong here anyway. We won't write the scripts for you
13:44 domidumont joined #perl6
13:44 azm moritz, havent asked for it
13:45 moritz azm: then learn perl, and fix your problems.
13:45 azm just correct mistakes
13:45 moritz correcting mistakes is 90% of a programmer's job
13:45 moritz writing the incorrect code in the first place is trivial.
13:46 azm tadzik, exception handling mechanisms
13:46 tadzik mhm
13:46 azm ok, no problem
13:46 azm I will learn perl6 when Im at it
13:46 jnthn azm: The line should be if ($ARGV[1] eq "") {. Any opening thingy in a programming language needs to having a matching closing thingy. Also, you're not going to get far if you don't learn the tools you're using properly. So I suggest investing some time to learn Perl so you can exploit SEH well. :)
13:46 masak jnthn++
13:47 azm jnthn, I tried "" still got error
13:47 azm and agree with you
13:47 masak azm: what jnthn wrote works.
13:47 tadzik ingy: nice work on Mo; if it had has (default => ()), it'd cover all my Moo uses :)
13:48 moritz the next OO system will just be called M, right? :-)
13:48 tadzik yes :)
13:50 moritz and the one after it ''
13:50 moritz that's going to be fun to write :-)
13:50 tadzik . o O ( use what's::needed )
13:50 tadzik that'd be just what/s/needed.pm :)
13:50 moritz since in p5, symbol tables are just hashes, you *can* store something with an empty name in it
13:51 jnthn nom: class A { }. A.^add_method('', method foo() { say 'heh' }); A.''()
13:51 jnthn rakudo: class A { }. A.^add_method('', method foo() { say 'heh' }); A.''()
13:51 p6eval rakudo 4967c5: OUTPUT«===SORRY!===␤Confused at line 1, near "class A { "␤»
13:51 jnthn oh, it's not pascal...
13:51 jnthn rakudo: class A { }; A.^add_method('', method foo() { say 'heh' }); A.''()
13:51 p6eval rakudo 4967c5: OUTPUT«Useless declaration of a has-scoped method in mainline␤heh␤»
13:51 moritz heh!
13:51 tadzik eek
13:51 jnthn :)
13:52 tadzik rakudo: class A { }; A.^add_method('', my method foo() { say 'heh' }); A.''()
13:52 p6eval rakudo 4967c5: OUTPUT«heh␤»
13:52 tadzik heh
13:52 moritz we used to have ''-named methods (back in b), from all those vtables
13:52 jnthn Yeah.
13:52 jnthn rakudo: Any.''()
13:52 p6eval rakudo 4967c5: OUTPUT«Method '' not found for invocant of class 'Any'␤  in <anon> at /tmp/Yp_n5zULa1:1␤  in <anon> at /tmp/Yp_n5zULa1:1␤␤»
13:52 jnthn phew :)
13:53 moritz you shouldn't look in Any but in All :-)
13:53 jnthn rakudo: All.''()
13:53 p6eval rakudo 4967c5: OUTPUT«Could not find sub &All␤  in <anon> at /tmp/vA_1n0YIfC:1␤  in <anon> at /tmp/vA_1n0YIfC:1␤␤»
13:53 tadzik rakudo: all(''()))
13:53 jnthn :P
13:53 p6eval rakudo 4967c5: OUTPUT«===SORRY!===␤Confused at line 1, near ")"␤»
13:53 tadzik rakudo: all(*.''()))
13:53 p6eval rakudo 4967c5: OUTPUT«===SORRY!===␤Confused at line 1, near ")"␤»
13:53 jnthn tadzik: one too many )
13:53 tadzik oh
13:53 tadzik rakudo: all(*.''())
13:53 p6eval rakudo 4967c5: OUTPUT«Method '' not found for invocant of class 'Whatever'␤  in <anon> at /tmp/wAQEuPwhH_:1␤  in <anon> at /tmp/wAQEuPwhH_:1␤␤»
13:54 tadzik oh, it stopped at Whatever
13:54 tadzik :)
13:54 sftp joined #perl6
13:54 benabik tadzik: Rakudo's response to your question…  "Whatever"
13:54 flussence rakudo: *.*''()
13:55 p6eval rakudo 4967c5:  ( no output )
13:56 benabik rakudo: sub del($_) { .perl.say }; del *.*
13:56 p6eval rakudo 4967c5: OUTPUT«===SORRY!===␤Confused at line 1, near "del *.*"␤»
13:56 pnu joined #perl6
13:56 benabik Ah, well.
13:57 mkramer1 left #perl6
13:58 moritz *.* just doesn't parse at a term :/
13:59 benabik rakudo: sub del($_) { .perl.say }; del *.*''()
13:59 p6eval rakudo 4967c5: OUTPUT«()␤»
14:00 flussence std: *.*''()ZXZ,???
14:00 p6eval std e3c970e: OUTPUT«Potential difficulties:â�¤  Useless use of quotes at /tmp/GqqwnsC8io line 1:â�¤------> [32m*.*''[33mâ��[31m()ZXZ,???[0mâ�¤ok 00:01 120mâ�¤Â»
14:00 moritz std: 1.''()
14:00 p6eval std e3c970e: OUTPUT«Potential difficulties:â�¤  Useless use of quotes at /tmp/pqTg2skJpa line 1:â�¤------> [32m1.''[33mâ��[31m()[0mâ�¤ok 00:01 118mâ�¤Â»
14:00 moritz TimToady: ^^ that seems bogus
14:00 benabik moritz: I just saw it in flussence's eval line and thought "I could write p6 code that makes DOS people nervous."
14:01 flussence moritz: so does the code itself, but still :)
14:01 moritz flussence: $obj.''() looks perfectly fine to me
14:01 moritz which is that part that std complained about
14:02 benabik Are we going to start obfuscated p6 contests?  Use '' for all your methods, etc?
14:02 moritz benabik: start? you're a bit behind... :-)
14:03 moritz benabik: http://perlgeek.de/blog-en/perl-6/starry-obfu.html # a p6 obfu from 2009
14:04 benabik moritz: That's…  impressive.
14:04 moritz benabik: thanks :-). Sadly it stopped working
14:04 benabik moritz: sadface
14:04 moritz due to a very sensible spec change though
14:05 moritz rakudo: say (* + *)(3)
14:05 p6eval rakudo 4967c5: OUTPUT«Not enough positional parameters passed; got 1 but expected 2␤  in whatevercode <anon> at /tmp/ub7S4SnLbW:1␤  in <anon> at /tmp/ub7S4SnLbW:1␤  in <anon> at /tmp/ub7S4SnLbW:1␤␤»
14:06 benabik moritz: It used to do 3+3?
14:06 moritz benabik: yes
14:06 benabik That would be a sensible change then.
14:11 abercrombie pwd
14:11 themunchman joined #perl6
14:11 benabik irc://irc.freenode.net/#perl6
14:11 themunchman hiya people
14:11 masak themunchman: hi!
14:12 moritz what about the bots? :-)
14:12 themunchman how is every one
14:13 themunchman any women in here
14:14 flussence geez, I can't believe chatmosphere charges three bucks a minute for this service, can you? :D
14:14 mtk joined #perl6
14:14 themunchman any women
14:15 flussence .oO( I guess people clueless enough to be using it won't be fazed by that. hm )
14:15 moritz themunchman: yes, but they are here for Perl 6, not for you :-)
14:16 themunchman sound its just i wanna chat to anyone but do prefer to talk to women
14:16 JimmyZ_ joined #perl6
14:16 masak themunchman: why?
14:16 themunchman dunno i find it easier to talk to women
14:17 masak fair enough.
14:18 themunchman i know it sounds mad coming from a lad like
14:19 JimmyZ__ joined #perl6
14:19 flussence (poor guy, he's spending money to use a mobile IRC app and they don't even tell him it's not AOL)
14:22 JimmyZ__ joined #perl6
14:23 masak oh, a blackberry user.
14:23 masak that explains a lot. :)
14:23 JimmyZ_ joined #perl6
14:24 jnthn Well, visiting #perl6 is at least a better use of a blackberry than organising riots in London... :P
14:25 JimmyZ joined #perl6
14:32 JimmyZ_ joined #perl6
14:38 * PerlJam reads lue's gist
14:40 JimmyZ_ joined #perl6
14:41 molaf joined #perl6
14:42 sorear good * #perl6
14:45 dukeleto ~~
14:47 thou joined #perl6
14:47 masak \o
14:48 flussence sorear: would you be interested in having a graph for niecza like this? https://github.com/flussence/specgraph​s/raw/c3fc570/output/rakudo-tests.png
14:49 sorear flussence: yes
14:50 tadzik ooh, it's pretty
14:53 flussence the way I'm doing it is to read the TAP archive rakudo's `make spectest_smolder` leaves in its build dir. If niecza can do the same thing (run spectests and output a TAP archive) it should be pretty easy to add...
14:53 moritz flussence: prove (1) has an --archive option
14:54 flussence well, looks doable :)
14:55 moritz sh t/run_spectests  --archive
14:55 moritz sorear++ # having enough foresight to make that trivial
14:55 moritz sh t/run_spectests  --archive <archive_name>
14:56 felher I'm (obviously) not a native english speaker so i better ask: "These are parsed as there were a space there, so ..." <--- are we missing an 'if' after 'as'?
14:57 flussence felher: good catch!
14:57 tadzik yeah
14:57 felher good.
14:57 dalek specs: a2f4fb9 | (Felix Herrmann)++ | S12-objects.pod:
14:57 dalek specs: [S12] typo fix: insert missing if
14:57 dalek specs: review: https://github.com/perl6/specs/commit/a2f4fb9ee6
14:58 moritz felher++
14:59 benabik felher: If you're catching mistakes like that, it's not so obvious.  :-)
15:01 felher benabik: thnx. :)
15:04 scottp joined #perl6
15:04 scottp joined #perl6
15:05 scottp joined #perl6
15:05 scottp joined #perl6
15:06 scottp joined #perl6
15:07 alester joined #perl6
15:07 flussence slight snag in my plan... "t/spec/S02-literals/hash-interpolation.t ...................... xargs: prove: terminated by signal 15"
15:10 jtpalmer_ joined #perl6
15:11 TimToady_ joined #perl6
15:11 pernatiy joined #perl6
15:11 tty234_ joined #perl6
15:11 hillu_ joined #perl6
15:12 betterwo1ld joined #perl6
15:13 agentzh joined #perl6
15:14 dalek rakudo/nom: a392725 | jonathan++ | src/Perl6/Actions.pm:
15:14 dalek rakudo/nom: Toss unused variables and initializations.
15:14 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a392725ec5
15:14 dalek rakudo/nom: 842c4f7 | jonathan++ | src/core/EXPORTHOW.pm:
15:14 dalek rakudo/nom: Remove workarounds; replace a bunch of PIR ops with NQP ops.
15:14 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/842c4f7955
15:14 jrockway_ joined #perl6
15:15 tlocalhos joined #perl6
15:15 moritz flussence: fwiw I built a tap archive of niezca's 'make spectest' just fine
15:16 tomaw_ joined #perl6
15:16 sorear note, it didn't always work like this
15:16 sorear if you're building your graph back into the past, things may be more fun.
15:17 moritz sed 's|^|t/spec/|' t/spectest.data | xargs prove -e 't/fudgeandrun' --archive file.tgz
15:17 moritz should do though
15:18 Sarten-X2 joined #perl6
15:19 scottp joined #perl6
15:19 scottp joined #perl6
15:20 scottp joined #perl6
15:20 scottp joined #perl6
15:23 flussence I get the same thing with that, prove gets a sigterm around S02 (at a different test file though) :/
15:23 yves_ joined #perl6
15:23 lue joined #perl6
15:23 mtk joined #perl6
15:23 JimmyZ joined #perl6
15:23 dalek rakudo/nom: 7360e33 | jonathan++ | src/Perl6/Grammar.pm:
15:23 dalek rakudo/nom: Unify EXPORTHOW handling, avoid some code duplication, make nested settings work.
15:23 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7360e33ec0
15:23 dalek rakudo/nom: 7c001ff | jonathan++ | / (3 files):
15:23 dalek rakudo/nom: Add first cut of SAFE.setting, for the benefit of p6eval. Plenty missing, but should make it clear to other interested folks how to do more.
15:23 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7c001ff636
15:23 jnthn moritz: > perl6 --setting=SAFE -e "unlink 'README'"
15:23 jnthn unlink is disallowed in safe mode
15:23 bonifatio joined #perl6
15:24 JodaZ joined #perl6
15:26 moritz jnthn++
15:28 jnthn .oO( oh noes, the .^add_fallback cat is out the bag... )
15:28 moritz I did notice that in the diff
15:29 moritz and thought "cool, I've wanted such a thing for quite some time"
15:29 jnthn Well, it's been used in traits.pm for some weeks. :)
15:29 moritz it also makes it possible to make Failure much more robust
15:29 moritz jnthn: but I didn't notice it in there :-)
15:30 jnthn I'd point out ti's not spec, but *none* of the declarative bits of the metamodel are in S12, so it's as spec as .^add_method really. :)
15:30 PerlJam .oO( Who puts cats in bags anyway? )
15:31 flussence cat burglars?
15:41 jnthn nom: sub foo(::T $x) { say T }; foo(42)
15:41 jnthn ARGH!!
15:41 jnthn rakudo: sub foo(::T $x) { say T }; foo(42)
15:41 p6eval rakudo 4967c5: OUTPUT«Int()␤»
15:42 jnthn It's going to take me weeks to stop typing "nom"...
15:42 tadzik I'll fix this
15:42 jnthn Well, I wasn't especially asking for it back...but I won't object either :)
15:42 jnthn @other may though :)
15:42 PerlJam tadzik: I'm asking for it back since jnthn is reluctant to do so  :)
15:43 moritz tadzik will fix jnthn not type 'nom:' anymore? :-)
15:43 * masak .oO( "I'll 'take care' of him" )
15:43 tadzik I'll use --setting=SAFE too
15:44 jnthn masak: o.O
15:44 jnthn :P
15:44 moritz ++tadzik
15:44 dalek evalbot: 9758de2 | tadzik++ | evalbot.pl:
15:44 dalek evalbot: Add nom as an alias for rakudo. Use SAFE.setting
15:44 dalek evalbot: review: https://github.com/perl6/evalbot/commit/9758de2f6c
15:44 tadzik evalbot control restart
15:44 p6eval joined #perl6
15:44 tadzik nom: say 1
15:45 jnthn rakudo: sub foo(::T $x) { my T $x; say $x }; foo(42)
15:45 tadzik okay, I suck at this
15:45 masak now nothing works! :/
15:45 tadzik could anyone review that?
15:45 p6eval rakudo 4967c5: OUTPUT«===SORRY!===␤Redeclaration of symbol $x at line 1, near "; say $x }"␤»
15:45 tadzik oh
15:45 tadzik rakudo: say 1
15:45 p6eval rakudo 4967c5: OUTPUT«1␤»
15:45 jnthn rakudo: sub foo(::T $x) { my T $y; say $y }; foo(42)
15:45 p6eval rakudo 4967c5: OUTPUT«Cannot call a method on type variable T␤  in find_method at src/gen/Metamodel.pm:261␤  in sub say at src/gen/CORE.setting:4624␤  in sub say at src/gen/CORE.setting:4631␤  in sub foo at /tmp/yKO37xgGyU:1␤  in <anon> at /tmp/yKO37xgGyU:1␤  in <anon> at /tmp/yKO37xgGy…
15:45 tadzik maybe it didn't pull yet
15:45 benabik tadzik: Or it didn't restart?
15:46 jnthn aha, that's the bit I hadn't done...
15:46 tadzik benabik: I've just restarted it
15:46 moritz tadzik: the next rebuild is scheduled in 4 minutes, iirc
15:46 tadzik okay
15:46 moritz evalbot rebuild nom
15:46 p6eval OK (started asynchronously)
15:46 moritz but that way it's faster :-)
15:47 tadzik that's nom, or evalbot?
15:47 moritz oh, and evalbot doesn't 'git pull' itself
15:47 moritz nom
15:47 benabik running code automatically downloaded is bad.
15:47 moritz that's what evalbot does all the time :-)
15:48 moritz dunno why I found this particular instance more disturbing than countless others
15:48 pmurias joined #perl6
15:49 tokuhirom joined #perl6
15:49 masak "p6eval: user string injection, as a bot" ;)
15:49 benabik heh.
15:49 PerlJam um ... can the "b" entry be removed in the evalbot?  Wasn't it for "safe mode" ?
15:49 jnthn masak: Did you post a roles fail earlier today? I can't find it in the backlog?
15:49 jnthn PerlJam: No, it's so we can get at the beijing release still.
15:50 PerlJam oh
15:50 moritz it has a simplistic safe mode
15:50 moritz b: open('foo', :w)
15:50 p6eval b 1b7dd1: OUTPUT«Operation not permitted in safe mode␤  in 'Safe::forbidden' at line 2:/tmp/wxGlx4xfeX␤  in main program body at line 22:/tmp/wxGlx4xfeX␤»
15:50 moritz b: pir::die('foo')
15:50 p6eval b 1b7dd1: OUTPUT«foo␤  in main program body at line 22:/tmp/FGZNwM0sbk␤»
15:50 moritz seems I didn't disable pir::
15:50 flussence IIRC ng's "safe mode" used a PIR blacklist
15:51 moritz right
15:51 moritz (as can be seen in p6eval's source)
15:52 masak jnthn: only that parametric roles aren't implemented yet.
15:52 masak it might've been yesterday.
15:53 masak yes, it was.
15:53 jnthn rakudo: role Foo[::T] { method x(T $x) { say 'ok' } }; class C does Foo[Int] { }; C.x(42); C.x('hi')
15:53 p6eval rakudo 4967c5: OUTPUT«ok␤Nominal type check failed for parameter '$x'; expected Int but got Str instead␤  in method x at /tmp/UixgPEvv0z:1␤  in <anon> at /tmp/UixgPEvv0z:1␤  in <anon> at /tmp/UixgPEvv0z:1␤␤»
15:53 jnthn That looks...kinda implemented... ;)
15:54 jnthn (I know there's some holes, just wondered which one you'd found.)
15:54 pmurias sorear: have you thought about what we would need for p5 interop in niecza?
15:54 phenny pmurias: 03:29Z <sorear> tell pmurias lib/BigInteger.cs is partially under the MSPL.
15:56 * masak decommutes
15:57 masak jnthn: http://irclog.perlgeek.de/​perl6/2011-09-07#i_4389614
15:57 jnthn oh!
15:58 jnthn Sheesh, if it's as raining as hard in Malmo as it is here, that's a pretty sucky choice of time to decommute..
15:59 jevin joined #perl6
16:02 jnthn I guess doing Moon["blue"] as a term is a runtime currying of the Moon role rather than a compile time one.
16:02 jnthn as in, folks would expect to do Moon[$x] too
16:03 jnthn rakudo: my $x = Int; role Foo[::T] { method x(T $x) { say 'ok' } }; class C does Foo[$x] { }; C.x(42); C.x('hi')
16:03 p6eval rakudo 4967c5: OUTPUT«===SORRY!===␤Cannot use '$x' as an argument to a parametric role as its value is not known at compile time at line 1, near " { }; C.x("␤»
16:03 TimToady_ you will note that "blue" is a constant, so can be constant folded, methinks
16:04 jnthn TimToady_: Oh, it could be.
16:04 jnthn TimToady_: We already can do that for the other case, iirc
16:04 TimToady_ we'll probably rely on that for my @shaped[10;10] too
16:04 jnthn TimToady_: My question is whether Foo[$x] as a term is something we attempt to resolve at compile time or runtime.
16:05 lichtkind joined #perl6
16:05 PerlJam jnthn: general case has to be runtime, doesn't it?
16:05 jnthn TimToady_: (Of course, compile time if all things are constant, runtime otherwise is possible too...)
16:05 jnthn PerlJam: I don't know, that's why I'm asking ;)
16:05 TimToady_ that's called "constant folding" :)
16:05 TimToady_ notably, roles are immutable
16:05 jnthn OK, put another way
16:06 JimmyZ_ joined #perl6
16:06 TimToady_ so it depnds only on the argument
16:06 jnthn role Foo[::T] { }; for Int, Num, Str { Foo[$_].new }
16:06 jnthn Works? Or compile time error?
16:06 TimToady_ why shouldn't it work?
16:06 TimToady_ and why shouldn't my @shaped[$x;$y] work?
16:07 jnthn Well, the argument for it not working is that types are declarationy
16:07 * PerlJam idly wonders what Foo[*] would be used for (if anything)
16:07 jnthn I consider my @shaped[$x;$y] a differnt case, tbh.
16:07 TimToady_ but types must also be elaborated at run time, and that can be parameterized
16:07 TimToady_ how is it different?
16:07 moritz PerlJam: obviously to create containers that can just hold Whatever-stars :-)
16:07 PerlJam map Foo[*].new, Int, Num, Str;   #  ?
16:08 jnthn TimToady_: how is it the same? :)
16:08 moritz PerlJam: NOOOO
16:08 moritz @array[*] doesn't autocurry either
16:09 jnthn TimToady_: Anyway, if you think it's at runtime, that's fine by me.
16:09 PerlJam moritz: well, that would be "different things different" then
16:09 moritz PerlJam: but they *look* the same
16:09 jnthn TimToady_: I could argue it as not being along the lines of "if it's a type then we should have it fully defined at declaration time", but I agree it's not in a declarational context here and so needn't be resolved so early.
16:10 jnthn er, compile time more than declaration time
16:10 * jnthn isn't communicating this too well :/
16:10 PerlJam jnthn: but types don't have to be fully defined do they?  They just need to let Perl know their names.
16:11 jnthn PerlJam: They don't, and Foo[Int] isn't really fully defined either.
16:11 TimToady_ if we don't allow parametric run-time types, then we'll end up forcing people to write evals and such
16:12 jnthn TimToady_: Very good point.
16:12 TimToady_ and I think we can reasonably rely on constant folding to tell us when we know everything we need to know at compile time
16:12 jnthn TimToady_: OK, I do it runtime-y, and I can put in a "we know this at compile time" optimization a little later too :)
16:12 jnthn Or maybe I just put it in now if it's easy.
16:13 TimToady_ of course, if the code is being *run* in a declaration (such as a use), then we still need to know the value at compile time
16:13 jnthn Yeah, that's the case in a class C does Foo[...] { ... }
16:13 TimToady_ but that's different from declarations that allow parametricity, such as shapes and role args
16:14 jnthn Do you see my @shaped[10;10] as being implemented that shape as some argument to a parametric role?
16:14 TimToady_ it seems likely to me
16:14 jnthn OK, I'd not looked at it that way before.
16:15 jnthn I like it though. :)
16:15 jnthn TimToady_++
16:15 TimToady_ \o/ for small unificaitons
16:15 TimToady_ *ti
16:16 jnthn Is there some reason my @shaped[10,10] would not work?
16:17 * jnthn checks to see if S09 says anything on the subject :)
16:18 PerlJam so, is  my @shaped[10;10];  really something like my Array[10][10] @shaped;  ?   (or, what does that look like?)
16:18 jnthn PerlJam: Not that, I dobut.
16:18 jnthn PerlJam: Maybe Array[:shape(10;10)] or some such
16:20 PerlJam I'm not sure what that means either.
16:20 PerlJam thinking of it in a role Array[T::] { ... } sense.
16:21 jnthn That works. role Array[::T, LoL :@shape] { ... }
16:21 jnthn Or some such.
16:21 jnthn Role signatures can do named args too. :)
16:23 PerlJam aye, but what would ::T be ?
16:24 TimToady_ we just try to be consistent about using ; to separate dimensions, and reserve , for separating enumerated value intended for the definition, which doesn't make sense for arrays, but does make sense for hashes
16:24 TimToady_ s/definition/dimension/
16:24 jnthn aha, ok
16:25 TimToady_ my %shaped{<a b c>} allows 3 keys in the first dimension
16:25 jnthn PerlJam: role Array[::T = Mu, LoL :@shape] { ... } is more realistic.
16:25 jnthn TimToady_: oh...we snuck in perfect hashing? :)
16:25 PerlJam jnthn: yeah, after I asked the question, I thought of about 3 things it could be :)
16:26 PerlJam though, could you elide the ::T entirely?
16:26 jnthn rakudo: role R { }; say R.HOW.archetypes.parametric
16:26 p6eval rakudo 4967c5: OUTPUT«1␤»
16:26 jnthn rakudo: class R { }; say R.HOW.archetypes.parametric
16:26 p6eval rakudo 4967c5: OUTPUT«Method 'gist' not found for invocant of class 'Undef'␤  in sub say at src/gen/CORE.setting:4631␤  in <anon> at /tmp/MawL53bCQ4:1␤  in <anon> at /tmp/MawL53bCQ4:1␤␤»
16:26 jnthn heh
16:26 TimToady_ we don't mandate perfect hashing, but it's nice if it's possible when it's possible :)
16:27 jnthn PerlJam: Not quite sure I follow.
16:27 jnthn PerlJam: We need it there for the my Int @s[10;10] case
16:27 PerlJam I guess I keep thinking of the "parameter" in parameterized roles primarly as "types", but they could be *anything*
16:27 jnthn PerlJam: Indeed.
16:28 TimToady_ types are just strange values :)
16:28 jnthn PerlJam: I find C#'s generics a bit restrictive compared to Perl 6 parametric roles now :P
16:28 uasi joined #perl6
16:29 jnthn TimToady_: Turns out that the compile time known optimization for the role args looks trivial to implement so I'll just do it now. :)
16:29 PerlJam jnthn++
16:30 TimToady_ the spec probably needs to say more about reliance on constant folding rather than arbitrary restrictions...
16:33 PerlJam "anything that can be known at compile time, should be"  :)
16:33 kaare_ joined #perl6
16:34 pmurias TimToady_: the extent to which things constant fold won't be the same across different compilers
16:35 TimToady_ it will if it's part of the spec and test suite
16:37 TimToady_ we do probably need to do a better job of declaring which routines are pure for that to work out well though
16:37 lichtkind joined #perl6
16:37 lichtkind cheers chanel
16:38 TimToady_ "pure" is badly overloaded; "stateless" is more like
16:38 lichtkind nom: (2..4)
16:38 TimToady_ maybe we need a "fun" declarator :)
16:38 lichtkind haha
16:39 lichtkind some talks were canceled so there will be more perl 6 stuff tomorrow in turino :)
16:39 pmurias TimToady_: are there a lot of places where a constant or a thing that can be constant folded is required?
16:39 lichtkind nom: say 1
16:39 jnthn lichtkind: "rakudo:" is nom branch now.
16:39 lichtkind jnthn: thanks
16:40 lichtkind rakudo: (1..5)
16:40 p6eval rakudo 4967c5:  ( no output )
16:40 lichtkind rakudo: say (1..5).WHAT
16:40 p6eval rakudo 4967c5: OUTPUT«Range()␤»
16:40 lichtkind rakudo: say @(1..5).WHAT
16:40 p6eval rakudo 4967c5: OUTPUT«List()␤»
16:40 TimToady_ pmurias: depends on how you look at it, since it's recursively defined, and you want x + y to be constant if both x and y are constant, so both those slots "require" a constant in that sense
16:41 lichtkind excuse me for spam here but since ubuntu screwed up their wlan driver i have to do my tests here in channel for tomorrow
16:41 TimToady_ the actual use may only be to optimize away the op though, so then it depends on whether you require an optimizer  :)
16:41 lichtkind rakudo: my $a = (1..5); say $a.WHAT
16:41 p6eval rakudo 4967c5: OUTPUT«Range()␤»
16:42 lichtkind rakudo: my $a = (1,5); say $a.WHAT
16:42 p6eval rakudo 4967c5: OUTPUT«Parcel()␤»
16:42 lichtkind rakudo: my $a = | (1,5); say $a.WHAT
16:42 p6eval rakudo 4967c5: OUTPUT«Could not find sub &prefix:<|>␤  in <anon> at /tmp/qF8GZJvDmy:1␤  in <anon> at /tmp/qF8GZJvDmy:1␤␤»
16:42 lichtkind rakudo: my $a = |(1,5); say $a.WHAT
16:42 p6eval rakudo 4967c5: OUTPUT«Could not find sub &prefix:<|>␤  in <anon> at /tmp/_jWPPyU6aM:1␤  in <anon> at /tmp/_jWPPyU6aM:1␤␤»
16:42 jnthn lichtkind: fwiw, you can also privmsg p6eval :)
16:42 lichtkind rakudo: my $a = ||(1,5); say $a.WHAT
16:42 p6eval rakudo 4967c5: OUTPUT«Could not find sub &prefix:<|>␤  in <anon> at /tmp/8whMv4b4pb:1␤  in <anon> at /tmp/8whMv4b4pb:1␤␤»
16:42 lichtkind jnthn++
16:42 lichtkind thanks
16:43 TimToady_ but in this case it's nice to know that prefix:<|> is missing
16:43 jnthn ooh, yes
16:43 jnthn b: my $a = ||(1,5); say $a.WHAT
16:43 p6eval b 1b7dd1: OUTPUT«Capture()␤»
16:43 flussence .oO( plzfix:<|> )
16:43 lichtkind captures are still around?
16:43 jnthn :P
16:45 jnthn lichtkind: captures aren't going anywhere :)
16:45 lichtkind :)
16:45 jnthn ...I hope! :)
16:45 lichtkind are there still built with / .... what are they now ?
16:45 lichtkind :)
16:49 lichtkind so captures are the hash context of parcels, because named args are default?
16:49 jnthn A capture has a positional part and a hash part
16:53 pmichaud good morning, #perl6
16:54 tadzik good morning pmichaud
16:56 dalek rakudo/nom: a2a5ab8 | jonathan++ | src/Perl6/Actions.pm:
16:56 dalek rakudo/nom: Implement usage of parametric roles in term position. We specialize them runtime at latest, but if all the arguments are constants (including other types) then we just resolve it once at compile time, which will be faster.
16:56 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a2a5ab896b
16:56 lichtkind jnthn: but whats the diff  from parcel?
16:57 MayDaniel joined #perl6
16:57 lichtkind tadzik: cheers
16:57 jnthn o/ pmichaud
16:57 tadzik hello lichtkind
16:57 jnthn lichtkind: parcel only has positional part
16:57 pmichaud actually, a parcel doesn't even have a positional part :)
16:57 pmichaud it's just a set of things
16:58 pmichaud if you treat a parcel as a positional, it flattens
16:58 lichtkind but it has a order
16:58 pmichaud (okay, so in that case I guess it does have a positional part... but there's some intermediate stuff there :)
16:58 lichtkind it has no iteratorß
16:58 jnthn lichtkind: Perhaps best way to think of parcel is as a runtime representation of a list of comma-sepearated things in the program.
16:58 lichtkind ß
16:59 lichtkind ?
16:59 tadzik ss
16:59 pmichaud if you iterate a parcel, it's first flattened into a List, and that's iterated
16:59 TimToady_ a parcel is list of arguments that does not yet know what context it will be used in
16:59 TimToady_ if you put a parcel in the top level of a call, it turns into capture
17:00 TimToady_ at which point pairs promote to named args
17:00 TimToady_ it's another one of those things that you hope happens at compile time most of the time :)
17:01 lichtkind :)
17:01 Reaganomicon joined #perl6
17:01 lichtkind thank you very much now i just hae to get the diff btw list and arrray
17:02 lichtkind or are the syn still valid on that?
17:02 pmichaud the syn are somewhat incorrect on that.  still my fault.
17:02 lichtkind pmichaud++ put a warning sign on some
17:02 lichtkind ah
17:02 pmichaud a list is just a sequence of items.  an array is a list of scalar containers
17:02 TimToady_ by default
17:03 tadzik jnthn: hacking on something?
17:03 jnthn tadzik: Trying to sort out parametrics a bit more.
17:03 tadzik okay
17:03 dalek rakudo/nom: c8b7c99 | jonathan++ | src/Perl6/Metamodel/ (2 files):
17:03 dalek rakudo/nom: Curried roles should be punnable and able to be passed around.
17:03 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c8b7c995d1
17:03 tadzik rakudo: https://gist.github.com/1203934
17:03 p6eval rakudo 7c001f: OUTPUT«===SORRY!===␤In "has" declaration, typename Pies::Ecosystem must be predeclared (or marked as declarative with :: prefix) at line 40, near " $.ecosyst"␤»
17:04 tadzik maybe your fixes will fix that too :)
17:04 jnthn Well, the two I just put in make masak's blue moon example from yesterday work. :)
17:04 daniel-s joined #perl6
17:06 jnthn tadzik: golfed to 5 mines. :)
17:06 jnthn er
17:06 jnthn ...5 lines.
17:06 tadzik nice :)
17:06 jnthn .oO( and it explodes... )
17:07 tadzik successful golf is successful
17:07 jnthn tadzik: oh, I think I know what's going on there.
17:07 lichtkind reading what is a parcel i woder if there is still a Seq() around?
17:07 lichtkind because there is SeqIter
17:07 lichtkind and such
17:07 jnthn lichtkind: In nom I think we don't have Seqs any more.
17:07 pmichaud at the moment, nom doesn't have a Seq, nor a SeqIter
17:08 lichtkind what its called now
17:08 pmichaud Seq comes from a time when we didn't quite understand the immutable/mutable distinctions needed for lists
17:08 lichtkind oh in tablets are still seqiter
17:08 tadzik jnthn: great :)
17:08 jnthn .oO( non-seqiter )
17:08 masak joined #perl6
17:09 lichtkind its just iter?
17:09 envi joined #perl6
17:10 JimmyZ_ joined #perl6
17:10 jnthn tadzik: I try and fix it either this evening, or tomorrow.
17:10 jnthn tadzik: Got tomorrow set aside for Perl 6 stuff...
17:11 tadzik oh cool
17:12 tadzik no hurries
17:12 lichtkind brb
17:12 jnthn Well, I really want Pes to work again, so a little hurry ;)
17:12 tadzik (:
17:12 jnthn er, Pies :)
17:12 tadzik we could automate module testing then
17:13 * jnthn tries to find his "how to implement role subtype checking" notes that he wrote on the plane to Riga...
17:16 moritz b hb vbblj - hb n  v
17:17 moritz $daughter types rather vigorously :-)
17:17 jnthn std: b hb vbblj - hb n  v
17:17 p6eval std e3c970e: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Undeclared routines:â�¤        'b' used at line 1â�¤     'hb' used at line 1,1â�¤  'n' used at line 1â�¤     'v' used at line 1â�¤     'vbblj' used at line 1â�¤Check failedâ�¤FAILED 00:01 119mâ�¤Â»
17:17 TimToady_ strong typing, you mean
17:17 jnthn Just needs to declare those routines and it's fine Perl 6 :)
17:18 TimToady_ well, vbblj could be a constant
17:18 TimToady_ so could v
17:18 TimToady_ maybe all words beginning with v are constant in her language
17:19 tadzik surely everything beginning with a Capital is a Noun :)
17:20 wamba joined #perl6
17:23 uasi joined #perl6
17:23 Chillance joined #perl6
17:23 moritz she only seems to use v\w+ words in written language though
17:24 TimToady_ so the Das of Das Capital is a noun? :P
17:24 tadzik I don't think so
17:37 jevin joined #perl6
17:50 daniel-s joined #perl6
17:54 tdignan joined #perl6
18:05 TimToady_ you can fission hydrogen too, but it takes a rather large particle accelerator to persuade quarks to decontainerize :)
18:06 TimToady_ basically, it must supply enough energy to create "consolation" quarks...
18:11 * pmichaud wonders about the quantum leap that led to that comment :)
18:14 moritz there where quite many invovled :-)
18:14 moritz *were
18:20 daniel-s joined #perl6
18:21 dalek std: bb4f150 | larry++ | STD.pm6:
18:21 dalek std: Don't call .''() useless; it's merely inadvisable
18:21 dalek std: review: https://github.com/perl6/std/commit/bb4f150f54
18:22 masak a quantum leap is generally a very, very small leap.
18:24 cotto_work thanks for quantifying that
18:25 masak twice :)
18:26 masak std: /a*+/
18:26 p6eval std e3c970e: OUTPUT«ok 00:01 119m␤»
18:27 masak std: /a*+*+/
18:27 p6eval std e3c970e: OUTPUT«[31m===[0mSORRY![31m===[0m�Quantifier quantifies nothing at /tmp/NH9jcxYkk3 line 1:�------> [32m/a*+*+[33m�[31m/[0m�Check failed�FAILED 00:01 119m�»
18:27 masak hm.
18:29 TimToady_ + is a fairly standard ratchet adverb these days
18:30 masak it is?
18:32 TimToady_ see "possessive" in perlre for instance
18:34 pmichaud I meant "quantum leap" in the sense that you don't see any intermediate steps from A to B, not in the sense that it's a large leap.  Well, it's a leap of faith that somehow something got from A to B without traveling any known points in between.  :)
18:34 pmichaud s/known/knowable/
18:34 jevin joined #perl6
18:34 TimToady_ the quantum tunnel both meets and doesn't meet in the middle of the mountain...
18:36 diakopter TimToady_: you have a _
18:36 tadzik ogon
18:36 TimToady_ hmm, so I do
18:37 masak deogonization.
18:37 ponbiki joined #perl6
18:38 TimToady no carp allowed?
18:39 masak TimToady: I know of .* and .? and .+ and .*? and .?? and .+? and .*: and .?: and .+:
18:39 masak TimToady: but I don't know of any of these "possessive" things, not in Perl 6.
18:39 diakopter that's the great thing about punrolls; you don't actually have to get the prior one to make the next one
18:39 TimToady + is just a synonym for : in STD
18:40 masak "punrolls". nice.
18:40 masak TimToady: oh!
18:40 * TimToady thinks about loo punrolling
18:41 TimToady masak: but only when used on an existing quantifier
18:41 masak TimToady: so /a*+*+/ parses as /[a*] : *+/ ?
18:42 masak (to the extent to which something that parsefails parses) :)
18:42 birdwindupbird joined #perl6
18:42 masak pmichaud: does nqp parse .*+ as .*: ?
18:42 pmichaud I don't believe it does.
18:42 pmichaud I'm not sure I ever added the '+' modifier
18:43 pmichaud let me look.
18:43 pmichaud is such a thing described in S05, ooc?
18:44 colomon ping sorear
18:45 TimToady don't think so
18:48 pmichaud yeah, looks like '+' was added post-nqp
18:48 pmichaud it shouldn't be hard to add it to nqp
18:50 masak \o/
18:56 * diakopter finally gets loo punrolling
18:58 espadrine joined #perl6
19:02 [Coke] joined #perl6
19:03 dalek specs: e638d24 | larry++ | S05-regex.pod:
19:03 dalek specs: Document possessive quantifier syntax
19:03 dalek specs: review: https://github.com/perl6/specs/commit/e638d24b7f
19:13 moritz evalbot control restart
19:13 p6eval joined #perl6
19:13 tadzik nom: say 1
19:13 p6eval nom c8b7c9: OUTPUT«"load_bytecode" couldn't find file 'SAFE.setting.pbc'␤current instr.: 'nqp;Perl6;ModuleLoader;_block1207' pc 4875 (src/gen/perl6-moduleloader.pir:16) (src/Perl6/ModuleLoader.pm:221)␤»
19:13 tadzik oh
19:14 moritz it might not install it
19:17 dalek rakudo/nom: 591c694 | moritz++ | tools/build/Makefile.in:
19:17 dalek rakudo/nom: whitespace fix in Makefile.in, GNU make really wants tab characters
19:17 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/591c6944df
19:17 jnthn I'm sure I added it to install...
19:18 moritz jnthn: see the last commit
19:18 moritz evalbot rebuild nom
19:18 p6eval OK (started asynchronously)
19:19 jnthn oh, d'oh
19:20 jnthn tssk...fussy GNU make.
19:20 bbkr joined #perl6
19:20 * jnthn tries to remember
19:21 * jnthn twiddles his editor to try and get it righter :)
19:32 im2ee Uff, i did lots of perl6s exercises :)
19:32 im2ee So, time to bed and reading books. :)
19:33 masak :)
19:33 im2ee Good night :)
19:33 masak 'n
19:33 im2ee Dobranoc masak ! :)
19:33 im2ee Do you like polish? :)
19:34 masak very much :)
19:34 im2ee Great. :)
19:34 im2ee So good night everyone :)
19:35 benabik joined #perl6
19:36 mj41 joined #perl6
19:40 dalek rakudo/nom: c34ac6e | moritz++ | src/SAFE.setting:
19:40 dalek rakudo/nom: forbid more functions in SAFE.setting
19:40 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c34ac6eac3
19:43 diakopter moritz: thanks :)
19:45 diakopter moritz: the various p6eval rebuild&etc scripts should probably be in source control somewhere
19:45 diakopter in case my vps gets wiped
19:46 diakopter or malicious code the chroot
19:47 moritz diakopter: the rebuild scripts are in source control
19:47 diakopter oh good
19:47 diakopter so I guess just the cron entries would need re-enacted
19:47 moritz and some initial setup work
19:48 moritz installing dependencies, dowloading projects
19:48 Trashlord joined #perl6
19:51 masak rakudo: role Matryoshka[] {}; role Matryoshka[::T] {}; say Matryoshka[Matryoshka[Matryoshka[Matryoshka]]]
19:51 p6eval rakudo c8b7c9: OUTPUT«"load_bytecode" couldn't find file 'SAFE.setting.pbc'␤current instr.: 'nqp;Perl6;ModuleLoader;_block1207' pc 4875 (src/gen/perl6-moduleloader.pir:16) (src/Perl6/ModuleLoader.pm:221)␤»
19:51 masak oh.
19:51 moritz evalbot rebuild nom
19:51 p6eval NOT OK (maybe a rebuild is already in progress?)
19:54 [Coke] joined #perl6
19:59 masak rakudo: are we there yet?
19:59 p6eval rakudo c34ac6: OUTPUT«===SORRY!===␤Confused at line 1, near "are we the"␤»
19:59 masak rakudo: role Matryoshka[] {}; role Matryoshka[::T] {}; say Matryoshka[Matryoshka[Matryoshka[Matryoshka]]]
19:59 p6eval rakudo c34ac6: OUTPUT«===SORRY!===␤Illegal redeclaration of role 'Matryoshka' at line 1, near "{}; say Ma"␤»
19:59 masak jnthn: no, parametric roles are definitely not back yet.
20:00 jnthn jnthn: They are, just not multiple with the same name.
20:00 jnthn wtf
20:00 jnthn masak: ^^
20:00 jnthn :)
20:00 jnthn masak: Plus various other issues listed in nommap :)
20:01 masak jnthn: I wanted to say "that kinda sucks", but I fear that might come off as overly negative... :)
20:01 masak I guess I can wait some before being able to put matryoshkas in matryoshkas.
20:01 jnthn masak: Well, you have a commit bit if you want to make it go faster :P
20:02 masak someone told me this MOP stuff is really easy.
20:02 jnthn nom: role Moon[$color] { method is() { say "The moon is $color" } }; Moon["cheese"].is
20:02 Reaganomicon joined #perl6
20:02 p6eval nom c34ac6: OUTPUT«The moon is cheese␤»
20:02 jnthn See, I fixed that one :P
20:03 masak \o/ jnthn++
20:03 masak but apparently you think cheese is a color :P
20:03 jnthn ...oh. :)
20:03 masak 哈哈
20:04 * masak queues up Richard Cheese
20:06 tadzik :P
20:06 tadzik well, while you're at it...
20:06 * tadzik queues up every song about Britney
20:06 masak ooh
20:06 jnthn Spears?
20:06 masak jnthn: c'mon, you heard those in Riga!
20:07 jnthn I can only remember...telephone :(
20:07 masak can't blame you for that.
20:07 masak t-t-t-t-t-telephone.
20:07 masak oh wait, this isn't privmsg? :)
20:07 tadzik oh stop!
20:07 jnthn arrrgh, stop :P
20:08 tadzik :F
20:08 masak 哈哈哈
20:08 tadzik I reverse engineered this character. I'm totally sure it means "ha"
20:08 masak aye.
20:08 tadzik ha!
20:08 tadzik oh, I mean
20:08 tadzik 哈!
20:08 masak I like to write it more than I like to write "*lol*".
20:09 tadzik I don't like writing lol. I have a feeling it has lost its meaning due to overuse
20:09 masak there's nothing onomatopoetic about "*lol*". there is about 哈 :)
20:09 tadzik I prefer IAL for I Actually Laughed, or An Actual Laughter Was Produced, Aloud
20:10 masak noooo, IAL stands for International Auxiliary Language, as everybody surely, er, knows.
20:10 tadzik lol
20:11 masak the acronym is very big in the IAL community...
20:11 * masak sobs quietly
20:12 jnthn IAL when I found I could understand some Esperanto having not learned it at all :)
20:12 masak (I took jnthn on a guided evening tour of Riga, all in Esperanto) :)
20:13 moritz rakudo: say 1
20:13 p6eval rakudo c34ac6: OUTPUT«1␤»
20:13 moritz say qx/echo pwnd/
20:13 moritz rakudo: say qx/echo pwnd/
20:13 p6eval rakudo c34ac6: OUTPUT«qx, qqx is disallowed in safe mode␤  in sub restricted at src/SAFE.setting:2␤  in sub QX at src/SAFE.setting:9␤  in <anon> at /tmp/upg5Ih7BYB:1␤  in <anon> at /tmp/upg5Ih7BYB:1␤␤»
20:13 jevin joined #perl6
20:14 jnthn rakudo: unlink 'perl6'
20:14 p6eval rakudo c34ac6: OUTPUT«unlink is disallowed in safe mode␤  in sub restricted at src/SAFE.setting:2␤  in sub unlink at src/SAFE.setting:6␤  in <anon> at /tmp/J0xM6je4Bs:1␤  in <anon> at /tmp/J0xM6je4Bs:1␤␤»
20:14 jnthn phew!
20:14 diakopter lol  < jnthn> jnthn:
20:14 masak rakudo: shell "unlink perl6"
20:14 p6eval rakudo c34ac6: OUTPUT«shell is disallowed in safe mode␤  in sub restricted at src/SAFE.setting:2␤  in sub shell at src/SAFE.setting:7␤  in <anon> at /tmp/XvHC1uhXbh:1␤  in <anon> at /tmp/XvHC1uhXbh:1␤␤»
20:15 masak aw, *man*! :)
20:15 sili joined #perl6
20:16 jevin joined #perl6
20:17 masak tadzik: also, TimToady once pointed out that 哈 can mean "Pugs". :)
20:18 tadzik (:
20:18 tadzik PugsPugs
20:18 masak it's also the first character in the Chinese name for "Harry Potter".
20:18 moritz so, Harry Potter is a Pugs?
20:19 abercrombie ha and 哈 have the same pronunciation
20:19 colomon they prefer the term "
20:19 masak moritz: no, meaning magically turns off in names.
20:19 colomon "lambda camel"
20:20 masak moritz: though some company names are really well-thought-out even wrt meaning. f'rex, Coca Cola is 可口可乐, "can mouth, can happy" :)
20:20 jnthn That's a wonderful pun on "can" :D
20:21 masak jnthn: oh! unfortunately, it doesn't carry over.
20:21 masak jnthn: here it just means "possible".
20:21 jnthn Aww!
20:22 abercrombie Actually 可口 doesn't means can mouth when you put these two chars together. It means delicious
20:22 masak oh!
20:23 abercrombie well, delicious things really can "mouth"
20:23 masak abercrombie: oh, of course. just like 可爱 means "cute" :)
20:23 * jnthn can really mouth delicious things
20:24 abercrombie yep, and cute things can get loved.
20:24 masak Ericsson, the telecom company, are 愛立信, "love establish message".
20:25 masak oh! I should point out that both of these companies manage to get very close phonetically, too. that's the impressive thing. "ke kou ke le" and "ai li xian", respecitvely.
20:26 abercrombie Are you Chinese? How do you know those "phonetics"?
20:26 masak :P
20:26 masak hm. those Pinyin renderings don't do the sound proximity justice...
20:27 masak abercrombie: 我受宠若惊,但我不是中国人。
20:27 abercrombie How did you do it?
20:28 masak oh, only two years of Chinese studies... and Google Translate :)
20:28 * [Coke] is reminded, he got his hanzi books.
20:28 masak [Coke]: both of them?
20:29 abercrombie I don't always trust Google translate
20:29 masak abercrombie: me either. it gave me 我不是一个中国人, but I thought that sounded wrong, so I changed it.
20:30 abercrombie Really cool :)
20:30 masak abercrombie: 你住在哪里?
20:30 abercrombie Boston
20:31 masak oh :)
20:31 [Coke] masak: Shì de, wúlùn
20:31 masak [Coke]: \o/
20:31 masak 波士顿
20:31 abercrombie Haha
20:32 [Coke] boston?
20:32 masak wave... scholar... I don't know that last one.
20:32 [Coke] oh, that wasn't to me. ;)
20:32 abercrombie I don't know either
20:34 masak apparently it means 'pause' or 'kowtow' or 'arrange'.
20:34 * [Coke] tries to trick google translate into giving me characters for "coleda" and fails miserably.
20:34 masak [Coke]: I've yet to figure out how regular and automatable name forming is.
20:34 abercrombie what is coleda?
20:34 masak [Coke]: there seems to be an art to at least some parts of it, which indicates not automatable.
20:35 masak abercrombie: it's [Coke]'s IRC last name.
20:35 PerlJam not his IRL last name?
20:36 diakopter heh
20:36 masak d'oh!
20:36 masak the keys aren't even next to each other!
20:37 * [Coke] mentions that he inadvertently gave his daughter the initials IRC.
20:37 masak that's alright, nobody knows what IRC is nowadays.
20:37 [Coke] coleda is vaguely slavic for christmas. I guess I could go with that. ;)
20:37 diakopter maybe if she marries she could become IRL
20:37 tadzik :D
20:37 tadzik Kolęda?
20:37 masak diakopter: or IRA :)
20:38 abercrombie Coke: I see.
20:38 [Coke] yah, that's us. we renamed to Coleda when we came to the US
20:38 tadzik it's how we call the songs you sing during christmas. Also, it's the name of the activity of a priest when he goes from house to a house
20:38 tadzik Wow. How long ago was that?
20:38 abercrombie May flower?
20:39 masak tadzik: so, basically Kolęda is Polish for "Carol"? :D
20:39 [Coke] but it's Коледа , old school.
20:39 tadzik maybe :)
20:39 tadzik oh, from Russian?
20:39 [Coke] Belarussian
20:40 abercrombie I thought they shared the same char set
20:40 [Coke] in bulgarian, it's just "christmas", I think. (Diado Coleda is "grandfather christmas")
20:40 masak phenny: be en "Коледа"?
20:40 phenny masak: "Koleda" (be to en, translate.google.com)
20:40 [Coke] different languages, though.
20:40 masak bah
20:41 [Coke] phenny: en be Christmas?
20:41 masak quotes.
20:41 [Coke] phenny: en be "Christmas"?
20:41 phenny [Coke]: The en to be translation failed, sorry!
20:41 [Coke] phenny: en bg "Christmas"?
20:41 phenny [Coke]: The en to bg translation failed, sorry!
20:41 [Coke] google xlate backs me up on the bulgarian.
20:41 masak Singularity: not yet here.
20:42 [Coke] Shèngdàn
20:43 abercrombie holly birth
20:44 masak "holy", I believe.
20:44 masak though "holly" is strangely fitting, too :)
20:45 abercrombie :)
20:51 lumi__ joined #perl6
20:53 * PerlJam should have read chromatic's blog post earlier because how he's a little irked again.
20:57 masak PerlJam: that's how I felt reading it.
20:57 masak rakudo: print chr :16($_) for comb /../, "526f73657320617265207265642c2076696f6c657​4732061726520626c75650a416c6c206d792062617​365206172652062656c6f6e6720746f20796f750a"
20:57 bbkr if I need custom reduce operator, like "[my_op]@array" should it be declared as infix:<>  ?
20:57 p6eval rakudo c34ac6: OUTPUT«Roses are red, violets are blue␤All my base are belong to you␤»
20:57 masak bbkr: yes.
20:58 jnthn bbkr: The ideas is that you declare the basic operator yourself, and the reduction and other meta forms are derived for you.
20:58 masak probably doesn't work if your operator is a macro, though :P
20:59 bbkr rakudo: sub infix:<myop>(Int $a, Int $b) { say "infix"; }; my @t = 1..10; [myop]@t # doesn't work...
20:59 p6eval rakudo c34ac6: OUTPUT«===SORRY!===␤Confused at line 1, near "[myop]@t #"␤»
21:00 masak rakudo: our sub infix:<myop>(Int $a, Int $b) { say "infix"; }; my @t = 1..10; [myop] @t
21:00 p6eval rakudo c34ac6: OUTPUT«===SORRY!===␤Confused at line 1, near "[myop] @t"␤»
21:00 masak b: our sub infix:<myop>(Int $a, Int $b) { say "infix"; }; my @t = 1..10; [myop] @t
21:00 PerlJam masak: if he'd left out the last paragraph I wouldn't be so irked.
21:00 p6eval b 1b7dd1: OUTPUT«infix␤Nominal type check failed for parameter '$a'; expected Int but got Bool instead␤  in 'infix:<myop>' at line 22:/tmp/c23NI6BTdf␤  in 'reducewith' at line 396:src/gen/core.pm␤  in main program body at line 1:src/metamodel/RoleToInstanceApplier.nqp␤»
21:00 masak PerlJam: same here.
21:00 PerlJam masak: or just condensed it to the last sentence of that paragraph
21:01 masak PerlJam: it reads like "if only you knew the things I have to endure with some people!"
21:01 masak and as I said earlier today, I don't buy the supposition that Rakudo is preventing Parrot from going anywhere.
21:02 PerlJam well, the two things the raise my hackles a little bit are "attempting to moderate a very frustrating discussion" and "actively prohibiting the other to be wrong"
21:02 masak right.
21:02 [Coke] could have been written before the parrotsketch convo.
21:02 PerlJam [Coke]: perhaps
21:02 [Coke] and he doesn't say perl6. and... it doesn't matter, anyway. ;)
21:02 PerlJam But I didn't get a sense of "moderation" from him *at all*.
21:02 cotto_work I'm trying to make sure that if Parrot people bring that up, they do so with examples.
21:03 lumi__ joined #perl6
21:03 pmurias masak: is anybody claiming that?
21:04 bbkr rakudo: our sub infix:<myop>($a, $b) { say $a.WHAT, $b.WHAT }; my @t = 1..4; [myop]@t # why Bool() is there?
21:04 p6eval rakudo c34ac6: OUTPUT«===SORRY!===␤Confused at line 1, near "[myop]@t #"␤»
21:04 cotto_work It's not an opinion that I either share or completely understand.
21:04 jnthn rakudo: our sub infix:<myop>($a, $b) { say $a.WHAT, $b.WHAT }; my @t = 1..4; [myop] @t
21:04 masak pmurias: <chromatic> Parrot has no focus because Rakudo won't allow it to have a focus.
21:04 p6eval rakudo c34ac6: OUTPUT«===SORRY!===␤Confused at line 1, near "[myop] @t"␤»
21:05 jnthn oddness
21:05 flussence that guy sounds like he needs a hug.
21:05 PerlJam flussence: that's it!  We should hug-pile him next time he's around  :)
21:05 flussence heh :)
21:06 * masak volunteers o/
21:06 pmurias masak: shouldn't Rakudo be parrot's focus?
21:07 [Coke] one of.
21:07 cotto_work +1
21:08 masak Rakudo has been blasting a path for itself in the past few years. it has done so sometimes by bypassing Parrot primitives and basically building its own. this has been necessary, because the pieces didn't fit and tele-designing things right in Parrot wasn't an option.
21:09 * sjn wonders a little what's the word on the nom branch these days
21:09 * colomon thinks things might be healthier if there was another serious HLL implemented in Parrot... went so far as to start thinking about the design of a Forth/Factor-like Parrot language over the weekend.
21:10 masak now, Parrot is very willing to merge a lot of things from Rakudo into itself, in effect making many Rakudo workarounds unnecessary. problem is, Parrot doing so isn't very important for Rakudo, unless it translates to increased performance.
21:11 pmurias if there was working implementation of say python or ruby on parrot, rakudo could use it for libraries
21:12 masak isn't there both a Python and a Ruby implementation on Parrot?
21:12 cotto_work maturity is an issue.  There are a ton of nascent languages.
21:13 diakopter nascent + abandoned
21:13 Tene masak: the ruby impl is currently stalled; I need to get a 6model ruby object model in place to unblock it.
21:14 * flussence would like a php, but without a bazillion functions
21:14 lumi__ joined #perl6
21:14 masak Tene: that sounds like an interesting project.
21:14 jnthn sjn: Coming along. Some big things (a huge memory leak, very slow setting compilation) got dealt with over the last week.
21:14 pmurias flussence: what would be the use for that?
21:15 Tene masak: agreed; want to work on it with me sometime this week?
21:15 masak sjn: I keep finding features that are in b but not in nom.
21:15 sjn jnthn: ok, cool
21:15 masak Tene: I have a Perl 6 day tomorrow. I'm not sure how much participation I can promise, but I'll certainly partake in discussions and code review.
21:15 cotto_work flussence: how much do you want one?
21:15 flussence pmurias: it might get a few converts, a lot of people are annoyed that php's taking years to make point release progress
21:15 jnthn masak: Your feature use is impressively extensive. :)
21:15 tadzik flussence: why would you do that
21:16 masak jnthn: I've basically been trying things at random.
21:16 masak and running old scripts that used to work.
21:16 pmurias flussence: but without the baziliion functions wouldn't it be incompatible
21:16 jnthn masak: Have those experiences translated into, say, nommap entries? :)
21:16 pmurias flussence: and would php on parrot be fast enough?
21:17 chromatic joined #perl6
21:17 chromatic I'm here for my hugs.
21:17 * masak hugs chromatic
21:17 cotto_work chromatic++
21:17 flussence pmurias: it'd be a good reference point for speed, if not
21:17 cotto_work It's not going to be fast enough if nobody writes it.
21:17 Tene pmichaud: php on parrot would be at least as fast enough as anything else on parrot
21:17 Tene there have been two php-on-parrot projects already, I think?
21:17 chromatic I think you're all missing an important point.
21:17 chromatic Perl 5 on Parrot is awfully important.
21:17 flussence as for not having functions, there's no reason they can't be shoved into extensions and loaded as needed
21:18 cotto_work flussence: not unlike normal php
21:19 bbkr joined #perl6
21:19 Tene chromatic: I'm curious about the details of how Perl 5 on Parrot is important.
21:19 pmichaud Tene: was that directed to pmurias?
21:19 arnsholt chromatic: It's an awfully hard nut to crack too, though
21:19 Tene pmichaud: uhh... yes.
21:20 arnsholt Perl 5 on anything else than perl is quite hard in fact
21:20 tadzik Tene: I think Perl 5 interoperability is a prerequisite for a success of Perl 6
21:20 tadzik that's like 50% of what I'm missing in Perl 6 :)
21:20 chromatic I can't use Perl 6 productively without libraries.
21:20 pmichaud I will absolutely switch the nom branch this evening.
21:20 pmichaud (and post the related announcement)
21:21 masak ++pmichaud
21:21 diakopter I don't see how Perl 5 interoperability from Rakudo requires p5-parrot
21:21 tadzik niiec
21:21 tadzik *nice
21:21 pmichaud announcement draft is at http://pmichaud.com/sandbox/nom-2.txt
21:22 cotto_work diakopter: I think that he's saying that Rakudo will be a much easier sell if you can use all of CPAN.
21:22 chromatic diakopter, depends how much work the implementors want to do at which levels.
21:22 flussence (tbh, I can't think of a good reason for a php impl other than "attracting attention")
21:22 diakopter cotto_work: I mean, why can't rakudo embed p5 as it is and interoperate that way
21:22 diakopter like pugs did
21:23 chromatic Sure, if you want to do it the hard way.
21:23 Tene pmichaud: after that announcement, will there still be a branch named 'master'?
21:23 pmichaud Tene: the current plan is to not have a 'master' branch.
21:23 pmichaud but to leave the branch as 'nom', and set it as the default.
21:23 masak will the 'nom' branch *eventually* be renamed to 'master'?
21:24 pmichaud if we decide that needs to happen, yes.
21:24 pmichaud basically, if the "where's the master branch" Q becomes FA
21:24 * masak is already wondering that :P
21:25 diakopter chromatic: notwithstanding Her (;)) brilliance at embedding p5 into pugs, I still don't see how it would be easier to implement Perl 5 on parrot from scratch vs. embedding
21:25 pmichaud TimToady++ has expressed a strong distaste for renaming branches, and I'd like to honor his preference at least once in a while (after having denied it on other things about Rakudo he detests)
21:26 daniel-s joined #perl6
21:26 masak pmichaud: ok. let's try it without master for a while, then.
21:26 chromatic Unless you limit what can cross the language boundary to simple immediate values, you're going to have to deal with two problems.
21:26 chromatic 1) Rakudo needs *some* FFI
21:26 pmichaud beyond that, I see good arguments for not renaming nom->master, and since we can try it without the rename for a while and do the rename later if it doesn't work (but vice versa), I'll take the conservative approach for now.
21:26 lumi__ joined #perl6
21:26 chromatic 2) P5 and Rakudo have very different memory management schemes.
21:27 masak pmichaud: aye.
21:27 pmichaud *(but not vice-versa)
21:27 pmichaud (well, we could do vice-versa, but that'd be even more confusing)
21:27 masak :P
21:29 diakopter chromatic: I see
21:29 pmurias sorear: ping
21:29 mberends joined #perl6
21:29 Exodist I may be late to the party, but I am confused on this branching issue, why not just reset the head of branch master to the head of branch nom?
21:30 masak Exodist: because of the above reasons pmichaud outlined? :)
21:30 chromatic diakopter, P5 would be loads easier to port to Parrot if it had wide use of a (working) ctypes mechanism, which would render a lot of XS unnecessary (and the replacement is mostly statically parseable).
21:31 chromatic If you have a working C extension system, embedding libperl5.so is easy to start but rapidly gets very complex.
21:31 Exodist those arguments are for not renaming nom, I am not asking why you don't rename nom, I am asking why not have both and just point one at the other?  then again I guess people will still commit to nom and master would fall behind...
21:31 chromatic Control flow in particular is hugely complex, because someone needs to own the world.
21:32 chromatic See also Any::Event for a metaphor at a level higher than the VM.
21:32 * [Coke] hugs chromatic belatedly and uncomfortably.
21:33 tadzik wow, settings compilation is now 1.20s
21:33 flussence !?
21:33 tadzik ...SAFE.setting, of course :)
21:33 flussence oh :(
21:34 flussence is that with or without a parsing error? :)
21:34 chromatic Are you on Parrot HEAD?
21:35 tadzik yes
21:35 jnthn tadzik: tease :P
21:35 chromatic What was it 48 hours ago?
21:36 tadzik SAFE.setting wasn't present
21:36 tadzik I'm now running time make to see the effect of your commits
21:36 chromatic How about the full setting?
21:36 _jaldhar joined #perl6
21:36 tadzik it's still about 2:50 here, 60% of my RAM
21:36 masak tadzik++ moritz++ # SAFE.setting
21:36 tadzik trying
21:36 tadzik masak: I didn't do anything :0
21:36 tadzik :)
21:37 tadzik I do need some autocorrect for :0
21:38 masak I thought it was a smiley that looked that way.
21:38 masak sort of a dumbfounded look.
21:39 tadzik chromatic: may be a few seconds win
21:39 tadzik it was like 2:45
21:39 tadzik and like 55% of ram
21:40 lumi__ joined #perl6
21:40 chromatic ~3% then roughly
21:40 tadzik time make will come in a second
21:41 chromatic pmichaud, does the current grammar system transcode P6 source code to a fixed-width encoding?
21:41 plobsing joined #perl6
21:41 tadzik make  390.96s user 5.09s system 109% cpu 6:00.10 total
21:41 tadzik woot
21:41 tadzik it was never under 400 before
21:41 tadzik that's a chromatic++ I guess
21:42 tadzik it was 40n last time, when I was converting RAWs in the background
21:43 pmichaud chromatic: it does, if it can.
21:44 pmichaud the new regex engine (qregex) always transcodes to a fixed width encoding.
21:44 chromatic Good. I patched opsc in Parrot to do the same, as for some reason it wasn't convincing nqp-rx to do so.
21:45 pmichaud parrot strings didn't have the capability to always do the transcode at the time that the old engine was constructed... and I only realized the new string implementation could handle it about four weeks ago (so I haven't updated nqp-rx to do something similar)
21:46 pmichaud but yes, rakudo (both nom and master) transcode to fixed-width if they can, and when we switch nom's compiler to the new engine, all regex matching will be on fixed width strings
21:46 pmichaud the new engine also avoids creating a bunch of substring gc-ables
21:46 pmichaud like a bunch a bunch
21:47 lumi__ joined #perl6
21:48 pmichaud when we don't transcode or the transcode fails, we notice a huge slowdown quite quickly.
21:48 pmichaud (the 35% you cited above is typical)
21:50 chromatic Given an installed Parrot, how do I reconfigure and build nom?
21:50 pmichaud perl Configure.pl --with-parrot=/path/to/installed/parrot
21:51 pmichaud (perl Configure.pl --help should work too)
21:51 chromatic Ah, my alias still gave the path to parrot_config.
21:51 tadzik I never used --with-parrot, tbh
21:51 tadzik it's always just perl Configure.pl && make install in both nqp and nom
21:51 pmichaud yeah, I switched our reliance to be on parrot itself instead of parrot_config
21:52 pmichaud feels safer
21:52 chromatic # Parsed nqp.ops in 2.438 seconds; found 288 ops.
21:52 chromatic Definitely an improvement there.
21:53 pmichaud also, if you want to build nom from a specific parrot branch, it's    perl Configure.pl --gen-parrot=branchname
21:53 pmichaud it'll update the local parrot repo, build parrot and nqp, then nom.
21:53 chromatic I need to build against unpushed Parrot commits.
21:54 pmichaud yeah, that's the --with-parrot option, then.
21:54 tadzik chromatic: make install your parrot, make sure parrot_config is in your patch, install nqp ordinarily, then nom ordinarily
21:54 pmichaud also note that you can put options into a "config.default" file, and Configure.pl will read from those.
21:54 tadzik no switches to Configure.pl are required at all
21:54 pmichaud tadzik: note that nom doesn't use parrot_config
21:54 pmichaud nom wants *parrot* in its path.
21:54 tadzik pmichaud: but it uses nqp settings, right?
21:54 tadzik oh, maybe. Ok then
21:55 pmichaud okay, that's more correct.  nom gets its configuration from nqp, and nqp gets its configuration from parrot (not parrot_config)
21:55 chromatic Configure.pl seems to have built nqp appropriately for me.
21:56 pmichaud yes, if you specify a parrot, it will attempt to build an nqp.
21:56 pmichaud if you specify an nqp (--with-nqp), it just uses that.
22:00 lumi__ joined #perl6
22:13 tadzik make spectest  1398.19s user 73.49s system 99% cpu 24:43.94 total
22:13 tadzik I have a feeling it was slower this morning
22:13 tadzik 2011-09-08 12:32:23     tadzik  make spectest  1433.31s user 73.86s system 99% cpu 25:19.42 total
22:13 tadzik yep
22:14 tadzik nom: say (1433.31 - 1398.19) / 1433.31
22:14 p6eval nom c34ac6: OUTPUT«0.0245027244629564␤»
22:14 tadzik not bad
22:15 whiteknight joined #perl6
22:15 daniel-s joined #perl6
22:16 dalek rakudo/nom: c9246f9 | jonathan++ | src/binder/container.c:
22:16 dalek rakudo/nom: Fix bug in handling of Scalar type object.
22:16 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c9246f9dee
22:16 dalek rakudo/nom: bf08c52 | jonathan++ | src/Perl6/Metamodel/BOOTSTRAP.pm:
22:16 dalek rakudo/nom: Generics handling for Scalar.
22:16 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/bf08c52dcc
22:16 dalek rakudo/nom: aa90c55 | jonathan++ | src/Perl6/Actions.pm:
22:16 dalek rakudo/nom: Specialize generically typed lexically scoped scalars.
22:16 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/aa90c55591
22:16 dalek rakudo/nom: 2c31255 | jonathan++ | src/Perl6/Metamodel/BOOTSTRAP.pm:
22:16 dalek rakudo/nom: Need to specialize the default value if that's generic also.
22:16 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2c312555a5
22:16 dalek rakudo/nom: db4495a | jonathan++ | NOMMAP.markdown:
22:16 dalek rakudo/nom: Update nommap.
22:16 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/db4495a4e7
22:17 lumi__ joined #perl6
22:19 tokuhirom joined #perl6
22:23 ingy tadzik: what do you mean by default => ()?
22:23 tadzik ingy: some sort of 'has foo => (default => sub { 5 })'. I can live without it since I implemented BUILD though
22:24 tadzik Love the module :)
22:25 ingy tadzik: yeah I'll flesh out 'has' soon
22:25 ingy I need default and builder too
22:26 ingy I just ignore 'is'
22:26 ingy and anything else
22:26 ingy I liked Moo but too many parts
22:27 ingy it should be one simple module
22:27 ingy I mean I still like Moo and Mouse
22:27 ingy just depends on the application
22:28 tadzik I like the fact that Mo is just one file I can easily ship with my project if I don't want to introduce strange dependencies
22:28 tadzik hell, it's like 20 LoC now
22:28 ingy sometimes I need to use Mo 'Ingy'
22:28 tadzik what does the argument do?
22:28 lumi__ joined #perl6
22:28 ingy tadzik: what's your github id?
22:28 tadzik ingy: tadzik
22:31 ingy tadzik: commit at will
22:31 ingy I sleep now
22:31 tadzik oh, thanks. G'night
22:31 ingy I see dams has golfed Mo to almost nothing
22:31 ingy \o/
22:31 tadzik seen book's version?
22:31 aloha Sorry, I haven't seen book's version.
22:32 tadzik aloha: you should
22:32 ingy tadzik: feel free to commit it
22:32 ingy I'll add book to committers too
22:32 tadzik I'm not sure if I want to, tbh :)
22:33 ingy :D
22:33 ingy is book, book?
22:33 ingy on gh?
22:33 tadzik I think so. He looks like his gravatar
22:33 tadzik or the other way around
22:33 ingy ha
22:33 ingy ok done
22:33 ingy (hopefully)
22:34 ingy night
22:34 tadzik night
22:34 ingy I'll release in morning
22:35 tadzik yay, my code will be on CPAN
22:36 tadzik YAPC::NA 2011 Survey Results
22:37 tadzik oh, that's not EU
22:39 masak wow, Mo is really micro.
22:40 lumi__ joined #perl6
22:42 tadzik yep
22:45 masak I keep thinking of http://www.dapsmagic.com/geekscorner/wp​-content/uploads/2011/03/MO-225x300.jpg when I hear the name, though :P
22:45 masak "Mo!"
22:45 TimToady the Mighty Mo was not micro
22:46 * masak only knows about MightyMoose
22:46 jnthn rakudo: my $what = "Mo!"; $what++ for ^26; say $what
22:46 p6eval rakudo c34ac6: OUTPUT«No!␤»
22:46 jnthn \o/
22:47 masak 'might
22:47 masak er, I mean 'night
22:47 TimToady o/
22:47 pmichaud chromatic: is there a particular reason your pull request went to pmichaud/nqp instead of perl6/nqp?  (honestly curious)
22:49 chromatic Did I fork the wrong one?
22:49 pmichaud possibly.  perl6/nqp is the standard location.
22:50 pmichaud I didn't even realize I *had* a pmichaud/nqp repo :)
22:50 pmichaud I must've forked it some time ago for some reason.
22:50 pmichaud if it's easy to resubmit to perl6/nqp, that'd be great, otherwise I'll figure out how to get them across :)
22:51 pmichaud (and, of course, thanks for the patches!)
22:51 pmichaud oh, we can give you a commitbit.  actually, I suspect you already have a commitbit for everything in the perl6/ github account (including perl6/nqp)
22:52 donri joined #perl6
22:52 chromatic I think I can make that work.
22:52 lumi__ joined #perl6
22:52 pmichaud hmmm, I don't see a commitbit for perl6.... do you want one?
22:52 chromatic Please.
22:54 pmichaud added.
22:55 pmichaud you should be able to commit to pretty much anything in the perl6/ space (specs, tests, nqp, etc.)
22:59 chromatic For some reason I still don't have nqp access.
22:59 pmichaud looking.
23:00 pmichaud hmm, the nqp access list is separate from the perl6 one.
23:00 pmichaud I'll add you to nqp also, then figure out the mismatch later.
23:00 pmichaud added
23:05 lumi__ joined #perl6
23:06 pmichaud afk, fetching dinner
23:06 s1n1 joined #perl6
23:06 dalek nqp: 71c8f92 | chromatic++ | src/6model/reprs/ (6 files):
23:06 dalek nqp: [6model] Added annotations to exception throwers.
23:06 dalek nqp:
23:06 dalek nqp: This clears up several compiler warnings.
23:06 dalek nqp: review: https://github.com/perl6/nqp/commit/71c8f924cb
23:06 dalek nqp: 93a634d | chromatic++ | src/6model/reprs/P6opaque.c:
23:06 dalek nqp: [6model] Made a private function static.
23:06 dalek nqp:
23:06 dalek nqp: This cleans up a warning about the undeclared function.
23:06 dalek nqp: review: https://github.com/perl6/nqp/commit/93a634d1d3
23:06 dalek nqp: 2922924 | chromatic++ | src/6model/reprs/P6opaque.c:
23:06 dalek nqp: [6model] Fixed a constness conversion warning.
23:06 dalek nqp: review: https://github.com/perl6/nqp/commit/29229246bd
23:13 * mberends had a nice evening at London.pm.  People were quite positive about Perl 6 :)
23:16 TimToady before or after the beer?  :)
23:17 jnthn I'd say "during the beer", but for London.pm that'd mean "the whole meeting" :)
23:17 mberends er, after.  Beer was top of the agenda ;) But still the conversations were nice...
23:18 jnthn mberends: Be at Londown Perl Workshop?
23:18 jnthn grr...London :)
23:18 mberends jnthn: yes, I plan to attend. Someone is trying to press me to make a presentation too.
23:19 jnthn mberends: I'll be there.
23:19 jnthn mberends:
23:19 jnthn mberends: I'll likely submit something.
23:19 mberends \o/
23:19 lumi__ joined #perl6
23:19 jnthn LPW is actually the only Perl event to date that I've been to and didn't speak. I wasn't sure whether it was relaxing, or just weird not to have a talk :)
23:20 bbkr joined #perl6
23:20 jnthn (That was the last time I went. I've been previous times and did...)
23:21 jnthn chromatic: Patches look good; thanks.
23:22 chromatic The only interesting remaining warning is about returning an aggregate, but that one looks systemic and slightly deliberate.
23:23 jnthn That sounds familiar. I think I concluded "yes, I meant to..."
23:23 jnthn And then wasn't sure why it warranted a warning.
23:24 mberends jnthn: it was noted this evening at London.pm that Perl was discussed rather frequently. That seemed weird to the regulars.
23:24 jnthn mberends: :-)
23:25 jnthn MSVC doesn't warn on it, fwiw.
23:25 chromatic jnthn, really old C compilers couldn't handle returning anything bigger than a pointer.
23:25 chromatic The code returns a struct as a value, which is legal with a modern enough compiler and has the advantage of not requiring malloc/free.
23:27 jnthn chromatic: Ah, historical limitations. OK.
23:28 chromatic You can make the argument that returning a pointer to a struct is clearer, but it's getting toward the "not really worth it at the moment" territory for me.
23:28 lumi__ joined #perl6
23:29 jnthn It's not cleaner for whoever has to free it later.
23:29 chromatic Yep.
23:30 jnthn Anyway, it was a concious choice. That you hadn't used to be able to do that in C was new to me. Maybe because C compilers that worked that way are older than I am. :)
23:31 chromatic I think C compilers that work that way are older than *I* am.
23:32 * diakopter wonders how much older chromatic thinks he is than jnthn
23:32 * TimToady hides behind a Beatnik
23:32 chromatic I have a few years on him.
23:33 wolfman2000 joined #perl6
23:34 * diakopter examines http://de.wikipedia.org/wiki/​Beatnik_(Programmiersprache) translated by Google
23:47 lumi__ joined #perl6
23:48 cottoo joined #perl6
23:50 localhost joined #perl6

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

Perl 6 | Reference Documentation | Rakudo