Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2010-11-17

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:00 Tene TheHarlot: This behavior isn't any better in current rakudo. :(
00:01 Tene A patch would be great.  Otherwise, looks like you should roll your own escaping.  :(
00:01 TheHarlot ah--well, for now, I will have it work with escaping.... and put a comment above the command to note the issue.
00:02 dalek specs: 44511d7 | TimToady++ | S06-routines.pod:
00:02 dalek specs: [S06] rw parameters can never be optional
00:02 dalek specs:
00:02 dalek specs: You can't put a default on a parameter marked "rw".
00:02 dalek specs: review: https://github.com/perl6/specs/commit/4​4511d749bbbae4286dd1675ad6264c72acd2433
00:02 TheHarlot oh--right... and just looked at S19... once I get to CJerl6, I am probably going to start wanting to play with that spec.
00:03 TheHarlot oh... hey... the specs are on github...
00:03 jnthn TimToady: Never? OK. :)
00:03 jnthn Stronger than I expected.
00:03 jnthn But conservative.
00:04 icwiener left #perl6
00:04 TimToady the point of a rw var is to have an "out" parameter
00:04 TimToady you can't have an "out" parameter without an argument giving the location
00:04 jnthn Well, true :)
00:04 jnthn OTOH, you might want to say "if there's none, then just throw away the value" or something
00:04 masak TimToady: what about 'sub foo( $x is rw = lvalue_sub() ) {}'?
00:05 jnthn Or that
00:05 masak TimToady: I've yet to see how it's as clear-cut as you make it sound.
00:05 jnthn They could work but...well...is it really a good idea. :)
00:05 MindosCheng masak: I can be guide if you come :P
00:05 masak MindosCheng: \o/
00:05 sftp left #perl6
00:06 MindosCheng masak: But currently working in sg. XD
00:06 masak MindosCheng: that's another Mandarin-speaking place I want to get to know :)
00:08 masak MindosCheng: 我學普通話一點點。
00:08 MindosCheng masak: I am not very familiar with sg, but I can show you around :P
00:09 TheHarlot wonderful... COOL::substr appears to be broken in my version.
00:09 TheHarlot er... Cool::substr
00:10 MindosCheng I think most of people in sg can speak English fluently.
00:10 TheHarlot rakudo: say $*version
00:10 p6eval rakudo 015d77:  ( no output )
00:10 masak hm, is that the right word order? should it be 我學一點普通話 ?
00:10 * TheHarlot thinks for a bit
00:11 MindosCheng 我學過一點 (普通話|華語|中文)
00:12 masak ah.
00:12 TheHarlot rakudo: say $*PERL
00:12 p6eval rakudo 015d77: OUTPUT«name      rakudo␤version  2010.10-22-g015d77b␤␤»
00:12 masak right, the 過 carries aspect here, I guess. completed action.
00:12 TheHarlot rakudo: say $?PERL
00:12 p6eval rakudo 015d77: OUTPUT«===SORRY!===␤Symbol '$?PERL' not predeclared in <anonymous> (/tmp/5J7DMj9ew1:22)␤»
00:13 masak TheHarlot: $?VAR-style variables generally not very implemented in Rakudo.
00:13 masak require a better serialization, which isn't there yet.
00:13 TheHarlot ah.. just playing around.
00:13 TimToady and $*PERL should be the Perl version, not the rakudo version
00:13 TimToady the rakudo version should be in VM
00:13 * masak submits rakudobug
00:13 TheHarlot rakudo: say $*VM
00:13 p6eval rakudo 015d77: OUTPUT«name      parrot␤config   a       .a␤ar   ar␤ar_extra     ␤ar_out ␤archname       x86_64-linux-gnu-thread-multi␤arflags   cr␤as   as␤asmfun_o     ␤backtrace      1␤bigendian     0␤bindir        /home/p6eval//p2/bin␤bison_version      ␤blib_dir       blib/lib␤build_dir
00:13 p6eval ../home/p6eval/rakudo/parrot␤byteorder    12345678␤cat    $(PERL) -MExtUtils::Com…
00:14 TimToady or maybe we need $*COMPILER
00:14 TheHarlot rakudo: say $*COMPILER
00:14 MindosCheng masak: I guess it is somehow like past tense? 學過 到過 去過
00:14 TheHarlot ?
00:14 p6eval rakudo 015d77:  ( no output )
00:15 TheHarlot TimToady, yeah, compiler may be useful... and it turns out, my version of rakudo is different from the one p6eval is using.
00:15 masak MindosCheng: yes, but answer me this: can you use it about tomorrow? :)
00:16 TimToady .oO(Hebrew's prophetic past tense...)
00:16 masak no, I wish to prove to the native Chinese speaker here that it's really an aspect particle, not a tense particle.
00:17 Tene wow, generating core.pir has been running for a loooooong time
00:17 Tene like half an hour or something
00:17 masak Tene: how much RAM do you have?
00:17 Tene masak: 4GB iirc
00:17 TheHarlot rakudo: my $sYmbOLz = "hi guy[z], s7tuff$() to F{IND{z}"; say $sYmbOLz.substr( / \W \, { "\\$/" }, :g);
00:17 p6eval rakudo 015d77: OUTPUT«===SORRY!===␤Unable to parse blockoid, couldn't find final '}' at line 22␤»
00:17 masak should be more than enough.
00:18 TheHarlot rakudo: my $sYmbOLz = "hi guy[z], s7tuff$() to FINDz"; say $sYmbOLz.substr( / \W \, { "\\$/" }, :g);
00:18 p6eval rakudo 015d77: OUTPUT«===SORRY!===␤Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 22␤»
00:18 TheHarlot rakudo: my $sYmbOLz = "hi guy[z], s7tuff() to FINDz"; say $sYmbOLz.substr( / \W \, { "\\$/" }, :g);
00:18 p6eval rakudo 015d77: OUTPUT«===SORRY!===␤Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 22␤»
00:18 masak TheHarlot: {} are interpolated in qq strings in Rakudo.
00:18 Tene yeah, 4 GB
00:18 TimToady it is also not clear to me that $*VM should contain the entire config namespace at the top level
00:18 TheHarlot masak, I am just paraphrasing something posted earlier.
00:18 TimToady rakudo: say $*VM.keys
00:19 p6eval rakudo 015d77: OUTPUT«nameconfig␤»
00:19 TheHarlot rakudo: my $sYmbOLz = "hi guy[z], s7tuff() to FINDz"; say $sYmbOLz.substr( / \W \, { "\\$_" }, :g);
00:19 TimToady oh, it doesn't
00:19 p6eval rakudo 015d77: OUTPUT«===SORRY!===␤Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 22␤»
00:19 MindosCheng masak: "我明天 (想去|會去|打算去) 逛街" I (wanna go | will go | plan to go) window shopping tomorrow.
00:20 masak MindosCheng: yes, but can you use 明天 with 過?
00:20 jnthn TheHarlot: / not \ for regex terminator
00:20 MindosCheng masak: No.
00:20 masak oh.
00:21 TheHarlot rakudo: my $SonGZ = "12 - Frank Zappa - Stink Foot (Poodle Shirt) Cheepnis Meddly.mp3"; say $SonGZ.substr( / \W /, { "\\$_" }, :g);
00:21 TheHarlot thanks jnthn
00:21 p6eval rakudo 015d77: OUTPUT«(timeout)»
00:21 TheHarlot timeout?
00:21 TheHarlot that is not promising
00:22 TheHarlot rakudo: my $Songz = "12 - Frank Zappa - Stink Foot (Poodle Shirt) Cheepnis Meddly.mp3"; say $Songz.substr( / \W /, { "\\$_" }, :g); #Lets be a little less silly with naming.
00:22 risou joined #perl6
00:22 TimToady substr?
00:22 p6eval rakudo 015d77: OUTPUT«(timeout)»
00:22 * TheHarlot checks.
00:22 jnthn subst
00:22 jnthn :)
00:22 sjohnson Sub Station
00:22 TheHarlot ah! I assumed my clipboard made a booboo
00:22 MindosCheng masak: I don't get the idea. What did you want to clarify?
00:23 TheHarlot rakudo: my $Songz = "12 - Frank Zappa - Stink Foot (Poodle Shirt) Cheepnis Meddly.mp3"; say $Songz.subst( / \W /, { "\\$_" }, :g); #Lets be a little less silly with naming.
00:23 p6eval rakudo 015d77: OUTPUT«12\ \-\ Frank\ Zappa\ \-\ Stink\ Foot\ \(Poodle\ Shirt\)\ Cheepnis\ Meddly\.mp3␤»
00:23 sjohnson $Songz with the capital letter, isn't that usually a no-no among conventions?
00:23 TimToady if it's a convention, it can't be a no-no
00:24 masak MindosCheng: I wanted to show that 過 is more about aspect ("experienced/passed through") than about tense ("yesterday/some time ago")
00:24 TimToady or do you think of no-nos as disrecommendations?  :)
00:25 masak that's more like um-ums.
00:25 TheHarlot sjohnson, rest assured the variable $Songz never appears in any real code.
00:25 TheHarlot Just like that fictional song I assigned to it.
00:25 TimToady we've got some types and constants that begin with lowercase too
00:25 TimToady rakudo: say pi
00:25 p6eval rakudo 015d77: OUTPUT«3.14159265358979␤»
00:26 TheHarlot dammit... now my mind is going silly without music.
00:26 TimToady I do kinda wonder why the .substr timed out though
00:26 TheHarlot I am now running imaginary guitar solos in my head...
00:27 TheHarlot One that would work, using an imaginary guitar, for Stink Foot and Cheepnis... I hope I finish this soon o.o;
00:27 TimToady hmm, maximum recursion depth exceeded
00:28 * sjn loves masak++ 's talk proposal for Go Open 2011: "Herding cats and robots" :D
00:28 MindosCheng masak: 我想過要學 Perl 6 / 我學過開鎖  I thought about learning Perl 6. / I learned lock-picking.
00:28 masak sjn: \o/
00:29 * sjn is giggling all by himself
00:29 __rnddim__ joined #perl6
00:29 sjn awesome title
00:29 masak sjn: I'm happy you like it.
00:29 masak it's odd, usually I don't know quite what I want to talk about until I know the title of the talk.
00:29 TheHarlot masak, yes... I like that title. It is a nice color for the bike shed X3
00:30 lue left #perl6
00:30 jnthn A bike shed full of cats and robots would be awesome.
00:31 masak if they're in the bike shed, they don't need much herding, though.
00:31 jnthn The robots would be there solely to feed and pet the other superior beings, of course.
00:31 TheHarlot jnthn, only if it is the right colour. I mean--the wrong colour, and it would be horrid to look at.
00:31 jnthn masak: I'm sure plenty of trouble can be caused in a bike shed...
00:31 TheHarlot masak, well, if you have the bike set a nice solid red, the cats will be easily herded into it.
00:31 TimToady rakudo: say substr( "foo", 0, { 42; }) # maximum recursion depth exceeded
00:32 p6eval rakudo 015d77: OUTPUT«(timeout)»
00:32 TheHarlot bike shed*
00:32 jnthn rakudo: { 42; }.Numeric
00:32 * masak submits rakudobug
00:32 p6eval rakudo 015d77: OUTPUT«maximum recursion depth exceeded␤  in 'Cool::Num' at line 1833:CORE.setting␤  in 'Cool::Num' at line 1833:CORE.setting␤  in 'Cool::Numeric' at line 1820:CORE.setting␤  in 'Cool::Numeric' at line 1820:CORE.setting␤  in 'Cool::Num' at line 7273:CORE.setting␤  in 'Cool::Numeric'
00:32 p6eval ..at li…
00:32 masak jnthn++
00:32 jnthn HOLE IN ONE!
00:32 masak :)
00:33 masak rakudo: say +{}
00:33 p6eval rakudo 015d77: OUTPUT«0␤»
00:33 masak o.O
00:33 jnthn masak: hash
00:33 masak rakudo: say + -> $x, $y, $z {}
00:33 jnthn rakudo: say +(-> { })
00:33 p6eval rakudo 015d77: OUTPUT«(timeout)»
00:33 p6eval rakudo 015d77: OUTPUT«maximum recursion depth exceeded␤  in 'Cool::Numeric' at line 1820:CORE.setting␤  in 'Cool::Numeric' at line 1820:CORE.setting␤  in 'Cool::Num' at line 7273:CORE.setting␤  in 'Cool::Numeric' at line 1820:CORE.setting␤  in 'Cool::Numeric' at line 1820:CORE.setting␤  in
00:33 p6eval ..'Cool::Num' a…
00:33 jnthn fel
00:34 jnthn .oO( episk fel )
00:34 masak both 'fel' and 'fail', yes.
00:34 masak jnthn: episkt*
00:34 jnthn oh, fails are neuter.
00:35 masak yes. "fel" are as well :)
00:35 TimToady you fel your episkemology
00:35 jnthn :P
00:35 masak "fel" !=== "fail"
00:35 jnthn yeah, but "fel" ~~fuzzy~~ "fail" ;)
00:36 masak sv:"fel" ~~ en:"wrong"
00:36 jnthn Aye
00:36 TheHarlot masak, though, yes, with the right coloured bike shed, you shall easily herd the cats into the bike shed, where they will meet with the robots that will feed and pet them--amongst other things.
00:36 masak en:"fail" ~~ eo:"malsukcesi" ~~ sv:"misslyckas"
00:36 jnthn Miss Lyckas...she sounds nice.
00:36 jnthn I mean, er...
00:36 jnthn :)
00:37 TheHarlot fel is wrong?
00:37 masak TheHarlot: right. I mean, yes.
00:37 jnthn TheHarlot: I'm doing Swedish fel. :)
00:37 TheHarlot I have a new thing to say instead of fail.
00:37 TheHarlot like when typing:
00:37 TheHarlot ./win 43
00:37 TheHarlot FEL!
00:37 masak :D
00:37 TheHarlot X3
00:38 masak also, eo:"fel'" ~~ en:"fur".
00:38 TheHarlot wait... I now want to hear a translation of lex luther from Super Man Returns in swedish now.
00:38 jnthn My cat leaves fel everywhere.
00:38 masak TheHarlot: what did he say?
00:38 huf that's what they're for
00:39 masak jnthn: maybe you bought fel katt :)
00:39 masak jnthn: or maybe your katt e kass :P
00:39 TheHarlot "You're Mad! Superman will stop you." "Say that again." "You're mad..." "No, the other thing." "Superman will stop you--" "WRONG!"
00:39 TheHarlot It was memetic on the internet at least for a few weeks. Mostly because of how much feeling he put into "WRONG!"
00:40 masak phenny: "Du är galen! Stålmannen kommer att stoppa dig. Säg det där igen. Du är galen. Nej, det där andra. Stålmannen kommer att stoppa dig -- FEL!"?
00:40 phenny masak: "You're crazy! Superman will stop you. Say that again. You're crazy. No, that other stuff. Superman will stop you - WRONG!" (sv to en, translate.google.com)
00:40 masak phenny++ Google++
00:41 jnthn Stålmannen...I thought that was the GNU guy?
00:41 XaRDaX goodnight at all
00:41 XaRDaX bye
00:41 jnthn o/
00:41 masak jnthn: well, a guy's gotta put bread on the table.
00:41 masak XaRDaX: 'night!
00:41 masak XaRDaX: dream of bug-free implementations.
00:42 XaRDaX :D
00:42 jnthn If you dream up how to write one, let us know.
00:42 jnthn :)
00:42 XaRDaX I found other problems heehhe
00:42 XaRDaX but I expose you tomorrow
00:42 XaRDaX :D
00:42 masak fler fel... :)
00:42 masak phenny: "fler fel..."?
00:42 phenny masak: "more errors ..." (sv to en, translate.google.com)
00:43 TheHarlot jnthn, wait... did we just find out a way that suggest Richard Stallman is Superman?
00:43 TheHarlot Eris help us all... o.o'
00:43 jnthn ;)
00:43 XaRDaX left #perl6
00:43 TheHarlot Nobody is to let RMS learn that! THE SECRET STAY HERE. Anybody who tries to tell him, is dead!
00:43 TheHarlot X3
00:43 jnthn phenny: "fel fe"?
00:43 phenny jnthn: "errors fe" (sv to en, translate.google.com)
00:44 jnthn grr
00:44 sjohnson tut tut
00:44 masak TheHarlot: this explains a lot: http://3.bp.blogspot.com/_lypISW8de​a4/SeGWm0VMBFI/AAAAAAAAAEw/lToLIZgw​3mc/s400/Gnu-and-penguin-color.png
00:45 TheHarlot phenny: dur gun smirg du bork bork bork. dur chicken un dur fry pan.
00:45 masak jnthn: I'd have that as "the wrong fairy".
00:45 TheHarlot phenny: "dur gun smirg du bork bork bork. dur chicken un dur fry pan."
00:45 masak TheHarlot: question mark.
00:45 TheHarlot screw you phenny!
00:45 * masak hugs phenny
00:45 jnthn masak: :)
00:45 TheHarlot masak, Swedish Chef... from muppets
00:45 masak TheHarlot: yes. you need a question mark at the end.
00:46 TheHarlot phenny: "dur gun smirg du bork bork bork. dur chicken un dur fry pan."?
00:46 phenny TheHarlot: "Hard bork bork gun smirg of bork. hard pan fry chicken hard." (fr to en, translate.google.com)
00:46 masak *lol*
00:46 masak French!
00:46 jnthn lol!!
00:46 masak the language of all chefs!
00:46 Tene masak: http://en.wikipedia.org/wiki/​Kevin_Warwick#Project_Cyborg
00:46 jnthn Fry that chicken HARD man!
00:46 jnthn :)
00:46 jnthn lol
00:46 masak Tene: are you my link Santa today? :)
00:46 Tene masak: My work distractions happen to stray into territory you might be interested in today.
00:47 TheHarlot phenny: "|2 |_| 1337 3|\||_||=|= 70 7|24|\|51473 7#!5"?
00:47 phenny TheHarlot: Language guessing failed, so try suggesting one!
00:47 TheHarlot hooray~!
00:47 * TheHarlot huggles phenny
00:47 masak phenny: "Fry de poulet que l'homme HARD!"?
00:47 phenny masak: "Fry chicken man HARD!" (fr to en, translate.google.com)
00:47 masak huh.
00:47 jnthn Poor chicken man.
00:47 TheHarlot phenny: "Omelette duh fromage"?
00:47 phenny TheHarlot: "Cheese omelet duh" (fr to en, translate.google.com)
00:47 TheHarlot and... phenny wins twenty internets
00:48 masak Tene: you're doing pretty good guessing what interests me.
00:49 masak "By means of the implant, Warwick's nervous system was connected onto the internet in Columbia University, New York." -- this could very well be the coolest sentence on Wikipedia.
00:50 masak wow. seems everything that guy did to make himself more of a robot worked.
00:50 TheHarlot masak, wait.. wait... he does have a proper firewall up?
00:50 * TheHarlot needs to click now
00:51 cdarroch left #perl6
00:51 jnthn phenny: "Jag misstag hela öl"?
00:51 phenny jnthn: "I accidentally the whole beer" (sv to en, translate.google.com)
00:51 jnthn Good night :) o/
00:51 masak jnthn: :P
00:51 masak jnthn: that's not a correct sentence! :P
00:51 jnthn masak: In either language. :P
00:51 masak I totally expected that section to end with "then his body revolted and threw the robot parts overboard" or "and now he's a robot. HAPPY END"
00:52 masak jnthn: "misstag" isn't a verb, it's a noun.
00:52 Tene Nope, ends with "It was feared that directly interfacing with the nervous system might cause some form of damage or interference, but no measurable effect nor rejection was found. Indeed, nerve tissue was seen to grow around the electrode array, enclosing the sensor"
00:52 masak jnthn: somehow you've exploited Google Translate's idiosyncracies to make it turn garbage into garbage.
00:52 jnthn masak: I accidentally the parts of speech :P
00:53 masak Tene: yes. all I'm saying is that that's carefully optimistic, which I didn't expect.
00:53 masak I expected some extreme point on the spectrum.
00:53 TimToady GIGO
00:53 masak aye.
00:53 jnthn Maybe the trick to machine translation is that everyone lolifies their langauge. :)
00:53 jnthn Anyways...sleep time :)
00:54 * masak too
00:54 masak g'♞, #perl6. ☺
00:55 masak left #perl6
00:55 TimToady is that a round table on the right?
00:55 TheHarlot Tene, masak: okay--that "connecting of the brain" to the internet was done before 4chan was around... otherwise... he could have expected a doozy of a stress test.
00:56 Tene TheHarlot: "the internet" doesn't mean "a web page"
00:56 TheHarlot Tene, when did I say it did?
00:56 ch3ck left #perl6
00:57 TheHarlot It includes IRC, Telnet, SSH, SMTP, POP3, etc., etc.,
00:57 Tene TheHarlot: you suggested that arbitrary other users on the internet would be able to interfere.
00:57 lichtkind left #perl6
00:57 Tene That's not actually the case.
00:57 Tene I guess it was a joke, then?
00:57 TheHarlot Tene, not just any arbitrary other users. Only the MOST arbitrary of users.
00:58 TheHarlot And... there was that empathic/telepathic thing mentioned.
00:58 TheHarlot the chip in him and his wife.
00:58 TheHarlot done via RFid.
00:58 TheHarlot Now, imagine, getting an empathic connect flooded with goatse.
00:59 TheHarlot I hope that stuff is secure... but, it is done with RFid from what the page says... so... it is doubtful.
00:59 Tene Where are you seeing RFid mentioned there?
01:00 envi left #perl6
01:00 Tene Ah, there.  That was a completely separate thing.
01:00 TheHarlot A highly publicised extension to the experiment, in which a simpler array was implanted into the arm of Warwick's wife—with the aim of creating a form of telepathy or empathy using the Internet to communicate the signal from afar—was also successful, resulting in the first purely electronic communication experiment between the nervous systems of two humans.[27
01:00 TheHarlot yeah--just figured out it was
01:00 TheHarlot but that quote above is the scary bit.
01:00 TheHarlot I hope that stuff is tunneled over VPN or something.
01:01 Tene Right, but "communicates over the internet" does not mean "anyone on the internet can arbitrarily inject anything they want".
01:01 TheHarlot Tene, only if you set the communication up right.
01:01 TimToady if you stimulate the wrong (right?) part of the nervous system, you could become addicted to your spouse...
01:01 Tene If I open an SSH connection from work to my home desktop, that doesn't mean that everyone from 4chan can run commands on my home desktop.
01:01 TimToady oh wait, I already am
01:01 TheHarlot Tene, no--not directly.
01:02 QinGW joined #perl6
01:02 TheHarlot Tene, however, depending on your cipher, bit strength, they could work a man in the middle in.
01:02 TimToady er...let's not go there
01:02 TheHarlot oh, right and how many handshakes you use.
01:03 Tene TheHarlot: You have to already be part of the network between my office and home to do that.
01:03 TheHarlot Tene, nothing is unhackable. Your home desktop and work computers are just not worth the effort of doing that.
01:03 TheHarlot Tene, inbetween the hops, assuming it is a wired network.
01:03 TheHarlot hell, I hope that stuff is wired...
01:03 Tene TheHarlot: Yes, I'm quite aware.
01:03 * TheHarlot looks at the date.
01:03 Tene TheHarlot: Or physically near me, if wireless.
01:03 TheHarlot okay--it would be wired.
01:04 TheHarlot Tene, the thing is, having access to a random home computer is different than somebody's body.
01:04 TheHarlot so, if it was wireless, would be worth getting in range for some people.
01:05 Tene That's not actually relevant for this experiment.
01:05 TheHarlot I dunno--they kind of never properly said what the experiment was really.
01:05 MindosCheng rakudo: my $f = sub (Int $n) { say 10 }; $f(1);
01:05 p6eval rakudo 015d77: OUTPUT«10␤»
01:06 TheHarlot They listed telepathic and empathic, without well, stating what exactly it was about. They were talking about robot arms. Then they switch into that.
01:06 ch3ck joined #perl6
01:06 envi joined #perl6
01:06 ch3ck left #perl6
01:06 TimToady std: my $f = sub (Int $n) { say 10 }; $f(1);
01:06 p6eval std a194beb: OUTPUT«Potential difficulties:␤  $n is declared but not used at /tmp/U_lfDkmtc0 line 1:␤------> [32mmy $f = sub (Int [33m⏏[31m$n) { say 10 }; $f(1);[0m␤ok 00:01 124m␤»
01:07 * TheHarlot checks the citation.
01:07 TheHarlot great... a magazine article.
01:07 TheHarlot essentially, making that entire sentence worthless as far as encyclopedia entries go.
01:11 TheHarlot either way, Tene, this just a nice demonstration on how useless Wikipedia is for actually learning stuff. Not to carry on to Perl6 stuffs
01:12 MindosCheng rakudo: my $x = -> { my Int @s[*] = (1,1); my $f = sub (Int $n) {  @s[$n].defined ?? @s[$n] :: @s[$n] = $f($n-2)+$f($n-1) }; }(); say $x(1);
01:12 p6eval rakudo 015d77: OUTPUT«===SORRY!===␤Unable to parse blockoid, couldn't find final '}' at line 22␤»
01:16 TheHarlot oh, hey... the Perl6 music player... works. So far.
01:16 TheHarlot blog post will be up in a bit.
01:19 MindosCheng rakudo: my $x = -> { my Int @s[*] = (1,1); my $f = sub (Int $n) {  @s[$n].defined ?? @s[$n] !! @s[$n] = $f($n-2)+$f($n-1) }; }(); say $x(1);
01:19 p6eval rakudo 015d77: OUTPUT«maximum recursion depth exceeded␤  in 'at_pos' at line 5:CORE.setting␤  in 'at_pos' at line 5:CORE.setting␤  in 'Any::postcircumfix:<[ ]>' at line 1725:CORE.setting␤  in 'at_pos' at line 5:CORE.setting␤  in 'at_pos' at line 5:CORE.setting␤  in 'Any::postcircumfix:<[ ]>' at
01:19 p6eval ..line 172…
01:23 TheHarlot oh... kay... my song playing script takes a bit of time to load.
01:25 MindosCheng Strange...
01:25 MindosCheng rakudo: my $x = -> { my Int @s[0..10] = (1,1); my $f = sub (Int $n) { (@s[0]==0) ?? 1 !! 0 }; }(); say $x(0);
01:25 p6eval rakudo 015d77: OUTPUT«maximum recursion depth exceeded␤  in 'at_pos' at line 5:CORE.setting␤  in 'at_pos' at line 5:CORE.setting␤  in 'Any::postcircumfix:<[ ]>' at line 1725:CORE.setting␤  in 'at_pos' at line 5:CORE.setting␤  in 'at_pos' at line 5:CORE.setting␤  in 'Any::postcircumfix:<[ ]>' at
01:25 p6eval ..line 172…
01:27 diakopter std: ???.?++ # TimToady did you see this
01:27 p6eval std a194beb: OUTPUT«ok 00:01 118m␤»
01:27 TimToady looks fine to me
01:27 diakopter oh :)
01:27 diakopter lucky you
01:28 * diakopter klooless
01:28 TimToady ??? is a listop with 0 args
01:29 TimToady .?++ is just a strange method call
01:30 diakopter what does the ? mean before the ++
01:30 TimToady 0 or 1 method calls
01:30 MindosCheng std: my $x = -> { my Int @s[0..10]; my $f = sub (Int $n) { (@s[0]==0) ?? 1 !! 0 }; }(); say $x(0);
01:30 TimToady just as .*foo means 0 or more
01:30 p6eval std a194beb: OUTPUT«Potential difficulties:␤  $n is declared but not used at /tmp/3d4YEpkjvO line 1:␤------> [32m-> { my Int @s[0..10]; my $f = sub (Int [33m⏏[31m$n) { (@s[0]==0) ?? 1 !! 0 }; }(); say $[0m␤  $f is declared but not used at /tmp/3d4YEpkjvO line 1:␤------> [32mmy $x = -> { my Int
01:30 p6eval ..@s…
01:31 TimToady and .+* means 1 or more
01:31 TimToady er, .+foo
01:31 TimToady hmm
01:31 TimToady std: ???.+++
01:31 p6eval std a194beb: OUTPUT«[31m===[0mSORRY![31m===[0m␤Bogus term at /tmp/LhLb6UFzBb line 1 (EOF):␤------> [32m???.+++[33m⏏[31m<EOL>[0m␤Parse failed␤FAILED 00:01 119m␤»
01:31 TheHarlot rakudo: ???.?++
01:32 p6eval rakudo 015d77: OUTPUT«===SORRY!===␤Method 'isa' not found for invocant of class 'Undef'␤»
01:32 TimToady std: ???.+foo
01:32 p6eval std a194beb: OUTPUT«ok 00:01 118m␤»
01:32 TheHarlot pugs: ???.?++
01:32 p6eval pugs: OUTPUT«*** ␤    Unexpected "?++"␤    expecting ".", "\187", ">>", "=", "^", operator name, qualified identifier, variable name, "...", "--", "++", "i", array subscript, hash subscript or code subscript␤    at /tmp/0tQlOeKgim line 1, column 5␤»
01:33 TheHarlot alpha: ???.?++
01:33 p6eval alpha : OUTPUT«Syntax error at line 10, near "???.?++"␤in Main (file <unknown>, line <unknown>)␤»
01:33 TheHarlot TimToady, is "???.?+" suppose to work outside of std?
01:34 diakopter fdso work
01:34 TimToady hard to say, since ++ isn't really a method call
01:34 diakopter fsdo work
01:35 TheHarlot fsdo?
01:35 TimToady for some def of
01:35 TheHarlot oh, I mean, return without error outside of pugs.
01:36 * TheHarlot scratches her head--as it returning an error is a definition of working.
01:36 TimToady and since postfix:<++> is really a function, not a method, it's a different dispatcher
01:36 TimToady so the strange dispatchers you can use on methods may not apply
01:37 TheHarlot std: ???.??
01:37 p6eval std a194beb: OUTPUT«[31m===[0mSORRY![31m===[0m␤Confused at /tmp/Vnfc1WFoNr line 1:␤------> [32m???.?[33m⏏[31m?[0m␤    expecting dotty method or postfix␤Parse failed␤FAILED 00:01 119m␤»
01:37 TheHarlot well, going to need to figure out something to use here to get past the strange dispatchers.
01:38 TheHarlot std: ???.!?fish
01:38 p6eval std a194beb: OUTPUT«[31m===[0mSORRY![31m===[0m␤Confused at /tmp/hDxLKMtEXN line 1:␤------> [32m???.[33m⏏[31m!?fish[0m␤    expecting postfix_prefix_meta_operator␤Parse failed␤FAILED 00:01 119m␤»
01:38 TheHarlot std: ???.!?<=>
01:38 p6eval std a194beb: OUTPUT«[31m===[0mSORRY![31m===[0m␤Confused at /tmp/KKwvU31oSj line 1:␤------> [32m???.[33m⏏[31m!?<=>[0m␤    expecting postfix_prefix_meta_operator␤Parse failed␤FAILED 00:01 119m␤»
01:38 TheHarlot guessing can does not have a cannot
01:39 TheHarlot std: cheeseburger.?haz
01:39 p6eval std a194beb: OUTPUT«[31m===[0mSORRY![31m===[0m␤Undeclared routine:␤ 'cheeseburger' used at line 1␤Check failed␤FAILED 00:01 118m␤»
01:39 TimToady .? .* .+ work more like regex quantifiers
01:39 TheHarlot screw you p6eval =P
01:39 TheHarlot ah... have not read enough I guess
01:39 TheHarlot std: ???.+?
01:40 p6eval std a194beb: OUTPUT«[31m===[0mSORRY![31m===[0m␤Confused at /tmp/uzAZiMxmy7 line 1:␤------> [32m???.+[33m⏏[31m?[0m␤    expecting dotty method or postfix␤Parse failed␤FAILED 00:01 119m␤»
01:40 TheHarlot std: ???.?++
01:40 p6eval std a194beb: OUTPUT«ok 00:01 118m␤»
01:40 TimToady it's a variant of $x.++
01:41 TheHarlot if I am abusing p6eval let me know.
01:41 TheHarlot TimToady, so it calls the operator in $x 's type?
01:42 TimToady if it were an ordinary method dispatch, it would do single dispatch on $x's type
01:42 * MindosCheng submitted bug.
01:42 TimToady but since it's really sugar for postfix:<++>($x), it's using multiple dispatch
01:42 TimToady which does also pay attention to the type of $x
01:43 TimToady but as an ordinary argument, not as the invocant
01:43 TheHarlot ah--give me a few days... and I will either be catching up to you, or racing circles around you. I am one of the weird systems after all.
01:44 diakopter weird systems?
01:44 TimToady yes, she just failed the Turing Test. :)
01:45 diakopter or maybe they've evolved to sarcastically admit they're AI
01:45 TimToady I vote for racing circles, so we can have the Singularity sooner
01:46 TimToady (we already know the Singularity will be programmed in Perl 6)
01:46 TheHarlot weird sisters*
01:46 TheHarlot typo
01:46 TimToady ...course, if it's in Perl 6 I rather suspect the Singularity will turn out to be a Plurality instead...
01:47 TheHarlot well, the Singularity is something that will be brought about by we the weird sisters.
01:49 TheHarlot anyways... my music program is running fine. Debating risking seeing if the local grocery store is open (still)... or toughing it out until morning
01:50 MindosCheng TheHarlot: Cool
01:51 TheHarlot Issues to work into fixing, slow start up... and there is a chance getting to the next track may take a while.
02:08 kanishka joined #perl6
02:10 meppl left #perl6
02:44 ggoebel left #perl6
03:18 __rnddim__ is now known as lue
03:19 lue .u 266A
03:19 phenny U+266A EIGHTH NOTE (♪)
03:19 lue .oO(So *that's* what that educational video tried to put in its subtitles...)
03:20 agentzh joined #perl6
03:34 TimToady mb
03:34 diakopter millibits?
03:36 simcop2387 is now known as simcop2387-lap
03:39 lue .oO(Back in 1882, people were excited to get 64 µb of RAM!)
03:39 diakopter that's a lot of uncertainty :)
03:43 lue .oO(In the future, however, SI will invent a new prefix (omega Ω) one above the current upper limit, and people will yawn at 64ΩB)
03:53 molaf joined #perl6
04:05 molaf left #perl6
04:07 plobsing_ lue: i think adopting that particular prefix may meet some resistance
04:29 kanishka left #perl6
04:36 jaldhar joined #perl6
04:42 jaldhar left #perl6
04:44 y3llow ...  Ω  ......
04:47 _xiaomo_ joined #perl6
04:53 lidden joined #perl6
04:58 _xiaomo_ left #perl6
05:11 am0c joined #perl6
05:20 rgrau left #perl6
05:21 rgrau joined #perl6
05:27 risou left #perl6
05:28 risou joined #perl6
05:29 rgrau left #perl6
05:29 rgrau joined #perl6
05:40 kjeldahl joined #perl6
05:47 am0c left #perl6
06:05 TimToady n
06:05 TimToady wow, twice in one night...
06:06 diakopter slippy keyboard
06:06 dalek 6model: 24494b3 | diakopter++ | dotnet/ (4 files):
06:06 dalek 6model: [dotnet] implement auto-generated accessors & mutators:  has $.foo is rw
06:06 dalek 6model: viviself containers don't happen yet, though.  jnthn, fix plz
06:06 dalek 6model: review: https://github.com/jnthn/6model/commit/2​4494b3f723574838a40c87a6a438aa861b3d915
06:06 dalek 6model: 39ec4ec | diakopter++ | / (3 files):
06:06 dalek 6model: [dotnet] add defined method to Mu
06:06 dalek 6model: add substr Ops and substr method to a barebones Match class
06:06 dalek 6model: oh, and, the rest of the initial accessors implementation
06:06 dalek 6model: added 56-accessors.t - basic tests of accessors & (fluent) mutators
06:06 dalek 6model: review: https://github.com/jnthn/6model/commit/3​9ec4eca37e1e51c1994d2ade7e476066e60fdcb
06:06 dalek 6model: 64f1a9c | diakopter++ | dotnet/ (4 files):
06:06 dalek 6model: Merge branch 'master' of github.com:jnthn/6model
06:06 dalek 6model: review: https://github.com/jnthn/6model/commit/6​4f1a9cabced6b66045562aa92ab3e8a0d26c238
06:07 diakopter whee; auto-accessors/mutators. things nqp-rx doesn't have :D
06:07 diakopter TimToady: they're not lvalue mutators tho
06:07 diakopter (oh well)
06:08 diakopter the accessor takes an optional arg... and binds it to the attr
06:08 diakopter decommute&
06:08 Woodi left #perl6
06:09 Woodi joined #perl6
06:15 TheHarlot left #perl6
06:24 risou_ joined #perl6
06:25 jaldhar joined #perl6
06:25 risou left #perl6
06:32 justatheory left #perl6
06:32 Raynes left #perl6
06:48 joe__ joined #perl6
06:51 shiva_ joined #perl6
06:51 joe__ ghj
06:52 joe__ shiva
06:52 shiva_ hi
06:52 shiva_ left #perl6
06:53 joe__ left #perl6
06:57 wtw joined #perl6
07:01 sorear good * #perl6
07:01 rodarmor joined #perl6
07:01 rodarmor Hi perl6 people!
07:01 rodarmor I'm trying to compile rakudo again (after having failed yesterday)
07:01 rodarmor This time, I'm using my linux box instead of my mac laptop.
07:02 barika left #perl6
07:02 rodarmor But, I only have 512MB of ram...
07:02 rodarmor Currently, it's compiling, but it's only at 2% cpu usage, and it's using all my ram.
07:02 rodarmor Do you think it's making forward progress?
07:02 sorear Forward? yes
07:02 sorear it might take all day though.
07:03 sorear watch the 'CPU time' number
07:03 sorear it'll be done when that gets to 20 mintes ish
07:03 sorear depending on CPU, of course
07:03 rodarmor All day isn't that bad, if I get a bin/perl6 out of the deal.
07:04 rodarmor Wow, this is going to take a long time.
07:05 rodarmor How much memory should I have to do this faster?
07:05 rodarmor (it's going at like .01x speed)
07:08 _kaare joined #perl6
07:15 sorear it varies a lot
07:15 sorear I had a Rakudo build finish with peak virtual 400MB once
07:15 sorear in July-September sometime
07:16 sorear it's also gone over 2GB occasionally, others say
07:16 rodarmor Cha-ching! It finished :)
07:16 rodarmor And it's even passing the tests!
07:17 rodarmor Perl6 rule madness, here I come :)
07:18 rgrau left #perl6
07:21 rodarmor left #perl6
07:21 rodarmor joined #perl6
07:21 plobsing_ gc memory threshold used to be hardcoded which led to thrashing on low-mem systems. now it is based on available system memory, so you shouldn't see the absolutely glacial thrashy perl6.exe compiles anymore. of course low-mem systems still have more gc pressure.
07:22 rgrau joined #perl6
07:27 araujo left #perl6
07:29 snearch joined #perl6
07:30 rodarmor left #perl6
07:36 dalek niecza: 43cca67 | sorear++ | v6/tryfile:
07:36 dalek niecza: [v6] fix a couple broken <O(%foo)>
07:36 dalek niecza: review: https://github.com/sorear/niecza/commit/​43cca67b5c6ca4526214f3eba7e0cd582cbac738
07:47 barika joined #perl6
07:51 snearch left #perl6
07:54 mavrc joined #perl6
07:54 satyavvd left #perl6
07:55 satyavvd joined #perl6
07:55 rodarmor joined #perl6
07:55 rodarmor Does perl6 have a glob() function?
07:57 moritz_ currently it has dir()
07:57 moritz_ rakudo: say &dir.signature.perl
07:57 p6eval rakudo 015d77: OUTPUT«:(*@a, *%h)␤»
07:58 moritz_ dir('.').grep(/READ/)
07:58 rodarmor I keep reading about a glob() function, is glob() coming?
07:58 moritz_ rakudo: say dir('.').grep(/READ/)
07:58 p6eval rakudo 015d77: OUTPUT«Operation not permitted in safe mode␤  in 'Safe::forbidden' at line 2:/tmp/VDJPuT3A6t␤  in main program body at line 22:/tmp/VDJPuT3A6t␤»
07:58 moritz_ rodarmor: i have no idea... where do you keep reading about it?
07:58 rodarmor http://www.learningperl6.com​/Chapters/10.dirhandles.html
07:59 kjeldahl left #perl6
08:00 moritz_ curious
08:00 rodarmor Yeah. It seemed pretty canonical :)
08:01 rodarmor Are there any good perl6 tutorials out there?
08:03 moritz_ it's a bit old
08:04 moritz_ http://perl6.org/ has a few links, including http://github.com/perl6/book/downloads
08:04 * moritz_ -> afk
08:05 rodarmor sweet I'll check it out
08:16 LumberCartel joined #perl6
08:16 LumberCartel left #perl6
08:23 rgrau left #perl6
08:23 rodarmor left #perl6
08:31 rodarmor joined #perl6
08:32 hudnix left #perl6
08:32 Alias left #perl6
08:33 Alias joined #perl6
08:33 Alias left #perl6
08:34 Alias joined #perl6
08:35 Alias left #perl6
08:35 Alias joined #perl6
08:36 hudnix joined #perl6
08:36 Alias left #perl6
08:37 Alias joined #perl6
08:38 envi left #perl6
08:38 Alias_ joined #perl6
08:38 envi joined #perl6
08:39 rodarmor left #perl6
08:40 kjeldahl joined #perl6
08:42 Alias left #perl6
08:43 sorear std: $m,
08:43 p6eval std a194beb: OUTPUT«[31m===[0mSORRY![31m===[0m␤Variable $m is not predeclared at /tmp/92ItAjJy2e line 1:␤------> [32m$m[33m⏏[31m,[0m␤Check failed␤FAILED 00:01 120m␤»
08:44 sorear Who maintains perl6.vim these days?
08:45 moritz_ sorear: alester and/or literal, iirc
08:48 Alias_ left #perl6
08:49 Alias_ joined #perl6
08:49 * sorear wonders if it's worth submitting bug reports or if perl6.vim has reached its technological limits
08:49 moritz_ sorear: I've submitted some bug reports that resulted in some fixes
08:50 moritz_ really depends on the issue at hand
08:50 moritz_ if it needs non-trivial predictive parsing, you're out of luck
08:50 Alias_ left #perl6
08:50 sorear the issue is that $m, is interpreted as opening a regex
08:51 Alias_ joined #perl6
08:52 moritz_ it's also very quick to recognize s  as a substitution
08:52 moritz_ sorear: I think that one is worth reporting
08:53 sorear alester@github?
08:53 moritz_ https://github.com/petdance/vim-perl/issues
08:54 Alias_ left #perl6
08:54 Alias_ joined #perl6
08:56 * sorear wonders if there is an easy way to get chrome to open a URL from the clipboard
08:56 Alias_ left #perl6
08:56 Alias_ joined #perl6
08:57 silug left #perl6
09:00 Alias__ joined #perl6
09:01 Alias__ left #perl6
09:02 Alias__ joined #perl6
09:03 Alias_ left #perl6
09:03 sorear done
09:04 leif joined #perl6
09:05 Alias__ left #perl6
09:05 Alias__ joined #perl6
09:06 araujo joined #perl6
09:06 araujo left #perl6
09:06 araujo joined #perl6
09:10 Alias__ left #perl6
09:10 sorear MindosCheng: In current Rakudo you need to use 'my @array'
09:10 sorear fancy stuff like type declarations blows up
09:10 Alias__ joined #perl6
09:11 moritz_ indeed, typed arrays are severely broken at the moment
09:11 Alias__ left #perl6
09:12 Alias__ joined #perl6
09:15 Alias_ joined #perl6
09:18 Alias_ left #perl6
09:19 Alias__ left #perl6
09:19 Alias_ joined #perl6
09:23 jjore left #perl6
09:26 dalek niecza: 3392666 | sorear++ | / (2 files):
09:26 dalek niecza: [v6] implement do_import
09:26 dalek niecza: review: https://github.com/sorear/niecza/commit/​3392666990986e6e94cd8fd8da281938da760607
09:26 sorear \o/ tryfile.exe ~/dl/std/CORE.setting --> OK
09:27 moritz_ \o/
09:27 moritz_ sorear: does that mean it actually compiled it? or just parsed?
09:27 moritz_ s/just/"just"/
09:28 sorear It's just STD
09:28 moritz_ niecza: say 1 # just checking the revision
09:28 sorear I haven't written any Perl 6 compiler backends yet
09:28 p6eval niecza 43cca67: OUTPUT«1␤»
09:28 Alias__ joined #perl6
09:31 Alias__ left #perl6
09:32 Alias_ left #perl6
09:32 Alias__ joined #perl6
09:34 sorear there's apparently some bug where Match objects are leaking into the symbol table and preventing it from being serialized
09:35 Alias__ left #perl6
09:35 sorear ... yuck, a 423KB blob
09:35 Alias__ joined #perl6
09:36 Alias__ left #perl6
09:37 jjore joined #perl6
09:37 Alias__ joined #perl6
09:39 MindosCheng rakudo: my Int @s = (1,1); @s[0].defined ?? 1 !! 0
09:39 p6eval rakudo 015d77: OUTPUT«(timeout)»
09:39 sorear protip: don't put types on arrays
09:39 moritz_ rakudo: my @s = (1, 1); say @s[0].defined
09:39 p6eval rakudo 015d77: OUTPUT«Bool::True␤»
09:40 MindosCheng Thanks. Haven't support C<my Int @a;>
09:41 Alias__ left #perl6
09:41 sorear hmm
09:42 sorear didn't "DO NOT PUT TYPES ON ARRAYS" used to be in the release announces?
09:42 Alias__ joined #perl6
09:42 * moritz_ not sure
09:42 moritz_ independently of where we put such info, people don't read it.
09:43 sorear yeah, the error needs to be more awesome
09:43 moritz_ you can scream and shout in the README, in the release announcement, in build script outputs... people don't read it.
09:48 dalek niecza: 08c9807 | sorear++ | / (2 files):
09:48 dalek niecza: [v6] Fix Match leak in trait_mod:of
09:48 dalek niecza: review: https://github.com/sorear/niecza/commit/​08c9807a0a9d7767031bc6f90304b5ff0c06ec19
09:49 MindosCheng I think it's not included in the README
09:49 MindosCheng And I did read README
09:49 moritz_ MindosCheng: that was more of a general rant, not directed towards you personally
09:50 moritz_ There are always people who laudably read that stuff. But we usually have to deal with those who don't, so that's what we observe
09:51 MindosCheng moritz_: Yap. I usually don't read them, too. >_<
09:52 dakkar joined #perl6
09:53 MindosCheng rakudo: my $x = -> { my @s = (1,1); my $f = sub (Int $n) {  @s[$n].defined ?? @s[$n] !! (@s[$n] = $f($n-2)+$f($n-1)) }; }(); say $x(7);
09:53 p6eval rakudo 015d77: OUTPUT«21␤»
09:53 sorear Why are you using -> ?
09:53 moritz_ why not?
09:54 MindosCheng rakudo: my $x = { my @s = (1,1); my $f = sub (Int $n) {  @s[$n].defined ?? @s[$n] !! (@s[$n] = $f($n-2)+$f($n-1)) }; }(); say $x(7);
09:54 p6eval rakudo 015d77: OUTPUT«21␤»
09:56 sorear I mean more like "why not a sub"
09:56 MindosCheng rakudo: my $x = { my @s = (1,1); my $f = sub (Int $n) {  @s[$n].defined ?? @s[$n] !! $f($n-2)+$f($n-1) }; }; say $x()(7);
09:56 sorear I default to sub, and only use pointies if I need more action at a distance potential
09:56 p6eval rakudo 015d77: OUTPUT«21␤»
09:56 sorear I don't feel weird for this
09:56 Woodi left #perl6
09:57 MindosCheng sorear: Just use a safe syntax I know so far.
09:57 Woodi joined #perl6
09:58 MindosCheng rakudo: my $x = { my @s = (1,1); my $f = sub (Int $n) {  @s[$n].defined ?? @s[$n] !! $f($n-2)+$f($n-1) }; }; say $x()(1|3|7|2);
09:58 p6eval rakudo 015d77: OUTPUT«any(1, 3, 21, 2)␤»
09:59 MindosCheng rakudo: my $x = { my @s = (1,1); my $f = sub (Int $n) {  @s[$n].defined ?? @s[$n] !! (@s[$n]=$f($n-2)+$f($n-1)) }; }; say $x()(1|3|7|2);
09:59 p6eval rakudo 015d77: OUTPUT«any(1, 3, 21, 2)␤»
09:59 moritz_ rakudo: say now.WHAT
09:59 p6eval rakudo 015d77: OUTPUT«Instant()␤»
09:59 moritz_ rakudo: say ((now - now)**2).WHAT
09:59 p6eval rakudo 015d77: OUTPUT«Duration()␤»
09:59 moritz_ it makes sense to allow that operation, but the result shouldn't be a Duration.
10:05 MindosCheng sorear: What's the alternative instead of using closure?
10:07 QinGW left #perl6
10:18 moritz_ loliblogged: http://perlgeek.de/blog-en/perl​-6/real-world-strikes-back.html
10:18 moritz_ rakudo: say 3.5 % 1.5
10:18 p6eval rakudo 015d77: OUTPUT«0.5␤»
10:19 MindosCheng rakudo: say -3.5 % 1.5
10:19 p6eval rakudo 015d77: OUTPUT«1␤»
10:19 moritz_ rakudo: say (now - now) % (now - now)
10:19 p6eval rakudo 015d77: OUTPUT«Can't take remainder after division of a Duration by a Duration␤  in 'infix:<%>' at line 6310:CORE.setting␤  in main program body at line 22:/tmp/RCMI6mHZ78␤»
10:19 moritz_ why ever not?
10:19 moritz_ it makes a lot of sense to ask this question
10:20 MindosCheng rakudo: say (-3.5) % 1.5
10:20 p6eval rakudo 015d77: OUTPUT«1␤»
10:20 moritz_ if I have a session of 60 minutes, and as many 8 minute presentations as possible, how much time is left for the gaps?
10:21 MindosCheng is the C<(-3.5) % 1.5> a bug?
10:22 moritz_ don't think so
10:22 moritz_ it makes perfect sense to always have the return value of $a % $b in the range 0..^$b
10:24 MindosCheng moritz_: I think my calculation was wrong.
10:24 MindosCheng 1 is a good answer.
10:27 moritz_ buubot: eval: (-3.5) % 1.5
10:27 buubot moritz_: 0
10:27 * moritz_ likes the Perl 6 answer better :-)
10:27 MindosCheng pugs: say (-3.5) % 1.5
10:27 p6eval pugs: OUTPUT«1␤»
10:27 MindosCheng std: say (-3.5) % 1.5
10:28 p6eval std a194beb: OUTPUT«ok 00:01 120m␤»
10:29 moritz_ std just checks syntax
10:29 tadzik hello
10:29 MindosCheng Oh. Thanks
10:29 MindosCheng Hello
10:29 moritz_ lolitstadzik!
10:29 tadzik std: say "ok 00:01 {150.rand.Int}m"
10:29 p6eval std a194beb: OUTPUT«ok 00:01 119m␤»
10:29 tadzik see? It's an implementation :)
10:30 moritz_ :-)
10:30 MindosCheng lol
10:32 tzhs joined #perl6
10:34 * MindosCheng read "The Real World Strikes Back"
10:34 dalek niecza: e6dbe54 | sorear++ | v6/tryfile:
10:34 dalek niecza: [v6] Implement setting loader
10:34 dalek niecza: review: https://github.com/sorear/niecza/commit/​e6dbe545928e27f7779dfba8f3e5354f75c9abc9
10:34 dalek niecza: dfc2971 | sorear++ | v6/tryfile:
10:34 dalek niecza: [v6] Remove categorical debugging print
10:34 dalek niecza: review: https://github.com/sorear/niecza/commit/​dfc29718ffe42a47f3c6a62083f74864aa1f690c
10:34 flussence ok, I'm convinced now that Duration should be more permissive.
10:35 sorear MindosCheng: both -> {} and sub {} generate closures
10:35 arnsholt moritz_: I agree with your conclusion that Duration should essentially be a numeric type, but I think the type should be kept
10:35 sorear sub {} is safer because return exceptions can't leak out
10:35 flussence I think the most useful behaviour would be to return another Duration when it makes sense, and act like a plain Num in every other case.
10:35 * sorear can now do stuff like "say 2 + 2" in tryfile.exe, with CORE.syml loaded
10:35 arnsholt If notinhg else, to have convenience methods to easily get the duration in different types of units
10:35 MindosCheng sorear: Thanks
10:38 moritz_ arnsholt: that makes sense, as long as you ignore the possiblity of leap seconds (which I think we do)
10:40 sorear S02:1300 talks about leap seconds in Durations
10:41 arnsholt I'd think the Durations have to be leap-second aware, only the code calculating the distance between two instants, no?
10:43 moritz_ as far as I understand not
10:43 moritz_ only the code that generates instants must be
10:43 moritz_ instants are like this: imagine a very precise clock that counts the seconds sinc $start_of_epoch
10:44 moritz_ only when you convert an instant to a date, you need to be aware of leap seconds. And the other way round
10:44 moritz_ but once you have two instants, getting a duration is trivial
10:44 sorear I still think it would be less confusing if we had a typological split between proper and coordinate Instants
10:45 arnsholt Right, I think I see
10:46 arnsholt If Duration was leap-second agnostic a minute with a leap second would end up being a a minute and a second long
10:46 sorear but I'm not going to stoop to bikeshedding p6l to get it
10:46 sorear arnsholt: exactly
10:46 sorear which is what I want in most cases
10:47 arnsholt True, the right answer in that case is less than obvious =)
10:47 sorear 1 billion clock ticks is a constant Duration regardless of whether some government agency decided to put a time change or leap second in the middle
10:48 arnsholt Oh, dear Bob. Let's not talk about getting this to play nice with time changes =)
10:48 sorear (it's also helpful if you want to consider the possibility that your implementation of Perl 6 is travelling at c/2 wrt the USNO)
10:48 arnsholt But I'm inclined to agree with you, I think
10:49 * moritz_ wonder if there are any network protocols that can deal with two participants moving apert each other at c/2 :-)
10:50 sorear I think NTP can.
10:50 moritz_ what's NTP based on? UDP or TCP?
10:50 moritz_ I'm fairly sure TCP can't
10:50 flussence NTP uses UDP
10:51 sorear UDP, and it devotes dozens of pages to high-order corrections for variable packet delay
10:51 * sorear nominates NTP for "most hilariously overengineered network protocol"
10:51 moritz_ sorear: overengineered? I'm not so sure
10:51 flussence I'd nominate X11...
10:51 meppl joined #perl6
10:52 ggoebel joined #perl6
10:53 moritz_ sorear: after all it was delveped in times when time jitter in networks where much larger than they are now
10:54 moritz_ flussence: I don't know much about X11, but I was impressed when I learned that it can handle multi touch, even though X11 is decades older than multi touch
10:55 flussence Isn't that based on the Multi-Pointer X stuff though? That's a relatively recent addition...
10:55 sorear X11 has many pieces from many sources... some of it is very elegant, others not so much
10:55 sorear and some of it WAS nicely designed in 198x, but not so much now
10:56 sorear like the font handling, which didn't sanely transition from "font with 97 bitmaps" to "font with 100,000 outlines"
10:56 boggytwo left #perl6
11:03 flussence also, there seems to be a trend recently of doing complete rewrites of decades-old software :)
11:04 moritz_ doesn't Ubuntu plan to ditch X11?
11:05 flussence yes, though Red Hat/Intel seem to be doing all the actual work...
11:05 sorear What will replace it?
11:07 _xiaomo_ joined #perl6
11:07 flussence everything seems to be talking about that Wayland GUI thing at the moment, though if X is thrown out, I'd imagine more people would start looking at DirectFB and the like too.
11:13 moritz_ rakudo: class A is Int { method new($x) { self.bless($x) } }; say A.new(5)
11:13 p6eval rakudo 015d77: OUTPUT«5␤»
11:13 moritz_ rakudo: class A is Int { method new($x) { self.bless($x) } }; say A.new(5).WHAT
11:13 p6eval rakudo 015d77: OUTPUT«Int()␤»
11:13 daxim joined #perl6
11:14 moritz_ how do I construct an object of a type that derives from a value type?
11:14 moritz_ should the example above print A()\n ?
11:15 sorear You can't.
11:15 moritz_ why not?
11:15 moritz_ it's not a primitive type
11:15 sorear Because then you could multiply inherit from Int and Float and the unboxer would go nuts.
11:16 moritz_ that's not an argument for forbidding single inheritance
11:16 sorear What you can do is apply roles to an Int instance using infix:<but>
11:16 sorear which forbids multiple inheritance as a free effect
11:17 sorear also, allowing self.bless($existing-object) blows a hole in the gradual typing system big enough to drive a truck through
11:17 sorear suppose that there was a my OldClass $x = $existing-object
11:17 sorear now $existing-object has a different type
11:17 sorear but $x, of static type OldClass, still points to it
11:18 sorear again, infix:<but> neatly avoids the problem by only allowing retyping into subtype
11:18 moritz_ I don't see the problem of Newclass ~~ Oldclass
11:18 moritz_ s/of/if/
11:18 moritz_ reblessing into subclasses, that is
11:19 Bucciarati joined #perl6
11:21 flussence rakudo: say (0 but Bool::True) ?? 'yes' : 'no'; # curious...
11:21 p6eval rakudo 015d77: OUTPUT«===SORRY!===␤Confused at line 22, near "say (0 but"␤»
11:21 flussence rakudo: say (0 but Bool::True) ?? 'yes' !! 'no';
11:21 p6eval rakudo 015d77: OUTPUT«no␤»
11:22 flussence ...is that correct output?
11:23 moritz_ flussence: nope. Known bug.
11:23 flussence oh, ok
11:23 moritz_ rakudo: say (0 but Bool::True).so ?? 'yes' !! 'no';
11:23 p6eval rakudo 015d77: OUTPUT«yes␤»
11:25 moritz_ the correct fix, if one exists, is non-trivial
11:25 xinming left #perl6
11:25 jedai left #perl6
11:25 moritz_ basically 'if' uses the parrot level get_bool vtable
11:25 * sorear starts a roast run against Niecza-STD and goes to bed
11:25 moritz_ which should re-dispatch to .Bool
11:26 moritz_ sleep well
11:26 moritz_ but .Bool needs to call the parrot vtable at some point to determine the truthiness of some low level objects
11:27 moritz_ so there's some cycle in there, and one has to be careful to break at the right point
11:27 xinming joined #perl6
11:27 jedai joined #perl6
11:30 Raynes joined #perl6
11:37 tadzik seen alexm
11:37 aloha Sorry, I haven't seen alexm.
11:41 Woodi left #perl6
11:42 Woodi joined #perl6
11:43 tadzik what should $*PERL contain?
11:43 tadzik pugs: say $*PERL
11:43 p6eval pugs: OUTPUT«␤»
11:48 tadzik moritz_: https://gist.github.com/703306 -- is that how it should look like, maybe?
11:49 tadzik specs says only "Which Perl we are running under"
11:51 masonkramer left #perl6
11:51 masonkramer joined #perl6
11:52 thepler left #perl6
11:54 ggoebel left #perl6
12:01 wallberg joined #perl6
12:04 colomon moritz_: Duration / Duration should return Num, or something like that, right?
12:07 uniejo joined #perl6
12:09 bartolin left #perl6
12:09 bartolin joined #perl6
12:09 Woodi left #perl6
12:10 lidden left #perl6
12:10 sylwek joined #perl6
12:11 sylwek is now known as Woodi
12:14 colomon moritz_: I'm thinking that Duration could easily do the Real role, overload those operations which are supposed to return Durations, and let the default Real versions handle all other math.
12:15 colomon on the other hand, I'm also seeing room for a "unit" role, too.  Hmmmm.....
12:19 flussence I was thinking the same thing... Instant could inherit from Unit, then people could use it for things like Temperature, Position or whatever they come up with...
12:19 barika left #perl6
12:20 muixirt joined #perl6
12:21 flussence Durations aren't really a unit on their own though, more like Unit * Range...
12:21 muixirt seen Tene
12:21 aloha Tene was last seen in #perl6 11 hours 16 mins ago saying "That's not actually relevant for this experiment.".
12:26 barika joined #perl6
12:28 orafu left #perl6
12:28 orafu joined #perl6
12:29 masak joined #perl6
12:29 masak oh hai, #perl6!
12:30 tadzik oh hai masak
12:31 tadzik masak: https://gist.github.com/703306 could you revise this for me? Specs isn't very specific about the content
12:31 moritz_ colomon: sounds good; though since Durations are supposed to be more Rat-ish, it would also make sense for Duration/Duration to return Rat
12:32 sftp joined #perl6
12:36 * masak looks
12:36 masak also, it's "spec", not "specs" -- but I'm starting to think that's a lost battle.
12:36 masak even though I'm right :/
12:37 moritz_ masak: you're right on both accounts. You're right, and the battle is lost.
12:37 masak right. :/
12:39 masak tadzik: I think your patch is spec-congruent.
12:40 masak tadzik: S28 froths that the type should be SoftwarePackage, but you have my iconoclastic blessing to ignore that. ;)
12:40 * masak mutters about people's desire to put types on everything
12:41 tadzik so, appliable? I'm wondering if it shouldn't be something like "Perl 6.2.4"
12:41 tadzik SoftwarePackage?
12:42 moritz_ masak: hm. Maybe there's a good reason. It can store an authority, version, name, ...
12:42 masak hm. fair enough.
12:43 masak should I add 'authority' to its definition in S28?
12:44 moritz_ +1
12:44 dakkar left #perl6
12:44 masak also, does anyone have a better name than "SoftwarePackage"? (max five proposals total)
12:45 masak I'm not too happy about the CamelCase.
12:45 moritz_ Version?
12:45 moritz_ doesn't quite fit
12:45 masak it contains a .version
12:45 moritz_ right
12:45 masak I'm not sure Package described it at all.
12:46 masak it's a Software-Something, but not sure what.
12:46 moritz_ it's technically a "long name"
12:46 masak maybe just "Software" would be better. but it doesn't feel like a countable noun.
12:48 tadzik Soft-Version :)
12:48 * masak hits the thesaurus
12:48 flussence Thinger.
12:48 masak one proposal left.
12:48 masak Application.
12:49 moritz_ -1
12:49 flussence that makes me cringe.
12:49 * masak makes it so
12:49 dakkar joined #perl6
12:49 masak flussence: and SoftwarePackage doesn't?
12:50 muixirt btw is 'potato moose' some in-joke? (from UsingPerl6-draft.pdf p27)
12:50 * moritz_ would prever LongName or SotwareVersion over SoftwarePackage any time
12:50 flussence that too :)
12:50 TheHarlot joined #perl6
12:51 moritz_ muixirt: maybe it should be mousse :-)
12:53 moritz_ ask jnthn++, he wrote it :-)
12:54 wamba joined #perl6
12:54 * masak wonders why S28 lists a $?VM but not a $*VM
12:55 moritz_ probably nobody could think of an application at the time of writing
12:55 moritz_ though $*VM is much more useful
12:56 moritz_ when you have it, you can get $?VM through BEGIN $*VM
12:56 takadonet joined #perl6
12:56 takadonet morning all
12:57 tadzik ~~
12:58 masak takadonet: \o
12:58 dalek specs: 6cd1df9 | masak++ | S28-special-names.pod:
12:58 dalek specs: [S28] s/SoftwarePackage/Application/
12:58 dalek specs:
12:58 dalek specs: - Changed the name
12:58 dalek specs: - Removed a bit of pomp and circumstance in the surrounding text
12:58 dalek specs: - Added public-access twigils to the attributes
12:58 dalek specs: - Added attribute ".auth"
12:58 dalek specs: review: https://github.com/perl6/specs/commit/6​cd1df9b2e2b80d63713d6ffb24003762cc30d97
13:02 tadzik ...see? It's "specs" :)
13:03 XaRDaX joined #perl6
13:06 masak :(
13:06 * masak just found http://perlgeek.de/blog-en/perl​-6/real-world-strikes-back.html
13:06 masak moritz_++
13:06 takadonet bah, i saw that 35 mins ago
13:08 masak heh :)
13:08 * moritz_ made the loliblogged comment before masak++ joined the channel
13:09 masak ah. that's what I get for not having backlogged yet.
13:09 masak moritz_: though it speaks to your favour that Twitter already picked up the article.
13:09 masak that's how I found it.
13:10 takadonet that's is quick
13:14 masak oh, it was erez++ who linked to it: http://twitter.com/erez/status/4879965099130880
13:14 masak (misspelling "Rakudo", and adding a strange link as cargo)
13:17 muixirt moritz_: the link to rakudo is missing a .org
13:18 moritz_ muixirt: thanks, fixing...
13:19 timbunce joined #perl6
13:20 PerlPilot joined #perl6
13:21 MayDaniel joined #perl6
13:23 PerlJam left #perl6
13:24 Patterner left #perl6
13:25 PerlJam joined #perl6
13:25 PerlPilot left #perl6
13:33 XaRDaX hi all!
13:35 Psyche^ joined #perl6
13:35 Psyche^ is now known as Patterner
13:36 masak XaRDaX: hi!
13:36 XaRDaX the method to use for reading the socket content is .recv() , right? Maybe my code has something wrong... check it please http://pastebin.com/qzDYwsj4
13:38 MayDaniel left #perl6
13:39 masak XaRDaX: I see code there, but no indication on what you got from running it, not what you expected.
13:40 XaRDaX the code print nothing
13:41 XaRDaX It should print some lines from the motd of the server i'm connecting and some oder raw lines
13:42 bluescreen joined #perl6
13:42 bluescreen is now known as Guest70974
13:42 agentzh left #perl6
13:43 satyavvd left #perl6
13:48 masak I've confirmed that it prints nothing.
13:48 XaRDaX :D
13:48 XaRDaX the bot joins and keep joined
13:48 XaRDaX but can't read the socket
13:49 ggoebel joined #perl6
13:49 ggoebel left #perl6
13:49 _xiaomo_ left #perl6
13:49 sand_ joined #perl6
13:51 masak moritz_: "Please note that my sarcasm applied only to one particular sentence, not to the whole mail :-)" -- you could have avoided that clarification by writing correct SGML in the first place! :P
13:52 moritz_ I know. I thought the scope was obvious though :-)
13:52 sand__ joined #perl6
13:52 masak this is programmers we're dealing with. scoping is never obvious. :)
13:53 sand_ left #perl6
13:53 sand__ left #perl6
13:58 dalek rakudo: eb7c591 | moritz++ | src/core/Duration.pm:
13:58 dalek rakudo: [Temporal] make the exponentation of durations a number, not another Duration
13:58 dalek rakudo: review: https://github.com/rakudo/rakudo/commit/​eb7c5914d2782348a34a0a2b5a87056fcda25919
14:04 masak seen Tene
14:04 aloha Tene was last seen in #perl6 12 hours 59 mins ago saying "That's not actually relevant for this experiment.".
14:04 masak famous last words :P
14:06 moritz_ :-)
14:14 plainhao joined #perl6
14:24 rgrau joined #perl6
14:25 uniejo left #perl6
14:27 snearch joined #perl6
14:27 * masak enjoyed http://perl.plover.com/FAQs/Namespaces.html yesterday
14:28 masak especially the part about 'my' and lexical variables being introduced in Perl 5.004
14:28 masak that's in 1997!
14:31 masak I also learned that 'local' is what you get if you start with package variables and try to decrease their scope to something "more like" lexical variables.
14:32 moritz_ it's called temp in Perl 6. Rakudo doesn't implement it yet, and nobody really seems to miss it
14:33 moritz_ because if you want to pass variables along the call stack (and not lexically), you can use contextuals
14:34 masonkramer HTH = happy to help, right?
14:35 moritz_ or "hope that helped"
14:35 masonkramer oy veigh
14:36 satyavvd joined #perl6
14:37 masak moritz_: I'm not sure "nobody really seems to miss it". the same could be said for a lot of features, such as those in S09. only when we have them will we know if we missed them or not. :)
14:37 perlygatekeeper left #perl6
14:37 masak as for me, I've been eyeing both "temp" and "let" at times, thinking they might come in handy.
14:38 moritz_ I see your point
14:40 PerlJam lexicals weren't introduced in 5.004, they were introduced in 5.000
14:40 PerlJam in 5.004 you could declare them in places you couldn't previously.
14:40 masak ah.
14:41 masak 5.000 is 1993.
14:41 masak well, the alphas were. sharp release was 1994.
14:41 kjeldahl left #perl6
14:43 PerlJam It's funny when I think back to those days and how suspicious I was of Perl 5.  It was all new and weird and not like Perl 4.  It was also a lot slower than Perl 4 on several operations and this greatly concerned me at the time.
14:43 PerlJam I didn't actually start using Perl 5 in a full-time manner until 1996 or 1997
14:44 * masak considers downloading Perl 4 and using it in earnest for a while
14:44 * PerlJam doubts perl 4.036 compiles on modern systems.
14:45 MindosCheng It was amazing to me that CPAN modules are so easy to use comparing to C libraries.
14:45 Guest70974 left #perl6
14:47 PerlJam yep, the first Perl 5 I used "all the time" was 5.003_03 and that came out in Aug 1996
14:49 * moritz_ suddenly feels really young
14:50 MindosCheng I started to learn perl at 5.006. I think.
14:51 arnsholt moritz_: That happens to me too when it comes to Perl =)
14:51 spq1 joined #perl6
14:51 moritz_ me too. But when I knew enough about Perl to care about the versions, I was already at 5.8.something
14:52 PerlJam moritz_: I've used Perl for almost 1/2 my life  :)
14:53 MindosCheng PerlJam: Sounds promising :P
14:54 spq1 left #perl6
14:55 PerlJam MindosCheng: I think it's laziness more than anything else.  Perl fits my brain, why would I use anything else?
14:55 spq1 joined #perl6
14:56 MindosCheng PerlJam: For money?
14:57 MindosCheng PerlJam: I think Perl is excellent in expressing, so I came back.
14:57 PerlJam MindosCheng: okay, you got me there.  I /was/ a PHP mercenary for a while a few years ago.  But I never stopped using Perl whenever I could  :)
14:58 * MindosCheng not coding much actually.
14:58 * moritz_ doesn't usually code for money, and if he does, it's perl :-)
14:59 MindosCheng PerlJam: Now I try to use Perl at least for daily routine.
15:00 Guest70974 joined #perl6
15:04 masak Guest70974: hi. hope you feel right at home. may I take your coat?
15:05 Guest70974 masak: what ?
15:05 MindosCheng Guest70974: Welcome!
15:06 masak Guest70974: oops, did I startle you? didn't mean to.
15:06 masak anyway, what MindosCheng said. :)
15:06 Guest70974 is now known as bluescreen
15:06 _kaare left #perl6
15:06 bluescreen is now known as Guest21878
15:10 satyavvd left #perl6
15:12 tadzik phenny: "でもこれはそのまま通る不思議"?
15:12 phenny tadzik: "But this is strange as it passes through" (ja to en, translate.google.com)
15:13 moritz_ phenny: "geht das auch mit anderen sprachen"?
15:13 phenny moritz_: "this also with other languages" (de to en, translate.google.com)
15:14 _xiaomo_ joined #perl6
15:14 MindosCheng phenny: "你會說中文嗎"?
15:14 phenny MindosCheng: "Do you speak Chinese" (zh-TW to en, translate.google.com)
15:15 risou_ left #perl6
15:15 * MindosCheng pat phenny
15:16 moritz_ funny that the de -> en translation just skipped the first word
15:18 masak time to go see the new Harry Potter movie. :)
15:18 colomon +1
15:18 moritz_ hey, good idea
15:18 masak left #perl6
15:18 moritz_ but it only comes out tomorrow in .de
15:18 moritz_ have you all seen the "Harry Potter and the Methods of Rationality" fan fiction?
15:18 moritz_ very good read
15:19 moritz_ and hilarious
15:19 moritz_ just imagine how things might have turned out if Harry Potter was a rather intelligent scientist (and a bit of an asshole too) :-)
15:20 MayDaniel joined #perl6
15:21 MindosCheng Not a Perl 6 programmer?
15:22 moritz_ not quite :-)
15:22 moritz_ http://www.fanfiction.net/s/5782108/1/Har​ry_Potter_and_the_Methods_of_Rationality
15:22 MindosCheng Then we should write a Perl 6 programmer version of Harry Potter...
15:24 TheHarlot Well, Perl 6 Harry Potter might not be enough. To do a Harry Potter that works properly in this area of FlOSS, we would need to do all colours of the Fnord Rainbow.
15:24 MindosCheng or The Lord of the Rings.
15:24 jaldhar left #perl6
15:25 moritz_ in this fan fiction, Harry actually knows about the Lord of the Rings, which results in some amusing dialogs
15:25 TheHarlot Perl 6, JIntercal, KDE4, Python, Lisp and Haskel would all need to be put into this Harry Potter.
15:25 MindosCheng rakudo: Say
15:25 * TheHarlot blinks
15:25 p6eval rakudo 015d77: OUTPUT«Could not find sub &Say␤  in main program body at line 22:/tmp/YVvCOlJeJ8␤»
15:25 TheHarlot I need to read that then.
15:25 TheHarlot oh right--that reminds me, have any of the Perl5 Intercal bindings been update to work with Perl6?
15:25 MindosCheng rakudo: Say <Hello\#'[Fnord]World!>
15:26 p6eval rakudo 015d77: OUTPUT«Could not find sub &Say␤  in main program body at line 22:/tmp/Bz4FLMUPHS␤»
15:26 MindosCheng rakudo: say <Hello\#'[Fnord]World!>
15:26 p6eval rakudo 015d77: OUTPUT«Hello\#'[Fnord]World!␤»
15:26 TheHarlot trying to have fnord not appear in the output? By having a comment in the middle of a string?
15:27 TheHarlot if you do figure that out, let me know--as that would be rather...
15:27 TheHarlot ...
15:27 TheHarlot is there a clean output function?
15:27 moritz_ rakudo: say "Hello {#`[Fnord]}World"
15:27 p6eval rakudo 015d77: OUTPUT«Hello Nil()World␤»
15:28 moritz_ wow.
15:28 moritz_ rakudo: say "Hello {#`[Fnord];''}World"
15:28 p6eval rakudo 015d77: OUTPUT«Hello World␤»
15:28 TheHarlot std: say "Hello {#`[Fnord]}World"
15:28 p6eval std a194beb: OUTPUT«ok 00:01 119m␤»
15:28 MindosCheng rakudo: say "Hello"\#`[Fnord],"World!"
15:28 p6eval rakudo 015d77: OUTPUT«===SORRY!===␤Confused at line 22, near "say \"Hello"␤»
15:28 TheHarlot alpha: say "Hello {#`[Fnord]}World"
15:28 MindosCheng A bug here?
15:28 p6eval alpha : OUTPUT«(timeout)»
15:29 TheHarlot niecza: say "Hello {#`[Fnord]}World"
15:29 p6eval niecza dfc2971: OUTPUT«Hello Parcel()<instance>World␤»
15:29 MindosCheng rakudo: say "Hello"#`[Fnord],"World!"
15:29 p6eval rakudo 015d77: OUTPUT«HelloWorld!␤»
15:30 TheHarlot anyways--what I am thinking is there are plenty of instances where a string may need to be properly sanitized before it is flushed onto the buffer.
15:30 TheHarlot in the case on strings sent to a web browser, a SQL query, or a local file handle (including sockets).
15:31 TheHarlot is there some kind of buffer type, that allows for built in cleansing, before sending?
15:31 perlygatekeeper joined #perl6
15:33 rgrau left #perl6
15:35 MindosCheng Not sure, but different buffer has different escaping set
15:36 JimmyZ joined #perl6
15:37 mikehh left #perl6
15:39 wtw left #perl6
15:44 JimmyZ left #perl6
15:45 justatheory joined #perl6
15:49 justatheory left #perl6
15:51 tzhs left #perl6
15:53 mkramer left #perl6
16:01 mkramer joined #perl6
16:03 ch3ck joined #perl6
16:03 ch3ck m0insen
16:06 MayDaniel left #perl6
16:11 colomon jnthn: ping?
16:11 TheHarlot This is odd... I am seeing entrophy in my weighted music player already. I have around 3000 tracks loaded into it--and it seems it is around a certain area of the tracks is getting hit more often than others.
16:13 colomon what method are you using to do the weighting?
16:14 TheHarlot if Rakudo had threading implement, I would be able to have it grab the next song while the current one is playing (having a near seamless loading of the next track).
16:14 TheHarlot colomon, oh, each song starts with an arbitrary value.
16:14 TheHarlot A random number for track, is created based on the total of weights.
16:15 TheHarlot The actual track is decided by going through the list, and subtracting the current index from the random weight (unless the weight is greater than adjusted weight)
16:18 mkramer s/threading/asynchronous io/
16:19 mkramer if $horse ~~ Dead { .beat for ^10 }
16:21 TheHarlot ah--yeah... that is a dead horse to beat. As we have run() already capable of doing eval stuff in this program.
16:22 TheHarlot It is somewhat sanatized... (anything not a letter or digit has a \ put in front of it--but that does not mean really creative file names will not cause issues)
16:25 TheHarlot this channel does not have a pastebin does it?
16:25 moritz_ no; you just have to use one, and paste the URL yourself
16:26 lichtkind joined #perl6
16:28 TheHarlot http://pastebin.ca/1994688 << well, here is the music player as things currently stand.
16:30 TheHarlot No doubt since this is my "Hello World" as far as Perl 6 coding is concerned, there is enough stuff in that code to be horrifying to the more season Perler 6s here.
16:31 _xiaomo_ left #perl6
16:31 PerlJam for some reason the idea of a "seasoned Perl6er" strikes me as funny (in a good way)
16:32 moritz_ TheHarlot: the code looks fine (from a quick glance). Just using a MAIN sub would be more idiomatic than using @*ARGS directly
16:32 TheHarlot oh... right... no comments... I need to stop assuming I code stuff in a way that has the code itself indicate what it is doing... even if I do use PEP7 and PEP8 as effective LARTS (aside from my initial "no comments" in code)
16:32 fhelmberger joined #perl6
16:32 TheHarlot moritz_, ah... did not see anything about MAIN in anything I read on it.
16:33 moritz_ TheHarlot: http://perlgeek.de/en/article/5-to-6#post_14
16:33 TheHarlot moritz_, ah, thank you.
16:34 moritz_ and https://github.com/perl6/mu/blob/master/mi​sc/perl6advent-2010/articles/main-sub.pod
16:34 * moritz_ is sorry for linking only to stuff he wrote himself.
16:35 moritz_ it's just lack of known alternatives, not hubris
16:35 TheHarlot I dunno... I still like the fact that I need to call that by $ perl6 musical.p6 music_player all mplayer /var/Music 40
16:35 MindosCheng It's nice to have the document to read.
16:35 PerlJam moritz_: Is that a spoiler for this year's advent calendar?
16:35 moritz_ PerlJam: indeed
16:36 TheHarlot that added redundancy of putting "music_player" in something called "musical.p6" just tickles my fancy a bit.
16:44 leif left #perl6
16:45 PerlJam How do we differentiate the Perl 6 portion of the onion from the Perl 5 portion?  Or are there 2 separate onions?
16:45 PerlJam State of the Butterfly maybe?
16:46 moritz_ +1 to butterfly
16:46 dukeleto PerlJam: I believe the Perl onion is a fractal.
16:49 MindosCheng dukeleto++
16:49 dual joined #perl6
16:51 mila__ joined #perl6
16:51 MayDaniel joined #perl6
16:53 muixirt will there be Rakudo* binaries for windows in the future?
16:54 PerlJam muixirt: the present even
16:54 muixirt yes for july (rakudo-star.2010.07.msi ) or does that autoupdate?
16:55 mila_ left #perl6
16:56 * muixirt is estranged from the windows world for some time now
16:59 MindosCheng should be here, right? http://sourceforge.net/projects/parrotwin32/files/
16:59 timbunce left #perl6
17:00 * MindosCheng haven't try setup-parrot-2.10.0-rakudo-20101117.exe
17:01 muixirt MindosCheng: thanks
17:01 justatheory joined #perl6
17:01 moritz_ that'll be just the compiler, not star
17:02 * MindosCheng will try it tomorrow.
17:04 dukeleto How is the Rakudo dev release coming along?
17:05 moritz_ it's usually on the Thursday
17:05 moritz_ (so, tomorrow)
17:06 * PerlJam looks to see who's releasing
17:06 timbunce joined #perl6
17:06 dukeleto Y'all might want to do a test run, since Parrot just moved to Git.
17:07 dukeleto If something goes "boom", let me know.
17:07 MindosCheng moritz: The difference of Rakudo Start and the Rakudo is just the modules, right? So as long as I copy the modules myself, it should work, (or not?)
17:08 PerlJam MindosCheng: modules, docs, etc.
17:13 MindosCheng PerlJam: So I can copy the latest Rakudo compiler to Rakudo Star.
17:13 MayDaniel left #perl6
17:17 MindosCheng It seems the dynext/* are also needed.
17:20 TimToady left #perl6
17:22 TimToady joined #perl6
17:22 rindolf joined #perl6
17:22 daxim how are the web libraries coming along?  still littered with # RAKUDO bug workarounds?
17:23 Bzek left #perl6
17:27 cdarroch joined #perl6
17:27 cdarroch left #perl6
17:27 cdarroch joined #perl6
17:28 hercynium left #perl6
17:28 Bzek joined #perl6
17:29 daxim left #perl6
17:31 kjeldahl joined #perl6
17:36 dalek specs: 3104c5b | TimToady++ | S02-bits.pod:
17:36 dalek specs: [S02] relax Duration a bit
17:36 dalek specs:
17:36 dalek specs: Durations are now dimensional but not restrictive.  Added some
17:36 dalek specs: speculation about how to approach dimensional analysis gradually.
17:36 dalek specs: review: https://github.com/perl6/specs/commit/3​104c5be96261230257d6f5855262dc71923e24f
17:37 moritz_ TimToady++
17:47 mssm joined #perl6
18:06 dakkar left #perl6
18:24 dukeleto TimToady: you are making the chemists very happy by mentioning dimensional analysis in the spec ;)
18:28 timbunce left #perl6
18:30 TimToady whereas a physicist would never make such an error in the first place.  :P
18:33 TimToady from which we can deduce that NASA employs chemists as rocket scientists rather than physicists :D
18:34 * TimToady studied more chemistry than physics, hence I'm allowed to make chemist jokes
18:35 timbunce joined #perl6
18:35 thundergnat joined #perl6
18:35 TimToady if the jokes are in poor taste, then you can blame it on brain damage from Organic Chem...
18:37 thundergnat Should core functions be expected to return the same values for both method and sub calling conventions?
18:37 impious joined #perl6
18:37 MayDaniel joined #perl6
18:37 TimToady why not?
18:37 thundergnat rakudo: say ~sort(<l j k i>,<g e d c>);
18:37 p6eval rakudo 015d77: OUTPUT«c d e g i j k l␤»
18:37 thundergnat rakudo: say ~(<l j k i>,<g e d c>).sort;
18:37 p6eval rakudo 015d77: OUTPUT«g e d c l j k i␤»
18:38 TimToady that's not a difference in the return value
18:38 thundergnat in the second, it treats the parenthesis as a parcel
18:38 TimToady the first has a list context
18:38 hercynium joined #perl6
18:39 TimToady the second doesn't, though it could be argued that it should in this case
18:39 thundergnat How would I get list context in the second case?
18:39 TimToady well, if Parcel.sort doesn't coerce it, you could use .list yourself
18:39 TimToady or .flat maybe
18:39 Tene muixirt: you were looking for me?
18:40 thundergnat rakudo: say ~(<l j k i>,<g e d c>).list.sort;
18:40 p6eval rakudo 015d77: OUTPUT«g e d c l j k i␤»
18:40 TimToady rakudo: say ~(<l j k i>,<g e d c>).flat.sort
18:40 p6eval rakudo 015d77: OUTPUT«c d e g i j k l␤»
18:40 TimToady .flat it is
18:40 thundergnat Ah!
18:41 TimToady a good argument could be made for Any.sort to enforce a .flat
18:41 impious left #perl6
18:41 TimToady or at least Parcel.sort
18:42 thundergnat I'm ok with it not, I could see time when you wouldn' want it, I just couldn't figure out how to flatten the Parcel.
18:42 thundergnat In retrospect, .flat seems pretty obvious....
18:45 TimToady rakudo: say ((0 => 1) => 2 => 3 => 4).perl
18:45 p6eval rakudo 015d77: OUTPUT«0 => 1 => 2 => 3 => 4␤»
18:45 TimToady this is incorrect
18:46 MayDaniel left #perl6
18:46 TimToady it's losing the CAR info
18:46 colomon CAR?
18:46 ingy hi o/
18:46 TimToady CAR vs CDR
18:46 PerlJam greetings ingy
18:46 sorear good * #perl6
18:46 colomon TimToady: ooo, old school.
18:46 TimToady ö/
18:46 sorear 34.16% passed... I've seen worse
18:46 ingy haha
18:48 colomon rakudo: say ((0 => 1) => 2).perl
18:48 p6eval rakudo 015d77: OUTPUT«0 => 1 => 2␤»
18:48 TimToady the data structure is correct, but .perl isn't putting parens around the CAR element
18:48 colomon oh
18:48 colomon oh, that's ugly
18:49 colomon rakudo: say ((0 => 1) => 2).value
18:49 p6eval rakudo 015d77: OUTPUT«2␤»
18:49 colomon rakudo: say (0 => 1 => 2).value
18:50 p6eval rakudo 015d77: OUTPUT«1 2␤»
18:50 colomon TimToady: do you have a proposed solution?
18:50 colomon everything I can think of would add an obscene number of parentheses to .perl output.
18:51 TimToady .oO(Lisp)
18:51 PerlJam colomon: you're asking this of a man who just referenced a lispy idiom...
18:51 PerlJam :-)
18:52 TimToady I would suggest parens only if the representation of the key requires an operator of the wrong precedence
18:52 TimToady which means precedence info has to flow up or down somewhere in the process
18:53 TimToady while we're at it, we can pretty print by default :)
18:53 colomon which means everything that implements .perl has to know precedence, too.  :\
18:53 TimToady most of them just know "I am a term"
18:54 TimToady or "I am a method call"
18:54 colomon I guess MyClass.new(whatever) doesn't have to worry about precedence...
18:54 TimToady it's . precedence
18:54 TimToady one looser than term
18:55 colomon bother
18:55 TimToady and $foo.bar: $baz  comes back with a different precedence on each end
18:56 TimToady as does any list operator
18:56 TimToady so sending required precedence downward might make more sense than propagating upward
18:56 TimToady and let the child parenthesize if necessary
18:57 TimToady or just punt and always use foo() notation
18:57 colomon I forsee a need for an obscene number of tests based on this.
18:58 colomon *foresee
18:58 TimToady some people like obscenity
18:58 jnthn evening, #perl6
18:58 jnthn ...wow, that was an unfortunate time to join :)
19:00 jnthn Isn't .perl a little bit implementation specific and not generally tested for its specific content at the moment?
19:00 TimToady well, there aren't that many data structures that are naturally expressed with operators other than , and =>
19:00 jnthn ah, just saw the problem that led to the discussion :)
19:00 TimToady jnthn: sure, but it'd be nice if it did CAR/CDR right
19:00 jnthn Hmm. :)
19:01 jnthn TimToady: Aye.
19:01 dean-ero joined #perl6
19:02 jnthn I guess it's not quite as simple as the list and pair .perl methods being able to look one level deeper at the type of the thing they're about to emit.
19:02 colomon I think I may vote to always parenthesize in Pair, at least for now
19:02 TimToady I vote for doing it right
19:02 TimToady eventually :)
19:03 colomon TimToady: that's easy for you, you're going to make us do the work.  ;)
19:03 * TimToady doesn't make anybody do anything
19:03 jnthn TimToady: Aye, I was just pondering if there was a simple way then realizing "probably not" :)
19:03 jnthn Well, it only gets really fun if we decide .perl should be able to handle self-referential data structures too... :)
19:04 TimToady taken to extremes, one always gets the entire context every time you say .perl
19:05 TimToady but a reasonable default probably doesn't go that far
19:05 jnthn Extremists scare me. :)
19:06 jnthn That's almost bordering on serializable closures. :)
19:06 TimToady I would like some automatic prettifying, though perhaps with a variant method
19:07 TimToady it's hard to do type matching if you consider the context of a closure to be part of its type
19:07 proller joined #perl6
19:07 proller_ joined #perl6
19:08 TimToady need a way to force nominal typing on the context so it doesn't have to do an infinitely regressing structural type match
19:08 proller left #perl6
19:09 TimToady you pull in a serialized closure, and call it, and 10 hours later it says "I can't unify the current contexts"
19:10 rindolf left #perl6
19:10 TimToady but I think .perl should default to naming code, not serializing it
19:10 TimToady even if it has to make up a pseudonum
19:10 TimToady *nym
19:11 TimToady maybe .perly should prettify by default
19:15 * sorear is trying to figure out why if 1 { } # Unexpected block in infix position (two terms in a row?)
19:15 PerlJam And there would only need to be one .perly as opposed to the .perl that are strewn about the class hierarchy.
19:15 sorear quite a number of the failing files are hitting variations on this
19:15 mssm left #perl6
19:17 TimToady it's being LTM'd as a hash instead of a block?
19:18 TimToady or { isn't being recognized as an infixstopper when the GOAL is {
19:19 TimToady PerlJam: there would still be .perl I think; .perly is just short for .perl(:pretty)
19:19 TimToady every new type needs to know how to perlify
19:19 TimToady if only be derivation
19:20 PerlJam I was thinking that .perly would just use .perl but have all of the "precedence logic" in one place.
19:20 TimToady prety printing is different from doing precedence right
19:20 TimToady *tt
19:21 TimToady precedence isn't related to indentation in this language :)
19:22 PerlJam So what would $pair.perl(:pretty) look like?  If you say that it adds parens, then I think we have different ideas of "pretty"  :)
19:22 takadonet Are lookbehind and lookahead in regex are implemented in rakudo?
19:22 TimToady :pretty has nothing to do with parens either
19:22 takadonet rakudo: "a cdef" ~~ m/<after a <.ws> c> def/
19:22 p6eval rakudo 015d77: OUTPUT«Method 'after' not found for invocant of class 'Cursor'␤  in <anon> at line 22:/tmp/CKMdotEPOA␤  in 'Cool::match' at line 2492:CORE.setting␤  in main program body at line 22:/tmp/CKMdotEPOA␤»
19:23 PerlJam TimToady: okay, so you're only talking indentation?
19:23 PerlJam and maybe newline
19:23 PerlJam er, newlines
19:23 PerlJam whitespace changes only.
19:24 TimToady since not many constructs actually care, perhaps a $*PRETTY dynamic var would be better than an argument that has to be propagated
19:24 PerlJam +1 to that
19:24 sorear TimToady: infixstopper is seeing a $*GOAL = Any
19:25 Guest21878 left #perl6
19:25 TimToady xblock is supposed to set the goal to '{'
19:26 sorear yeah... *baffling*
19:27 TimToady sounds like maybe your dynvar mechanism could have a leak
19:29 thundergnat left #perl6
19:31 colomon jnthn: on the "hey, it's not my fault front" -- just occurred to me to take the not_curried shield off of a fresh copying of Rakudo and see what happens.  And I still get the set_number_native() not implemented in class 'Num' error.
19:32 colomon jnthn: so it's not something stupid I did, it's somehow a fundamental issue with WhateverCode-ing the Range operator.  (1..* generates a code block with no issues in this version of Rakudo.)
19:32 sorear hmm, infixish is generating the code for :my $*GOAL;
19:33 sorear I suspect a leak in regex_infix:sym<~> now
19:34 jnthn colomon: The oddness goes on...
19:38 Guest21878 joined #perl6
19:41 colomon jnthn: just to spread the misery around:
19:41 colomon rakudo: * + * * *
19:41 p6eval rakudo 015d77: OUTPUT«===SORRY!===␤set_number_native() not implemented in class 'Num'␤»
19:41 * colomon is not having a good day at $work
19:42 sorear $work uses Rakudo?
19:42 moritz_ $work uses colomon
19:42 sjohnson heh
19:42 sjohnson colomon: whats the mattah
19:43 colomon sjohnson: This week, non-perl 6 bug reports coming in faster than I can fix them.  And everything I try to do hacking Rakudo fails mysteriously.
19:45 dalek specs: 7846594 | TimToady++ | S06-routines.pod:
19:45 dalek specs: [S06] allow = on 'rw' subject to restrictions
19:45 dalek specs:
19:45 dalek specs: It's okay to have a default on a parameter marked 'rw' provided
19:45 dalek specs: the default is nameable at compile time and is bindable as an lvalue.
19:45 dalek specs: review: https://github.com/perl6/specs/commit/7​846594ee4e931718ca221be554c2967eebac49d
19:45 sjohnson colomon: :(
19:59 sorear quite a large proportion of the STD bugs I've found have been STD not acknowledging the existance of Match
20:00 TimToady phone?
20:00 dalek niecza: e302aa3 | sorear++ | / (2 files):
20:00 dalek niecza: Fix scoping of $*GOAL with ~
20:00 dalek niecza: review: https://github.com/sorear/niecza/commit/​e302aa34d4418632243eac337894ed7810002950
20:05 * sjohnson is calling TimToady
20:07 diakopter heh
20:07 diakopter maybe you'll reach the other Larry Wall
20:07 diakopter he likes to answer sometimes
20:11 takadonet marching forward!
20:11 sjohnson haha i dont have his phone number
20:11 takadonet https://github.com/Takadonet/Text-Tabs-Wrap
20:12 dalek niecza: c861224 | sorear++ | v6/tryfile:
20:12 dalek niecza: Fix some Match-y fossils in BORG handling
20:12 dalek niecza: review: https://github.com/sorear/niecza/commit/​c861224974861e43e1928928185808407d0abd74
20:12 colomon takadonet++
20:15 dalek 6model: 72c91f0 | diakopter++ | / (2 files):
20:15 dalek 6model: [dotnet] fix bug jnthn++ found; add tests for the non-"is rw" case
20:15 dalek 6model: review: https://github.com/jnthn/6model/commit/7​2c91f006b3eb86d71967322d5698759826fc1e4
20:17 icwiener joined #perl6
20:17 colomon rakudo: 2 + * * *
20:17 p6eval rakudo 015d77: OUTPUT«===SORRY!===␤set_number_native() not implemented in class 'Num'␤»
20:17 wamba left #perl6
20:18 colomon rakudo: * * * + 2
20:18 p6eval rakudo 015d77:  ( no output )
20:18 dalek 6model: 8c7d903 | diakopter++ | common/NQP/NQPSetting.pm:
20:18 dalek 6model: [dotnet] remove extraneous 'return'
20:18 dalek 6model: review: https://github.com/jnthn/6model/commit/8​c7d903c0025c416000e419a793d2d78726f3ee0
20:19 colomon rakudo: say (* * * + 2)(4, 5)
20:19 p6eval rakudo 015d77: OUTPUT«22␤»
20:21 thepler joined #perl6
20:23 fhelmberger left #perl6
20:23 sorear huh, I'm spending 15% of my time in System.String.StartsWith
20:26 diakopter which is likely inlined by .net jit; dunno about mono's
20:27 snarkyboojum left #perl6
20:27 sorear looking closer at the profile, StartsWith uses System.Globalization.*
20:27 sorear no good, since I'm using it to find all the implementations of protoregexes
20:29 TimToady in the good old days, we used to compare the first character ourselves before calling into the C library
20:29 justatheory left #perl6
20:29 sorear also, GetLexer (hits cache then delegates to Lexer::.ctor) - 18 ms/call.  Lexer::.ctor - 13 ms/call
20:29 sorear *headdesk*
20:29 diakopter hee
20:30 * diakopter suggests writing your own String.StartsWith
20:32 sorear There's probably a StartsWithInvariant hiding somewhere that doesn't pull Unicode shenanigans
20:32 * sorear profiled tryfile.exe -e 'say 2 + 2'
20:33 Guest21878 left #perl6
20:33 sorear which is a bit slower in niecza-std (3.9s) than viv (3.3s).
20:33 Guest21878 joined #perl6
20:33 sorear most of that time is spent in the JIT, so what I need to do is make the code smaller :/
20:34 sorear 3.5MB or so of CIL bytecodes
20:34 * TimToady suggests implementing a smaller language, such as Lisp  :)
20:34 diakopter or perlesque!
20:34 diakopter oh wait..
20:36 sorear "Unable to resolve method worryobs in class Match"
20:36 sorear TimToady: Do you expect { $¢.<foo>:delete } to work in Real Perl 6?
20:37 TimToady I hope so--either that, or we have to have some notation that can pass a multidim subscript without distortions as an argument
20:38 sorear Where do multidim subscripts connect to this?
20:38 masak joined #perl6
20:38 masak ahoy!
20:39 diakopter urk
20:39 masak good movie. see it.
20:39 takadonet masak:  https://github.com/Takadonet/Text-Tabs-Wrap
20:39 TimToady .delete($key) doesn't scale transparently
20:39 * masak looks
20:41 masak takadonet: that's a very old Makefile you've got there. are you familiar with alien technology?
20:41 masak http://github.com/masak/ufo
20:42 takadonet masak: I 'stole' that makefile from bioperl
20:42 * masak runs 'make test'
20:42 takadonet thanks
20:43 takadonet one test will fail
20:43 masak I have 4 test failures so far.
20:43 masak 1 in t/37000.t and 3 in t/belg4mit.t
20:43 masak a few files with "No subtests run".
20:44 takadonet not doing converting to p6 code
20:44 masak oh sorry, 3 in t/37000.t and 1 in t/belg4mit.t
20:45 masak anyway I have 8 test files passing all tests. good work.
20:45 masak takadonet++
20:46 takadonet well 370000.t i forgot to put that we are testing 3 and not 6
20:46 takadonet belg4mit well... that still need work
20:47 takadonet some of the test are using some nyi regex features so have to fudge them for now
20:47 masak or work around.
20:47 takadonet ya
20:47 takadonet little hard... using lookahead and lookbehind stuff
20:49 molaf joined #perl6
20:49 masak tell me about it.
20:50 * masak emulates lookbehind in Yapsi
20:51 * sjohnson tells masak about it
20:52 masak sjohnson: I have friends doing that all the time, too. they're very literal-minded.
20:52 sjohnson haha
20:54 plainhao left #perl6
20:54 sjohnson hmm, someone said "Tell me about it" twice just behind me
20:54 sjohnson funny how things stick out when you pay attention to them
20:55 dalek niecza: bdf7346 | sorear++ | / (2 files):
20:55 dalek niecza: Replace string.StartsWith with a custom version
20:55 dalek niecza:
20:55 dalek niecza: Saves about 3% on startup since we're not checking CultureInfo.
20:55 dalek niecza: review: https://github.com/sorear/niecza/commit/​bdf7346c6b08e9e0b4acd25b73aad997ea9b0be2
20:55 masak sjohnson: that's called "positive confirmation bias". very common.
20:56 masak one goes to buy a skateboard. suddenly everyone has a skateboard, or talks about skateboards.
20:57 diakopter sorear: you can probably put the ++ inside the while
20:57 sjohnson one guy uses perl6, then everyone does too!
20:57 colomon The one that always startles me is when you learn about something, and then it seems to come up everywhere for a few days.
21:10 icwiener left #perl6
21:10 ggoebel joined #perl6
21:11 colomon jnthn: additional data point: if I change my $left_arity := $left.arity; to be my $left_arity := 0 + $left.arity; Rakudo no longer even will compile, giving that say set_number_native error message at compile time.
21:13 * sorear wonders if a separate lexer might be faster than having SkipWhite() calls strewn all over everywhere
21:13 aindilis left #perl6
21:13 sorear diakopter: Which?
21:14 dalek niecza: b9ee30f | sorear++ | lib/ (2 files):
21:14 dalek niecza: Optimise space handling in jsync loader
21:14 dalek niecza: review: https://github.com/sorear/niecza/commit/​b9ee30fc8d8fa0a5f071dee0abb1533d1be71498
21:14 Guest21878 left #perl6
21:15 proller_ left #perl6
21:16 diakopter sorear: both
21:17 colomon rakudo: 2 + * * *
21:17 p6eval rakudo 015d77: OUTPUT«===SORRY!===␤set_number_native() not implemented in class 'Num'␤»
21:18 * masak submits rakudobug
21:18 colomon masak: that one?
21:18 masak don't you think so?
21:18 sorear diakopter: They are in the while?
21:18 colomon masak: I submitted it an hour ago.
21:18 masak oh, ok. colomon++
21:19 wallberg left #perl6
21:19 colomon masak++ # if only you'd been here then.
21:19 pyrimidine left #perl6
21:19 masak mm, hypothetical karma. tastes just like real karma. :)
21:19 colomon I did it again so I could compare what it does versus what my hacked version of Rakudo does.
21:19 masak people: any ideas about what to call tomorrow's Rakudo release?
21:20 masak the release_guide only has one suggestion: BristolBath.
21:20 masak and I don't know why that'd be a candidate.
21:22 TimToady masak: you could file my ((1 => 2) => 3).perl bug
21:23 masak TimToady: haven't backlogged yet, but I'll have a look.
21:23 masak thanks.
21:23 rgrau joined #perl6
21:23 TimToady n
21:23 TimToady grr
21:23 TimToady nap &
21:25 sorear diakopter: do you know of a good way to set up lots of delegates?
21:26 sorear diakopter: right now I use a method BOOT to set up meta objects (most importantly, Sub instances); this method is *huge* and takes almost a whole second to JIT
21:27 sorear I'd like to make it into a data-driven thing but I don't know how to input the delegates
21:29 Guest21878 joined #perl6
21:29 masak rakudo: say ((0 => 1) => 2 => 3 => 4).perl
21:29 p6eval rakudo 015d77: OUTPUT«0 => 1 => 2 => 3 => 4␤»
21:29 diakopter sorear: I haven't thought through that
21:29 masak <TimToady> this is incorrect
21:30 masak hm, wonder if we have such a bug in RT somewhere...
21:30 * masak looks
21:31 masak seems not.
21:31 * masak submits rakudobug
21:32 * sorear idly wonders how much of a win it would be to replace Dictionary<string,T> with a hand-written StringDictionary
21:33 snearch left #perl6
21:34 justatheory joined #perl6
21:34 masak rakudo: say ((0 => 1) => 2 => 3 => 4).value.perl
21:34 p6eval rakudo 015d77: OUTPUT«2 => 3 => 4␤»
21:35 masak the structure generated is right, it's just the output from .perl that doesn't convey it.
21:36 masak according to S03, C«=>» associates to the right, and Rakudo seems to get that bit right.
21:37 colomon jnthn: and it's definitely the action of adding the .arity members that causes the trouble.
21:37 diakopter sorear: JIT time for method size is definitely geometric (and/or exponential!), so as long as you can split it up into different methods, it doesn't necessarily need to be data-driven
21:37 masak oh, TimToady++ already reached that conclusion in the backlog.
21:37 diakopter sorear: (b/c of optimization passes that are recursive)
21:41 sorear I see
21:41 sorear Although I'm still not happy with 3.5MB from 7500 lines of code
21:41 diakopter a lot of inlining :D
21:42 ggoebel left #perl6
21:43 diakopter sorear: have you tried running the .exe disabling various sets of JIT optimizations?
21:43 diakopter (that helped a *ton* with running perlesque.exe)
21:43 diakopter which had a gigantic monolithic method
21:44 diakopter granted, it had millions of labels/switches which I don't think yours does
21:47 colomon jnthn: I can haz work around.
21:47 * colomon also haz major failures in his C++ code for $work
21:49 colomon anyone quickly know where the WhateverCode tests are in the spectests?
21:53 colomon never mind
21:54 colomon rakudo: say (0,0,0,0,0,0) >>+>> ((1,2) xx *)
21:54 p6eval rakudo 015d77: OUTPUT«(timeout)»
21:56 kjeldahl left #perl6
21:56 sorear diakopter: I blame the code bloat on global CPS transform
21:57 ggoebel joined #perl6
21:58 justatheory left #perl6
22:01 dalek 6model: 9269db5 | jonathan++ | common/NQP/NQPSetting.pm:
22:01 dalek 6model: [common] Fix a really silly bug in the multi candidate incorporater that diakopter++ ran into. Also rip out a pir:: that somehow snuck in.
22:01 dalek 6model: review: https://github.com/jnthn/6model/commit/9​269db50c367d7fb97041f71817b1ba56111fd0d
22:01 dalek 6model: 0b1a12d | jonathan++ | common/NQP/NQPSetting.pm:
22:01 dalek 6model: [common] An extra sanity check for add_parent (discovered missing while fixing the previous issue, though unrelated to it).
22:01 dalek 6model: review: https://github.com/jnthn/6model/commit/0​b1a12db46f989cb6a12d20344dfeb471cba5a95
22:01 justatheory joined #perl6
22:03 ggoebel left #perl6
22:03 sorear mm, jonathan
22:03 sorear jnthn: you need to fix your CREDITS entry
22:04 sorear the poller uses your GitHub user id, and falls back to CREDITS; push-based just uses CREDITS directly since I don't seem to have access to user ids in the context
22:05 colomon woo-hoo!  my latest build for $work crashes much faster than the last one did!
22:06 colomon rakudo: my @a = 1..4; say @a[1..*]
22:06 p6eval rakudo 015d77: OUTPUT«(timeout)»
22:06 jnthn colomon: Nice work on the workaround.
22:06 sorear whee!  it's up to 39.35% percent roast success!
22:07 jnthn colomon: Was distracted tracking down the other bug. :)
22:07 colomon jnthn: unfortunately have slowed progress to a crawl by stopping to implement test cases before actually putting together the full working version.
22:07 jnthn (in 6model)
22:07 sorear maybe I'll have it up to 96% by Christmas.
22:08 colomon for some reason $right_arity := $right.arity; $counter < $right_arity works fine, but $counter + $right.arity is right out.
22:08 jnthn sorear: What's broken?
22:08 jnthn (re CREDITS entry)
22:09 sorear jnthn: "jonathan" is stealing your karma.
22:10 nadim left #perl6
22:10 sorear (maybe we should move CREDITS into perl6/mu or some other open-commit repository?)
22:10 Trashlord left #perl6
22:10 jnthn sorear: Damn, I hate that karma stealer! If I see him, I'll smack him.
22:11 jnthn @karma jonathan
22:11 jnthn ...what tracks it now anyway?
22:11 jnthn aloha: karma jonathan
22:11 aloha jnthn: jonathan has karma of 42.
22:11 jnthn aloha: karma jnthn
22:11 aloha jnthn: jnthn has karma of 226.
22:11 jnthn heh :)
22:11 jnthn seems like switching now is the answer ;)
22:11 jnthn sorear: Which CREDITS file?
22:12 sorear jnthn: Parrot's is the only one that ever mattered
22:12 jnthn ok
22:13 sorear but I can definitely see a use case for perl6/mu/misc/dalek-CREDITS
22:14 dalek roast: a3e9233 | (Solomon Foster)++ | S02-builtin_data_types/whatever.t:
22:14 dalek roast: Add tests to make sure 1..* is a Range, while 1..*-1 is a WhateverCode that returns a Range when you evaluate it.  Also tests for * + * * *.
22:14 dalek roast: review: https://github.com/perl6/roast/commit/a​3e92331f823e70ca92a0a91a1169db7fea5ff58
22:15 masak ran spectests. failures in t/spec/S02-magicals/pid.t (1) and t/spec/S32-io/IO-Socket-INET.rakudo (2).
22:15 masak anyone mind terribly if I mark these as TODO, since they appear to show up again and again on some platforms?
22:18 sjohnson this little piggy went to the market!
22:18 sorear I guess colomon doesn't have a proper CREDITS line eather
22:21 masak oh, and S32-io/IO-Socket-INET.t uses a variable called $*OS, but there's no reference to such a variable in S28, let alone the rest of the spec.
22:21 jnthn &
22:24 colomon afk # patch arriving later
22:27 sorear hrm, looks like I need to modify my JSYNC writer to make two passes over the input
22:27 sorear right now it conservatively emits an anchor for every object, but processing all those extra anchors is slowing down the reader
22:28 ggoebel joined #perl6
22:28 ggoebel left #perl6
22:29 dalek roast: bc3da13 | masak++ | S (2 files):
22:29 dalek roast: [S02, S32] fudged tests TODO for Rakudo
22:29 dalek roast:
22:29 dalek roast: These tests have been failing on at least one platform (darwin)
22:29 dalek roast: for a long time now. Fudging them as TODO to clear the signal
22:29 dalek roast: from noise in the spectest runs.
22:29 dalek roast: review: https://github.com/perl6/roast/commit/b​c3da1379cdbfe7e49b88235c26f9d8bf09a751c
22:32 wamba joined #perl6
22:33 masak rakudo: say "_block".trans(/foo/ => "bar")
22:34 p6eval rakudo 015d77: OUTPUT«barbar␤»
22:34 masak how barbaric.
22:34 * masak submits rakudobug
22:35 masak S05:4173: "To achieve greater power, any recognition element of the left side may be specified by a regex that can do character classes, lookahead, etc."
22:36 masak I see no sign in the Rakudo source code that Str.trans takes regexes into account, so I'll make this a TODO ticket.
22:36 masak the output above is entirely spurious.
22:36 whiteknight joined #perl6
22:40 * sorear is thinking about the best way to handle this two passiness
22:42 Guest21878 left #perl6
22:48 donaldh joined #perl6
22:48 stkowski joined #perl6
22:51 diakopter sorear: the code bloat in niecza or in perlesque
22:51 diakopter ?
22:52 sorear niecza
22:53 dju joined #perl6
22:55 mavrc left #perl6
22:58 dju left #perl6
22:58 dju joined #perl6
22:58 dju left #perl6
22:58 dju joined #perl6
22:59 ggoebel joined #perl6
22:59 sftp left #perl6
23:02 muixirt left #perl6
23:03 masak blog post! http://strangelyconsistent.org/blog/nove​mber-17-2010-suppression-and-regressions
23:03 ggoebel left #perl6
23:03 Trashlord joined #perl6
23:03 masak left #perl6
23:03 masak joined #perl6
23:07 mkramer watch tail -n 150 /mnt/weblog00/job*current
23:07 mkramer wrong window
23:07 mkramer sorry
23:09 sjohnson can i watch anyway?
23:10 diakopter hee
23:12 mkramer left #perl6
23:12 dean-ero left #perl6
23:12 mkramer joined #perl6
23:17 []Pax[]Ott0mana joined #perl6
23:18 mkramer left #perl6
23:25 TheHarlot left #perl6
23:25 TheHarlot joined #perl6
23:28 masak at some point, I'd like to discuss spectest regression policy.
23:28 []Pax[]Ott0mana left #perl6
23:28 sorear masak: that sounds interesting
23:29 masak in my November blog post today, I mention a functionality in .trans that Rakudo used to have.
23:29 masak there are spectests written for them, but those tests are fudged with #?rakudo skip
23:30 colomon masak: agreed it's an important issue
23:30 masak I think doing it that way puts all the weight on the application developer.
23:30 masak regressing on spectests from one rakudo version to another should be a very serious, almost stigmatized thing.
23:30 masak it should be accompanied by big bold letters of warning in the release notes.
23:31 masak also, one day we'll have the tools to detect such regressions (even those not yet in the spectest suite) through nightly test runs. but right now we don't, and those regressions are often found long after they occurred, like in this case.
23:32 masak no-one has attempted to run November on ng until now. apparently, it's the only alpha application that used regexes in .trans
23:33 colomon I dunno if it made sense to do a regression report on the alpha => current master switch, there were a ton of regressions then.
23:33 colomon Do you have any feel if there have been serious ones since then?
23:34 masak there are little ones all the time.
23:34 masak most of them are caught, but manually.
23:34 masak I really should take the time to have a close look at Emmentaler this month. we need it.
23:34 colomon spectest regressions, I mean.  Of course actual regressions happen all the time.
23:35 masak I put in two spectest regressions only two hours ago.
23:35 colomon I guess I specifically mean, "this spectest worked last week, but we're fudging it out now."
23:35 masak well, in this case it was tests failing consistently on one platform.
23:35 masak they should probably have been fudged long ago.
23:37 hercynium left #perl6
23:37 colomon actually, I'd argue we need a different fudging policy for that.  Something that says, "Hey, just because this works on the platform you are tested on doesn't mean it actually works everywhere."
23:37 TheHarlot left #perl6
23:38 masak not sure that kind of information belongs in fudging.
23:38 masak I think the tests should be platform-independent enough to not have to have such fudging information.
23:38 colomon but if it's not there, what's to stop someone from undoing the fudging next week?
23:38 masak we're writing Rakudo on a VM, after all.
23:38 sorear the *tests* are platform independant
23:39 sorear the *bugs* aren't
23:39 masak colomon: I put the reason in the fudge message.
23:39 TheHarlot joined #perl6
23:39 masak colomon: it said on what platform the test fails.
23:39 sorear masak: our VM has platform-dependant bugs.  Fact of life.
23:39 ch3ck left #perl6
23:39 masak sorear: oh, indeed.
23:40 colomon So we shouldn't have a policy about putting that sort of information in the fudge message?
23:40 masak sorear: the question here was whether to make the fudging system platform-aware because of that.
23:40 masak colomon: yes, maybe.
23:41 risou joined #perl6
23:42 masak by the way, I'm sorely tempted to remove S32-io/IO-Socket-INET.t from t/spectest.data. once I had fudged out the failing test 2, tests 3-11 started failing. the test file is a bit of a problem child, and a source of noise.
23:42 TimToady smoketests aren't pretty unless they have some red boxes
23:42 masak I disagree.
23:43 masak I think red boxes should be signal, not noise.
23:43 kulp joined #perl6
23:44 masak a while ago, I linked to an article about some people who took testing *very* seriously. I remember finding it inspiring. let me see if I can find it in the logs.
23:45 ch3ck joined #perl6
23:46 alester left #perl6
23:47 sorear :/  My last rewrite of the JSYNC system made it slower
23:48 sorear (git reset to the rescue)
23:51 diakopter sorear: how fast can it slurp in text? (ascii/time I guess)
23:51 masonkramer left #perl6
23:51 masonkramer joined #perl6
23:51 sorear diakopter: System.IO.File.ReadAllText + O(1)
23:52 diakopter nice
23:52 sorear oh, you meant parse
23:52 diakopter yeah
23:52 sorear I haven't properly benchmarked it but --setting CORE is about .8-.9 seconds slower for 420KB of text
23:52 sorear vs. --setting NULL
23:53 diakopter ah
23:53 diakopter that's not bad considering your cpu
23:53 diakopter imho
23:53 masak ah, here it is. recommended reading for people who like testing. http://timothyfitz.wordpress.com/2009/​02/10/continuous-deployment-at-imvu-do​ing-the-impossible-fifty-times-a-day/
23:54 colomon oooo, yeah, it would be great if all the major platforms were run automatically on check-ins, with messages e-mailed to the concerned parties if something broke....
23:54 masak it would.
23:55 masak runnning the spectests distributed is a nice idea too.
23:55 flussence I'm already doing that nightly for x86-64, I'd do it more often if it didn't take 2.5 hours...
23:55 sorear hmm.  now the setting load takes 2.3 seconds
23:56 stkowski left #perl6
23:56 cdarroch left #perl6
23:56 masak didn't Alias__ offer us a Microsoft farm recently? asking whether we would have any use for a cluster of computers?
23:58 masak 'Continuous Deployment means running all your tests, all the time. That means tests must be reliable. We’ve made a science out of debugging and fixing intermittently failing tests. When I say reliable, I don’t mean “they can fail once in a thousand test runs.” I mean “they must not fail more often than once in a million test runs.”'
23:58 masak this was the bit that made me think of the article today.

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

Perl 6 | Reference Documentation | Rakudo