»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend!
Set by sorear on 4 February 2011.
00:02 cognominal_ left
whiteknight pmichaud: did you see my reply to dukeleto? 00:02
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
if you think I should look closely at your reply before replying, I can do that.
00:03 cognominal joined
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:03
pmichaud agreed and understood 00:04
I'm not taking that to be the consensus opinion at all
rather, I see that Parrot is kind of having to decide what its consensus will be
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
pmichaud so, I wanted to weigh in with an obeservation about that, not to say "you all are making a mistake"
TimToady decommuting & 00:05
whiteknight ok
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
dukeleto just to reiterate, yes, my reply to cotto on parrot-dev is my personal opinion and has no official endorsement whatsoever 00:09
[Coke] diakopter: ETOOMUCHCOFFEE: EINVALIDEXCEPTION 00:12
00:14 Vlavv left 00:15 uasi left, uasi joined 00:16 tdignan joined 00:20 uasi left
flussence argh... all I wanted to do is read lue++'s pod file in HTML, instead I ended up adding N<>! 00:22
00:22 odoacre left
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.
dukeleto pmichaud: it is just my opinion, but without an automated graphical interface like www.arewefastyet.com , there is a big hurdle to using and interpreting the data 00:28
pmichaud dukeleto: fair enough
dukeleto pmichaud: i think the trend is obvious to you, but I have to squint very hard, as an outsider, to see the trend
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.
it was pretty obvious that things weren't very rosy. 00:29
00:29 thou left
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 left, cognominal joined 00:37 odoacre joined
felher is writing 'when(condition)' without any 'given' just instead of 'if($_ ~~ condition)' considered bad style? 00:41
flussence seems fine to me 00:43
00:44 uasi joined, soh_cah_toa joined
felher good. :) thnx :) 00:45
[Coke] pmichaud: I'm happy to turn that into a graphical site. 00:46
is the data in a repo somewhere?
... like, say, github? (didn't see the url before. ;) 00:47
pmichaud: ENOREADME
pmichaud [Coke]: the data are in the logs/ subdir 00:48
or you can just parse the files themselves for the data
if you need a json form, I can write a script to generate that.
[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
[Coke] forking...
pmichaud see tools/rpreport, I think
00:49 uasi left 00:50 uasi joined 00:54 uasi left
[Coke] pmichaud: are kiwi/orange/plum different machines? 01:01
pmichaud yes. 01:03
all of my machines are named for fruits :)
my router is "blueberry". :)
jnthn is your mobile "blackberry"? :P
[Coke] all of my machines are named for beverages. I get that. 01:04
(and to answer jnthn's next question, the router is "beverage")
so, you have multiple kiwi runs. only the latest run should be used for graphing? 01:05
(because you re-ran all the old benchmarks?)
tdignan I name mine after military radio equipment
HAARP, Skynet
mmmm, tasty 01:06
01:13 uasi joined 01:34 donri left, daniel-s left
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␤»
..rakudo fc57d1: OUTPUT«when␤should not be displayed, too␤should be displayed␤»
..pugs: OUTPUT«should not be displayed␤should not be displayed, too␤should be displayed␤»
felher niecza++
sleep & 01:56
01:58 packetknife joined 02:00 woosley joined
colomon 's machines are all named after traditional musicians.... 02:00
02:00 jevin left
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:03
02:04 whiteknight left 02:05 jevin joined
pmichaud [Coke]: sorry, had to leave earlier. The kiwi runs represent whatever I chose to run on that date. 02:05
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
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
so, we re-run the entire set based on which builds (rakudo ver + parrot ver) happen to be of "interest" at that time. 02:07
[Coke] so, short answer: "yes". ;) 02:08
I have something nearly working with flot now, with zooming. just need to put in our actual data. 02:09
pmichaud coolness. Coke++ 02:11
yeah, short answer is "yes" :)
[Coke] will definitely be pulling flot into his work project. ;) 02:15
02:16 Minimiscience joined 02:22 daniel-s joined 02:25 benabik joined 02:31 Vlavv joined 02:40 soh_cah_toa left
packetknife OK, seems VIm has Perl 6 support.. hrmm. 02:47
02:54 Khisanth left
packetknife Any others? 02:55
02:57 cognominal left
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
[Coke] first pass: feather.perl6.nl/~coke/bench/html/ 02:58
benabik There seems to be a fork of cperl-mode for emacs that speaks p6: github.com/jrockway/cperl-mode/tre...erl6-merge 02:59
packetknife benabik: Ty! 03:02
benabik packetknife: I'd personally suggest Vim with ft=perl6, but I 03:04
'm definatly biased.
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.
benabik packetknife: I still generally prefer Makefiles to IDEs, but do sometimes see the appeal. :-D 03:06
03:08 Khisanth joined
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
03:08 molaf joined
[Coke] phenny: tell pmichaud first pass: feather.perl6.nl/~coke/bench/html/ , with stealable code at 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.
[Coke] dukeleto: ping? 03:11
pmichaud [Coke]++ # wow, nice work 03:16
phenny pmichaud: 03:10Z <[Coke]> tell pmichaud first pass: feather.perl6.nl/~coke/bench/html/ , with stealable code at github.com/coke/rpbench - copy over a log file as "logs/latest.log" and run "make"
[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
I may grab the code back into the rpbench repo, and automatically generate the graphics when I do the reports
then they can live in the rpbench-results repo along with the data
[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 :)
I can also give out commitbits to the rpbench repo if anyone wants
[Coke] o/ 03:19
One thing that is broken on that for sure is the dates. I just treated "2001.04" as numeric, which is, of course, wrong. ;)
pmichaud Yeah. Also, sometimes the labels end up being non-numeric. 03:20
(in the reports)
but that can be cleaned up.
[Coke] commit early.
03:20 jaldhar joined 03:23 Su-Shee_ joined 03:24 plobsing left 03:26 plobsing joined 03:27 Su-Shee left
sorear good * #perl6 03:28
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 03:33 packetknife left 03:34 Minimiscience left 03:37 packetknife joined 03:46 Khisanth left 03:50 Khisanth joined
dukeleto [Coke]: pong 03:56
04:04 satyavvd joined
[Coke] dukeleto: just the URL you already saw. Unping. 04:09
04:09 birdwindupbird joined 04:12 satyavvd left 04:22 molaf left 04:24 envi_laptop joined 04:26 uasi left 04:27 uasi joined 04:32 uasi left 04:40 jevin left 04:41 thou joined 04:43 jevin joined 04:46 JimmyZ_ joined 04:47 JimmyZ left 04:48 JimmyZ_ is now known as JimmyZ 05:03 uasi joined 05:05 abercrombie left 05:12 packetknife left 05:13 tyatpi_ left 05:17 sftp left, Khisanth left 05:21 plobsing left 05:28 sayu joined 05:35 Khisanth joined 05:36 DarthGandalf left 05:38 DarthGandalf joined 05:39 Shozan joined 06:03 Su-Shee_ is now known as Su-Shee 06:05 orafu left, orafu joined, Alias_ joined 06:08 Alias left 06:14 koban` joined, koban` left 06:18 masak joined
masak goedemorgen, #perl6 06:19
Word of the Month: "foundering" -- www.modernperlbooks.com/mt/2011/09/...wrong.html
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:22
there's been cycles of activity and *despair* within the Perl 6 community, as chronicled by au++'s prophetic T-shirt. 06:23
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."
dukeleto masak: do you think we are in a valley or at a peak in the despair graph?
moritz if parrot wasn't allowed to be wrong even in small ways, there's no way we could be using it
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:25
dukeleto: define "we". Perl 6, Rakudo, Parrot? 06:26
moritz dukeleto seems to have the same opinion on parrot-dev
masak dukeleto: the Perl 6 community is currently at a maximum, with the possible exception of some crazy days of the golden age :)
dukeleto masak: all of the above
sorear masak: maximum despair? 06:27
masak :P
maximum activity.
06:27 yves left
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
masak dukeleto: I would say so to. 06:27
too* 06:30
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
to me that seems like an unfair and unproductive starting point.
dukeleto masak: did I say those words? 06:32
masak chromatic did, yesterday on #parrot.
dukeleto masak: Parrot definitely has no focus, but I don't think Rakudo is to blame
masak dukeleto: you replied to him with "I agree".
JimmyZ doesn't think so too 06:33
06:33 thou left
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
moritz dukeleto: I doubt that
dukeleto moritz: really? 06:34
moritz dukeleto: at least parrot seems to have more regular committers than rakudo
masak dukeleto: even if that's true, that's no reason for blaming Rakudo for Parrot's lack of... things.
moritz dukeleto: it might depend on how broad you define "perl 6" here though
06:34 thou joined
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
because Parrot didn't provide what Rakudo needed.
dukeleto masak: i hacked on Rakudo and the perl 6 test suite before I ever touched parrot.
masak (and maybe it couldn't at the time)
dukeleto: ok, nice to hear.
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)
moritz (and not just features, also infrastructure)
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.
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
masak dukeleto: I haven't met you, but you seem like a nice person.
dukeleto: I haven't felt any disrespect from you. 06:38
or from any Parrot dev, for that matter.
I'm in *disagreement* over some things that chromatic have written.
sorear I do not beleive there are any genuinely not-nice people on the greater-Perl 6 or Parrot teams
moritz just some sometimes-hard-to-deal-with people 06:39
sorear some of them can be frustrating to work with, but no more
moritz (though they are rare too)
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
dukeleto: all I'm saying, I guess, is try not to blame Parrot's lack of focus on Rakudo too much. 06:41
because I don't believe that it's Rakudo that's putting a spanner in Parrot's works.
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:43
sorear masak: you're completing chromatic's vague statements in a way ey may not have intended 06:45
masak oh?
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.
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.
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.
moritz aye
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
cotto I appreciated pmichaud's frank discussion on that topic earlier today.
moritz it's not like we're going to drop parrot support or anything
cotto: which channel?
I might want to backlog
masak much of the blaming going on seems to stem from some unspoken (faulty) assumption that Rakudo will migrate from Parrot. 06:49
dalek ecza: 0f286c3 | sorear++ | lib/NieczaCLR.cs:
Here is a draft of the CLR/C# candidate comparer
cotto moritz, they're all running together. I suspect #parrot
I'm almost certain it wasn't #reprap.
lemme dig
moritz cotto: I'll find it, no worry 06:50
sorear I'd like to be linked.
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.
there's a _ missing.
06:52 samlh left 06:53 Sivasakthikumar joined
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
hi Sivasakthikumar
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
moritz I for one have been very careful to include that in all of my explanations on that matter, and pmichaud has been too
Sivasakthikumar i am new in perl6 ... i want to install perl6 in my desktop
can u help me ? 06:55
moritz of course there's always room for misunderstanding
Sivasakthikumar: sure
dukeleto Sivasakthikumar: you want to download a Rakudo Star release, most probably
Sivasakthikumar Yes i done that ...
dukeleto Sivasakthikumar: one thing to note, is that is only one kind of flavor of perl 6. There are many.
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?
moritz Su-Shee: please use github.com/downloads/rakudo/star/r....04.v2.exe the 2010.07 version is very old 06:57
sorry, meant Sivasakthikumar
Su-Shee: that's unfortunate
Su-Shee moritz: will do, I used rakudo 07.2011 ;)
Sivasakthikumar Ok ..i will try
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
moritz Sivasakthikumar: run the .exe file
cotto moritz and sorear: irclog.perlgeek.de/parrot/2011-09-07#i_4389501 (pmichaud talking about Rakudo on other VMs) 06:59
Sivasakthikumar Rakudo - star is a complier
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.
Sivasakthikumar Rakudo - star is a complier rt
dukeleto masak: also, parrot has just about no performance testing. isparrotfastyet.com has a lot of potential, tho 07:00
masak Sivasakthikumar: it's a distribution of the Rakudo compiler, yes.
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.
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.
dukeleto masak: ah, i misinterpretted
Su-Shee dukeleto: might like the idea of rakudo without parrot. others surely don't.
masak dukeleto: mind, there are promising things going on with Rakudo, they're just not materializing fast enough.
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 :)
masak right.
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
What next ?
pmichaud ...read the README? ;-)
nah, that never works :)
cotto write an entry to masak's animal farm game? 07:04
er, masak++'s
;)
masak someone is *yet* to present an AI! it's a disgrace! :) 07:05
Sivasakthikumar Moritz Help me the next step
07:05 sayu left
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?
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?
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
Any help documents
JimmyZ per6.org
perl6.org
Sivasakthikumar Ok
moritz Sivasakthikumar: perl6.org/documentation/ has lots of pointers to general Perl 6 docuemntation
Sivasakthikumar Ok ...
masak Sivasakthikumar: also, feel free to ask here. we have an evalbot and we're very friendly. 07:08
07:09 pernatiy left
Sivasakthikumar How can i compile perl5 programes here 07:10
masak rakudo: say "hello Sivasakthikumar!"
p6eval rakudo fc57d1: OUTPUT«hello Sivasakthikumar!␤»
Sivasakthikumar Yes .. For example .... Test.pl > In perl 5 ... perl test.pl ... rt 07:11
Can i run multiple statements here ?
moritz rakudo: say 1; say 2; 07:12
p6eval rakudo fc57d1: OUTPUT«1␤2␤»
07:12 wolfman2000 left
moritz rakudo only supports Perl 6 programs, not Perl 5 07:12
Sivasakthikumar Ok ...
07:12 MayDaniel joined
mberends Sivasakthikumar: you have a "perl6.exe" on your computer. Find it. 07:12
morning #perl6, btw
07:13 wooden left
Sivasakthikumar Yes .. i founded perl6.exe 07:13
Where i can see perl6 updates for every day ? 07:14
One More General questions abt perl 6 release ?
07:14 MayDaniel left
Sivasakthikumar Any one have idea what is the perl6 release date ? 07:14
07:15 envi_laptop left
mberends Sivasakthikumar: it all appears randomly in this IRC channel 07:15
Sivasakthikumar ok 07:16
Thanks for every one ..
mberends Sivasakthikumar: there are work-in-progress releases about once a month
Sivasakthikumar Ok ... Where i can see the updates for that release 07:17
i am very new in perl6 ... sorry for my stupid questions
i love to learn perl6 ..
07:17 sasy joined
mberends Sivasakthikumar: that's ok, your questions will rapidly become smarter :) 07:18
07:18 pernatiy joined
Sivasakthikumar Ok .. 07:18
mberends new releases will appear in the Downloads part of github.com/rakudo/rakudo but the next one is a few weeks away 07:19
Sivasakthikumar Ok cool ..
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 ...
mberends no, also perl 6 script files 07:21
Sivasakthikumar Ok ... How can i start the programs in perl 6
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
Ok got it
pl6 for extension
mberends .pl6 is not compulsory, but useful to avoid confusion 07:23
Sivasakthikumar Ok ..
So it's similer to perl5 07:24
for execution and all
mberends of course, it's still perl! but different in many details.
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)
dukeleto Sivasakthikumar: you may want to checkout modules.perl6.org 07:26
Sivasakthikumar Ok thanks for info 07:27
mberends : Ok i will create the sample scripts in diff directories 07:28
mberends Sivasakthikumar: :-)
Sivasakthikumar Ok
07:29 mj41 joined
mberends Sivasakthikumar: try something quick without a script file: perl6 -e "say 1, 2, 4 ... 256" 07:30
Sivasakthikumar Ok .. 07:31
masak rakudo: .say for 1, 2, 4 ... 256
p6eval rakudo fc57d1: OUTPUT«1␤2␤4␤8␤16␤32␤64␤128␤256␤»
07:32 im2ee joined
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:…
JimmyZ rakudo: .say for 1, 2, 11 ... 256
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:…
Sivasakthikumar yes ....
cotto lulz
masak submits rakudobug
cotto++ 07:33
Sivasakthikumar ... => is new operator in perl6
it's like a ranging oprator
mberends yes, it's called "series"
there is also still .. but that is less magic 07:34
cotto masak, post that bug when you've filed it
Sivasakthikumar Ok cool ...
masak cotto: rt.perl.org/rt3/Ticket/Display.html?id=98678 07:35
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
pmichaud huh
masak Sivasakthikumar: you mean learning material?
cotto has anyone gotten bus errors playing with mls' profiling code?
Sivasakthikumar yes
masak Sivasakthikumar: read ahmadzawawi.blogspot.com/2011/08/le...masak.html
pmichaud for 1,2,6 ... 33.4 { .say }
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:…
masak Sivasakthikumar: or the Perl 6 book at github.com/perl6/book
moritz perl6.org/documentation/
pmichaud that one should be fixable.
moritz I hope so :-)
cotto I'm getting one on the setting build after making a change, but it doesn't happen every time
moritz rakudo: for 1,2,6 ... * { .say }
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…
cotto making a change to the profiling code, that is
pmichaud oh, I bet the problem is that it's unable to figure out the sequence. 07:38
Sivasakthikumar thanks masak
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␤15␤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␤65␤66␤67␤68␤69␤70␤71␤72␤73␤74␤75␤76␤77␤78␤79␤80␤81␤
pmichaud yeah, sequence fail.
cotto pmichaud, is integration with oeis.org/ not a core language feature?
;)
masak Sivasakthikumar: also, be fearless. ask questions, we like it :)
moritz cotto: nope, left to a module :-)
pmichaud I wonder if ... should be extensible to allow custom sequences, though :) 07:40
moritz has a question
when will Perl 6 be finished?
moritz runs and hides
pmichaud moritz: "Seven years after Perl 5 finishes."
that's my prediction.
cotto When will COBOL be finished? 07:41
moritz hopes earlier
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:42
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.
pmichaud rakudo: sub xyz() { gather { take 1; return 2; take 3; } }; say xyz();
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…
JimmyZ Perl 6 will be finished after Perl 7 is borned :)
masak so... exhausting!
pmichaud rakudo: sub xyz() { gather { take 1; fail 2; take 3; } }; say xyz();
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…
pmichaud yup, that's the problem.
Sivasakthikumar thanks masak ... 07:44
07:45 thou left
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.
moritz shouldn't it simply be opaque to them?
erm, sorry, transparent. Not interact with them at all 07:46
pmichaud well, the GatherIter thinks there may still be more elements available.
i.e., when the GatherIter is requested to produce another element, it returns control back to the sub 07:47
a return/fail isn't signaling the iterator that the end of the list has been reached. That normally occurs when the gather exits.
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.
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 }
pmichaud Sivasakthikumar: it will be an infinite list, counting down from 100 by 2s 07:50
moritz rakudo: for 100,98,96 ... 1 { .say }
p6eval rakudo fc57d1: OUTPUT«(timeout)»
Sivasakthikumar Yes ...
pmichaud the stop condition has to be matched exactly
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␤»
mberends Sivasakthikumar: it probably works better if you end it with a 2 or a 0
cotto Has anyone here been playing with the profiling code? 07:52
pmichaud the mls++ profiling code?
cotto pmichaud, yup
pmichaud "playing" as in "using it" or as in "modifying it"?
cotto using 07:53
pmichaud I used it a fair bit last week. I haven't had tuits this week yet.
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
pmichaud I never experienced a crash the times I used it.
I used it about 5-6 times.
cotto ok
pmichaud I'm 64-bit, if that makes a difference. 07:54
cotto me too
pmichaud okay, I really need sleep here. bbiaw 07:55
cotto 'night
moritz sleep well 07:56
masak 'night, pm 07:58
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
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
masak cotto: if you decide to give it a go, let me know if you run up against any blockers.
cotto masak, certainly
masak cotto: trades are the only degree of freedom in the whole game.
cotto: an AI is composed of only two routines: one which proposes trades, an one which accepts/rejects them. 08:29
08:29 bonifatio joined
cotto masak, is the contest separate from masak/farm.git ? 08:29
masak in what sense? 08:32
tadzik and I haven't decided how/where to store AI submissions yet.
I'm pretty sure they will be stored somewhere publicly, though.
08:34 sasy left
cotto masak, farm.git doesn't explain how to use different AIs. istr seeing that somewhere though. 08:35
I suppose it could be your sneaky way of getting contestants to read the source. 08:41
masak that's the problem -- at present, that might be the only way. 08:48
but I do have the lightning talk slides.
they outline how the AI API looks.
masak.org/carl/yapc-eu-2011-little-...m/talk.pdf 08:49
see slide 43 :) 08:50
dalek kudo/nom: 0c6ec02 | (Martin Berends)++ | lib/Test.pm:
[lib/Test.pm] move time recording operations as near as possible to tests
kudo/nom: 4967c55 | (Martin Berends)++ | tools/test_summary.pl:
[tools/test_summary.pl] add a --view option to report on test times
08:51
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:54 phenny left 08:55 phenny joined, phenny left
masak cotto: probably, yes. but master isn't gone quite yet. 08:55
08:55 phenny joined
masak linked the lightning talk slides from github.com/masak/farm as a start 08:59
09:04 Tedd1 left 09:05 jferrero joined 09:16 Exodist left
tadzik good morning, zebry 09:17
mberends hello tadzik
pmichaud a still not asleep Pm says "good night, tadzik" :-)
tadzik wow, you know who was on #parrot yesterday? Some guy called "panda"
it's alive! :)
mberends heh
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 :)
tadzik :) 09:19
you could say that you're a father of Perl modules
they keep your last name. Well, your name last
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.
tadzik me too 09:21
pmichaud I do enjoy moritz' occasional "good am, pm" though :)
masak sleep well, pm. 09:22
pmichaud moritz: ping
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.
moritz: unping, I'm heading to sleep for a short while. bbl. 09:26
09:28 daxim joined 09:32 woosley left 09:34 pmurias joined 09:37 JimmyZ left 09:38 bs338 left 09:39 pmurias left 09:40 pmurias joined 09:46 JimmyZ joined 09:47 pmurias left 09:49 pmurias joined
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?
moritz bbkr_: *@params where all(@params) ~~ Hash 09:53
09:55 xinming_ joined
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␤␤»
moritz sub foo( *@params where { all(@params) ~~ Hash} ) { }; foo()
rakudo: sub foo( *@params where { all(@params) ~~ Hash} ) { }; foo()
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␤␤»
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␤»
jnthn >>~~<<
09:58 xinming left
jnthn er, extening version 09:58
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"} );
p6eval rakudo 4967c5: OUTPUT«LoL.new(({"1" => 2}, {"foo" => "bar"}))␤»
jnthn Which maybe makes sense, or you can't write $foo ~~ Junction
moritz right
b: sub foo( *@params where { all(@params).isa(Hash)} ) { }; foo()
p6eval b 1b7dd1: ( no output )
moritz b: sub foo( *@params where { all(@params).isa(Hash)} ) { }; foo({a => 1})
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␤»
moritz same problem probably 10:00
jnthn rakudo: sub foo( *@params where { all(@params).isa(Hash)} ) { }; foo({a => 1})
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␤␤»
jnthn hm
moritz b: sub foo( *@params where { [&&] @params.map({$_ ~~ Hash}) ) { }; foo({a => 1})
p6eval b 1b7dd1: OUTPUT«===SORRY!===␤Unable to parse blockoid, couldn't find final '}' at line 22␤»
moritz b: sub foo( *@params where { [&&] @params.map({$_ ~~ Hash}) } ) { }; foo({a => 1})
jnthn rakudo: sub foo( *@params where { @params >>~~>> Hash } ) { }; foo({a => 1})
p6eval b 1b7dd1: ( no output ) 10:01
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…
moritz b: sub foo( *@params where { [&&] @params.map({$_ ~~ Hash}) } ) { }; foo({a => 1}, {b => 2})
p6eval b 1b7dd1: ( no output )
moritz nom: sub foo( *@params where { [&&] @params.map({$_ ~~ Hash}) } ) { }; foo({a => 1}, {b => 2})
rakudo: sub foo( *@params where { [&&] @params.map({$_ ~~ Hash}) } ) { }; foo({a => 1}, {b => 2})
p6eval rakudo 4967c5: ( no output )
jnthn OK, hyper is missing a :D that makes my >>~~>> not work, I think.
bbkr_ what does this magic [&&] do in signatures? 10:02
jnthn Also, all(@params>>.isa(Hash) :)
moritz bbkr_: it's just code inside a { ... } block
jnthn er, closing ) on the end
rakudo: sub foo( *@params where { all(@params>>.isa(Hash)) } ) { }; foo({a => 1}) 10:03
p6eval rakudo 4967c5: ( no output )
jnthn rakudo: sub foo( *@params where { all(@params>>.isa(Hash)) } ) { }; foo(1)
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␤␤»
jnthn There we go.
bbkr_ awesome
10:03 lumi_ left
bbkr_ thanks for patience in answering my lame questions :) 10:03
jnthn Though all(@params>>.ACCEPTS(Hash)) will just happen to run faster in nom. 10:04
($foo ~~ SomeType is cheaper than $foo.isa(SomeType))
Well, probably.
:)
JimmyZ rakudo: sub foo( **@params ) { @params[0].perl.say }; foo( {1=>2}, {"foo"=>"bar"} ); 10:05
p6eval rakudo 4967c5: OUTPUT«{"1" => 2}␤»
JimmyZ rakudo: sub foo( *@params ) { @params[0].perl.say }; foo( {1=>2}, {"foo"=>"bar"} );
p6eval rakudo 4967c5: OUTPUT«{"1" => 2}␤»
tadzik make 400.76s user 5.18s system 108% cpu 6:12.86 total on blead parrot 10:06
10:08 daniel-s left 10:09 lateau_ joined
im2ee Hello :) 10:10
tadzik hello
10:12 JimmyZ left, JimmyZ joined 10:14 yves joined
im2ee tadzik, how are you? :) 10:15
tadzik pretty fine :) You?
im2ee Too. :)
10:18 plobsing joined, Trashlord left 10:20 donri joined 10:21 pmurias left, lateau_ left 10:22 packetknife joined, pmurias joined 10:24 packetknife left 10:27 yves_ joined
Sivasakthikumar 10:29
mls hi jnthn! 10:30
10:30 Sivasakthikumar left
mls et al ;) 10:30
tadzik hello hello 10:31
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
tadzik b: say (1465.13 - 1433.31) / 1465.13 10:32
p6eval b 1b7dd1: OUTPUT«0.0217182093056589␤»
mls jnthn: The Num::Rat method goes into an infinite loop, as $a/$b/$c/$d get negative because of an integer overflow 10:37
There's no way the current time can be represented as a Rat when numerator and denominator are 32bit ints 10:38
so it's pretty much unfixable with nom's current "Int == int" idea 10:39
10:41 pmurias left
jnthn mls: Well, we made it work somehow in master, which also had the same idea. 10:51
mls: I suspect that was by promotion to Num or some such.
colomon master has promotion to Num all over the place.
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
colomon how do you get at master in the evalbot now? 10:55
10:55 JimmyZ left
masak colomon: 'b:' for the 2011-07 release, 'rakudo:' for the nom branch. 10:57
10:57 mkramer1 joined
colomon masak++ 10:57
masak colomon: that wasn't a direct reply to your question, but that's what we have.
colomon b: say 1e20.Int
p6eval b 1b7dd1: OUTPUT«-9223372036854775808␤»
colomon nom: say 1e20.Int
rakudo: say 1e20.Int # old habits... 10:58
p6eval rakudo 4967c5: OUTPUT«-9223372036854775808␤»
flussence a short-term fix for 'now' might be to define Instant == 0 as the start of the script...
(it'll still break for dates far from the present, but it'll work for simple timer things) 10:59
11:00 envi joined
colomon mls: do you have an example Num that causes trouble in Num.Rat? 11:01
11:02 pernatiy left 11:07 benabik left 11:18 woosley joined 11:22 Trashlord joined 11:30 yves left 11:32 cosimo joined 11:34 Psyche^ joined 11:38 Patterner left, Psyche^ is now known as Patterner
moritz rakudo: say now.x 11:39
p6eval rakudo 4967c5: OUTPUT«1315482008.61476␤»
11:41 JimmyZ joined
mls colomon: any 10 digit number with some extra digit after the decimal point 11:43
e.g. 1315482008.61476 11:44
11:44 pernatiy joined 11:46 benabik joined 11:50 plobsing left 11:55 pmichaud left, pmichaud joined 11:59 Shozan left 12:00 [Coke] left, Shozan joined 12:12 lumi_ joined 12:20 Exodist left, mberends left
im2ee How to exec system command and get output? :) 12:25
moritz qx/.../, just like in p5 12:26
but please don't do it on p6eval
im2ee p6eval should be secured, it is? :) 12:28
And it should be secured agains opening files, right? :)
I won't to do it on p6eval, moritz . :) 12:29
moritz it should be. It isn't. Patches welcome :-)
im2ee You know.. Somebody can use it to destroy the machine, right? :) 12:32
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? :)
moritz there are user permissions, resource limits and a chroot involved 12:34
tadzik I'm not sure those are even bugs
im2ee moritz, great. :)
12:37 Exodist joined
im2ee tadzik, it's great too. :) 12:41
tadzik :)
12:50 jaldhar left 12:53 wamba joined, abercrombie joined 12:54 satyavvd left
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:54
12:55 Holy_Cow joined 12:57 im2ee left, im2ee joined
felher I thought maybe it means something like: 12:59
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();
p6eval rakudo 4967c5, niecza v9-11-g0f286c3: OUTPUT«base␤base␤»
..pugs: OUTPUT«Child␤Child␤»
13:00 Holy_Cow left, jaldhar joined, JimmyZ left
moritz I thin that "virtual class names" are a very bad idea 13:00
*think
masak it was a common idea back when A12 was written.
13:00 woosley left
moritz since class names are scoped lexically, and lexical scopes are static (mostly) 13:00
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.
Otherwise how do you do $obj.SomeParent::foo()
moritz too
jnthn If you want the virtual thing, just say "self" :) 13:02
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:03
13:04 JimmyZ joined
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
who will update S12 to spec?
JimmyZ you 13:05
哈哈
felher masak: very well :)
thnx folks. :)
moritz if it's just deleting that part, I can do that. 13:06
frettled braces. 13:07
frettled curly braces.
13:08 mux left, LoRe_ left, lucs left, risou_awy left, nine left, jasonmay left, phenny left, Bucciarati left, araujo left, lue left, ruoso left, frettled left, dukeleto left, eternaleye left, DarthGandalf left, sjn left, cotto_work left, jrockway left, pernatiy left, BinGOs left, nebuchadnezzar left, literal left, frettled joined, mux joined, LoRe_ joined, lucs joined 13:09 nine joined, ruoso joined, jasonmay joined, Bucciarati joined, risou_awy joined, cotto_work joined, dukeleto joined, phenny joined 13:10 lue joined, araujo joined
dalek ecs: 3e3f556 | moritz++ | S12-objects.pod:
[S12] remove a fossile noted by felher++

At least I find it very unlikely that virtual class names correspond to our current mindset of actually knowing some stuff at compile time.
13:10
tadzik I'm glad to have anything "More suprisingly" removed :) 13:11
13:12 wooden joined, wooden left, wooden joined, nebuchadnezzar joined, DarthGandalf joined
masak moritz++ # removing fossils (sans final "e") 13:13
moritz the 'e' in fossile is a fossile :-) 13:14
masak you've been working too much with fissile material :P 13:18
moritz indeed I have :-) 13:19
(basically *all* material is fissile, though it sometimes takes great effort) 13:20
benabik moritz: Hydrogen?
13:21 pernatiy joined
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
(ok, lots in the universe. I should have been more precise :-)
benabik moritz: Lots of free hydrogen around… If you casually drop high voltage wires in puddles, like I do. <.< >.> 13:22
colomon rakudo: say 1315482008.61476.Int 13:23
p6eval rakudo 4967c5: OUTPUT«1315482008␤»
13:23 literal joined, sjn joined 13:25 BinGOs joined 13:27 azm joined 13:29 jrockway joined
azm I need help 13:29
if ($ARGV[1] eq ") { 13:30
how this line should be copleted without getting an error please ?
moritz " # 13:31
though in Perl 6 you'd write if @*ARGS[1] eq '...'
(and this is a Perl 6 channel)
flussence or you could write a much more readable MAIN sub... 13:34
azm I get error with: if ($ARGV[1] eq " #) { 13:35
13:35 domidumont left
azm this is the whole code pastie.org/2502783 13:35
moritz azm: that's not what I wrote
azm ah
instead ) 13:36
moritz azm: and this is not a Perl 5 help channel. Try #perlhelp instead
azm I'm sorry
flussence actually reading the error message helps too 13:37
13:38 daxim left
azm moritz, #perlhelp does not exist 13:39
:/
still not working
tadzik maybe #perl-help then, and maybe on irc.perl.org
azm so like this : if ($ARGV[1] eq ""#) {
so like this : if ($ARGV[1] eq "" #) {
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
azm abercrombie, I dont know what " # meant
moritz azm: so it was to quickly answer a question asked out of context, not as a good answer
azm ah, well 13:41
I posted whole code
moritz ... after my answer, yes
azm: perldoc.perl.org/perlintro.html
azm man
please
its out of my range now
moritz just like perl 5 questions are out of #perl6 range 13:42
(hint, hint)
azm I asked in perl
I got answer: if you're doing @ARGV processing, use Getopt::Long and save yourself some pain.
which I dont know what means
masak so you came here for a different answer? :)
azm yep
moritz azm: that doesn't make it more on-topic here. 13:43
masak azm: Getopt::Long is a nice CPAN module.
azm seems like you have nothing to solve here anyway
moritz masak: core even, iirc
masak azm: if you don't know about CPAN, you should definitely take some time to learn about it. you'll thank yourself.
azm: what moritz++ said. core.
azm I know cpan
but the code should work without it
masak should takes some time to learn about core :)
tadzik azm: how is perlintro out of your range?
masak azm: we can tell you how to process arguments in Perl 6. :) 13:44
tadzik azm: Getopt::Long is a core module
masak azm: it's really nice.
azm tadzik, Im trying to learn SEH exploitation and debugging
not perl
tadzik SEH?
azm but I admit its kinda script kiddie style
moritz azm: then you're wrong here anyway. We won't write the scripts for you
13:44 domidumont joined
azm moritz, havent asked for it 13:44
moritz azm: then learn perl, and fix your problems. 13:45
azm just correct mistakes
moritz correcting mistakes is 90% of a programmer's job
writing the incorrect code in the first place is trivial.
azm tadzik, exception handling mechanisms 13:46
tadzik mhm
azm ok, no problem
I will learn perl6 when Im at it
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. :)
masak jnthn++
azm jnthn, I tried "" still got error 13:47
13:47 pnu left
azm and agree with you 13:47
masak azm: what jnthn wrote works.
13:47 Shozan left
tadzik ingy: nice work on Mo; if it had has (default => ()), it'd cover all my Moo uses :) 13:47
moritz the next OO system will just be called M, right? :-) 13:48
tadzik yes :)
moritz and the one after it '' 13:50
that's going to be fun to write :-)
tadzik . o O ( use what's::needed )
that'd be just what/s/needed.pm :)
moritz since in p5, symbol tables are just hashes, you *can* store something with an empty name in it
jnthn nom: class A { }. A.^add_method('', method foo() { say 'heh' }); A.''() 13:51
rakudo: class A { }. A.^add_method('', method foo() { say 'heh' }); A.''()
p6eval rakudo 4967c5: OUTPUT«===SORRY!===␤Confused at line 1, near "class A { "␤»
jnthn oh, it's not pascal...
rakudo: class A { }; A.^add_method('', method foo() { say 'heh' }); A.''()
p6eval rakudo 4967c5: OUTPUT«Useless declaration of a has-scoped method in mainline␤heh␤»
moritz heh!
tadzik eek
jnthn :)
tadzik rakudo: class A { }; A.^add_method('', my method foo() { say 'heh' }); A.''() 13:52
p6eval rakudo 4967c5: OUTPUT«heh␤»
tadzik heh
moritz we used to have ''-named methods (back in b), from all those vtables
jnthn Yeah.
rakudo: Any.''()
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␤␤»
jnthn phew :)
moritz you shouldn't look in Any but in All :-) 13:53
jnthn rakudo: All.''()
p6eval rakudo 4967c5: OUTPUT«Could not find sub &All␤ in <anon> at /tmp/vA_1n0YIfC:1␤ in <anon> at /tmp/vA_1n0YIfC:1␤␤»
tadzik rakudo: all(''()))
jnthn :P
p6eval rakudo 4967c5: OUTPUT«===SORRY!===␤Confused at line 1, near ")"␤»
tadzik rakudo: all(*.''()))
p6eval rakudo 4967c5: OUTPUT«===SORRY!===␤Confused at line 1, near ")"␤»
jnthn tadzik: one too many )
tadzik oh
rakudo: all(*.''())
p6eval rakudo 4967c5: OUTPUT«Method '' not found for invocant of class 'Whatever'␤ in <anon> at /tmp/wAQEuPwhH_:1␤ in <anon> at /tmp/wAQEuPwhH_:1␤␤»
tadzik oh, it stopped at Whatever 13:54
:)
13:54 sftp joined
benabik tadzik: Rakudo's response to your question… "Whatever" 13:54
flussence rakudo: *.*''() 13:55
p6eval rakudo 4967c5: ( no output )
benabik rakudo: sub del($_) { .perl.say }; del *.* 13:56
p6eval rakudo 4967c5: OUTPUT«===SORRY!===␤Confused at line 1, near "del *.*"␤»
13:56 pnu joined
benabik Ah, well. 13:56
13:57 mkramer1 left
moritz *.* just doesn't parse at a term :/ 13:58
benabik rakudo: sub del($_) { .perl.say }; del *.*''() 13:59
p6eval rakudo 4967c5: OUTPUT«()␤»
flussence std: *.*''()ZXZ,??? 14:00
p6eval std e3c970e: OUTPUT«Potential difficulties:␤ Useless use of quotes at /tmp/GqqwnsC8io line 1:␤------> *.*''⏏()ZXZ,???␤ok 00:01 120m␤»
moritz std: 1.''()
p6eval std e3c970e: OUTPUT«Potential difficulties:␤ Useless use of quotes at /tmp/pqTg2skJpa line 1:␤------> 1.''⏏()␤ok 00:01 118m␤»
moritz TimToady: ^^ that seems bogus
benabik moritz: I just saw it in flussence's eval line and thought "I could write p6 code that makes DOS people nervous."
flussence moritz: so does the code itself, but still :) 14:01
moritz flussence: $obj.''() looks perfectly fine to me
which is that part that std complained about
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... :-)
benabik: perlgeek.de/blog-en/perl-6/starry-obfu.html # a p6 obfu from 2009 14:03
benabik moritz: That's… impressive. 14:04
moritz benabik: thanks :-). Sadly it stopped working
benabik moritz: sadface
moritz due to a very sensible spec change though
14:05 mtk left
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␤␤»
benabik moritz: It used to do 3+3? 14:06
moritz benabik: yes
14:06 risou_awy is now known as risou
benabik That would be a sensible change then. 14:06
abercrombie pwd 14:11
14:11 themunchman joined
benabik irc://irc.freenode.net/#perl6 14:11
themunchman hiya people
masak themunchman: hi!
moritz what about the bots? :-) 14:12
themunchman how is every one
14:13 wamba left
themunchman any women in here 14:13
flussence geez, I can't believe chatmosphere charges three bucks a minute for this service, can you? :D 14:14
14:14 mtk joined
themunchman any women 14:14
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 :-)
themunchman sound its just i wanna chat to anyone but do prefer to talk to women 14:16
14:16 JimmyZ_ joined
masak themunchman: why? 14:16
themunchman dunno i find it easier to talk to women
masak fair enough. 14:17
themunchman i know it sounds mad coming from a lad like 14:18
14:19 JimmyZ__ joined, JimmyZ left, JimmyZ__ is now known as JimmyZ
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:19
14:20 themunchman left 14:22 JimmyZ__ joined, JimmyZ_ left
masak oh, a blackberry user. 14:23
that explains a lot. :)
14:23 JimmyZ_ joined
jnthn Well, visiting #perl6 is at least a better use of a blackberry than organising riots in London... :P 14:24
14:24 JimmyZ left 14:25 JimmyZ joined 14:27 JimmyZ__ left 14:28 JimmyZ_ left 14:32 JimmyZ_ joined 14:34 JimmyZ left, JimmyZ_ is now known as JimmyZ
PerlJam reads lue's gist 14:38
14:40 JimmyZ_ joined 14:41 molaf joined 14:42 JimmyZ left, JimmyZ_ is now known as JimmyZ
sorear good * #perl6 14:42
dukeleto ~~ 14:45
14:47 thou joined
masak \o 14:47
flussence sorear: would you be interested in having a graph for niecza like this? github.com/flussence/specgraphs/ra...-tests.png 14:48
sorear flussence: yes 14:49
tadzik ooh, it's pretty 14:50
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
flussence well, looks doable :) 14:54
moritz sh t/run_spectests --archive 14:55
sorear++ # having enough foresight to make that trivial
sh t/run_spectests --archive <archive_name>
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:56
flussence felher: good catch! 14:57
tadzik yeah
felher good.
dalek ecs: a2f4fb9 | (Felix Herrmann)++ | S12-objects.pod:
[S12] typo fix: insert missing if
moritz felher++ 14:58
benabik felher: If you're catching mistakes like that, it's not so obvious. :-) 14:59
felher benabik: thnx. :) 15:01
15:04 scottp left, scottp joined, scottp left, scottp joined 15:05 scottp left, scottp joined, scottp left, scottp joined 15:06 scottp left, scottp joined 15:07 alester joined
flussence slight snag in my plan... "t/spec/S02-literals/hash-interpolation.t ...................... xargs: prove: terminated by signal 15" 15:07
15:10 jtpalmer_ joined 15:11 TimToady_ joined, pernatiy left, pernatiy joined, tty234_ joined, hillu_ joined 15:12 betterwo1ld joined 15:13 tlocalhos left, agentzh joined
dalek kudo/nom: a392725 | jonathan++ | src/Perl6/Actions.pm:
Toss unused variables and initializations.
15:14
kudo/nom: 842c4f7 | jonathan++ | src/core/EXPORTHOW.pm:
Remove workarounds; replace a bunch of PIR ops with NQP ops.
15:14 jrockway_ joined 15:15 tlocalhos joined, Alias_ left
moritz flussence: fwiw I built a tap archive of niezca's 'make spectest' just fine 15:15
15:16 tomaw_ joined
sorear note, it didn't always work like this 15:16
if you're building your graph back into the past, things may be more fun.
moritz sed 's|^|t/spec/|' t/spectest.data | xargs prove -e 't/fudgeandrun' --archive file.tgz 15:17
should do though
15:18 JimmyZ left, mtk left, jrockway left, lue left, yves_ left, bonifatio left, espadrine left, renormalist left, Sarten-X left, TimToady left, betterworld left, tty234 left, hillu left, tomaw left, jtpalmer left, scottp left, Sarten-X2 joined 15:19 scottp joined, scottp left, scottp joined, scottp left 15:20 scottp joined, scottp left, scottp joined
flussence I get the same thing with that, prove gets a sigterm around S02 (at a different test file though) :/ 15:23
15:23 yves_ joined, lue joined, mtk joined, JimmyZ joined
dalek kudo/nom: 7360e33 | jonathan++ | src/Perl6/Grammar.pm:
Unify EXPORTHOW handling, avoid some code duplication, make nested settings work.
15:23
kudo/nom: 7c001ff | jonathan++ | / (3 files):
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.
jnthn moritz: > perl6 --setting=SAFE -e "unlink 'README'"
unlink is disallowed in safe mode
15:23 bonifatio joined 15:24 JodaZ joined, bonifatio left 15:25 agentzh left
moritz jnthn++ 15:26
15:27 JodaZ left 15:28 scottp left
jnthn
.oO( oh noes, the .^add_fallback cat is out the bag... )
15:28
moritz I did notice that in the diff 15:29
and thought "cool, I've wanted such a thing for quite some time"
jnthn Well, it's been used in traits.pm for some weeks. :)
moritz it also makes it possible to make Failure much more robust
jnthn: but I didn't notice it in there :-)
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?
jnthn nom: sub foo(::T $x) { say T }; foo(42) 15:41
ARGH!!
rakudo: sub foo(::T $x) { say T }; foo(42)
p6eval rakudo 4967c5: OUTPUT«Int()␤»
jnthn It's going to take me weeks to stop typing "nom"... 15:42
tadzik I'll fix this
jnthn Well, I wasn't especially asking for it back...but I won't object either :)
@other may though :)
PerlJam tadzik: I'm asking for it back since jnthn is reluctant to do so :)
moritz tadzik will fix jnthn not type 'nom:' anymore? :-) 15:43
masak .oO( "I'll 'take care' of him" )
tadzik I'll use --setting=SAFE too
jnthn masak: o.O 15:44
:P
moritz ++tadzik
dalek albot: 9758de2 | tadzik++ | evalbot.pl:
Add nom as an alias for rakudo. Use SAFE.setting
tadzik evalbot control restart
15:44 p6eval left, p6eval joined, ChanServ sets mode: +v p6eval
tadzik nom: say 1 15:44
jnthn rakudo: sub foo(::T $x) { my T $x; say $x }; foo(42) 15:45
tadzik okay, I suck at this
masak now nothing works! :/
tadzik could anyone review that?
p6eval rakudo 4967c5: OUTPUT«===SORRY!===␤Redeclaration of symbol $x at line 1, near "; say $x }"␤»
tadzik oh
rakudo: say 1
p6eval rakudo 4967c5: OUTPUT«1␤»
jnthn rakudo: sub foo(::T $x) { my T $y; say $y }; foo(42)
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…
tadzik maybe it didn't pull yet
benabik tadzik: Or it didn't restart?
jnthn aha, that's the bit I hadn't done... 15:46
tadzik benabik: I've just restarted it
moritz tadzik: the next rebuild is scheduled in 4 minutes, iirc
tadzik okay
moritz evalbot rebuild nom
p6eval OK (started asynchronously)
moritz but that way it's faster :-)
tadzik that's nom, or evalbot? 15:47
moritz oh, and evalbot doesn't 'git pull' itself
nom
benabik running code automatically downloaded is bad.
moritz that's what evalbot does all the time :-)
dunno why I found this particular instance more disturbing than countless others 15:48
15:48 pmurias joined 15:49 tokuhirom joined
masak "p6eval: user string injection, as a bot" ;) 15:49
benabik heh.
PerlJam um ... can the "b" entry be removed in the evalbot? Wasn't it for "safe mode" ?
jnthn masak: Did you post a roles fail earlier today? I can't find it in the backlog?
PerlJam: No, it's so we can get at the beijing release still.
PerlJam oh 15:50
moritz it has a simplistic safe mode
b: open('foo', :w)
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␤»
moritz b: pir::die('foo')
p6eval b 1b7dd1: OUTPUT«foo␤ in main program body at line 22:/tmp/FGZNwM0sbk␤»
moritz seems I didn't disable pir::
flussence IIRC ng's "safe mode" used a PIR blacklist
moritz right 15:51
(as can be seen in p6eval's source)
15:52 mj41 left
masak jnthn: only that parametric roles aren't implemented yet. 15:52
it might've been yesterday.
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')
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␤␤»
jnthn That looks...kinda implemented... ;)
(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?
phenny pmurias: 03:29Z <sorear> tell pmurias lib/BigInteger.cs is partially under the MSPL.
15:55 jevin left
masak decommutes 15:56
jnthn: irclog.perlgeek.de/perl6/2011-09-07#i_4389614 15:57
15:57 masak left
jnthn oh! 15:57
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:58
15:59 jevin joined
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
as in, folks would expect to do Moon[$x] too
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("␤»
TimToady_ you will note that "blue" is a constant, so can be constant folded, methinks
jnthn TimToady_: Oh, it could be. 16:04
TimToady_: We already can do that for the other case, iirc
TimToady_ we'll probably rely on that for my @shaped[10;10] too
jnthn TimToady_: My question is whether Foo[$x] as a term is something we attempt to resolve at compile time or runtime.
16:04 Reaganomicon left 16:05 lichtkind joined
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...)
PerlJam: I don't know, that's why I'm asking ;)
TimToady_ that's called "constant folding" :)
notably, roles are immutable
jnthn OK, put another way
16:06 JimmyZ_ joined
TimToady_ so it depnds only on the argument 16:06
jnthn role Foo[::T] { }; for Int, Num, Str { Foo[$_].new }
Works? Or compile time error?
16:06 daniel-s left
TimToady_ why shouldn't it work? 16:06
and why shouldn't my @shaped[$x;$y] work?
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)
jnthn I consider my @shaped[$x;$y] a differnt case, tbh.
TimToady_ but types must also be elaborated at run time, and that can be parameterized
how is it different?
moritz PerlJam: obviously to create containers that can just hold Whatever-stars :-)
PerlJam map Foo[*].new, Int, Num, Str; # ?
jnthn TimToady_: how is it the same? :) 16:08
moritz PerlJam: NOOOO
@array[*] doesn't autocurry either
16:08 JimmyZ left, JimmyZ_ is now known as JimmyZ
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
moritz PerlJam: but they *look* the same
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.
er, compile time more than declaration time 16:10
jnthn isn't communicating this too well :/
PerlJam jnthn: but types don't have to be fully defined do they? They just need to let Perl know their names.
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.
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
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 :)
Or maybe I just put it in now if it's easy.
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[...] { ... }
TimToady_ but that's different from declarations that allow parametricity, such as shapes and role args
16:13 thou left
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
jnthn OK, I'd not looked at it that way before.
I like it though. :) 16:15
TimToady_++
TimToady_ \o/ for small unificaitons
*ti
jnthn Is there some reason my @shaped[10,10] would not work? 16:16
jnthn checks to see if S09 says anything on the subject :) 16:17
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.
PerlJam: Maybe Array[:shape(10;10)] or some such
PerlJam I'm not sure what that means either. 16:20
thinking of it in a role Array[T::] { ... } sense.
jnthn That works. role Array[::T, LoL :@shape] { ... } 16:21
Or some such.
Role signatures can do named args too. :)
PerlJam aye, but what would ::T be ? 16:23
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
s/definition/dimension/
16:24 lichtkind left
jnthn aha, ok 16:24
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.
TimToady_: oh...we snuck in perfect hashing? :)
PerlJam jnthn: yeah, after I asked the question, I thought of about 3 things it could be :)
though, could you elide the ::T entirely? 16:26
16:26 birdwindupbird left
jnthn rakudo: role R { }; say R.HOW.archetypes.parametric 16:26
p6eval rakudo 4967c5: OUTPUT«1␤»
jnthn rakudo: class R { }; say R.HOW.archetypes.parametric
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␤␤»
jnthn heh
TimToady_ we don't mandate perfect hashing, but it's nice if it's possible when it's possible :)
jnthn PerlJam: Not quite sure I follow. 16:27
PerlJam: We need it there for the my Int @s[10;10] case
PerlJam I guess I keep thinking of the "parameter" in parameterized roles primarly as "types", but they could be *anything*
jnthn PerlJam: Indeed.
16:28 uasi left
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
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++
TimToady_ the spec probably needs to say more about reliance on constant folding rather than arbitrary restrictions... 16:30
16:33 uasi left
PerlJam "anything that can be known at compile time, should be" :) 16:33
16:33 kaare_ joined
pmurias TimToady_: the extent to which things constant fold won't be the same across different compilers 16:34
16:35 tomaw_ is now known as tomaw
TimToady_ it will if it's part of the spec and test suite 16:35
we do probably need to do a better job of declaring which routines are pure for that to work out well though 16:37
16:37 lichtkind joined
lichtkind cheers chanel 16:37
TimToady_ "pure" is badly overloaded; "stateless" is more like 16:38
lichtkind nom: (2..4)
TimToady_ maybe we need a "fun" declarator :)
lichtkind haha
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?
lichtkind nom: say 1
jnthn lichtkind: "rakudo:" is nom branch now.
lichtkind jnthn: thanks
rakudo: (1..5) 16:40
p6eval rakudo 4967c5: ( no output )
lichtkind rakudo: say (1..5).WHAT
p6eval rakudo 4967c5: OUTPUT«Range()␤»
lichtkind rakudo: say @(1..5).WHAT
p6eval rakudo 4967c5: OUTPUT«List()␤»
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
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 :)
lichtkind rakudo: my $a = (1..5); say $a.WHAT
p6eval rakudo 4967c5: OUTPUT«Range()␤»
lichtkind rakudo: my $a = (1,5); say $a.WHAT 16:42
p6eval rakudo 4967c5: OUTPUT«Parcel()␤»
lichtkind rakudo: my $a = | (1,5); say $a.WHAT
p6eval rakudo 4967c5: OUTPUT«Could not find sub &prefix:<|>␤ in <anon> at /tmp/qF8GZJvDmy:1␤ in <anon> at /tmp/qF8GZJvDmy:1␤␤»
lichtkind rakudo: my $a = |(1,5); say $a.WHAT
p6eval rakudo 4967c5: OUTPUT«Could not find sub &prefix:<|>␤ in <anon> at /tmp/_jWPPyU6aM:1␤ in <anon> at /tmp/_jWPPyU6aM:1␤␤»
jnthn lichtkind: fwiw, you can also privmsg p6eval :)
16:42 envi left
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␤␤»
lichtkind jnthn++
thanks
TimToady_ but in this case it's nice to know that prefix:<|> is missing 16:43
jnthn ooh, yes
b: my $a = ||(1,5); say $a.WHAT
p6eval b 1b7dd1: OUTPUT«Capture()␤»
flussence
.oO( plzfix:<|> )
lichtkind captures are still around?
jnthn :P
lichtkind: captures aren't going anywhere :) 16:45
lichtkind :)
jnthn ...I hope! :)
lichtkind are there still built with / .... what are they now ?
:) 16:46
16:46 azm left
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
pmichaud good morning, #perl6 16:53
tadzik good morning pmichaud 16:54
dalek kudo/nom: a2a5ab8 | jonathan++ | src/Perl6/Actions.pm:
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
lichtkind jnthn: but whats the diff from parcel?
16:57 MayDaniel joined
lichtkind tadzik: cheers 16:57
jnthn o/ pmichaud
tadzik hello lichtkind
jnthn lichtkind: parcel only has positional part
pmichaud actually, a parcel doesn't even have a positional part :)
it's just a set of things 16:58
if you treat a parcel as a positional, it flattens
lichtkind but it has a order
pmichaud (okay, so in that case I guess it does have a positional part... but there's some intermediate stuff there :)
lichtkind it has no iteratorß
jnthn lichtkind: Perhaps best way to think of parcel is as a runtime representation of a list of comma-sepearated things in the program.
lichtkind ß
? 16:59
tadzik ss
16:59 s1n left
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
if you put a parcel in the top level of a call, it turns into capture
at which point pairs promote to named args 17:00
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
lichtkind thank you very much now i just hae to get the diff btw list and arrray 17:01
or are the syn still valid on that? 17:02
pmichaud the syn are somewhat incorrect on that. still my fault.
lichtkind pmichaud++ put a warning sign on some
ah
pmichaud a list is just a sequence of items. an array is a list of scalar containers
TimToady_ by default
tadzik jnthn: hacking on something? 17:03
jnthn tadzik: Trying to sort out parametrics a bit more.
tadzik okay
dalek kudo/nom: c8b7c99 | jonathan++ | src/Perl6/Metamodel/ (2 files):
Curried roles should be punnable and able to be passed around.
tadzik rakudo: gist.github.com/1203934
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"␤»
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:05 daniel-s joined
jnthn tadzik: golfed to 5 mines. :) 17:06
er
...5 lines.
tadzik nice :)
jnthn
.oO( and it explodes... )
tadzik successful golf is successful 17:07
17:07 benabik left
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?
because there is SeqIter
and such
jnthn lichtkind: In nom I think we don't have Seqs any more.
pmichaud at the moment, nom doesn't have a Seq, nor a SeqIter
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
lichtkind oh in tablets are still seqiter
tadzik jnthn: great :)
jnthn
.oO( non-seqiter )
17:08 masak joined
lichtkind its just iter? 17:09
17:09 envi joined 17:10 JimmyZ_ joined
jnthn tadzik: I try and fix it either this evening, or tomorrow. 17:10
tadzik: Got tomorrow set aside for Perl 6 stuff...
tadzik oh cool 17:11
no hurries 17:12
lichtkind brb
jnthn Well, I really want Pes to work again, so a little hurry ;)
tadzik (:
jnthn er, Pies :)
tadzik we could automate module testing then
17:12 lichtkind left
jnthn tries to find his "how to implement role subtype checking" notes that he wrote on the plane to Riga... 17:13
17:13 JimmyZ_ left, JimmyZ left
moritz b hb vbblj - hb n v 17:16
$daughter types rather vigorously :-) 17:17
17:17 pernatiy left
jnthn std: b hb vbblj - hb n v 17:17
p6eval std e3c970e: OUTPUT«===SORRY!===␤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␤»
TimToady_ strong typing, you mean
jnthn Just needs to declare those routines and it's fine Perl 6 :)
TimToady_ well, vbblj could be a constant 17:18
so could v
maybe all words beginning with v are constant in her language
tadzik surely everything beginning with a Capital is a Noun :) 17:19
17:20 wamba joined, daniel-s left 17:23 uasi joined, Chillance joined
moritz she only seems to use v\w+ words in written language though 17:23
TimToady_ so the Das of Das Capital is a noun? :P 17:24
tadzik I don't think so
17:26 Trashlord left 17:36 jevin left 17:37 jevin joined 17:50 daniel-s joined 17:52 molaf left 17:53 tdignan left 17:54 tdignan joined, risou is now known as risou_awy
TimToady_ you can fission hydrogen too, but it takes a rather large particle accelerator to persuade quarks to decontainerize :) 18:05
basically, it must supply enough energy to create "consolation" quarks... 18:06
18:11 MayDaniel left
pmichaud wonders about the quantum leap that led to that comment :) 18:11
18:14 Reaganomicon left
moritz there where quite many invovled :-) 18:14
*were
18:16 daniel-s left 18:20 daniel-s joined
dalek d: bb4f150 | larry++ | STD.pm6:
Don't call .''() useless; it's merely inadvisable
18:21
masak a quantum leap is generally a very, very small leap. 18:22
cotto_work thanks for quantifying that 18:24
masak twice :) 18:25
18:25 uasi left 18:26 tokuhirom left
masak std: /a*+/ 18:26
p6eval std e3c970e: OUTPUT«ok 00:01 119m␤»
masak std: /a*+*+/ 18:27
p6eval std e3c970e: OUTPUT«===SORRY!===␤Quantifier quantifies nothing at /tmp/NH9jcxYkk3 line 1:␤------> /a*+*+⏏/␤Check failed␤FAILED 00:01 119m␤»
masak hm.
18:28 ponbiki left
TimToady_ + is a fairly standard ratchet adverb these days 18:29
masak it is? 18:30
18:32 jevin left
TimToady_ see "possessive" in perlre for instance 18:32
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
s/known/knowable/
18:34 jevin joined
TimToady_ the quantum tunnel both meets and doesn't meet in the middle of the mountain... 18:34
diakopter TimToady_: you have a _ 18:36
tadzik ogon
TimToady_ hmm, so I do
18:36 TimToady_ is now known as TimToady
masak deogonization. 18:37
18:37 ponbiki joined 18:38 wamba left
TimToady no carp allowed? 18:38
masak TimToady: I know of .* and .? and .+ and .*? and .?? and .+? and .*: and .?: and .+: 18:39
TimToady: but I don't know of any of these "possessive" things, not in Perl 6.
diakopter that's the great thing about punrolls; you don't actually have to get the prior one to make the next one
TimToady + is just a synonym for : in STD
masak "punrolls". nice. 18:40
TimToady: oh!
TimToady thinks about loo punrolling
masak: but only when used on an existing quantifier 18:41
masak TimToady: so /a*+*+/ parses as /[a*] : *+/ ?
(to the extent to which something that parsefails parses) :) 18:42
18:42 birdwindupbird joined
masak pmichaud: does nqp parse .*+ as .*: ? 18:42
pmichaud I don't believe it does.
I'm not sure I ever added the '+' modifier
let me look. 18:43
is such a thing described in S05, ooc?
colomon ping sorear 18:44
TimToady don't think so 18:45
pmichaud yeah, looks like '+' was added post-nqp 18:48
it shouldn't be hard to add it to nqp
masak \o/ 18:50
diakopter finally gets loo punrolling 18:56
18:58 espadrine joined 19:02 [Coke] joined
dalek ecs: e638d24 | larry++ | S05-regex.pod:
Document possessive quantifier syntax
19:03
19:06 birdwindupbird left
moritz evalbot control restart 19:13
19:13 p6eval left, p6eval joined, ChanServ sets mode: +v p6eval
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)␤»
tadzik oh
moritz it might not install it 19:14
dalek kudo/nom: 591c694 | moritz++ | tools/build/Makefile.in:
whitespace fix in Makefile.in, GNU make really wants tab characters
19:17
19:17 bbkr left
jnthn I'm sure I added it to install... 19:17
moritz jnthn: see the last commit 19:18
evalbot rebuild nom
p6eval OK (started asynchronously)
jnthn oh, d'oh 19:19
tssk...fussy GNU make. 19:20
19:20 bbkr joined
jnthn tries to remember 19:20
jnthn twiddles his editor to try and get it righter :) 19:21
im2ee Uff, i did lots of perl6s exercises :) 19:32
So, time to bed and reading books. :)
masak :) 19:33
im2ee Good night :)
masak 'n
im2ee Dobranoc masak ! :)
Do you like polish? :)
19:33 araujo left
masak very much :) 19:34
im2ee Great. :)
So good night everyone :)
19:35 im2ee left, benabik joined 19:36 mj41 joined
dalek kudo/nom: c34ac6e | moritz++ | src/SAFE.setting:
forbid more functions in SAFE.setting
19:40
diakopter moritz: thanks :) 19:43
moritz: the various p6eval rebuild&etc scripts should probably be in source control somewhere 19:45
in case my vps gets wiped
or malicious code the chroot 19:46
19:46 jevin left
moritz diakopter: the rebuild scripts are in source control 19:47
diakopter oh good
so I guess just the cron entries would need re-enacted
moritz and some initial setup work
installing dependencies, dowloading projects 19:48
19:48 Trashlord joined
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)␤»
masak oh.
moritz evalbot rebuild nom
p6eval NOT OK (maybe a rebuild is already in progress?)
19:52 [Coke] left 19:54 [Coke] joined
masak rakudo: are we there yet? 19:59
p6eval rakudo c34ac6: OUTPUT«===SORRY!===␤Confused at line 1, near "are we the"␤»
masak rakudo: role Matryoshka[] {}; role Matryoshka[::T] {}; say Matryoshka[Matryoshka[Matryoshka[Matryoshka]]]
p6eval rakudo c34ac6: OUTPUT«===SORRY!===␤Illegal redeclaration of role 'Matryoshka' at line 1, near "{}; say Ma"␤»
masak jnthn: no, parametric roles are definitely not back yet.
jnthn jnthn: They are, just not multiple with the same name. 20:00
wtf
masak: ^^
:)
masak: Plus various other issues listed in nommap :)
masak jnthn: I wanted to say "that kinda sucks", but I fear that might come off as overly negative... :) 20:01
I guess I can wait some before being able to put matryoshkas in matryoshkas.
jnthn masak: Well, you have a commit bit if you want to make it go faster :P
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
p6eval nom c34ac6: OUTPUT«The moon is cheese␤» 20:02
jnthn See, I fixed that one :P
masak \o/ jnthn++ 20:03
but apparently you think cheese is a color :P
jnthn ...oh. :)
masak 哈哈
masak queues up Richard Cheese 20:04
tadzik :P 20:06
well, while you're at it...
tadzik queues up every song about Britney
masak ooh
20:06 benabik left
jnthn Spears? 20:06
masak jnthn: c'mon, you heard those in Riga!
jnthn I can only remember...telephone :( 20:07
masak can't blame you for that.
t-t-t-t-t-telephone.
oh wait, this isn't privmsg? :)
tadzik oh stop!
jnthn arrrgh, stop :P
tadzik :F 20:08
masak 哈哈哈
tadzik I reverse engineered this character. I'm totally sure it means "ha"
masak aye.
tadzik ha!
oh, I mean
20:08 hillu_ is now known as hillu
tadzik 哈! 20:08
masak I like to write it more than I like to write "*lol*".
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 哈 :)
tadzik I prefer IAL for I Actually Laughed, or An Actual Laughter Was Produced, Aloud
masak noooo, IAL stands for International Auxiliary Language, as everybody surely, er, knows. 20:10
tadzik lol
masak the acronym is very big in the IAL community... 20:11
masak sobs quietly
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) :)
moritz rakudo: say 1 20:13
p6eval rakudo c34ac6: OUTPUT«1␤»
moritz say qx/echo pwnd/
rakudo: say qx/echo pwnd/
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:14 jevin joined, jevin left
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␤␤»
jnthn phew!
diakopter lol < jnthn> jnthn:
20:14 sili left
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␤␤»
masak aw, *man*! :) 20:15
20:15 sili joined 20:16 jevin joined
masak tadzik: also, TimToady once pointed out that 哈 can mean "Pugs". :) 20:17
tadzik (: 20:18
PugsPugs
masak it's also the first character in the Chinese name for "Harry Potter".
moritz so, Harry Potter is a Pugs?
abercrombie ha and 哈 have the same pronunciation 20:19
colomon they prefer the term "
masak moritz: no, meaning magically turns off in names.
colomon "lambda camel"
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
masak jnthn: oh! unfortunately, it doesn't carry over. 20:21
jnthn: here it just means "possible".
jnthn Aww!
abercrombie Actually 可口 doesn't means can mouth when you put these two chars together. It means delicious 20:22
masak oh!
20:22 mj41 left
abercrombie well, delicious things really can "mouth" 20:23
masak abercrombie: oh, of course. just like 可爱 means "cute" :)
jnthn can really mouth delicious things
abercrombie yep, and cute things can get loved. 20:24
20:24 daniel-s left
masak Ericsson, the telecom company, are 愛立信, "love establish message". 20:24
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:25
abercrombie Are you Chinese? How do you know those "phonetics"? 20:26
masak :P
hm. those Pinyin renderings don't do the sound proximity justice...
abercrombie: 我受宠若惊,但我不是中国人。 20:27
abercrombie How did you do it?
masak oh, only two years of Chinese studies... and Google Translate :) 20:28
[Coke] is reminded, he got his hanzi books.
masak [Coke]: both of them?
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.
abercrombie Really cool :) 20:30
masak abercrombie: 你住在哪里?
abercrombie Boston
masak oh :) 20:31
[Coke] masak: Shì de, wúlùn
masak [Coke]: \o/
波士顿
abercrombie Haha
[Coke] boston? 20:32
masak wave... scholar... I don't know that last one.
[Coke] oh, that wasn't to me. ;)
abercrombie I don't know either
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.
masak [Coke]: I've yet to figure out how regular and automatable name forming is.
abercrombie what is coleda?
masak [Coke]: there seems to be an art to at least some parts of it, which indicates not automatable.
abercrombie: it's [Coke]'s IRC last name. 20:35
PerlJam not his IRL last name?
diakopter heh 20:36
masak d'oh!
the keys aren't even next to each other!
[Coke] mentions that he inadvertently gave his daughter the initials IRC. 20:37
masak that's alright, nobody knows what IRC is nowadays.
[Coke] coleda is vaguely slavic for christmas. I guess I could go with that. ;)
diakopter maybe if she marries she could become IRL
tadzik :D
Kolęda?
masak diakopter: or IRA :)
abercrombie Coke: I see. 20:38
[Coke] yah, that's us. we renamed to Coleda when we came to the US
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
Wow. How long ago was that?
abercrombie May flower?
masak tadzik: so, basically Kolęda is Polish for "Carol"? :D 20:39
[Coke] but it's Коледа , old school.
tadzik maybe :)
oh, from Russian?
[Coke] Belarussian
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")
masak phenny: be en "Коледа"?
phenny masak: "Koleda" (be to en, translate.google.com)
[Coke] different languages, though.
masak bah
[Coke] phenny: en be Christmas? 20:41
masak quotes.
[Coke] phenny: en be "Christmas"?
phenny [Coke]: The en to be translation failed, sorry!
[Coke] phenny: en bg "Christmas"?
phenny [Coke]: The en to bg translation failed, sorry!
[Coke] google xlate backs me up on the bulgarian.
masak Singularity: not yet here.
[Coke] Shèngdàn 20:42
abercrombie holly birth 20:43
masak "holy", I believe. 20:44
though "holly" is strangely fitting, too :)
abercrombie :) 20:45
20:48 envi left 20:51 lumi__ joined
PerlJam should have read chromatic's blog post earlier because how he's a little irked again. 20:53
masak PerlJam: that's how I felt reading it. 20:57
20:57 Trashlord left
masak rakudo: print chr :16($_) for comb /../, "526f73657320617265207265642c2076696f6c6574732061726520626c75650a416c6c206d792062617365206172652062656c6f6e6720746f20796f750a" 20:57
bbkr if I need custom reduce operator, like "[my_op]@array" should it be declared as infix:<> ?
p6eval rakudo c34ac6: OUTPUT«Roses are red, violets are blue␤All my base are belong to you␤»
masak bbkr: yes.
20:58 alester left
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
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 #"␤»
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"␤»
masak b: our sub infix:<myop>(Int $a, Int $b) { say "infix"; }; my @t = 1..10; [myop] @t
PerlJam masak: if he'd left out the last paragraph I wouldn't be so irked.
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␤»
masak PerlJam: same here.
PerlJam masak: or just condensed it to the last sentence of that paragraph
masak PerlJam: it reads like "if only you knew the things I have to endure with some people!" 21:01
and as I said earlier today, I don't buy the supposition that Rakudo is preventing Parrot from going anywhere.
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.
[Coke] could have been written before the parrotsketch convo.
PerlJam [Coke]: perhaps
21:02 lumi__ left
[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*.
cotto_work I'm trying to make sure that if Parrot people bring that up, they do so with examples.
21:03 lumi__ joined
pmurias masak: is anybody claiming that? 21:03
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 #"␤»
cotto_work It's not an opinion that I either share or completely understand.
jnthn rakudo: our sub infix:<myop>($a, $b) { say $a.WHAT, $b.WHAT }; my @t = 1..4; [myop] @t
masak pmurias: <chromatic> Parrot has no focus because Rakudo won't allow it to have a focus.
p6eval rakudo c34ac6: OUTPUT«===SORRY!===␤Confused at line 1, near "[myop] @t"␤»
jnthn oddness 21:05
flussence that guy sounds like he needs a hug.
PerlJam flussence: that's it! We should hug-pile him next time he's around :)
flussence heh :)
masak volunteers o/ 21:06
pmurias masak: shouldn't Rakudo be parrot's focus?
[Coke] one of. 21:07
cotto_work +1
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:08
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.
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:10
pmurias if there was working implementation of say python or ruby on parrot, rakudo could use it for libraries 21:11
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 lumi__ left
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.
flussence would like a php, but without a bazillion functions 21:14
21:14 lumi__ joined
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.
pmurias flussence: what would be the use for that?
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.
sjn jnthn: ok, cool
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.
cotto_work flussence: how much do you want one?
flussence pmurias: it might get a few converts, a lot of people are annoyed that php's taking years to make point release progress
jnthn masak: Your feature use is impressively extensive. :)
tadzik flussence: why would you do that
masak jnthn: I've basically been trying things at random. 21:16
and running old scripts that used to work.
pmurias flussence: but without the baziliion functions wouldn't it be incompatible
jnthn masak: Have those experiences translated into, say, nommap entries? :)
pmurias flussence: and would php on parrot be fast enough?
21:17 chromatic joined
chromatic I'm here for my hugs. 21:17
masak hugs chromatic
cotto_work chromatic++
flussence pmurias: it'd be a good reference point for speed, if not
cotto_work It's not going to be fast enough if nobody writes it.
Tene pmichaud: php on parrot would be at least as fast enough as anything else on parrot
there have been two php-on-parrot projects already, I think?
21:17 bbkr left
chromatic I think you're all missing an important point. 21:17
Perl 5 on Parrot is awfully important.
flussence as for not having functions, there's no reason they can't be shoved into extensions and loaded as needed
cotto_work flussence: not unlike normal php 21:18
21:19 bbkr joined
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?
arnsholt chromatic: It's an awfully hard nut to crack too, though
Tene pmichaud: uhh... yes.
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
that's like 50% of what I'm missing in Perl 6 :)
chromatic I can't use Perl 6 productively without libraries.
pmichaud I will absolutely switch the nom branch this evening.
(and post the related announcement)
masak ++pmichaud 21:21
diakopter I don't see how Perl 5 interoperability from Rakudo requires p5-parrot
tadzik niiec
*nice
pmichaud announcement draft is at pmichaud.com/sandbox/nom-2.txt
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.
flussence (tbh, I can't think of a good reason for a php impl other than "attracting attention")
diakopter cotto_work: I mean, why can't rakudo embed p5 as it is and interoperate that way
like pugs did
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'?
pmichaud Tene: the current plan is to not have a 'master' branch.
but to leave the branch as 'nom', and set it as the default.
masak will the 'nom' branch *eventually* be renamed to 'master'?
pmichaud if we decide that needs to happen, yes. 21:24
basically, if the "where's the master branch" Q becomes FA
masak is already wondering that :P
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 lumi__ left, daniel-s joined
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.
1) Rakudo needs *some* FFI
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
chromatic 2) P5 and Rakudo have very different memory management schemes. 21:27
masak pmichaud: aye.
pmichaud *(but not vice-versa)
(well, we could do vice-versa, but that'd be even more confusing)
masak :P
diakopter chromatic: I see 21:29
pmurias sorear: ping
21:29 mberends joined
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:29
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).
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...
chromatic Control flow in particular is hugely complex, because someone needs to own the world.
See also Any::Event for a metaphor at a level higher than the VM. 21:32
[Coke] hugs chromatic belatedly and uncomfortably.
tadzik wow, settings compilation is now 1.20s 21:33
flussence !?
tadzik ...SAFE.setting, of course :)
flussence oh :(
is that with or without a parsing error? :) 21:34
chromatic Are you on Parrot HEAD?
tadzik yes 21:35
jnthn tadzik: tease :P
chromatic What was it 48 hours ago?
tadzik SAFE.setting wasn't present 21:36
I'm now running time make to see the effect of your commits
chromatic How about the full setting?
21:36 jaldhar left, _jaldhar joined
tadzik it's still about 2:50 here, 60% of my RAM 21:36
masak tadzik++ moritz++ # SAFE.setting
tadzik trying
masak: I didn't do anything :0
:)
I do need some autocorrect for :0 21:37
masak I thought it was a smiley that looked that way. 21:38
sort of a dumbfounded look.
tadzik chromatic: may be a few seconds win 21:39
21:39 lumi__ left
tadzik it was like 2:45 21:39
and like 55% of ram
21:40 lumi__ joined
chromatic ~3% then roughly 21:40
tadzik time make will come in a second
chromatic pmichaud, does the current grammar system transcode P6 source code to a fixed-width encoding? 21:41
21:41 plobsing joined
tadzik make 390.96s user 5.09s system 109% cpu 6:00.10 total 21:41
woot
it was never under 400 before
that's a chromatic++ I guess
it was 40n last time, when I was converting RAWs in the background 21:42
pmichaud chromatic: it does, if it can. 21:43
21:44 daniel-s left
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.
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:45
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
the new engine also avoids creating a bunch of substring gc-ables
like a bunch a bunch
21:47 lumi__ left, lumi__ joined
pmichaud when we don't transcode or the transcode fails, we notice a huge slowdown quite quickly. 21:48
(the 35% you cited above is typical)
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
(perl Configure.pl --help should work too)
chromatic Ah, my alias still gave the path to parrot_config.
tadzik I never used --with-parrot, tbh
it's always just perl Configure.pl && make install in both nqp and nom
pmichaud yeah, I switched our reliance to be on parrot itself instead of parrot_config
feels safer 21:52
chromatic # Parsed nqp.ops in 2.438 seconds; found 288 ops.
Definitely an improvement there.
pmichaud also, if you want to build nom from a specific parrot branch, it's perl Configure.pl --gen-parrot=branchname 21:53
it'll update the local parrot repo, build parrot and nqp, then nom.
chromatic I need to build against unpushed Parrot commits.
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
pmichaud also note that you can put options into a "config.default" file, and Configure.pl will read from those.
tadzik no switches to Configure.pl are required at all
pmichaud tadzik: note that nom doesn't use parrot_config
nom wants *parrot* in its path.
tadzik pmichaud: but it uses nqp settings, right?
oh, maybe. Ok then
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.
pmichaud yes, if you specify a parrot, it will attempt to build an nqp. 21:56
if you specify an nqp (--with-nqp), it just uses that.
21:59 lumi__ left 22:00 lumi__ joined
tadzik make spectest 1398.19s user 73.49s system 99% cpu 24:43.94 total 22:13
I have a feeling it was slower this morning
2011-09-08 12:32:23 tadzik make spectest 1433.31s user 73.86s system 99% cpu 25:19.42 total
yep
nom: say (1433.31 - 1398.19) / 1433.31 22:14
p6eval nom c34ac6: OUTPUT«0.0245027244629564␤»
tadzik not bad
22:15 lumi__ left, whiteknight joined, daniel-s joined
dalek kudo/nom: c9246f9 | jonathan++ | src/binder/container.c:
Fix bug in handling of Scalar type object.
22:16
kudo/nom: bf08c52 | jonathan++ | src/Perl6/Metamodel/BOOTSTRAP.pm:
Generics handling for Scalar.
kudo/nom: aa90c55 | jonathan++ | src/Perl6/Actions.pm:
Specialize generically typed lexically scoped scalars.
kudo/nom: 2c31255 | jonathan++ | src/Perl6/Metamodel/BOOTSTRAP.pm:
Need to specialize the default value if that's generic also.
kudo/nom: db4495a | jonathan++ | NOMMAP.markdown:
Update nommap.
22:17 lumi__ joined 22:19 kaare_ left, tokuhirom joined
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
Love the module :) 22:24
ingy tadzik: yeah I'll flesh out 'has' soon 22:25
I need default and builder too
I just ignore 'is' 22:26
and anything else
I liked Moo but too many parts
it should be one simple module 22:27
I mean I still like Moo and Mouse
just depends on the application
22:27 lumi__ left
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
hell, it's like 20 LoC now
ingy sometimes I need to use Mo 'Ingy'
tadzik what does the argument do?
22:28 lumi__ joined
ingy tadzik: what's your github id? 22:28
tadzik ingy: tadzik
ingy tadzik: commit at will 22:31
I sleep now
tadzik oh, thanks. G'night
ingy I see dams has golfed Mo to almost nothing
\o/
tadzik seen book's version?
aloha Sorry, I haven't seen book's version.
tadzik aloha: you should 22:32
ingy tadzik: feel free to commit it
I'll add book to committers too
tadzik I'm not sure if I want to, tbh :) 22:33
ingy :D
is book, book?
on gh?
tadzik I think so. He looks like his gravatar
or the other way around
ingy ha
ok done
(hopefully)
night 22:34
tadzik night
ingy I'll release in morning
tadzik yay, my code will be on CPAN 22:35
YAPC::NA 2011 Survey Results 22:36
oh, that's not EU 22:37
22:39 lumi__ left
masak wow, Mo is really micro. 22:39
22:40 lumi__ joined 22:42 kst left
tadzik yep 22:42
masak I keep thinking of www.dapsmagic.com/geekscorner/wp-co...25x300.jpg when I hear the name, though :P 22:45
"Mo!"
TimToady the Mighty Mo was not micro
masak only knows about MightyMoose 22:46
jnthn rakudo: my $what = "Mo!"; $what++ for ^26; say $what
p6eval rakudo c34ac6: OUTPUT«No!␤»
jnthn \o/
masak 'might 22:47
er, I mean 'night
TimToady o/
22:47 masak left
pmichaud chromatic: is there a particular reason your pull request went to pmichaud/nqp instead of perl6/nqp? (honestly curious) 22:47
22:47 pmurias left 22:48 espadrine left
chromatic Did I fork the wrong one? 22:49
pmichaud possibly. perl6/nqp is the standard location.
I didn't even realize I *had* a pmichaud/nqp repo :) 22:50
I must've forked it some time ago for some reason.
if it's easy to resubmit to perl6/nqp, that'd be great, otherwise I'll figure out how to get them across :)
(and, of course, thanks for the patches!) 22:51
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:51 donri left 22:52 lumi__ left, donri joined
chromatic I think I can make that work. 22:52
22:52 lumi__ joined
pmichaud hmmm, I don't see a commitbit for perl6.... do you want one? 22:52
chromatic Please.
22:53 jtpalmer_ is now known as jtpalmer
pmichaud added. 22:54
you should be able to commit to pretty much anything in the perl6/ space (specs, tests, nqp, etc.) 22:55
22:55 Chillance left
chromatic For some reason I still don't have nqp access. 22:59
pmichaud looking.
hmm, the nqp access list is separate from the perl6 one. 23:00
I'll add you to nqp also, then figure out the mismatch later.
added
23:04 lumi__ left 23:05 lumi__ joined
pmichaud afk, fetching dinner 23:06
23:06 s1n1 joined
dalek p: 71c8f92 | chromatic++ | src/6model/reprs/ (6 files):
odel] Added annotations to exception throwers.

This clears up several compiler warnings.
23:06
p: 93a634d | chromatic++ | src/6model/reprs/P6opaque.c:
odel] Made a private function static.

This cleans up a warning about the undeclared function.
p: 2922924 | chromatic++ | src/6model/reprs/P6opaque.c:
odel] Fixed a constness conversion warning.
mberends had a nice evening at London.pm. People were quite positive about Perl 6 :) 23:13
TimToady before or after the beer? :) 23:16
jnthn I'd say "during the beer", but for London.pm that'd mean "the whole meeting" :) 23:17
23:17 bbkr left
mberends er, after. Beer was top of the agenda ;) But still the conversations were nice... 23:17
jnthn mberends: Be at Londown Perl Workshop? 23:18
grr...London :)
23:18 lumi__ left
mberends jnthn: yes, I plan to attend. Someone is trying to press me to make a presentation too. 23:18
jnthn mberends: I'll be there. 23:19
mberends:
mberends: I'll likely submit something.
mberends \o/
23:19 lumi__ joined
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:19
23:20 bbkr joined
jnthn (That was the last time I went. I've been previous times and did...) 23:20
chromatic: Patches look good; thanks. 23:21
chromatic The only interesting remaining warning is about returning an aggregate, but that one looks systemic and slightly deliberate. 23:22
jnthn That sounds familiar. I think I concluded "yes, I meant to..." 23:23
And then wasn't sure why it warranted a warning.
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: :-)
MSVC doesn't warn on it, fwiw. 23:25
chromatic jnthn, really old C compilers couldn't handle returning anything bigger than a pointer.
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.
jnthn chromatic: Ah, historical limitations. OK. 23:27
23:28 lumi__ left
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
23:28 lumi__ joined
jnthn It's not cleaner for whoever has to free it later. 23:29
chromatic Yep.
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:30
chromatic I think C compilers that work that way are older than *I* am. 23:31
diakopter wonders how much older chromatic thinks he is than jnthn 23:32
TimToady hides behind a Beatnik
23:32 daniel-s left
chromatic I have a few years on him. 23:32
23:33 wolfman2000 joined
diakopter examines de.wikipedia.org/wiki/Beatnik_(Prog...ersprache) translated by Google 23:34
23:41 donri left 23:44 tlocalhos left 23:46 lumi__ left 23:47 lumi__ joined 23:48 cotto left, cottoo joined, cottoo is now known as cotto 23:50 localhost joined 23:57 localhost left 23:58 tokuhirom left