Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2012-07-04

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:35 erkan joined #perl6
00:39 erkan joined #perl6
00:39 erkan joined #perl6
01:00 cognominal joined #perl6
01:03 Entonian joined #perl6
01:10 imarcusthis joined #perl6
01:16 scott_ joined #perl6
01:21 * [Coke] also pizzas.
01:22 * colomon is now confused and hungry...
01:27 * [Coke] saw pizza in backscroll.
01:27 * [Coke] is several hours away from his normal base of operations, pizzing.
01:49 diakopter mm pizza
01:59 gardnan joined #perl6
02:26 rjbs You know what's good?  Pizza with corn on it.
02:28 am0c joined #perl6
02:37 sjohnson diakopter: :)
02:52 aloha joined #perl6
04:12 harmil1 joined #perl6
04:30 cognominal_ joined #perl6
04:33 telex joined #perl6
04:47 Khisanth joined #perl6
05:07 jaldhar joined #perl6
05:22 Khisanth joined #perl6
05:27 birdwindupbird joined #perl6
05:32 moritz \o
05:32 sorear o/
05:36 nsh joined #perl6
05:39 GlitchMr joined #perl6
05:51 cognominal joined #perl6
05:57 dalek ecosystem: 254dfe4 | (Gabor Szabo)++ | META.list:
05:57 dalek ecosystem: add Pod::Parser
05:57 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/254dfe48ec
05:59 fhelmberger joined #perl6
05:59 thou joined #perl6
06:04 kaleem joined #perl6
06:25 fhelmberger joined #perl6
07:00 liuchong joined #perl6
07:03 adu joined #perl6
07:17 aloha joined #perl6
07:19 stephenlb joined #perl6
07:19 cognominal joined #perl6
07:38 brrt joined #perl6
07:57 masak morning, #perl6
07:58 moritz \o masak
08:00 sorear o/ masak
08:02 masak well that was a short backscroll.
08:03 moritz indeed
08:04 masak carlin: thanks for finding a typo. I corrected it. carlin++
08:06 moritz btw now live: http://webcast.web.cern.ch/webcast/play_higgs.html
08:06 timotimo thank you, moritz
08:06 moritz though I don't understand very much of it
08:09 masak whoa whoa too much text on slide!
08:10 masak I conclude that the one who made the slides is a researcher :P
08:10 moritz too much of everything on the previous slides
08:10 moritz masak: yes, there's a certain kind of researcher who thinks that every relevant information must be on the slide :/
08:10 libertyp1ime joined #perl6
08:10 ashleydev joined #perl6
08:10 krunen joined #perl6
08:10 hugme joined #perl6
08:10 DarthGandalf joined #perl6
08:10 ivan`` joined #perl6
08:10 sunnavy joined #perl6
08:10 Yappocall joined #perl6
08:10 zamolxes joined #perl6
08:11 moritz hugme: hug slidemakers
08:11 * hugme hugs slidemakers
08:11 ivan`` joined #perl6
08:11 libertyprime joined #perl6
08:15 ashleydev joined #perl6
08:15 krunen joined #perl6
08:15 hugme joined #perl6
08:15 DarthGandalf joined #perl6
08:15 sunnavy joined #perl6
08:15 Yappocall joined #perl6
08:15 zamolxes joined #perl6
08:15 dakkar joined #perl6
08:16 moritz tl;dnv: http://2.bp.blogspot.com/-pYgVcAkBcJM/T_PzUpKohrI/AAAAAAAAAx0/tH5MPDdPOlQ/s1600/Screen+Shot+2012-07-04+at+9.37.37+AM.png Higgs boson at 125 GeV with 5 sigma significance
08:17 kresike joined #perl6
08:17 kresike hello all you happy perl6 people
08:20 moritz \o kresike
08:20 kresike hello moritz o/
08:20 sorear o/ kresike
08:21 kresike moritz, nice effort on the documentation, I like it
08:21 kresike hello sorear o/
08:22 sorear moritz: have you heard anything from ATLAS yet?
08:22 moritz sorear: you mean besides "Higgs boson at 125 GeV with 5 sigma significance"? :-)
08:24 timotimo CERN: has enough money to smash particles at each other at 125 GeV, can't afford an HD livestream of the "big announcement"
08:24 sorear moritz: I mean anything at all
08:24 sorear moritz: i've seen the CMS announcement.
08:25 sorear timotimo: 8000 GeV :)
08:25 timotimo sorear: if they can afford 8000 GeV, they surely can also afford 125, which would still be much more money than you would need to do HD livestreaming
08:25 timotimo :p
08:26 masak 5 σ! that's good enough for me! :)
08:26 moritz sorear: nothing besides the annoucement. I'm not really into high-energy physics, I just listen to the gossip
08:27 sorear there are two largely independant physics groups using the LHC and searching for the Higgs
08:27 sorear if both ATLAS and CMS find Higgses with the same properties, it's probably not human error
08:27 xinming joined #perl6
08:28 moritz and if the tevatron can confirm, I'll really believe it :-)
08:28 sorear the slide you linked has a 'CMS' watermark in the corner
08:28 moritz right
08:29 sorear moritz: the tevatron has been shut down for good
08:29 masak 'the tevatron'. clearly I've been watching too much Transformers at this point.
08:29 moritz sorear: seems I'm really behind on the gossip... isn't there another high energy collider in the US?
08:30 sorear I don't think so atm
08:31 sorear ah, RHIC is still working
08:35 masak moritz: what is 'the excess' that she keeps talking about?
08:35 sorear shall I?
08:35 moritz please
08:35 * moritz has no idea either
08:35 masak oh, they realized something.
08:35 * masak is completely lost :)
08:35 sorear the excess is the interesting part of the signal
08:36 masak I suspected as much.
08:36 sorear they calculate the noise level, and subtract it off
08:36 masak oh! makes sense.
08:36 sorear noise here is called "background"
08:37 masak aye.
08:37 masak "compatibility between what we observe and what we expect from the Standard Model" -- natural science is TDD ;)
08:37 sorear you want to count Higgs events, but the Higgs doesn't last long enough to be detected, and there are non-Higgs events that give the same readout on the detector
08:38 masak aye.
08:38 sorear either because the products are the same, or because the detectors have limited discerning power
08:38 masak I've understood that the Higgs is very hard to detect. which is why it's taken until now.
08:38 moritz in modern colliders, nothing is ever detected directly, just their decay lines
08:38 masak right.
08:39 masak what's on the y axis? "Local p0"?
08:39 arnsholt http://apod.nasa.gov/apod/ap120501.html described the process fairly well for me
08:39 sorear masak: hard to detect and hard to produce
08:40 sorear the most common decay mode for a Higgs is quarks, and proton collisons produce a huge mess of quarks anyway
08:40 sorear Fermilab wants to build a muon collider to get cleaner results
08:41 moritz oh, atlas' higgs has 1GeV more mass than CMS' higgs :-)
08:41 masak I think the slides are *meant* to look like crap. it's giving the signal "We're researchers, Captain, not designers!"
08:41 masak I mean, srsly, is that Comic Sans?
08:41 sorear masak: I think it's just local p-value
08:42 masak ok.
08:42 kresike researchers like Comic Sans :)
08:42 masak and the color scheme is... remarkable.
08:42 timotimo "thanks nature" :D
08:42 sorear masak: p-values, speaking very imprecisely, are the probability of getting that result or stronger by chance
08:43 masak timotimo: and not the paper, either :)
08:43 masak sorear: yes. I dimly recall from Statistics 101.
08:43 masak sorear: that explains the negative log scale, then.
08:43 masak massive applause.
08:44 masak who's the guy who's crying?
08:44 sorear relevant to the muon collider, amazing thing I dug up last month: http://arxiv.org/abs/physics/9908017
08:44 moritz erm, wtf?
08:45 sorear (a 4 TeV muon collider produces beams of ~1 TeV neutrinos.  High energy neutrinos are, it turns out, not harmless.)
08:45 moritz I thought neutrinos had so low low cross section that they all went through you :/
08:45 masak "(but which one...?)" :)
08:46 sorear moritz: The cross sections increase with energy
08:47 moritz stupid relativity!
08:47 masak :P
08:47 masak I have never seen that enthusiastic applause on a physics lecture.
08:48 sorear I don't know if I'm at all on the right track here, but I conceptualize it something like this: neutrino interactions are suppressed because they require an 80 GeV virtual W.  If the neutrino has 800 GeV of energy to start with, there's not suppression
08:48 diakopter in soviet russia, bosons detect you
08:50 sorear the funny thing is that, given how much of the problem is noise rejection, we've probably been detecting Higgses since the 90s but just not noticed it...
08:51 moritz did the previous collider in the LHC tunnel go up to 125GeV?
08:51 moritz (I'd think so...)
08:52 masak what are the consequences of this discovery, from a model perspective?
08:52 sorear yes, LEP went up to 209 GeV
08:52 masak "The Standard Model is fine, we like it even more now"?
08:52 timotimo do i understand correctly that they don't have to get higher up in their energies to study the higgs boson more completely?
08:52 moritz masak: I don't think that's the conclusion
08:52 timotimo (i mean, most of their work now will be analysing the data recorded until now)
08:53 sorear masak: you may have noticed in that slide that they detected the Higgs even harder (5.0) than the standard model predicted (4.7)
08:53 sorear masak: the higgs that they've found seems to decay into photons slightly more often than it should.  "stay tuned"
08:53 moritz masak: afaict (and I might very well be wrong here), the mass mechanism is largly orthogonal to the rest of the model
08:53 timotimo it's amazing they went this far without destroying earth in the process!
08:54 * colomon doesn't quite understand why, but CERN is one of my $customers.
08:54 sorear timotimo: they record only a tiny tiny fraction of the data they generate
08:54 moritz masak: so there have been "standard model" + "non-higgs mass model" constructs which can now die peacefully
08:54 masak oh, that's exciting news, then.
08:54 timotimo did i understand it incorrectly that they have not yet analysed a lot of it?
08:55 sorear the front end detectors put out something like 1 PB/s
08:55 moritz which needs to be filtered pretty much immediately
08:55 sorear there's a lot of data left to analyze, but there's far more they had to drop immediately
08:55 moritz because nobody can even store that much data
08:55 timotimo yeah, no data cable is thick enough to get that data out
08:56 sorear and the drop rules depend on what they are looking for
08:56 timotimo ah, of course. so they might have been overlooking lots of other things
08:56 sorear so, there's probably a lot of interesting meta-analysis stuff that can be done with the existing data
08:56 sorear but it's probably not correct to say that they could do without future collisions
08:57 sorear also, we're still without a viable dark matter candidate
08:57 * moritz wonders if some PHD student will go through the old LEP data and find the Higgs in it, now that they know what to look for
08:59 sorear hmm. https://en.wikipedia.org/wiki/LEP#An_unfinished_discovery_of_the_Higgs_boson
09:01 timotimo next thing on the stream is a press conference, yes?
09:04 masak I now suspect the crying man (who is now talking) is Higgs.
09:07 timotimo no mention of earth-swallowing black holes yet? :\
09:07 sorear I imagine that stopped being funny a while ago.
09:07 timotimo maybe during the press conference someone will finally touch on this very important topic
09:07 timotimo oh. apologies then
09:08 sorear sleep&
09:08 timotimo would it be funny to register http://hasthehiggsbosonbeenfoundyet.com/ and putting "Yes!" on the page?
09:08 moritz it would
09:09 moritz http://hasthelhcdestroyedtheearthyet.com/ exists already :-)
09:09 masak WOW! "We found woking on the model very interesting and gratifying, but we didn't expect it to have anything to do with physical reality." I like this guy!
09:10 timotimo hmm, i'd have to ask my admin to pull up another virtual host and everything. seems a bit too bothersome for not too much amusement value
09:11 moritz hey, new business idea: a service for one-click registration, setup and hosting of one-word domains
09:12 kresike I wonder what the "most elusive particle" will be 20 years from now :)
09:12 moritz you open an account once, and then just enter domain name, content (here "yes"), and click 'make it so'
09:12 timotimo feel free, moritz, there may be money in that. usually customers will want a simple image, too, rather than just a word
09:13 timotimo they even made a higgs song! wow
09:13 moritz timotimo: but then I'd have to bother with domain registration :-)
09:13 timotimo yup, you would
09:13 timotimo not worth the trouble, you should rather spend your time doing cool perl6 related things :)
09:14 moritz well, I could do it in Perl 6 :-)
09:14 masak the higgs song felt wildly out of place :)
09:14 timotimo http://www.havewefoundthehiggsyet.com/ - indeed already taken
09:14 masak moritz++ # business idea in Perl 6
09:14 moritz otoh it might conflict (though only a tiny bit) with the business of my future employer
09:15 moritz anyway, I'll ponder it :-)
09:17 masak you could always broach it with the employer.
09:18 moritz I'll surely will
09:20 scott_ joined #perl6
09:25 timotimo nooooo, she forgot to push the button again
09:25 timotimo we can hear her typitytype
09:29 masak "I think [the Higgs is] very relevant to you, because if it did not exist, you would not exist. [To another physicist:] Do you agree?" -- "Yes, absolutely."
09:29 masak I sniff the anthropic principle in the air ;)
09:30 bonsaikitten masak: it's a sign that god exists! ;)
09:30 timotimo is that where you say ... ah, yes
09:38 moritz https://github.com/moritz/perlgeek.de/blob/master/source/blog-source-en/perl-6/2012-doc-perl6-org-and-p6doc.txt # any feedback before I blog it?
09:40 colomon line 29 ends with an out-of-place semicolon
09:41 colomon moritz++
09:42 moritz colomon: thanks, fixing
09:43 masak moritz++
09:43 timotimo coopetition, i like that word
09:44 masak moritz: I believe you are doing very much the right things with this project. web visibility, nice URLs, simple organization, a focus on accessibility, community buy-in.
09:45 masak r: END { say "I run after die!" }; die "arrgh!"
09:45 p6eval rakudo 3bc91c: OUTPUT«arrgh!␤  in block <anon> at /tmp/ppX4pkTgv2:1␤␤I run after die!␤»
09:45 masak yay
09:46 jnthn moritz: posts looks good
09:46 moritz masak: one of my plans is a follow-up post with really, really easy examples of how to help
09:47 moritz like, several example patches that add a one-line to three-line example
09:47 moritz and then tell them "and now we need an example for List.join, $other_routines. Your turn!"
09:49 masak sounds like it just might work.
09:50 moritz IME that's the only way to get a siginificant amount of contributors
09:50 moritz (being very, very specific)
09:50 moritz that's a lesson I've learned from the contribution challenges
09:50 moritz and it's much work :-)
09:50 masak aye.
09:52 mucker joined #perl6
09:56 moritz in preparation for the Oslo hackathon, sjn++ and others asked us to ponder some questions, including: why the ambitious goals for Perl 6?
09:56 moritz the example of python 3 (brought again to my attention by http://teddziuba.com/post/26426290981/python-3s-marketing-problem ) makes me glad we have such ambitious goals
09:57 moritz python 3 breaks backward compatiblity, took a long time... and doesn't have too many compelling selling points
09:57 erkan joined #perl6
09:58 sisar joined #perl6
10:04 daxim joined #perl6
10:04 bonsaikitten moritz: it's slower, and I have to port libraries to make things work, and why not continue using 2.7 which just works now at no cost?
10:05 moritz bonsaikitten: that's my point really
10:05 moritz bonsaikitten: with p6, we can point at quite a number of decent improvements over perl 5
10:06 bonsaikitten moritz: perl6 is at least different enough (not just perl 5.18 with broken compat) and has some really new ideas
10:06 tadzik hello #perl6
10:06 masak tadzik! \o/
10:08 tadzik \o/
10:10 masak why *would* you migrate working code to Python 3? just because it's a bigger version number?
10:10 masak I think that's where the real problem sits. it's a perception problem around version numbers.
10:11 bonsaikitten masak: because I then have to port lots of "foreign" code which might be unfixable, spend tons of time on integration testing and get a performance penalty
10:11 bonsaikitten what's not to like about that :)
10:11 moritz http://perlgeek.de/blog-en/perl-6/2012-doc-perl6-org-and-p6doc.html # I blug, but many of you have seen the same text already in the preview
10:11 bonsaikitten that's why all the big things like Django, Turbogears, Plone, ... are still stuck in py2 for the next years
10:12 arnsholt I just found http://en.wikipedia.org/wiki/ZYpp (via http://fabien.potencier.org/article/64/php-is-much-better-than-what-you-think)
10:12 masak bonsaikitten: oh wow, it took me a second or two to process that that was sarcasm. :)
10:12 masak this channel is making me too soft ;)
10:12 arnsholt Sounds like an intriguing way to do package managment, even though SAT solving for it does make me think of sparrows and cannons
10:12 bonsaikitten masak: you must still be asleep ;)
10:12 masak yeah.
10:13 * masak goes hunting for lunch &
10:13 bonsaikitten arnsholt: most problems in package management don't map to SAT as far as I can tell
10:13 masak arnsholt: sparrows and cannons? is that like "swatting flies with nuclear weapons"?
10:14 bonsaikitten "Yes, PHP has a better dependency manager than any other languages." that is especially wrong :)
10:14 masak I think using SAT in package management is *cool*.
10:14 * masak gone, really &
10:15 daxim libzypp and libsolv also have perl bindings
10:17 daxim the recent php rants and blog responses raised an interesting point: a language can easily eat a lot of php's lunch by compiling to php
10:18 daxim imagine that
10:18 brrt compiling to php
10:18 brrt that would be...
10:18 brrt no
10:18 brrt god no
10:19 * daxim cackles
10:19 daxim yes, certaily.  do think it through
10:19 Psyche^ joined #perl6
10:21 brrt oh by the way
10:22 brrt mod_parrot will be one day as easy
10:22 brrt and run all damn languages
10:22 brrt including php
10:22 brrt until people forget it was even there
10:23 whiteknight joined #perl6
10:24 daxim I don't buy anymore in the "one day [in the future]" rhetoric
10:25 daxim I evaluate the code that exists and I can use
10:26 GlitchMr http://doc.perl6.org/type/Str
10:26 GlitchMr What is "Stringy"?
10:26 Timbus overcooked beans
10:26 GlitchMr I guess that "Stringy" is a role?
10:26 jnthn http://doc.perl6.org/type/Stringy ...oh, not yet :)
10:26 jnthn Stringy is a role done by all things that are string-like.
10:27 GlitchMr But we have Numeric role. So I guess it's just lack of documentation for Stringy.
10:29 dalek doc: 86fee1d | jnthn++ | lib/Stringy.pod:
10:29 dalek doc: Add a minimal doc for Stringy.
10:29 dalek doc: review: https://github.com/perl6/doc/commit/86fee1dd52
10:32 kaare_ joined #perl6
10:33 spider-mario joined #perl6
10:34 brrt ... is there a perl metacharacter for all non-printable characters?
10:34 GlitchMr Whitespace and control characters?
10:34 jnthn In a regex, <print> matches all printables, iirc. So in theory, <!print>
10:35 seldon joined #perl6
10:36 brrt whitespace is printable
10:36 brrt (in my specific application)
10:48 dalek doc: bbff3e2 | GlitchMr++ | lib/Callable.pod:
10:48 dalek doc: Minimal doc for Callable too
10:48 dalek doc: review: https://github.com/perl6/doc/commit/bbff3e204c
10:53 flussence std: /<!print>/;
10:53 p6eval std fd2647b: OUTPUT«ok 00:00 41m␤»
10:53 flussence std: /<control>/;
10:53 p6eval std fd2647b: OUTPUT«ok 00:00 41m␤»
10:53 flussence std: /<foo>/;
10:53 p6eval std fd2647b: OUTPUT«ok 00:00 41m␤»
10:53 flussence hm.
10:53 flussence r: /<!print>/
10:53 p6eval rakudo 3bc91c:  ( no output )
10:54 flussence r: /<foo>/
10:54 p6eval rakudo 3bc91c:  ( no output )
10:54 flussence r: 'a' ~~ /<foo>/
10:54 p6eval rakudo 3bc91c: OUTPUT«No such method 'foo' for invocant of type 'Cursor'␤  in regex <anon> at /tmp/BRnwfO0_Si:1␤  in method ACCEPTS at src/gen/CORE.setting:9791␤  in block <anon> at /tmp/BRnwfO0_Si:1␤␤»
10:54 flussence r: 'a' ~~ /<!print>/
10:54 p6eval rakudo 3bc91c: OUTPUT«Cursor<-1868022110>Can not get non-existent attribute '$!pos' on class 'Cursor'␤  in regex <anon> at /tmp/Iru_o1kAQt:1␤  in method ACCEPTS at src/gen/CORE.setting:9791␤  in block <anon> at /tmp/Iru_o1kAQt:1␤␤»
10:54 flussence r: 'a' ~~ /<control>/
10:54 p6eval rakudo 3bc91c: OUTPUT«No such method 'control' for invocant of type 'Cursor'␤  in regex <anon> at /tmp/O2_dPnD1SQ:1␤  in method ACCEPTS at src/gen/CORE.setting:9791␤  in block <anon> at /tmp/O2_dPnD1SQ:1␤␤»
10:54 flussence ah, there we go. !print only
10:55 flussence r: 'abc  f   j' ~~ /^ <print+space>+ $/
10:55 p6eval rakudo 3bc91c: OUTPUT«===SORRY!===␤regex assertion not terminated by angle bracket at line 2, near "+space>+ $"␤»
10:55 flussence r: 'abc  f   j' ~~ /^ <print&space>+ $/
10:55 p6eval rakudo 3bc91c: OUTPUT«===SORRY!===␤regex assertion not terminated by angle bracket at line 2, near "&space>+ $"␤»
10:56 flussence r: 'abc  f   j' ~~ /^ [ <print> | <space> ]+ $/
10:56 p6eval rakudo 3bc91c: OUTPUT«Cursor<-125322636>Can not get non-existent attribute '$!pos' on class 'Cursor'␤  in regex <anon> at /tmp/FPpA582mjh:1␤  in method ACCEPTS at src/gen/CORE.setting:9791␤  in block <anon> at /tmp/FPpA582mjh:1␤␤»
10:56 flussence is 3bc91c broken there or am I doing something non-obviously stupid?
10:58 jnthn Oh...I wonder if <print> is NYI and so it's then trying to call Mu.print, which of course is not a Cursor...
11:00 flussence r: 'abc  f   j' ~~ /^ [ <graph> | <space> ]+ $/
11:00 p6eval rakudo 3bc91c: OUTPUT«No such method 'graph' for invocant of type 'Cursor'␤  in regex <anon> at /tmp/21zORc0AND:1␤  in method ACCEPTS at src/gen/CORE.setting:9791␤  in block <anon> at /tmp/21zORc0AND:1␤␤»
11:00 flussence r: 'abc  f   j' ~~ /^ [ <alnum> | <space> ]+ $/
11:00 p6eval rakudo 3bc91c:  ( no output )
11:00 flussence r: 'abc  f   j' ~~ /^ <!cntrl>+ $/
11:01 flussence uh oh
11:01 p6eval rakudo 3bc91c: OUTPUT«(timeout)»
11:01 GlitchMr perl6: 1 andthen Mu andthen 2
11:01 p6eval rakudo 3bc91c: OUTPUT«===SORRY!===␤Confused␤at /tmp/acMQdHxaMq:1␤»
11:01 p6eval ..niecza v19-7-g5e25209:  ( no output )
11:03 dalek features: 116af37 | GlitchMr++ | features.json:
11:03 dalek features: Logic cascade is supported in Niecza
11:03 dalek features: review: https://github.com/perl6/features/commit/116af3772b
11:06 GlitchMr Of course, for Git changing one character is changing two lines
11:07 moritz <!cntrl> is a zero-width match
11:07 moritz and that's also why it loops infinitely
11:07 moritz r: say "a\c[1]b" ~~ /\w <.cntrl> \w/
11:07 moritz r: say "a\c[1]b" ~~ /\w <-cntrl> \w/
11:07 p6eval rakudo 3bc91c: OUTPUT«#<failed match>␤»
11:08 moritz - is the correct negation for character classes if you want it to remain a character class (ie match one character)
11:09 GlitchMr perl6: 'abc' ~~ /<!cntrl>/
11:09 p6eval rakudo 3bc91c, niecza v19-7-g5e25209:  ( no output )
11:10 GlitchMr perl6: print ('abc' ~~ /<!cntrl>+/).perl
11:10 moritz 13:07 < moritz> and that's also why it loops infinitely
11:10 p6eval rakudo 3bc91c, niecza v19-7-g5e25209: OUTPUT«(timeout)»
11:10 moritz our regex engines don't have protection yet against quantifying zero-width matches
11:15 lumi__ joined #perl6
11:20 jnthn moritz: oh!
11:20 jnthn d'oh :)
11:21 JimmyZ joined #perl6
11:23 hoelzro can one do pipes in rakudo yet?
11:27 moritz hoelzro: what kind of pipes are you looking for? UNIX pipes? object pipes? something else?
11:27 moritz tin whistle pipes?
11:27 moritz :-)
11:28 hoelzro moritz: IPC pipes
11:29 hoelzro I want to write a Perl5 program that does some heavy lifting/lower level stuff, but a Perl6 program to process the data and respond
11:29 moritz then only in the form of shell commands :(
11:29 moritz though parrot implements pipe opening, so it shouldn't be too hard to do
11:30 moritz (though we are missing other IPC stuff like signal handling)
11:30 hoelzro hmm
11:30 hoelzro that's fine
11:30 arnsholt If you're feeling adventurous, you could probably do it with Zavolaj =)
11:30 hoelzro I'm just trying to write an XMPP bot in Perl6 with the minimum amount of effort up front
11:31 hoelzro eventually I wouldn't mind writing an XML parser, an event loop, and an XMPP client library =P
11:31 tadzik wow, courageous one you are :)
11:32 flussence you could always have the perl5 program open a two-way pipe to the perl6 one, and use stdin/out from perl6
11:32 dalek faq: 9985497 | moritz++ | answers.md:
11:32 dalek faq: explain difference between token, rule and regex
11:32 dalek faq: review: https://github.com/perl6/faq/commit/9985497110
11:32 hoelzro flussence: interesting idea; I'd rather the whole pipe thing be transparent, though
11:32 hoelzro So I can have an XMPPBot::Connection object
11:32 moritz flussence: that's possible, but rather hard to do without getting into a deadlock
11:32 JimmyZ_ joined #perl6
11:32 hoelzro and replace it with a real object when an actual library is ready
11:33 Timbus is a socket pair not possible?
11:33 arnsholt If you're happy with the P5 script being at thge top level, you might be able to do it by explicitly forking, replacing STDIN/STDOUT with filehandles of your choosing and then finally exec(2)ing your P6 program
11:34 hoelzro Timbus: that would be acceptable
11:34 arnsholt Sort of what flussence suggested
11:34 hoelzro arnsholt: I'd prefer the P6 program to be the top
11:36 JimmyZ n: say 4 [&infix:<+>] 6
11:36 p6eval niecza v19-7-g5e25209: OUTPUT«10␤»
11:36 Timbus seems like a lot of effort instead of just.. mkfifo
11:37 moritz n: say [[&infix:<+>]] 4, 6
11:37 p6eval niecza v19-7-g5e25209: OUTPUT«10␤»
11:37 moritz JimmyZ: one can always go another level nastier :-)
11:38 JimmyZ :)
11:39 JimmyZ n: say [[[[[&infix:<+>]]]]] 4, 6
11:39 p6eval niecza v19-7-g5e25209: OUTPUT«10␤»
11:39 JimmyZ so you can use many []
11:40 moritz n: say [R[[R[[&infix:<+>]]]]] 4, 6
11:40 p6eval niecza v19-7-g5e25209: OUTPUT«10␤»
11:40 Timbus n: say <== 4, 6 ==> [&infix:<+>]
11:40 p6eval niecza v19-7-g5e25209: OUTPUT«[31m===[0mSORRY![31m===[0m��Bogus term at /tmp/kfxTLfbuVy line 1 (EOF):�------> [32msay <== 4, 6 ==> [&infix:<+>][33m�[31m<EOL>[0m��Parse failed��»
11:40 flussence n: say [R[[R[[&infix:<+>]]]]] (4 XZX 6) # bwahaha
11:40 p6eval niecza v19-7-g5e25209: OUTPUT«10␤»
11:40 Timbus lol
11:42 masak I wonder why people think nesting operators is evil, but nesting function calls is perfectly normal ;)
11:43 JimmyZ r: say [[[[[+]]]]] 4, 6
11:43 p6eval rakudo 3bc91c: OUTPUT«10␤»
11:43 moritz masak: nesting operators is much more like higher-order programming
11:44 * jnthn even explains meta-operators as "just higher order programming" to certain audiences.
11:46 seldon There may be a mental connection to three-star programmers, I suppose.
11:47 moritz what is a three-star programmer?
11:48 seldon One that uses pointers to pointers to pointers.
11:48 seldon int ***p; // <-- that sort of thing.
11:48 * moritz rarely touches languages with explicit pointers these days
11:49 dalek faq: 49e139e | moritz++ | answers.md:
11:49 dalek faq: explain &fail and &die
11:49 dalek faq:
11:49 dalek faq: also change HTML attributes to double quote, because the generated
11:49 dalek faq: file is actually XHML
11:49 dalek faq: review: https://github.com/perl6/faq/commit/49e139e6e6
11:49 jnthn .oO( Great, now I'll never be able to see "Hotel **** Thingyhof" as anything other than a C declaration... )
11:50 moritz jnthn: better than thinking of it as swear words :-)
11:50 seldon Great, now I'll never be able to read C code again.
11:51 GlitchMr But, couldn't you in Perl 5 do $$${\\\42}?
11:51 moritz but then I'd be a three-backslash programmer :-)
11:52 cognominal joined #perl6
11:52 seldon Hmm...if there were trigils, you could do $#@bastard or so.
11:52 GlitchMr Or $$$(\\\42) in Perl 6.
11:52 moritz GlitchMr: no
11:52 GlitchMr perl6: print ($$$(\\\42)).perl
11:52 p6eval niecza v19-7-g5e25209: OUTPUT«42»
11:52 p6eval ..rakudo 3bc91c: OUTPUT«===SORRY!===␤Non-declarative sigil is missing its name␤at /tmp/ZWwgpwJ0tx:1␤»
11:52 GlitchMr perl6: print ($$$(\\\\42)).perl
11:53 p6eval niecza v19-7-g5e25209: OUTPUT«\(42)»
11:53 p6eval ..rakudo 3bc91c: OUTPUT«===SORRY!===␤Non-declarative sigil is missing its name␤at /tmp/0doq1rgQbN:1␤»
11:53 moritz $ and \ as prefixes aren't complementary actions
11:53 GlitchMr Is it Niecza bug?
11:53 moritz I'm not sure
11:53 moritz but \ creates a Capture
11:53 moritz and $ itemizes something
11:53 masak right. they are not opposites.
11:53 GlitchMr So, Niecza is wrong or Rakudo is wrong?
11:54 moritz I don't think itemizing a one-element Capture should unCapture it
11:54 GlitchMr But rakudo error sounds like a syntax error...
11:54 moritz it is
11:54 moritz and is likely also wrong
11:54 GlitchMr perl6: print ($($($(\\\\42)))).perl
11:54 p6eval rakudo 3bc91c: OUTPUT«Capture.new( list => (Capture.new( list => (Capture.new( list => (Capture.new( list => (42,).list, hash => EnumMap.new()),).list, hash => EnumMap.new()),).list, hash => EnumMap.new()),).list, hash => EnumMap.new())»
11:54 p6eval ..niecza v19-7-g5e25209: OUTPUT«\(42)»
11:54 moritz std: $$$( 1)
11:54 p6eval std fd2647b: OUTPUT«ok 00:00 41m␤»
11:54 GlitchMr perl6: print ($($($(\\\42)))).perl
11:54 p6eval rakudo 3bc91c: OUTPUT«Capture.new( list => (Capture.new( list => (Capture.new( list => (42,).list, hash => EnumMap.new()),).list, hash => EnumMap.new()),).list, hash => EnumMap.new())»
11:54 p6eval ..niecza v19-7-g5e25209: OUTPUT«42»
11:54 moritz r: $$$( 1)
11:54 p6eval rakudo 3bc91c: OUTPUT«===SORRY!===␤Non-declarative sigil is missing its name␤at /tmp/9nmRlOjOH2:1␤»
11:54 moritz so yes, rakudobug
11:56 GlitchMr http://tablets.perl6.org/appendix-e-exciting.html#comparison
11:56 GlitchMr $a = defined $b ? $b : $c;                      $a = $b // $c;
11:56 GlitchMr I don't like this Perl 5 example.
11:57 GlitchMr In Perl 5 you also can do $b // $c
11:57 moritz in 5.10 and higher, yes
11:57 GlitchMr Perl 5.10 is old enough today
11:57 GlitchMr It doesn't have support.
11:58 moritz well, I know
12:03 GlitchMr http://tablets.perl6.org/appendix-e-exciting.html#named-parameters-in-subroutines
12:03 GlitchMr my $a?
12:04 GlitchMr (also I usually type it as my ($a, $b, @rest) = @_, but this is style thing)
12:04 GlitchMr Both ways are correct
12:05 arnsholt Yeah, I do that too. But for $self parameters I use shift
12:05 dalek tablets: daf756f | moritz++ | docs/appendix-e-exciting.txt:
12:05 dalek tablets: fix p6ism in Perl 5 code
12:05 dalek tablets: review: https://github.com/perl6/tablets/commit/daf756fb72
12:06 cognominal joined #perl6
12:06 GlitchMr It was working before, but I guess it's connected to array slices
12:06 masak lichtkind: the last example in http://tablets.perl6.org/appendix-e-exciting.html#powerful-for-loops is wrong. zip() iterates up to the length of the shortest array, not the length of @a
12:07 moritz I'm a bit more worried that http://tablets.perl6.org/appendix-e-exciting.html#named-parameters-in-subroutines doesn't use what Perl 6 folks call "named parameters"
12:07 GlitchMr @product = @factor1 >>*<< @factor2;
12:08 GlitchMr I guess that Unicode »*« operator could be used in this case
12:08 arnsholt Also, the Perl 5 code has the wrong sigils in that same example
12:08 moritz GlitchMr: the fix it
12:08 moritz erm
12:08 moritz meant arnsholt :)
12:09 arnsholt Oh. Didn't know I could
12:09 * arnsholt goes looking for the edit button
12:09 moritz it's a git repo
12:09 moritz perl6/tablets
12:09 dalek tablets: 406cb56 | moritz++ | docs/appendix-e-exciting.txt:
12:09 dalek tablets: rename a section
12:09 dalek tablets:
12:09 dalek tablets: it does not use named parameters in the sense that Perl 6 programmers
12:09 dalek tablets: use that term
12:09 dalek tablets: review: https://github.com/perl6/tablets/commit/406cb56531
12:09 arnsholt Ah, right
12:10 moritz $product[$] = $factor1[$] * $factor2[$_]; # those lonely $_ also don't look well
12:10 arnsholt 'Cept, I don't have write privileges to that repo
12:10 dalek tablets: e9fc63f | GlitchMr++ | docs/appendix-e-exciting.txt:
12:10 dalek tablets: Use »*« instead of >>*<<
12:10 dalek tablets: review: https://github.com/perl6/tablets/commit/e9fc63fbbd
12:10 dalek tablets: 2ce9aef | GlitchMr++ | docs/appendix-e-exciting.txt:
12:10 dalek tablets: Use $_ variable instead of $] variable and syntax error.
12:10 dalek tablets: review: https://github.com/perl6/tablets/commit/2ce9aefb2f
12:10 moritz ah, GlitchMr++ is faster than me
12:11 moritz arnsholt: I can fix that, just a sec
12:11 arnsholt Cheers!
12:11 arnsholt Long live the conversational implicature ^_^
12:11 moritz arnsholt: erm, you should have
12:12 GlitchMr I already have fixed it when you have mentioned it
12:12 moritz arnsholt: you're in the 'perl6' team, and it grants access to 'tablets
12:12 arnsholt Huh
12:12 GlitchMr perl6/tablets
12:12 arnsholt Oh!
12:12 * arnsholt slaps forehead
12:13 arnsholt My Github session had expired
12:15 dalek tablets: c3575dc | GlitchMr++ | docs/tablet-4-operators.txt:
12:15 dalek tablets: Add Unicode hyperops to already existing ASCII hyperops
12:15 dalek tablets: review: https://github.com/perl6/tablets/commit/c3575dca13
12:15 GlitchMr But actually, whole tablet-4-operators.txt needs descriptions of operators
12:16 GlitchMr For now it's list of operators
12:16 moritz I went to look at the tablets for stuff that I could steal for p6doc
12:16 moritz and was disappointed that there wasn't much worthy of copying
12:17 GlitchMr Also, is generating doc.perl6.org automatic
12:18 moritz it's not yet cronjobbed
12:18 dalek doc: 266ceff | moritz++ | lib/operators.pod:
12:18 dalek doc: start operators.pod
12:18 dalek doc:
12:18 dalek doc: precedence and associativity tables are taken verbatim from S03
12:18 dalek doc: review: https://github.com/perl6/doc/commit/266ceff0eb
12:19 GlitchMr Also, I think that doc.perl6.org should have some kind of layout.
12:19 moritz it has some kind of layout :-)
12:19 moritz though improvements to it are always welcome
12:19 dalek tablets: 730ee66 | (Carl Mäsak)++ | docs/appendix-e-exciting.txt:
12:19 dalek tablets: [docs/appendix-e-exciting.txt] correcter Perl 5 version of zip()
12:19 dalek tablets: review: https://github.com/perl6/tablets/commit/730ee66e4a
12:23 GlitchMr Also, I would like to add link to Perl6 documentation to perl6.org, but...
12:23 GlitchMr http://perl6.org/documentation/
12:23 moritz btw the old doc.perl6.org content is still available under http://u4x.perl6.org/
12:23 GlitchMr That "Official Perl 6 documentation" is a problem. It leads to The Synopsis.
12:23 moritz GlitchMr: just rename it
12:23 flussence "Official Perl 6 Specification" sounds correcter
12:24 moritz you can call the links "Perl 6 specification" and "doc.perl6.org" or "p6doc" or so
12:24 GlitchMr ok :)
12:28 dalek perl6.org: 47148c0 | GlitchMr++ | source/ (2 files):
12:28 dalek perl6.org: Add Perl 6 documentation links
12:28 dalek perl6.org: review: https://github.com/perl6/perl6.org/commit/47148c0087
12:29 GlitchMr Can't use an undefined value as an ARRAY reference at /usr/local/validator/httpd/cgi-bin/check line 569.
12:29 GlitchMr For help, please send mail to the webmaster ([no address given]), giving this error message and the time and date of the error.
12:29 GlitchMr ok
12:29 GlitchMr That was random
12:29 GlitchMr I wanted to check validity of Perl 6 pages
12:30 flussence don't ever look at the validator's source code. it's horrifying :)
12:30 hoelzro does Rakudo support sockets (yet)?
12:30 jnthn Yes
12:30 jnthn Various modules on modules.perl6.org use Rakudo's socket support.
12:31 dalek perl6.org: c96eeb6 | GlitchMr++ | source/documentation/index.html:
12:31 dalek perl6.org: Fix HTML error
12:31 dalek perl6.org: review: https://github.com/perl6/perl6.org/commit/c96eeb65e8
12:32 hoelzro ah, I see. IO::Socket
12:32 hoelzro jnthn: thanks!
12:36 JimmyZ_ joined #perl6
12:46 timotimo "Arrays may also be defined with a mixture of fixed and autoextending dimensions. For example, there are always 12 months in a year and 24 hours in a day, but the number of days in the month can vary:
12:46 timotimo that's not strictly true :)
12:46 moritz yes, we know :-)
12:46 dalek doc: 017256e | moritz++ | lib/glossary.pod:
12:46 dalek doc: steal glossary.pod from u4x
12:46 dalek doc:
12:46 dalek doc: added some small fixes and p6podification
12:46 dalek doc: review: https://github.com/perl6/doc/commit/017256e831
12:50 masak \o/
12:52 whiteknight joined #perl6
12:56 cognominal joined #perl6
13:03 PacoAir joined #perl6
13:04 dalek doc: 08634a2 | moritz++ | htmlify.pl:
13:04 dalek doc: [htmlify] do not dissect language documents
13:04 dalek doc:
13:04 dalek doc: I have no short-ish term plans for doing anything with subsections
13:04 dalek doc: of these documents.
13:04 dalek doc: Speeds up processing a bit
13:04 dalek doc: review: https://github.com/perl6/doc/commit/08634a2033
13:05 seldon Is Str's ords method for public consumptions? I found it through introspection and it's perfect for my little bf interpreter, but I don't see it in the spec.
13:05 moritz then we need to spec it
13:07 seldon Dunno. It feels a little out of place tbh, but it's a good way to get single chars without spamming new temporary objects.
13:08 moritz I think chrs is specced (which is the exact opposite)
13:08 moritz so we should have ords too
13:09 dalek doc: 75fb570 | moritz++ | lib/Str.pod:
13:09 dalek doc: [Str] ord and ords
13:09 dalek doc: review: https://github.com/perl6/doc/commit/75fb570e09
13:09 moritz n: say 'abc.'.ords
13:09 p6eval niecza v19-7-g5e25209: OUTPUT«97 98 99 46␤»
13:09 moritz rn: say 'abc.'.ords
13:09 p6eval rakudo 3bc91c, niecza v19-7-g5e25209: OUTPUT«97 98 99 46␤»
13:10 moritz oh, and we have tests for it
13:10 moritz seldon: it's in S29, where it's thoroughly misplaced
13:11 masak frankly I think .chrs and .ords are a bit unnecessary when we have >>.chr and .comb>>.ord
13:11 masak not even "it's not orthogonal, it's diagonal" motivates it for me. YMMV.
13:12 moritz >>.chr.join
13:12 moritz and it's not quite the same, because >> descends into sub-structures
13:13 timotimo strs can have sub-structures?
13:13 jnthn huh, isn't .ords a method on a string?
13:14 jnthn 'foo'>>.ord won't work
13:14 jnthn It'd have to be 'foo'.comb>>.ord
13:14 mucker joined #perl6
13:14 moritz jnthn: .comb>>.ord is what masak++ wrote
13:14 Gesh joined #perl6
13:15 masak jnthn: yeah, keep up! :P
13:15 jnthn How dare you tell me to keep up! :P
13:15 moritz timotimo: chrs is a method in List, which can have sub-structures
13:15 masak jnthn: I'm sorry you feel offended. :P
13:15 timotimo oh, didn't realize
13:15 timotimo r: ("foo", "bar", "baz").chrs
13:15 p6eval rakudo 3bc91c: OUTPUT«No such method 'chrs' for invocant of type 'Parcel'␤  in block <anon> at /tmp/wUE6UzPw2Q:1␤␤»
13:15 timotimo r: say ("foo", "bar", "baz").list.chrs
13:15 p6eval rakudo 3bc91c: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏foo' (indicated by ⏏)␤  in method Int at src/gen/CORE.setting:9538␤  in method Int at src/gen/CORE.setting:3483␤  in method chr at src/gen/CORE.setting:1951␤  in method dispatc…
13:16 masak no, that's not what I wrote either.
13:16 timotimo uh, of course
13:16 moritz timotimo: list of integers
13:16 timotimo i just realized chrs is the other way around
13:17 smash joined #perl6
13:17 smash hello everyone
13:18 moritz smash!
13:18 GlitchMr perl6: print 42,;
13:18 p6eval rakudo 3bc91c, niecza v19-7-g5e25209: OUTPUT«42»
13:18 GlitchMr perl6: print 42,,;
13:18 p6eval rakudo 3bc91c: OUTPUT«===SORRY!===␤Preceding context expects a term, but found infix , instead␤at /tmp/cvBAtFrqZk:1␤»
13:18 p6eval ..niecza v19-7-g5e25209: OUTPUT«[31m===[0mSORRY![31m===[0m��Preceding context expects a term, but found infix , instead at /tmp/yx_l6bGDM5 line 1:�------> [32mprint 42,[33m�[31m,;[0m��Parse failed��»
13:19 timotimo oh, btw, could you tell me what to look for to understand how "semicolon lists" work or what they're used for?
13:19 timotimo most stuff i found in the synopses was about parameters not to be dispatched over and such
13:19 timotimo and of course lists of statements to evaluate
13:19 moritz r: say <1 2 3> Z <a b c> Z <d e f>
13:19 p6eval rakudo 3bc91c: OUTPUT«1 a d 2 b e 3 c f␤»
13:20 moritz suppose you want to write a function that works the same way
13:20 moritz you somehow need to take care that the structure of the input list doesn't flatten out
13:20 moritz semicolon lists are a (the?) way to do it
13:21 moritz r: say zip(<1 2 3>; <a b c>; <d e f>)
13:21 p6eval rakudo 3bc91c: OUTPUT«1 a d 2 b e 3 c f␤»
13:21 moritz r: say zip(<1 2 3> <a b c> <d e f>)
13:21 p6eval rakudo 3bc91c: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&c' called (line 1)␤Undefined routine '&b' called (line 1)␤Undefined routine '&a' called (line 1)␤»
13:21 moritz r: say zip(<1 2 3>, <a b c>, <d e f>)
13:21 p6eval rakudo 3bc91c: OUTPUT«1 a d 2 b e 3 c f␤»
13:21 moritz hm, seems it works without
13:21 moritz maybe we can throw 'em out? :-)
13:23 cognominal_ joined #perl6
13:24 masak smash! \o/
13:24 colomon rn: ay zip(<1 2 3>; <a b c>; <d e f>)
13:25 p6eval niecza v19-7-g5e25209: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Slicel lists are NYI at /tmp/rfC6LsGfSy line 1 (EOF):â�¤------> [32may zip(<1 2 3>; <a b c>; <d e f>)[33mâ��[31m<EOL>[0mâ�¤â�¤Undeclared routines:â�¤   'ay' used at line 1â�¤    'zip' used at line 1â�¤â�¤Unhandled exception: Check failedâ�¤â�¤  a…
13:25 p6eval ..rakudo 3bc91c: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&ay' called (line 1)␤»
13:25 colomon rn: say zip(<1 2 3>; <a b c>; <d e f>)
13:25 p6eval rakudo 3bc91c: OUTPUT«1 a d 2 b e 3 c f␤»
13:25 p6eval ..niecza v19-7-g5e25209: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Slicel lists are NYI at /tmp/ktccwRJMhe line 1 (EOF):â�¤------> [32msay zip(<1 2 3>; <a b c>; <d e f>)[33mâ��[31m<EOL>[0mâ�¤â�¤Undeclared routine:â�¤   'zip' used at line 1â�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecza…
13:25 colomon doh!
13:36 daxim http://sedition.com/a/3285   perl6 people are happy people. HAPPY TO ANSWER
13:36 moritz \o/
13:37 moritz I'd say it's even a progress to see perl6 included in such a statistic
13:37 moritz .oO( perl6 is more important than SQL )
13:39 colomon there are unanswered perl 6 questions on stackoverflow?
13:39 daxim not anymore
13:40 colomon ha!
13:42 GlitchMr Now, I wonder what is that one unanswered question
13:43 GlitchMr ok, found it: http://stackoverflow.com/questions/3317298/how-to-load-parrot-sdl-pir-module-in-rakudo
13:43 daxim that has one answer.
13:43 GlitchMr Except not accepted (I don't know why)
13:44 tokuhiro_ joined #perl6
13:44 GlitchMr But well, only person who asked it can accept this answer
13:44 GlitchMr so well
13:45 adu joined #perl6
13:45 GlitchMr Oh, I remember. Unanswered means that no answer is accepted and no answer has more than 0 points.
13:45 GlitchMr I have upvoted that answer and it isn't on unanswered tab on StackOverflow.
13:46 cognominal__ joined #perl6
13:53 moritz nr: grammar A { has $.x = 5; method TOP { { say $.x } } }; say A.new.parse('')
13:53 p6eval niecza v19-7-g5e25209: OUTPUT«Unhandled exception: Representation P6cursor does not support attributes␤  at /tmp/7uvezsizUv line 0 (x @ 1) ␤  at /tmp/7uvezsizUv line 1 (A.TOP @ 7) ␤  at /home/p6eval/niecza/lib/CORE.setting line 2883 (Grammar.parse @ 5) ␤  at /tmp/7uvezsizUv line 1 (main…
13:53 p6eval ..rakudo 3bc91c: OUTPUT«Any()␤No such method 'MATCH' for invocant of type 'Bool'␤  in method parse at src/gen/CORE.setting:9778␤  in block <anon> at /tmp/1h6U_muL31:1␤␤»
13:53 moritz r: grammar A { has $.x = 5; method TOP { { say $!x } } }; say A.new.parse('')
13:53 p6eval rakudo 3bc91c: OUTPUT«Any()␤No such method 'MATCH' for invocant of type 'Bool'␤  in method parse at src/gen/CORE.setting:9778␤  in block <anon> at /tmp/hlZy63m_sm:1␤␤»
13:53 moritz I think there are two bugs in here
13:54 moritz the first is that the grammar doesn't see the attribute
13:54 moritz and the second is that it tried to call Bool.MATCH. I think {} blocks are meant *only* for side effects, and their return values should be unused
13:54 moritz Lard++ on p6u
13:58 colomon n: grammar A { has $.x = 5; method TOP { { say $!x } } }; say A.new.parse('')
13:58 p6eval niecza v19-7-g5e25209: OUTPUT«Unhandled exception: Representation P6cursor does not support attributes␤  at /tmp/iHSRDm6Eh9 line 1 (A.TOP @ 7) ␤  at /home/p6eval/niecza/lib/CORE.setting line 2883 (Grammar.parse @ 5) ␤  at /tmp/iHSRDm6Eh9 line 1 (mainline @ 6) ␤  at /home/p6eval/niecza/l…
13:59 moritz n: grammar A { has $.x = 5; method TOP { { say 'lol' } } }; A.new.parse('')
13:59 p6eval niecza v19-7-g5e25209: OUTPUT«lol␤Unhandled exception: Unable to resolve method to in type Bool␤  at /home/p6eval/niecza/lib/CORE.setting line 2882 (ANON @ 4) ␤  at /home/p6eval/niecza/lib/CORE.setting line 1026 (Block.ACCEPTS @ 4) ␤  at <unknown> line 0 (KERNEL grep @ 2) ␤  at /home/p6…
13:59 moritz rn: grammar A { has $.x = 5; method TOP { { say 'lol' } .? } }; A.new.parse('')
13:59 p6eval niecza v19-7-g5e25209: OUTPUT«[31m===[0mSORRY![31m===[0m��Strange text after block (missing comma, semicolon, comment marker?) at /tmp/zc38u6wp7u line 1:�------> [32m has $.x = 5; method TOP { { say 'lol' }[33m�[31m .? } }; A.new.parse('')[0m��Parse failed��»
13:59 p6eval ..rakudo 3bc91c: OUTPUT«===SORRY!===␤Unable to parse blockoid, couldn't find final '}' at line 2, near "{ say 'lol"␤»
13:59 moritz OH
13:59 moritz I should write 'token TOP'
13:59 moritz not 'method TOP'
13:59 timotimo is there a similar short version of my LongTypeName @foo = (LongTypeName.new(:a<1>), LongTypeName.new(:b<2>)), like i could do my LongTypeName $foo =. new(:a<1>)?
14:00 moritz not really
14:01 moritz but you can write    .new(:a<1>), .new(:a<2>) given LongTypeName
14:01 timotimo oh, that's cute
14:01 GlitchMr http://paste.uk.to/e04406a8
14:01 GlitchMr So, you cannot parse Perl 6 too?
14:02 timotimo how about mapping the parameter lists to LongTypeName.new with hyper ops? somewhat like LongTypeName <<.new<< (\(:a<1>), \(:b<2>))
14:02 moritz of course you can't :-)
14:02 GlitchMr Actually, I think I should've used .pick, but * (Whatever)
14:02 tadzik err, what
14:02 colomon GlitchMr: was just going to say .pick to you.  :)
14:03 GlitchMr I've done Perl 5 code, not Perl 6
14:03 moritz timotimo: (:a<1>, :a<2>).map: { LongTypeName.new(|$_) }
14:03 GlitchMr (well, ok, in Perl 5 ['-', '+'][2.rand.Int] would be syntax error)
14:03 tadzik std: sub infix:[['-', '+'][2.rand.Int]] ($a, $b) { }
14:03 p6eval std fd2647b: OUTPUT«Possible attempt to separate words with commas at (eval 243) line 18.␤Possible attempt to separate words with commas at (eval 243) line 30.␤Cannot create infix:sym[['-', '+'][2.rand.Int]]: syntax error at (eval 243) line 18, near "2.rand"␤syntax error at (eval 243) l…
14:04 GlitchMr What words?
14:04 moritz std: qw/-, +/
14:04 p6eval std fd2647b: OUTPUT«ok 00:00 40m␤»
14:04 moritz GlitchMr: probably a bogus warning from the codegen
14:04 moritz erm, from the generated code
14:04 GlitchMr std: sub infix:[qw/- +/[2.rand.Int]] ($a, $b) { }
14:04 p6eval std fd2647b: OUTPUT«Cannot create infix:sym[qw/- +/[2.rand.Int]]: Search pattern not terminated at (eval 243) line 30.␤␤FAILED 00:00 41m␤»
14:04 GlitchMr Ok, happy?
14:05 GlitchMr Probably no
14:05 moritz infix:[<+ ->.pick]
14:05 GlitchMr std: sub infix:[<+ ->.pick] ($a, $b) { }
14:05 p6eval std fd2647b: OUTPUT«Useless use of a constant (+) in void context at (eval 248) line 18.␤Useless use of a constant (+) in void context at (eval 248) line 30.␤Cannot create infix:sym[<+ ->.pick]: Bareword "pick" not allowed while "strict subs" in use at (eval 248) line 30.␤Bareword "pick…
14:05 GlitchMr Bareword?
14:05 moritz yep, the codegen doesn't like it
14:06 GlitchMr Is it Perl 5 or Perl 6?
14:06 moritz GlitchMr: std generates perl 5 from Perl 6 code
14:06 GlitchMr oh, ok
14:06 moritz GlitchMr: so when the codegen is imperfect, perl 5 warnings and errors leak through
14:07 flussence r: sub infix:<±>($a, $b) { return $a-$b.abs .. $a+$b.abs }; say 12 ~~ 15±5
14:07 p6eval rakudo 3bc91c: OUTPUT«True␤»
14:07 GlitchMr ok
14:08 flussence r: sub infix:<±>($a, $b) { return $a-$b.abs .. $a+$b.abs }; say 22/7 ~~ pi ± 0.1
14:08 p6eval rakudo 3bc91c: OUTPUT«True␤»
14:08 flussence :D
14:08 GlitchMr42 joined #perl6
14:09 GlitchMr perl6: r: sub infix:<±>($a, $b) { return $a-$b.abs .. $a+$b.abs }; say 12.5 ~~ 15±5
14:09 p6eval niecza v19-7-g5e25209: OUTPUT«True␤»
14:09 p6eval ..rakudo 3bc91c: OUTPUT«===SORRY!===␤Confused␤at /tmp/rLmPX8ZWPL:1␤»
14:09 GlitchMr broken
14:09 GlitchMr perl6: sub infix:<±>($a, $b) { return $a-$b.abs .. $a+$b.abs }; say 12.5 ~~ 15±5
14:09 p6eval rakudo 3bc91c, niecza v19-7-g5e25209: OUTPUT«True␤»
14:09 GlitchMr or not
14:10 colomon you said perl6: r: on the first
14:10 colomon n: r: sub infix:<±>($a, $b) { return $a-$b.abs .. $a+$b.abs }; say 12.5 ~~ 15±5
14:10 p6eval niecza v19-7-g5e25209: OUTPUT«True␤»
14:10 GlitchMr Oh, right, I forgot that ranges aren't Perl 5 ranges
14:10 GlitchMr I know
14:10 GlitchMr Accidentally
14:10 colomon r: r: sub infix:<±>($a, $b) { return $a-$b.abs .. $a+$b.abs }; say 12.5 ~~ 15±5
14:10 p6eval rakudo 3bc91c: OUTPUT«===SORRY!===␤Confused␤at /tmp/nmZqldBc5a:1␤»
14:10 tadzik hmm, szabgab seems to be writing Pod parser from scratch
14:10 colomon std: r: sub infix:<±>($a, $b) { return $a-$b.abs .. $a+$b.abs }; say 12.5 ~~ 15±5
14:11 p6eval std fd2647b: OUTPUT«ok 00:00 44m␤»
14:11 GlitchMr But if you cannot parse Perl, can you parse Pod in Perl 6?
14:11 flussence tadzik: I saw that, but from the capitalisation I assumed it was for perl5 POD
14:11 tadzik it's not
14:11 tadzik GlitchMr: I managed to do it
14:12 GlitchMr ok, parsing Pod without executing code
14:13 tadzik no, but the reasons are different
14:14 GlitchMr But I guess that most POD parsers will simply think that grammar wasn't modified.
14:19 kresike bye all
14:19 tadzik bye kresike
14:33 dalek doc: eda5ad0 | (Klaus Brüssel)++ | lib/operators.pod:
14:33 dalek doc: Fix some typos
14:33 dalek doc: review: https://github.com/perl6/doc/commit/eda5ad05bc
14:33 dalek doc: f30a2b0 | GlitchMr++ | lib/operators.pod:
14:33 dalek doc: Merge pull request #1 from muixirt/master
14:33 dalek doc:
14:33 dalek doc: Fixed some typos
14:33 dalek doc: review: https://github.com/perl6/doc/commit/f30a2b0b29
14:39 dalek doc: 13cc82a | GlitchMr++ | lib/Callable.pod:
14:39 dalek doc: Fix case sensitivity
14:39 dalek doc: review: https://github.com/perl6/doc/commit/13cc82a739
14:49 cognominal joined #perl6
14:53 GlitchMr Is it just me or Array isn't Positional?
14:53 GlitchMr http://perlcabal.org/syn/S32/Containers.html
14:54 jnthn Array inherits from List, and List is Positional.
14:54 cognominal joined #perl6
14:54 jnthn r: say Array ~~ Positional
14:54 p6eval rakudo 3bc91c: OUTPUT«True␤»
14:55 GlitchMr Except,
14:55 GlitchMr role List does Container {...}
14:55 GlitchMr role Container {...}
14:55 tyatpi joined #perl6
14:55 GlitchMr There is nothing about Positional in inheritance chain
14:55 timotimo r: say Container ~~ Positional
14:55 p6eval rakudo 3bc91c: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&Container' called (line 1)␤»
14:55 GlitchMr I guess that List should have does Positional too
14:55 timotimo hm
14:56 GlitchMr Should I change this to role List does Container does Positional {...}
14:56 jnthn role List?!
14:56 jnthn We have it as a class in all the implementations, afaik. :)
14:57 jnthn r: say Array.^mro
14:57 p6eval rakudo 3bc91c: OUTPUT«Array() List() Iterable() Cool() Any() Mu()␤»
14:57 jnthn r: say List ~~ Positional
14:57 p6eval rakudo 3bc91c: OUTPUT«True␤»
14:57 jnthn r: say Iterable ~~ Positional
14:57 p6eval rakudo 3bc91c: OUTPUT«False␤»
14:57 GlitchMr So, class List
14:57 jnthn OK, so it is List that does Positional.
14:57 GlitchMr And Container
14:58 moritz no
14:58 moritz there's no Container role or class
14:59 jnthn Sounds like a fossil to me.
15:00 GlitchMr r: Positional
15:00 p6eval rakudo 3bc91c:  ( no output )
15:02 dalek specs: 0ebf6ac | moritz++ | S (2 files):
15:02 dalek specs: get rid of Container fossil
15:02 dalek specs: review: https://github.com/perl6/specs/commit/0ebf6ac36f
15:05 dalek doc: 0cea25f | GlitchMr++ | lib/Positional.pod:
15:05 dalek doc: Positional role
15:05 dalek doc: review: https://github.com/perl6/doc/commit/0cea25f1ee
15:12 pmichaud good morning, #perl6
15:12 diakopter ahoy pm
15:13 jnthn morning, Pm
15:22 moritz good am, pm
15:27 diakopter um. good thing I just stopped myself from commuting to work.
15:29 jnthn Red day? :)
15:29 jnthn er...national holiday, I mean... :)
15:29 jnthn Oh, of course, it's 4th July. :)
15:29 * jnthn hadn't even noticed.
15:30 * moritz listens to "4th of July" by Amy MacDonald
15:31 diakopter actually. I might be able to get something done at the office today without noise from nearby cubedwellers. luckily the office is only 1 mile away. I wonder if the air conditioning will be turned on today.
15:34 moritz r: say 'pm' lt 'pir'
15:34 p6eval rakudo 3bc91c: OUTPUT«False␤»
15:34 moritz :/
15:40 pmichaud wow, lots of backscroll this morning
15:40 pmichaud I want to get more notifications about commits to perl6/doc, perl6/tablet, ....
15:40 pmichaud (e.g., email notifications)
15:40 pmichaud either that or an RDF feed
15:41 moritz pmichaud: I'm pretty sure you can add those; you have admin privs on both repos
15:41 pmichaud moritz: yeah; I'm just trying to figure out the best way to do it
15:41 pmichaud I'm not sure we want to be creating one-mailing-list-per-repo
15:42 moritz pmichaud: well, if it's only you, you can just use one of your own email addresses
15:42 moritz pmichaud: so far nobody else has actively voiced interest
15:43 pmichaud yeah, I could do that.
15:43 pmichaud let's see if I can get a rss feed or something
15:43 pmichaud actually, let me review the commits first :)
15:43 pmichaud moritz++ # blog post on p6doc
15:44 pmichaud moritz++ # link to python 3's marketing problem article
15:45 pmichaud I agree, ambitious goals are what make P6 worthwhile.
15:48 simcop2387 joined #perl6
15:49 masak I agree too.
15:50 masak Perl 5 is the low risk/low payoff branch of Perl language development. Perl 6 is the high risk/high payoff branch.
15:58 adu masak: it doesn't have to be that way
15:59 adu if llvm-perl6 comes to the rescue
16:00 moritz and that would be what?
16:00 moritz high risk, low payoff?
16:00 alc joined #perl6
16:01 masak :P
16:01 masak adu: I completely don't get your point, sorry.
16:06 daxim unicode tr 10 == awesome.   http://mail.pm.org/pipermail/moscow-pm/2012-July/013072.html
16:06 thelazydeveloper joined #perl6
16:11 masak rn: https://gist.github.com/3048087
16:11 cognominal_ joined #perl6
16:11 p6eval niecza v19-7-g5e25209: OUTPUT«[31m===[0mSORRY![31m===[0m��Lexical EUR is not a package at /tmp/sLj4e_y5Em line 3:�------> [32mmulti rate(EUR[33m�[31m) { 1.252 }[0m��A type must be provided at /tmp/sLj4e_y5Em line 3:�------> [32mmulti rate(EUR[33m�[31m) { 1.252 }[0m��Lexical …
16:11 p6eval ..rakudo 3bc91c: OUTPUT«1000 EUR is 1252 USD␤»
16:11 masak \o/
16:11 masak that... is ever so slightly cool and scary ;)
16:11 * masak hugs Perl 6
16:11 adu masak: you shouldn't have to choose, you should be able to have low risk and high payoff :)
16:12 pmichaud I suspect that p5 folks would characterize it as low risk/high payoff.  (And I'd agree with them in many respects.)
16:12 masak adu: if it was possible to have low risk and high payoff, people would have already done it. http://www.scottaaronson.com/blog/?p=418
16:12 adu masak: they have, it's called Wall Street
16:13 masak pmichaud: well, it's a relative thing. we wouldn't be bothering with Perl 6 if the expected payoff wasn't higher than not doing it and focusing only on Perl 5.
16:13 pmichaud masak: +1
16:14 sergot joined #perl6
16:14 sergot hi o/ ! !
16:14 masak sergocie! \o/
16:14 sergot masaku \o/
16:14 masak :D
16:15 sergot I'm back after a few days without internet. :)
16:15 diakopter adu: are you saying risk is not positively correlatd with reward on Wall Street?
16:15 masak welcome back, sergot!
16:15 adu diakopter: most definitely
16:16 diakopter adu: where do you get this idea?
16:17 masak lordfarn++ # p6u
16:18 adu diakopter: on the microcosm, CDS, MBS, and other derivatives were designed to decrease risk and increase payoff, and on the macrocosm, large companies like Goldman Sachs and JPMorgan Chase are some of the riskiest operations on the planet, and when they fail, they get trillions in bailouts from the Federal Reserve of New York
16:19 masak everyone wants to decrease risk and increase payoff. that's a given.
16:19 masak Wall Street are just corrupt enough to be able to.
16:20 diakopter adu: your statement says nothing about positive correlation of risk and reward
16:20 pmichaud diakopter: I think adu's point is that negative risks aren't correlated with negative reward -- certainly not to the same degree that positive risk is correlated with positive reward
16:21 MayDaniel joined #perl6
16:21 masak "Too Big To Fail"
16:21 adu = "systemically significant"
16:22 pmichaud so, if there's a positive correlation between risk and reward, there's at least some point where the correlation is no longer a positive one
16:23 hoelzro hey guys, I'm planning on building an XMPP bot in Perl6
16:23 hoelzro but I'm going to use a helper process written in Perl5 until I write an XMPP client library in Perl6 =)
16:24 hoelzro so I need to pass connection information to the client; does Rakudo have a temporary file mechanism?
16:24 diakopter pmichaud: what are negative risks?
16:25 pmichaud diakopter: negative risk: "if I accept this financial risk, there's a chance the firm might fail"
16:25 diakopter how is that distinguished from non-negative risk
16:26 pmichaud diakopter: okay, I conflated the terms, yes.
16:27 pmichaud clearly, though, there's an inflection point where "increased risk" does not always translate to "increased reward"
16:28 pmichaud need lunch here
16:28 adu reward = abs(risk)
16:28 diakopter I don't understand adu's point at all. First, I totally disagree that those entities are highly risky, for the very reason adu mentions.
16:29 masak hoelzro: Rakudo doesn't have a built-in temporary file mechanism, no.
16:29 hoelzro =(
16:29 masak hoelzro: what do you need? maybe we can build it quickly.
16:29 masak (I've heard the source is open and publicly changeable!)
16:29 hoelzro just something like File::Temp
16:29 pmichaud hoelzro: if it's not part of the spec (and I suspect it isn't), then it's relegated to a module (that perhaps needs writing)
16:29 hoelzro =)
16:29 masak it's not part of the spec.
16:29 hoelzro pmichaud, masak: I'd be happy to write a module
16:29 masak but even if it were, S16 is still insane and should not be heeded.
16:29 hoelzro to follow up on that...
16:29 adu diakopter: the problem with bailouts is that they reward bad behaviour, which encourages it… in a way that dilutes everybody else's purchasing power, which is bad
16:29 pmichaud hoelzro: then writing a module is the way to go :)
16:30 hoelzro how do I bind a C library to Rakudo?
16:30 masak hoelzro: please write a module. and if you get stuck, we'll help.
16:30 hoelzro yay! help!
16:30 mhasch quick perl6 question: a dash can be a part of an identifier, right?
16:30 masak binding C: that's generally zavolaj's job.
16:30 masak mhasch: yes-ish.
16:30 pmichaud mhasch: before an alpha char, yes.
16:30 masak mhasch: if you put it between two alphabetics.
16:30 pmichaud (before, not between)
16:30 masak r: my $b-2;
16:30 p6eval rakudo 3bc91c: OUTPUT«use of uninitialized variable $b of type Any in numeric context  in block <anon> at /tmp/W4kuOZjooY:1␤␤»
16:31 masak pmichaud: between.
16:31 hoelzro zavolaj?
16:31 pmichaud r:  my $b2-xyz = 3;
16:31 p6eval rakudo 3bc91c:  ( no output )
16:31 mhasch aha.  Any idea what this is supposed to accomplish?
16:31 pmichaud masak:  before
16:31 masak hoelzro: https://github.com/jnthn/zavolaj
16:31 diakopter adu: where did I imply I didn't think there wasn't a "problem" with bailouts?
16:31 diakopter *was
16:31 masak pmichaud: oh! right. :/ sorry.
16:31 * masak sometimes mixes up "right" and "left" -- not so often "before" and "after"... :)
16:31 pmichaud r:  my $b2-xyz = 'hello';  say $b2-xyz;
16:31 p6eval rakudo 3bc91c: OUTPUT«hello␤»
16:32 adu diakopter: "disagree that those entities are highly risky"?
16:32 masak surely those entities became vastly less risky by being bailed out... :)
16:32 diakopter that's what I'm saying.
16:32 pmichaud note that there's  "risk to the firm" and "risk to society", which aren't the same.
16:33 mhasch r: $x=4; say $x - pi; say $x-pi
16:33 p6eval rakudo 3bc91c: OUTPUT«===SORRY!===␤Variable $x is not declared␤at /tmp/Rvy6WMhGlI:1␤»
16:33 diakopter the fact they can be expected to receive bailouts makes them less risky than they otherwise would be.
16:33 adu what I'm saying is that even with bailouts, the risk to the rest of the world is still there
16:33 mhasch r: my $x=4; say $x - pi; say $x-pi
16:33 p6eval rakudo 3bc91c: OUTPUT«===SORRY!===␤Variable $x-pi is not declared␤at /tmp/jg1_Uj2KZ4:1␤»
16:33 diakopter adu: risk of *what*?
16:33 adu diakopter: hyperinflation
16:34 diakopter but that has nothing to do with your original point.
16:34 birdwindupbird jj
16:34 adu diakopter: I thought that was covered by "systemically significant"
16:35 masak birdwindupbird: ww? :)
16:35 fridim_ joined #perl6
16:35 pmichaud From a societal perspective, there's a reward to be had in allowing firms to take on riskier investments.  However, there comes a point where the risks increase so much that the reward (to society) is no longer positively correlated.   (How's that?)
16:37 diakopter these concepts of risk and reward to society are meaningless, because no *transaction* is taking place.  or are you saying these big entities' very continued existence is somehow a transaction?
16:37 adu sergot: are you on the east coast?
16:37 masak aren't lots of transactions taking place.
16:37 masak adu: east coast... of Poland? :)
16:38 pmichaud certainly a transaction is taking place -- the big entities are continually making lots of transactions.  From a societal perspective, the transactions have a very real effect; the question is to what degree does society allow the transactions to occurs.
16:38 adu masak: of the land of Wall Street
16:38 diakopter masak: I'm saying risk and reward can only be measured on individual transactions.
16:38 pmichaud Society's choice of what transactions to allow and which to deny are called "regulations"
16:38 masak adu: sergot is from .pl
16:38 sergot adu: I'm from Poland, as masak said. :)
16:38 masak diakopter: I don't buy that right off.
16:39 pmichaud in that sense, a "regulation" is a transaction between society and the business entities
16:39 pmichaud and such regulation (transaction) carries a degree of risk and reward
16:39 masak diakopter: it would seem to me that at least some groups transactions can be treated as one big transaction in some sense.
16:39 masak groups of*
16:39 diakopter this discussion is silly, because now it seems you're talking about things other than investments.
16:40 masak we're talking about risks and rewards.
16:40 pmichaud clearly society makes investments in business areas (such as Wall Street)  :-)
16:40 masak I started up comparing Perl 5 and Perl 6. that had nothing to do with investments, except in things besides money.
16:40 diakopter in the realm of Wall Street, risks and rewards are discussed in terms of investments.
16:40 diakopter adu's original point was about Wall Street.
16:41 masak right, but the discussion was already wider than that.
16:41 adu diakopter: I've never considered myself an economist, so I'm sure I'm using at least one or two words wrong, but I'm also not content to leave something like hyperinflation to chance, so I try and learn as much as possible to better myself
16:41 pmichaud diakopter: perhaps Wall Street from a societal perspective, though; not necessarily the view from inside Wall Street
16:41 hoelzro hmm
16:41 pmichaud just like (to come full circle), there's a difference in perception (and measurement) of risk/reward between Perl 6 language developers and the wider programming community
16:42 diakopter how was adu's original point not about investment transactions made on Wall Street?
16:42 hoelzro I would expect IO::Socket::INET.new(:listen, :localhost<127.0.0.1>) to bind to an arbitrary port on my machine
16:42 hoelzro and I would expect that to be returned by $server.localport
16:42 hoelzro should I throw that in?
16:42 adu diakopter: the rest of society all makes transations, either directly or indirectly with Goldman Sachs.
16:43 diakopter what are you talking about?  individual investments?
16:43 * pmichaud departs from the risk/reward discussion,  as the reward of remaining in the channel is no longer worth the risk of starvation from not having lunch.
16:43 adu no, I'm talking about going to the ATM and getting $40
16:43 diakopter Wall Street risk/reward has nothing to do with that. that's not an investment.
16:44 adu diakopter: my definition of investment is more general i guess
16:45 adu to me, time, trust, dependancy, commitment, money, can all be investments
16:45 diakopter an ATM transaction cannot possibly be an investment. there is zero risk.
16:45 cognominal_ joined #perl6
16:46 diakopter well, more accurately, zero reward.
16:46 diakopter there are zero-risk investments.
16:46 adu diakopter: there is risk, especially if Goldman Sachs fails, which might freeze all investments being made by YourLocalBank, Inc. which might cuase them to shut down for fear of a run
16:47 diakopter you don't trust FDIC?
16:47 adu diakopter: I do, it would cover about 20% of all bank deposits
16:48 diakopter how did we jump from one large bank failing (which you already said won't happen anyway due to bailouts) causing local bank to fail... to the entire economy shutting down?
16:49 adu I think the topic now is trying to see if we both use the same terms, if they mean the same things, and arguing about something
16:49 adu diakopter: because that what happens in every hyperinflation
16:50 adu bailout = inflation
16:50 adu lots of bailouts = hyperinflation
16:52 masak are we talking about this because I posted https://gist.github.com/3048087 earlier? :)
16:52 masak no-one commented on that gist, by the way. I think it's a neat little bit of code.
16:53 adu I did, right now
16:54 masak hm, or I could do those subs as postfixes...
16:54 masak r: https://gist.github.com/3048087
16:54 diakopter in the world of investments, risk is positively correlated with reward, always, contrary to what adu said.
16:54 p6eval rakudo 3bc91c: OUTPUT«1000 EUR is 1252 USD␤»
16:55 masak yes, that works too, and looks a bit nicer :)
16:55 masak diakopter: that doesn't sound like an absolute law as much as a kind of equilibrium.
16:57 diakopter if there was an inflection point in the correlation, NO ONE would invest in the financial instruments that had equal risk but less return, and therefore those instruments would not exist.
16:58 diakopter this is classical finance theory.
16:58 dalek Heuristic branch merge: pushed 16 commits to panda/pod-installing by moritz
16:59 moritz tadzik: ^^ still failing tests in the pod-installing branch. And I don't know how to run the tests in isolation, I always get some precompilation related error :/
16:59 diakopter (and if those instruments on the upper part of the inflection hump didn't exist, the inflection point wouldn't exist)
17:01 masak diakopter: agreed.
17:01 masak diakopter: but it all presupposes a static, global, always known/knowable view on risks and rewards. like a full-information game.
17:01 masak without it, that argument holds less and less.
17:02 diakopter no, it still works if each investor has his own measurement of risk on every instrument
17:02 * masak has to think about this, then
17:03 diakopter (because the individual perspective is all that matters)
17:04 diakopter I shouldn't have said "would not exist" above.  I should have said "would not be relevant"
17:05 diakopter the individual will always choose that which seems to have the highest reward/risk ratio to himself.
17:06 diakopter people have very different measurements of risk on the same instruments
17:06 masak r: https://gist.github.com/3048087
17:06 p6eval rakudo 3bc91c: OUTPUT«1000 EUR is 1252 USD␤»
17:07 diakopter why does niecza not like it?
17:07 masak good question.
17:07 masak n: https://gist.github.com/3048087
17:07 sporous joined #perl6
17:07 p6eval niecza v19-7-g5e25209: OUTPUT«[31m===[0mSORRY![31m===[0m��Lexical EUR is not a package at /tmp/fWh93_LQMe line 3:�------> [32mmulti rate(EUR[33m�[31m) { 1.252 }[0m��A type must be provided at /tmp/fWh93_LQMe line 3:�------> [32mmulti rate(EUR[33m�[31m) { 1.252 }[0m��Lexical …
17:07 masak clearly that should work.
17:07 masak Niecza has enums.
17:07 moritz n: multi f(2) { }
17:07 p6eval niecza v19-7-g5e25209: OUTPUT«Potential difficulties:â�¤  &f is declared but not used at /tmp/K2NPMaIjBA line 1:â�¤------> [32mmulti f[33mâ��[31m(2) { }[0mâ�¤â�¤Â»
17:11 masak n: enum Currency <EUR USD>; multi rate($ where { $_ === EUR }) { 1.252 }; say rate(EUR)
17:11 p6eval niecza v19-7-g5e25209: OUTPUT«1.252␤»
17:12 masak heh, "commented on" I meant here on the channel, but on the gist itself is fine too, people ;)
17:13 cognominal__ joined #perl6
17:15 xinming_ joined #perl6
17:18 diakopter masak: I should explain more. let's say you're an investor, and all you know about are municipal bonds and AAPL, and you "correctly" (by consensus) view AAPL stock as having potentially higher return than the bonds, but for some reason you "wrongly" (by consensus) evaluate the bonds as being riskier than the stock, you will definitely invest in Apple.  However, most investors are unable to quantify exactly their measures of risk and reward; they just kn
17:19 diakopter so, applied to Perl 5/6..
17:19 diakopter (from above) ..... now some relative relationships. So, among the investments that are positively correlated in risk/reward (the only sane ones to invest in), it's very tricky/hard to choose which investment has the higher/highest
17:19 masak diakopter: you got cut off at 'they just kno'
17:20 diakopter ... reward/risk ratio.
17:20 diakopter sorry that message was spread across 3
17:21 masak I pieced them together :)
17:22 adu diakopter: are you a risk analyst?
17:22 diakopter since it is hard to quantify the relationships, each investor has to place all potential investments on a risk/reward curve
17:22 diakopter no
17:23 diakopter this is just basic investment theory, what I learned in business school, where my degree was in finance.
17:26 masak diakopter: do investors actually phrase risk in actual numbers? what's the unit of "risk"? what makes the ratio reward/risk a useful one?
17:27 diakopter that's what I mean by unable to quantify exactly and just knowing some relative relationships. In financial markest, the unit of risk is the interest rate.
17:27 diakopter in non-finance people's heads, it's very cloudy
17:29 masak I'll bet. wouldn't you *want* to make it very non-cloudy, to better be able to determine over time where you overestimate/underestimate risk?
17:30 diakopter that's what financial advisors supposedly try to do.
17:30 diakopter people pay big money to advisors for help like that
17:30 seldon Haha.
17:30 diakopter especially to places like Goldman or JPM
17:31 seldon And it makes them have a vested interest in keeping the whole thing complicated.
17:31 diakopter maybe
17:32 masak it is complicated.
17:34 seldon Well, in some cases it is made complicated. A lot of papers have been engineered before the financial crisis that no one has a prayer of pricing reliably -- you can monte carlo the stuff, but you essentially get "it's worth somewhere between 30 and 200 with 25% confidence."
17:36 seldon Although those have become somewhat less popular since then.
17:37 masak "Don't assume conspiracy where genuine complexity adequately explains the phenomenon."
17:37 seldon It wasn't a conspiracy. More of a fad, really.
17:38 diakopter well. I shouldn't say every investor chooses the highest reward/risk ratio. Investors also have limits or ranges of risk they are willing to take on.
17:42 diakopter http://tinyurl.com/86kaosu The efficient frontier. Up to his acceptable risk limit, the investor's optimal portfolio lies somewhere on the upper portion of the curve.
17:43 diakopter possible portfolios (combinations of investments) lie inside or along the curve
17:44 diakopter note most of the graphs only bother to show the upper half
17:45 diakopter portfolios also include portfolios of single investments, so the curve applies to comparing individual investments as well.
17:51 mjflick joined #perl6
17:52 diakopter masak: sorry to drag this out even more, but I need to correct myself. There are many units of risk. Variability of return is basically the primary one.
17:52 diakopter which can be measured by stddev
17:53 seldon stddev here meaning black/scholes sigma*sqrt(T)?
17:53 * masak calls that "variance", but maybe there are many names
17:54 seldon variance is stddev ** 2.
17:54 masak oh!
17:54 diakopter seldon: lots of measures.
17:54 masak right, so I was thinking of "deviation"
17:54 diakopter http://en.wikipedia.org/wiki/Standard_deviation#Finance
17:56 seldon diakopter: I ask because the graphs all map against the riskfree rate, so black/scholes suggests itself. It would make sense if we're talking about stock investments and such.
17:56 diakopter but like I said, there are billions of measurements of variability
17:59 diakopter seldon: are you talking about valuing call options? I just meant generic standard deviation.
18:00 dalek rakudo/nom: 61a3add | pmichaud++ | tools/build/Makefile.in:
18:00 dalek rakudo/nom: Update Makefile to not abort if copying docs/announce fails.  Hopefully fixes RT #113984.
18:00 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/61a3addba9
18:00 seldon Not just options, although that's of course where black/scholes and its derivatives are mostly used. If you want to evaluate the risk of a stock portfolio, you'd argue from the same assumpions, wouldn't you?
18:00 dalek features: 7a680b1 | GlitchMr++ | features.json:
18:00 dalek features: sprintf("%mf", i) doesn't work
18:00 dalek features: review: https://github.com/perl6/features/commit/7a680b1b2e
18:01 seldon price risk, anyway.
18:01 flussence r: say sprintf('%1$s %2$s', 'right', 'left');
18:01 p6eval rakudo 3bc91c: OUTPUT«'$' is not valid in sprintf format sequence '%1$'␤  in sub sprintf at src/gen/CORE.setting:2067␤  in block <anon> at /tmp/63i8qNIgdp:1␤␤»
18:02 masak whee, I segfaulted rakudo!
18:02 seldon Oh, I haven't managed that yet, and I've been torturing it all day.
18:03 * jnthn wonders how
18:04 diakopter seldon: I don't know. I don't remember enough from a degree 10 years ago that I haven't used at all. I just remember the basics.
18:05 diakopter I do remember *learning about* it, though, just not *it*
18:05 diakopter the types of risk are foggy, even.
18:06 dalek doc: 89edaee | pmichaud++ | lib/Str.pod:
18:06 dalek doc: Add NYI note for 'm' modifier in sprintf, fix typo in example.
18:06 dalek doc: review: https://github.com/perl6/doc/commit/89edaee757
18:06 colomon rn: sprintf("%mf", i)
18:06 p6eval niecza v19-7-g5e25209: OUTPUT«Unhandled exception: invalid format specifier␤  at /home/p6eval/niecza/lib/CORE.setting line 1277 (sprintf @ 4) ␤  at /tmp/S1c68_GU4p line 1 (mainline @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3918 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.se…
18:06 p6eval ..rakudo 3bc91c: OUTPUT«'m' is not valid in sprintf format sequence '%m'␤  in sub sprintf at src/gen/CORE.setting:2067␤  in block <anon> at /tmp/VHnhKB0lVv:1␤␤»
18:08 pmichaud feels weird that 'm' would be a modifier and not its own conversion format, though.
18:08 masak aye.
18:08 colomon it's supposed to be a Complex modifier?
18:08 masak but maybe it is to say how the real/imag parts should be formatted...
18:08 pmichaud I suppose it's okay if we treat 'f' as meaning "not Integer"
18:09 masak like a metaop.
18:09 pmichaud ...but then one can argue, why do we need the 'm'?
18:10 diakopter going back to masak's and adu's original statements about Perl, it seems all adu was initially saying was that he agreed with masak that currently Perl 6 is the high risk/high payoff branch, but that llvm-perl6 might be less risky than current paths.
18:11 pmichaud does the 'm' perhaps mean "coerce to complex"?
18:11 diakopter by "it doesn't have to be that way if llvm-perl6 comes to the rescue"
18:11 masak diakopter: aye.
18:11 adu diakopter: I think that's what I was saying
18:12 pmichaud is there a llvm-perl6?
18:12 diakopter adu: it would depend a lot on who's doing it
18:12 diakopter if an llvm n00b ... very risky
18:14 sorear gppd * #perl6
18:14 pmichaud hellp, sprear!
18:15 masak quick, get the spear out of pmichaud! o.O
18:16 pmichaud I'm just guessing that sprear's 0x6f key is mapping tp 0x70 instead.
18:16 masak or he's typing in the dark on a qwerty keyboard.
18:16 pmichaud pph, that's a ppssibility.
18:16 colomon pmichaud: it looks to me like m is intended to say "the next numeric directive refers to a complex number".  So you can say %md, %mX, etc.
18:17 pmichaud ...does %md even make sense?  What does it do?
18:18 flussence truncate both parts to int?
18:18 daxim best april fools: when your cow orker's computer is unattended, swap out the n/m caps on the physical keyboard, and *also* reconfigure the OS to swap n/m (a one-liner in X)
18:18 pmichaud "The m modifier works with d,u,o,x,F,E,G,X,E and G format directives, and the directive applies to both the real and imaginary parts of the complex number.
18:18 colomon rn: say sprintf("%d", 1.434)
18:18 p6eval rakudo 61a3ad, niecza v19-7-g5e25209: OUTPUT«1␤»
18:18 pmichaud daxin:  that soumds awfully evil.
18:19 colomon so "%md", 1.343 + 5.2i should print something like 1+5i
18:19 masak aye.
18:19 colomon I don't see anything that gives the exact format for printing complex numbers, mind you.
18:20 colomon and "%mX", 4 + 10i should print 4+Ai
18:20 masak this feels like the kind of feature that if we unspec it now, no-one in the whole world will be sad.
18:20 pmichaud would would "%md", 0    produce?
18:20 sorear 0+0i
18:20 flussence masak: the more I use printf, the less of a fan I become
18:20 colomon seems like it should be an error.  or 0+0i
18:21 masak flussence: yeah.
18:21 pmichaud if 0+0i, that makes me feel like it should be its own directive instead of a modifier.
18:21 flussence r: say (3+4i).fmt('%d %d')
18:21 p6eval rakudo 61a3ad: OUTPUT«You can only coerce a Complex to Real if the imaginary part is zero␤  in method Int at src/gen/CORE.setting:9538␤  in method Int at src/gen/CORE.setting:8065␤  in any <anon> at src/gen/BOOTSTRAP.pm:96␤  in method fmt at src/gen/CORE.setting:1911␤  in block <anon> a…
18:21 pmichaud same as %d means "print as int"   and %f means "print using decimal point"
18:21 pmichaud then %m is "print as complex"
18:21 flussence that line used to work :/
18:21 seldon joined #perl6
18:22 sorear pmichaud: what if I want to print a complex with forced exponential notation?
18:22 sorear %me
18:23 sorear jnthn: ping
18:23 pmichaud or it becomes another directive to replace %m, in the same way that %e and %g replace %f
18:23 colomon it seems like %me, %mf, %mg, %mE, and %mG all make sense
18:24 pmichaud it's very irregular, then.
18:24 colomon on the other hand, I'd happily drop %mx and %mX
18:24 colomon oh, and %mo
18:25 pmichaud so, what would be the output of    '%mf', 0   ?
18:25 sorear 0+0i
18:25 colomon that's certainly the obvious answer
18:25 colomon rn: say 0i
18:25 p6eval rakudo 61a3ad, niecza v19-7-g5e25209: OUTPUT«0+0i␤»
18:25 pmichaud that's just weird to me.  modifiers should change the format, not cast.
18:26 pmichaud but it's not enough of a point for me to press any further.
18:26 pmichaud I agree with masak++; I'd be just fine if it dropped altogether.
18:26 flussence r: my &f = { "{$_.re.Int}+{$_.im.Int}i" }; say f(3.5+4.7i)
18:26 p6eval rakudo 61a3ad: OUTPUT«3+4i␤»
18:26 sorear pmichaud: I take it you are not a fan of %qd in C
18:27 pupoque joined #perl6
18:27 colomon does anyone have insight as to why it's "m"?  was it just one of the few remaining unused characgers?
18:27 pmichaud r:  say (3+4i).reals.fmt("%d %d")   # for flussence++
18:27 p6eval rakudo 61a3ad: OUTPUT«Null PMC access in get_integer()␤  in method fmt at src/gen/CORE.setting:1911␤  in method fmt at src/gen/CORE.setting:5277␤  in method fmt at src/gen/CORE.setting:4690␤  in block <anon> at /tmp/8zVyycHgi2:1␤␤»
18:27 pmichaud hmmm.
18:27 * pmichaud nudges masak++
18:27 flussence ooh, I haven't seen a NPMCA in a while.
18:28 jnthn sorear: pong
18:28 pmichaud r:  say (3+4i).reals.sprintf("%d %d")   # for flussence++
18:28 p6eval rakudo 61a3ad: OUTPUT«3 4␤»
18:28 jnthn pmichaud: I think that one may be filed, fwiw.
18:28 pmichaud r:  say (3+4i).reals.sprintf("%d+%di")   # for flussence++
18:28 p6eval rakudo 61a3ad: OUTPUT«3 4␤»
18:28 pmichaud oh
18:28 sorear colomon: I feel like I've seen 'm'=complex before, maybe in a C++ mangling spec
18:28 pmichaud yeah
18:28 jnthn pmichaud: If we go over the end of the args RPA to sprintf op, it gets a null PMC
18:28 pmichaud that's just weird.
18:29 jnthn pmichaud: Because Parrot indexes into it and the indexing beyond the end just returns a null PMC
18:29 pmichaud sorear: (fan of %qd)   if by "not a fan of %qd"   you mean "never encountered it before", then yes.  :-)
18:29 pmichaud jnthn: makes sense.
18:31 colomon seems like the sprintf directives all do casting, no?  I mean, if you send an Int to %f, that's not an error, is it?
18:32 colomon rn: sprintf("%f", 3)
18:32 p6eval rakudo 61a3ad, niecza v19-7-g5e25209:  ( no output )
18:32 colomon rn: say sprintf("%f", 3)
18:32 p6eval rakudo 61a3ad: OUTPUT«3.000000␤»
18:32 p6eval ..niecza v19-7-g5e25209: OUTPUT«??␤»
18:32 colomon rn: say sprintf("%f", 3.1)
18:32 p6eval rakudo 61a3ad: OUTPUT«3.100000␤»
18:32 p6eval ..niecza v19-7-g5e25209: OUTPUT«??␤»
18:32 colomon whoops
18:32 * masak submits pmichaud++'s NPMCA rakudobug
18:32 colomon sorear, FloatFixedDecimal isn't actually implemented in niecza.  :)
18:33 colomon sorear: I think I understand Printf.cs well enough to fix it.
18:34 * colomon could use something practical and doable to drastic him from the insanity that is my $work at the moment.
18:35 pmichaud what the heck does "%ld" mean in a Perl 6 context anyway?
18:36 colomon cast to a int64, if I'm reading the spec right
18:36 colomon seems kind of daft
18:37 pmichaud I think the spec was muchly copied from the p5 spec without too much thinking of "what makes sense in this context"
18:37 pmichaud fwiw
18:38 colomon would it make sense to silently ignore those directives as a form of backward compatibility?  or just get rid of them altogether?
18:39 pmichaud I think we should ask ourselves:  (1) if we were creating a p6 sprintf, what would we want it to look like
18:40 pmichaud and as part of that,  (2)  what should sprintf do (if anything) for complex numbers?  What about Rats?
18:41 pmichaud at this stage, I think I'd be a big fan of limiting sprintf to only support the things from p5 that make sense, and not try to extend it too far into the p6 realm (e.g., for complex) before we have a more unified approach or understanding.
18:42 pmichaud this follows masak++'s suggestion of "if we unspec it now, no one would mind"
18:42 pmichaud just adding in 'm' modifiers ('r' modifier for rats?  what about other types?)   just strikes me as layering more ad-hoc solutions on top.
18:43 colomon rats shouldn't be a modifier
18:43 colomon a %r format would make sense
18:44 masak "make sense"?
18:45 masak what about my custom Rats on a group I just made up and defined in my user code?
18:45 masak it has 256 elements which are all Unicode characters :)
18:46 * colomon does not have a polite way to respond to that
18:46 seldon Why only 256?
18:46 masak colomon: I'm sorry, I'm being facetious. I think it's the second time today.
18:47 masak colomon: my point is the same as pmichaud's, though. I think we're overspecifying sprintf, and that no-one is the happier for it.
18:47 masak I'd rather have a small sprintf that looked more like Perl 5, so I could avoid it and write nice stringification code in some other way. :)
18:47 sjohnson joined #perl6
18:48 constantined joined #perl6
18:48 sjohnson joined #perl6
18:48 pmichaud I want a .sprintf that looks like Perl 5, and then figure out how to get .fmt and/or other things to make sense for P6
18:48 pmichaud s/.sprintf/sprintf/
18:48 masak aye.
18:49 pmichaud even Perl 5's is a bit of a kludge on top of the C sprintf format
18:49 pmichaud because    sprintf("%0f", 3)   in C  often doesn't do what you expect (and certainly not the same as P5's sprintf)
18:49 pmichaud sorry
18:49 pmichaud s/%0f/%f/
18:50 seldon In C that causes undefined behaviour, which can or can not be what you expect.
18:50 pmichaud also, if a %r format makes sense, then I think that also argues for %m
18:50 sjohnson joined #perl6
18:51 pmichaud anyway, I have two errands to run; I will be wielding a +2 Axe of Spec Reduction when I get back unless someone decides permission is more important than forgiveness in this instance.
18:52 pmichaud (I'll also file a spec github ticket with this discussion)
18:52 seldon Printf is only interesting for its modifiers, isn't it? When you want your number to be printed to precisely seven decimal digits, then you use printf, otherwise you can just say "foo $bar baz";. So I think it makes sense to think more about formats than types here -- those can be coerced.
18:53 seldon %f isn't a format for Num, it's a format for decimal notation, those lines.
18:55 pmichaud seldon: correct.  And by that argument, exponential notation is arguably   %ef
18:55 colomon what seldon said, exactly.  %r makes sense as a format for rational notation.  %m doesn't make sense, because there are at least five reasonable float formats for it internally.
18:56 pmichaud colomon: what part of "format for rational notation" are you referring to?  the slash?
18:56 seldon So how do you format a float as a rational, or an integer?
18:56 colomon pmichaud: yes
18:56 pmichaud I think I can make the same argument for the '+' or '-' in complex, then.
18:56 colomon integer N:  N/1
18:57 colomon float is either an error or an approximate conversion
18:57 pmichaud i.e.,  what makes complex interesting is the fact that it's   $.re+{$.im}i
18:57 thou joined #perl6
18:57 pmichaud just like Rat is  $.num/$.den
18:58 pmichaud (or .nu/.de -- haven't kept up with spec there.)
18:59 pmichaud afk for a bit
19:00 ilogger2 joined #perl6
19:03 colomon wow.  sprintf.t is so weak that niecza passes it without fudging.
19:04 seldon You know of course the feature requests that are going to come. For the %r specifier an option to have N instead of N/1 if the denominator is 1, and one to have 3 1/2 instead of 7/2, that sort of thing. Complex in rational or float notation -- there's a big can of worms to open here.
19:06 colomon seldon: sure, but just because people might ask for goofy stuff shouldn't stop us from handling the simple stuff in a handy way.
19:07 UncleFester6 joined #perl6
19:09 seldon True, but there is a danger of ending up with an unholy mess.
19:09 seldon That should be kept in mind, I think.
19:13 pmichaud here's my argument for why sprintf is poorly factored as-is
19:14 pmichaud how would I output a floating point number in base-16  (hexadecimal)?
19:15 pmichaud using '%x' doesn't work, because the 'x' also means 'coerce to int'
19:15 seldon I think C99 has a facility for that. Hold on.
19:15 pmichaud that's what leads me to believe that the final characters specify the coercion to be performed, not just the format of the output.
19:15 flussence I'm starting to think C sprintf belongs in the same place that *other* perl5 formatting thing does; on the other side of a "use"...
19:16 adu seldon: I think it's %G
19:16 pmichaud flussence: we can still have a C-style sprintf in core; too many people will expect it to be there.
19:17 pmichaud but we should limit it to the C-style things, and have a better "fmt" (or analogue) that is more p6-aware, and regularized.
19:17 adu seldon: or maybe it's %A
19:17 BlueT_ joined #perl6
19:17 seldon %a or %A, yes.
19:17 seldon Looks funny.
19:17 adu 0x1.2p3
19:18 seldon 1.234 becomes 0x9.df3b645a1cac083p-3
19:18 moukeddar joined #perl6
19:19 pmichaud similarly, if I use any of '%e', '%f', they mean "coerce to num".
19:19 moukeddar left #perl6
19:19 pmichaud (as well as specifying an output format)
19:20 seldon The coercion is an implementation detail. It would make sense to coerce to num if you're going to build a decimal representation, but if you find another way, go nuts.
19:20 pmichaud in the case of '%x', it's not just an implementation detail, though.
19:20 masak "Error while creating backtrace: No such method 'backtrace' for invocant of type 'Any'" -- wow, fun. never had that one before. :)
19:21 seldon %x would truncate. How it does that...well, coercing to Int is probably the only sane way there, granted.
19:27 moritz masak: are you on newest rakudo?
19:27 moritz masak: and on the REPL?
19:29 masak yes. no.
19:29 moritz masak: then please golf it down for me
19:29 masak I remember what I did, so I could try and reproduce/golf it later.
19:29 masak right now I'm writing stuff, though.
19:29 masak I'll also try and reproduce the segfault from earlier.
19:30 moritz ok
19:30 moritz debugging the backtrace printer is sometimes a big pain
19:37 masak aye.
19:37 masak it's very "yo dawg"
19:41 masak "invoke() not implemented in class 'Callable'" -- now *that's* a new one!
19:41 Khisanth joined #perl6
19:41 colomon rn: say sprintf('%d %1$x %1$o', 12)
19:41 p6eval niecza v19-7-g5e25209: OUTPUT«12 c 14␤»
19:41 p6eval ..rakudo 61a3ad: OUTPUT«'$' is not valid in sprintf format sequence '%1$'␤  in sub sprintf at src/gen/CORE.setting:2067␤  in block <anon> at /tmp/ipyKt4LvVr:1␤␤»
19:41 masak rn: sub foo(&x?) { &x() }; foo
19:41 p6eval niecza v19-7-g5e25209: OUTPUT«Unhandled exception: Nominal type check failed in binding '&x' in 'foo'; got Any, needed Callable␤  at /tmp/GxBFPfbRAg line 0 (foo @ 1) ␤  at /tmp/GxBFPfbRAg line 1 (mainline @ 4) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3918 (ANON @ 3) ␤  at /home/p…
19:41 p6eval ..rakudo 61a3ad: OUTPUT«invoke() not implemented in class 'Callable'␤  in sub foo at /tmp/Ph_EoJ5cjF:1␤  in block <anon> at /tmp/Ph_EoJ5cjF:1␤␤»
19:41 * masak submits rakudobug
19:42 masak niecza's looks wrong too, but earlier.
19:43 colomon rn: sub foo(&x?) { &x() if &x.defined }; foo
19:43 p6eval rakudo 61a3ad:  ( no output )
19:43 p6eval ..niecza v19-7-g5e25209: OUTPUT«Unhandled exception: Nominal type check failed in binding '&x' in 'foo'; got Any, needed Callable␤  at /tmp/vaOzcAcihf line 0 (foo @ 1) ␤  at /tmp/vaOzcAcihf line 1 (mainline @ 4) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3918 (ANON @ 3) ␤  at /home/p…
19:44 colomon masak: why is that a rakudobug?  (seems clearly to be a nieczabug)
19:44 dalek doc: 9bab792 | (Klaus Brüssel)++ | README:
19:44 dalek doc: Update master
19:44 dalek doc: review: https://github.com/perl6/doc/commit/9bab792351
19:44 masak colomon: I just found the error message utterly unhelpful.
19:44 masak colomon: Callable exists to be invoked.
19:44 colomon masak: ah
19:45 sftp joined #perl6
19:45 masak I suspect it's a Parrot leak-through.
19:46 masak if it were up to me, I'd have `&x?` mean `&x = {;}`.
19:46 masak that's my fix in the code that triggered the error.
19:47 colomon masak: seems like that stops you from doing the standard trick of &x if specified, default behavior otherwise
19:47 colomon ie you're throwing away perfectly good information
19:47 masak hm, yes.
19:47 masak also, empty block isn't always right; depends on the arguments passed.
19:48 masak I'm fine with the error message being a better one :)
19:48 colomon yes, agreed on the error message
19:49 birdwindupbird joined #perl6
19:49 masak my commits for today's blog post are in, for those of you who are curious: https://github.com/masak/crypt/commits/master
19:50 masak today was more involved than I suspected. but a bit of nice design work took place.
19:50 dalek specs: f891058 | pmichaud++ | S32-setting-library/Str.pod:
19:50 dalek specs: [S32]:  Remove 'm' (complex) modifier from sprintf, in hopes of a
19:50 dalek specs: more unified approach to formatted printing for Perl 6 (e.g.,
19:50 dalek specs: what about formatting Rats?).
19:50 dalek specs:
19:50 dalek specs: The idea here is to take a minimalist approach to 'sprintf' --
19:50 dalek specs: supplying the conversions that people are familiar with from
19:50 dalek specs: other languages and libraries, but be cautious about layering
19:50 dalek specs: on new "ad-hoc"-ish options until we have a better plan for
19:50 dalek specs: handling them all.  This is addressed further in
19:50 dalek specs: https://github.com/perl6/specs/issues/13 .
19:50 dalek specs: review: https://github.com/perl6/specs/commit/f891058937
19:50 masak modest progress is visible from the outside. if you download the latest version, it now allows walking east :)
19:50 colomon east is a good direction
19:51 masak don't I know it. :)
19:51 masak I'd like to introduce a concept such as "sushi code".
19:51 masak making changes in this code base feels very clean and separated.
19:52 masak each commit is just a bunch of paragraphs. hardly any unwanted interaction between things.
19:52 pmichaud ...sounds fishy, though.
19:52 seldon How does that relate to sushi?
19:52 dalek doc: 8a782c5 | pmichaud++ | lib/Str.pod:
19:52 dalek doc: Remove 'm' modifier from sprintf for now, per https://github.com/perl6/specs/commit/f891058937 .
19:52 dalek doc: review: https://github.com/perl6/doc/commit/8a782c587b
19:52 masak seldon: it relates to "spagghetti code", where things are scattered and tangled.
19:52 masak seldon: here things are separated and not connected to each other so much.
19:52 seldon As opposed to lasagna and ravioli code, yes. But sushi?
19:53 masak I'm open for suggestions for a better term.
19:53 * masak likes sushi, though :)
19:53 jnthn eww, sushi
19:53 seldon I have nothing against sushi, but afaik the common metaphor here is ravioli.
19:54 jnthn r: sub foo(&x?) { x() }; foo()
19:54 p6eval rakudo 61a3ad: OUTPUT«invoke() not implemented in class 'Callable'␤  in sub foo at /tmp/KcJAXsrV5f:1␤  in block <anon> at /tmp/KcJAXsrV5f:1␤␤»
19:54 dalek features: 8472332 | pmichaud++ | features.json:
19:54 dalek features: Update sprintf (there is no (longer a) '%m' conversion in the synopses.)
19:54 dalek features: review: https://github.com/perl6/features/commit/8472332b29
19:54 jnthn masak: Not sure this is a bug, though maybe an LTA error.
19:54 colomon rn: sprintf('%4f', 1.0)
19:54 p6eval rakudo 61a3ad, niecza v19-7-g5e25209:  ( no output )
19:54 colomon rn: say sprintf('%4f', 1.0)
19:54 p6eval rakudo 61a3ad: OUTPUT«1.000000␤»
19:54 p6eval ..niecza v19-7-g5e25209: OUTPUT«??␤»
19:54 jnthn masak: It's initializing &x to Callable.
19:55 seldon I'd also point out that sushi is a bit sticky.
19:55 masak jnthn: yes.
19:56 colomon rn: say sprintf('%.4f', 1.0)
19:56 masak jnthn: I submat it on the grounds the error was LTA.
19:56 p6eval niecza v19-7-g5e25209: OUTPUT«??␤»
19:56 p6eval ..rakudo 61a3ad: OUTPUT«1.0000␤»
19:56 jnthn masak: ah, OK
19:56 jnthn masak: What error do you want?
19:56 masak jnthn: "Tried to invoke a Callable type object on $line, $file"
19:57 masak or $file:$line or whatever out standard is for that.
19:57 dalek nqp/toqast: f29b6fd | jnthn++ | src/QAST/Operations.nqp:
19:57 dalek nqp/toqast: Implement nqp::chain, which a lot of things rely on.
19:57 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/f29b6fde42
19:58 masak jnthn++ # QAST
19:59 dalek rakudo/toqast: 977ed5e | jnthn++ | src/QPerl6/Actions.pm:
19:59 dalek rakudo/toqast: Fix EXPR action method to set name properly.
19:59 dalek rakudo/toqast: review: https://github.com/rakudo/rakudo/commit/977ed5eead
19:59 dalek rakudo/toqast: dd583d7 | jnthn++ | src/QPerl6/World.pm:
19:59 dalek rakudo/toqast: Fix constants code-gen for QAST changes.
19:59 dalek rakudo/toqast: review: https://github.com/rakudo/rakudo/commit/dd583d70fa
19:59 cognominal__ joined #perl6
19:59 jnthn That's 5 out of 10 test files in t/00-parrot passing again
20:01 masak yay
20:01 dalek rakudo/nom: ea8b97e | ronaldxs++ | tools/build/Makefile.in:
20:01 dalek rakudo/nom: The last patch almost worked but not quite.  The old copy of the announce directory copy wrongly expanded as below:
20:01 dalek rakudo/nom:
20:01 dalek rakudo/nom: /bin/cp     README CREDITS LICENSE docs/*/announce    /home/ron/rakudo/install/share/doc/rakudo/announce
20:01 dalek rakudo/nom:
20:01 dalek rakudo/nom: and got a stat error on docs/*/announce and failed.  One might also remove the nearby announce lines but if the announcements are wanted my patch will put them there without crashing.  In the rakudo build this crash does relatively little harm since it is near the end of the install.  In rakudo star the crash stops the process before module builds.
20:01 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ea8b97e51c
20:01 dalek rakudo/nom: 810e61e | pmichaud++ | tools/build/Makefile.in:
20:01 dalek rakudo/nom: Merge pull request #73 from ronaldxs/patch-1
20:01 dalek rakudo/nom:
20:01 dalek rakudo/nom: The last patch almost worked but not quite.  The old copy of the announc...
20:01 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/810e61e2d0
20:02 constantined joined #perl6
20:03 spider-mario it seems to me that VERSION in NQP’s 2012.06 tarball is out of date
20:03 pmichaud spider-mario: it is, thus there was a 2012.06.1 release
20:03 spider-mario oh, thanks
20:03 spider-mario sorry
20:03 constantined left #perl6
20:09 vmspb joined #perl6
20:15 moukeddar joined #perl6
20:15 moukeddar left #perl6
20:17 icwiener joined #perl6
20:24 spider-mario .u 🙌
20:24 phenny U+1F64C (No name found)
20:26 bruges joined #perl6
20:32 masak lol, I blogged! \o/ http://strangelyconsistent.org/blog/july-4-moving-around-i-compass-directions
20:32 masak isn't it nice to have me back on a daily schedule? :P
20:33 jnthn Staying on top of Planet Six legitimately! o.O
20:33 pmichaud masak++
20:33 dalek rakudo/toqast: 416c31c | jnthn++ | src/QPerl6/Actions.pm:
20:33 dalek rakudo/toqast: Update various bits of infix:<,> call handling.
20:33 dalek rakudo/toqast: review: https://github.com/rakudo/rakudo/commit/416c31c4b7
20:33 dalek rakudo/toqast: e1bf5db | jnthn++ | src/QPerl6/Actions.pm:
20:33 dalek rakudo/toqast: Fix [...], to get 08-var-array.t passing again.
20:33 dalek rakudo/toqast: review: https://github.com/rakudo/rakudo/commit/e1bf5db1c6
20:33 dalek rakudo/toqast: b9a659a | jnthn++ | src/QPerl6/Actions.pm:
20:33 dalek rakudo/toqast: First crack at fixing Q:PIR; somehow doesn't quite work out.
20:33 dalek rakudo/toqast: review: https://github.com/rakudo/rakudo/commit/b9a659aa34
20:33 jnthn Ah, I think I see why it doesn't quite work out now...
20:39 dalek nqp/toqast: ef4c748 | jnthn++ | src/QAST/VM.nqp:
20:39 dalek nqp/toqast: Think initialization fail in QAST::VM. Now Q:PIR actually works.
20:39 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/ef4c7482ed
20:44 colomon rn: say sprintf('%6f', 1.0)
20:44 p6eval rakudo 810e61: OUTPUT«1.000000␤»
20:44 p6eval ..niecza v19-7-g5e25209: OUTPUT«??␤»
20:45 masak ??
20:45 colomon masak: bug, which I'm working on fixing.
20:45 colomon but 1.000000 is wrong as well, no?  I would think the answer should be 1.0000
20:46 colomon 1.000000 would be %.6f, not %6f
20:46 * colomon admits he is always pretty rusty at sprintf formatting.
20:47 colomon r: say sprintf("%5.2f", 3.1415)
20:47 p6eval rakudo 810e61: OUTPUT« 3.14␤»
20:47 colomon that's right, though...
20:48 colomon (at least, according to wikipedia's take on the C standard)
20:49 seldon colomon: %f produces 1.000000 in C. "If the precision is missing, it is taken as 6", compare ISO/IEC 9899:1999 7.19.6.1 (8)
20:49 colomon seldon: ah
20:50 colomon rn: say sprintf('%3f', 1.0)
20:50 p6eval rakudo 810e61: OUTPUT«1.000000␤»
20:50 p6eval ..niecza v19-7-g5e25209: OUTPUT«??␤»
20:50 dalek doc: e2c9531 | (Gabor Szabo)++ | bin/p6doc:
20:50 dalek doc: say more words how to use
20:50 dalek doc: review: https://github.com/perl6/doc/commit/e2c9531128
20:50 dalek doc: 42a36e3 | (Gabor Szabo)++ | .gitignore:
20:50 dalek doc: gitignore vim swap files
20:50 dalek doc: review: https://github.com/perl6/doc/commit/42a36e3080
20:52 colomon seldon++
20:52 colomon r: say sprintf('%3.1f', 1.0)
20:52 p6eval rakudo 810e61: OUTPUT«1.0␤»
21:03 colomon r: say sprintf('%5.2g', 3.1415)
21:03 p6eval rakudo 810e61: OUTPUT«  3.1␤»
21:08 masak I renew my offer to have people find bugs in the adventure game. just download https://github.com/masak/crypt and do `bin/crypt`. no external modules required.
21:09 masak find crazy stuff. the winner gets a book.
21:14 dalek doc: 0c8a072 | (Gabor Szabo)++ | bin/p6doc:
21:14 dalek doc: $*EXECUTABLE_NAME instead of hard coded perl6
21:14 dalek doc: review: https://github.com/perl6/doc/commit/0c8a07203a
21:14 seldon I'll do that if you take a look at my bf interpreter and tell me where I made silly beginner's mistakes. http://codepad.org/nPBi7KP6
21:14 pmichaud I need to start discussion(s) on handling stability across releases for rakudo and rakudo star.  Where would such discussions best be held?  irc?  blog posts?  file in repo(s)?
21:14 masak szabgab++
21:15 masak p6c?
21:15 pmichaud yes, p6c is a possibility also.
21:15 masak actually, blog posts sounds like a nice combo of 'permanent' and 'reaches out'.
21:15 pmichaud I could start it in p6c, with file(s) in repo(s) to keep track of decisions made.
21:16 masak waye.
21:16 masak er, *aye
21:16 pmichaud well, I'm not wanting to reach out too far; I fear the bikesheds.
21:16 pmichaud and scope creep.
21:17 masak do you know already what you want from the discussions, or will you/we discover that as we go along?
21:17 pmichaud I have some use cases that need resolving, yes.
21:17 masak in the latter case, it'll be hard to keep bikeshedding and scope creep away.
21:17 pmichaud for example, dealing with the leading whitespaces in regexes
21:17 masak maybe best to state up-front why you are inviting to a discussion then.
21:18 masak sorry if this is completely obvious to you.
21:18 pmichaud no, please state "obvious" things for now.
21:18 masak :)
21:18 seldon masak: I walked east in the beginning and now I can go nowhere and don't know where I am.
21:18 pmichaud another one is dealing with the transition of the ?-quantifier
21:19 bruges joined #perl6
21:19 masak seldon: that sounds like "expected behavior" for now.
21:19 masak seldon: sorry about the crappy user experience ;)
21:19 seldon So how do I find out what I'm supposed to do?
21:19 masak seldon: well, you could play the old game to get an idea of what I'm building.
21:19 masak seldon: 'git checkout 2011'
21:20 masak (might not work with a newer Rakudo)
21:20 seldon Virtual call $.name may not be used on partially constructed objects.
21:20 seldon Indeed it does not.
21:20 masak heh.
21:21 masak Beijing is known to work with it.
21:21 dalek nqp: 5ba0df8 | pmichaud++ | src/pmc/qrpa.pmc:
21:21 dalek nqp: Fix missing ssize initialization in QRPA.clone (jnthn++).
21:21 dalek nqp: review: https://github.com/perl6/nqp/commit/5ba0df8f12
21:21 masak seldon: https://github.com/downloads/rakudo/rakudo/rakudo-2011.07.tar.gz
21:22 pmichaud (...not star?)
21:22 masak takes longer to install, and only need the compiler to run crypt :)
21:22 pmichaud +1 then
21:29 lolka_91 joined #perl6
21:30 lolka_91 hi, quick questions not related to perl :p i have a video on youtube :) it is nice but large :( so i want to download it to one of my remote servers then copy it later. is there a way to pull it from youtube?! wget did not work for me :(
21:30 masak lolka_91 == Layla91?
21:31 lolka_91 masak: there are no other crazy lolaz in the world its me :D
21:31 masak \o/
21:31 lolka_91 ^_^
21:31 masak then it's fine that you're off-topic ;)
21:31 jnthn Just a 4 of lolkat :D
21:31 jnthn er, just a *t*
21:31 jnthn ...I can type :)
21:31 masak ;)
21:32 masak lolka_91: maybe http://www.bestvideodownloader.com/ will help?
21:32 masak or http://saveyoutube.com/
21:32 * colomon is having to fight off a strong inclination to do a major refactor on Niecza's sprintf code....
21:33 lolka_91 masak: but the remove server is a centos 5 server with no gui :(
21:34 masak ah.
21:34 lolka_91 i miss the 20MB/s speed days :( am here with a 0.5MB/s :'(
21:34 masak lolka_91: http://saveyoutube.com/ might still work in lynx or links.
21:35 jnthn lolka_91: YouTube support the HTML 5 video stuff
21:35 jnthn lolka_91: That may give you something that you can wget
21:35 jnthn http://www.youtube.com/html5/
21:36 jnthn 0.5MB/s is very :'(
21:37 lolka_91 jnthn: its crazy! :( but its ok looking at the price i need to save money :)
21:38 * masak hugs lolka_91
21:39 lolka_91 masak: no need for hugs am a proud girl :P but you can lend me some money to finish college :P just kidding :D
21:39 masak hah!
21:40 masak proud but brazen.
21:41 masak phenny: en eo "brazen"?
21:41 phenny masak: "kupran" (en to eo, translate.google.com)
21:41 masak oh that was just bound to happen :)
21:41 lolka_91 masak: hmm i am not very good in english i will need to translate it :s
21:42 masak lolka_91: it's a nice word meaning "shameless". :)
21:42 masak phenny translates it into "made out of copper" (and puts it into the accusative) :P
21:43 lolka_91 masak: shameless! :| mmm.. maybe :p
21:43 masak :)
21:44 masak here in Sweden, that's almost a compliment.
21:44 masak phenny: "Mi estas svedo, mi ne havas honton!"?
21:44 phenny masak: "I am Swedish, I have no shame !" (eo to en, translate.google.com)
21:45 lolka_91 mmm.. if it means strong in russia girls are usually strong and not easy to approach :)
21:45 lolka_91 Woo found this: http://code.google.com/p/get-flash-videos/wiki/UsageExamples
21:46 * masak notices the tagmemic proximity between the concepts "brazen" and "polish" :P
21:46 sergot phenny: en pl "brazen"?
21:46 phenny sergot: "nachalny" (en to pl, translate.google.com)
21:46 jnthn lolka_91: Yes, but after surviving the initial scariness, they are kind really. Or so has been my experience. :-)
21:46 masak phenny: pl en "nachalny"?
21:46 phenny masak: "brazen" (pl to en, translate.google.com)
21:46 sergot :)
21:47 masak seems GT got the right translation in this case.
21:47 lolka_91 jnthn: i miss russia :(
21:47 masak a synonym is "insolent".
21:47 lolka_91 i must go byee :P
21:47 masak o/
21:47 masak phenny: en pl "insolent"?
21:47 phenny masak: "bezczelny" (en to pl, translate.google.com)
21:47 jnthn lolka_91: take care, bye o/
21:47 sergot masak: read this! :)
21:47 sergot bye bye o/
21:47 masak o/
21:48 sergot masak: Are you interested in learning Polish? :)
21:48 masak sergot: of course! :)
21:48 masak I mean, who wouldn't be?
21:48 * masak .oO( if I polish my Polish, I can speak more brazenly )
21:49 sergot Hm, is Polish hard to learn? :)
21:49 masak nah.
21:49 masak ;)
21:49 sergot :)
21:49 masak you have a few extra letters, but it's really easy to pronounce, and fairly regular.
21:49 masak aspects are always... fun. but I kinda dig the case system.
21:49 masak very retro, very Latin.
21:50 sergot masak: great. :)
21:51 sergot Jak się czujesz masaku? :)
21:51 masak Czuję się świetnie! ;)
21:51 sergot Cieszę się. :)
21:51 masak dang. :)
21:52 * masak kicks GT
21:52 seldon masak: Okay, I got the old one to work, but it doesn't really help with the new. You should implement the help command :P
21:52 masak seldon: I should.
21:52 masak seldon: I can get it in before tomorrow's post.
21:53 masak seldon: there's also two old posts to
21:53 masak go with the old game: http://strangelyconsistent.org/blog/june-29-2011-text-adventure-i http://strangelyconsistent.org/blog/june-30-2011-text-adventure-ii
21:53 masak if you're interested.
21:53 masak seldon++ # running the game
21:54 seldon I'm in the cave now.
21:54 masak heh :)
21:54 masak not bad.
21:55 masak I'm going to sleep now.
21:55 masak 'night, #perl6
21:55 sergot o/ masak
21:55 * seldon waves
21:56 spider-mario joined #perl6
21:58 seldon But now I have to figure out how to bind the rope to the helmet.
21:59 tadzik "0.5 MB/s is very :'("
22:00 tadzik guys, seriously
22:00 sjohnson ( ° ー°)
22:00 tadzik yeah, my thoughts exactly
22:01 tadzik I remember downloading mp3's at 3 KB/s and that was fine. And I'm not old or what
22:02 * sjohnson is remined of Winplay2 or whatever it was called.
22:02 jnthn Just 'cus I remember doesn't mean it was a happy memory :)
22:02 tadzik well
22:02 sjohnson WinPlay3, that was it.
22:02 tadzik it _was_ a happy mempry
22:02 tadzik as in "yay, internet!"
22:02 jnthn Well, yes :)
22:02 jnthn But when you knew how fast internets could be...then had the 3 KB/s back home... :)
22:06 tadzik Internet! \o/
22:07 * colomon just realized niecza's sprintf makes no real effort to handle big Ints or FatRats....
22:07 colomon nr: say sprintf("%d", 5859203483450935893859438539034242343204923049)
22:07 colomon ]
22:07 p6eval niecza v19-7-g5e25209: OUTPUT«-2147483648␤»
22:07 p6eval ..rakudo 810e61: OUTPUT«1733142185␤»
22:08 colomon nor does rakudo's, apparently
22:08 colomon gack
22:08 pmichaud my first modem was 300bps  :-)
22:08 flussence rakudo's one just passes through to parrot's printf, IIRC
22:08 pmichaud yes, currently rakudo just passes stuff to parrot.
22:09 * colomon never owned a modem slower than 1200bps, but he did play with someone else's 300bps...
22:09 sergot good night! o/
22:09 pmichaud I'm guessing we'll likely re-implement sprintf in nqp.
22:12 stepnem joined #perl6
22:35 fridim_ joined #perl6
22:36 tadzik ...and he didn't say what are his exam results?
22:50 Entonian joined #perl6
23:11 simcop2387 joined #perl6
23:31 tyatpi joined #perl6
23:34 sorear colomon: I encourage you to do a major refactor on springf
23:39 cognominal joined #perl6

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

Perl 6 | Reference Documentation | Rakudo