Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2011-07-01

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 pmichaud evalbot rebuild nom
00:00 p6eval OK (started asyncronously)
00:09 envi left #perl6
00:10 pmichaud nom:  my @a = [\+] 1..*; say @a[^20];
00:10 p6eval nom: OUTPUT«1 3 6 10 15 21 28 36 45 55 66 78 91 105 120 136 153 171 190 210␤»
00:10 pmichaud \o/
00:15 tokuhirom left #perl6
00:27 cdarroch left #perl6
00:31 colomon joined #perl6
00:45 colomon left #perl6
00:52 dalek rakudo/nom: bef372d | pmichaud++ | src/ (3 files):
00:52 dalek rakudo/nom: Add negation meta-op, stub in some other metaops as NYI.
00:52 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/bef372d949
00:54 daniel-s joined #perl6
00:55 donri left #perl6
01:06 thundergnat left #perl6
01:22 colomon joined #perl6
01:26 lue for the nom branch, should I use --gen-parrot or --gen-nqp (in the configure)?
01:34 pmichaud you can use both, but --gen-parrot is sufficient
01:34 pmichaud --gen-nqp by itself means it will try to look for a parrot (and fail if it doesn't find one)
01:34 pmichaud I typically do both in my configuration.
01:35 lue I just tried --gen-nqp, but it failed (couldn't find parrot)
01:36 lue So just go --gen-parrot --gen-nqp ?
01:37 lichtkind left #perl6
01:46 jnthn morning, #perl6
01:47 lue good morning jnthn o/
01:50 whiteknight left #perl6
01:53 pmichaud jnthn: o/
01:53 antony_ left #perl6
01:54 jnthn pmichaud: I see you've been hacking. :)
01:55 pmichaud a bit :)
01:55 pmichaud I like the way the metaops are turning out
01:56 jnthn nice :)
01:56 pmichaud right now I'm working on Xop.... which means it's time to impleemnt LoL  :)
01:58 jnthn ohlol!
01:58 lue I just read about LoLs a couple of days ago (I think on pmichaud's blog, not sure). Perl6 is the greatest language ever! \o/
01:59 zb left #perl6
01:59 zb joined #perl6
02:06 Khisanth left #perl6
02:07 lue Is it just me or did rakudo/nom lose the resource-intensive core.pm > core.pir step? I don't see it in the output.
02:08 pmichaud it's there
02:08 pmichaud it's now CORE.setting > CORE.setting.pir
02:08 PerlJam lue: it's just much smaller for now  :)
02:08 pmichaud it might be less resource-intensive, so far.
02:08 woosley joined #perl6
02:09 jnthn Cursors and matches are a  bit lighter now, so it may well be less resource-intensive overall.
02:09 jnthn (Even when we have all the stuff back.)
02:11 lue &lue.sleep("~1hour");
02:11 lue (where .sleep means the computer's idea of sleep, not a human's.)
02:12 Pleiades joined #perl6
02:17 * jnthn works on @slide :)
02:18 PerlJam @slide?
02:18 jnthn PerlJam: Slides for my talks tomorrow :)
02:19 PerlJam oh ... I was wondering if that was some new thing like slice, but different
02:19 PerlJam It's hard to tell around here.  Words are always springing into being
02:19 jnthn :P
02:19 PerlJam (or old words are given new nuance)
02:20 Khisanth joined #perl6
02:21 PerlJam greetings Khisanth
02:21 PerlJam jnthn: don't forget about the $_ problem for when you're bored with your slides  :)
02:22 jnthn :)
02:22 * PerlJam goes back to wordsmithing the last few lines of a proposal
02:28 wubo joined #perl6
02:43 [Coke] tools/autounfudge needs threads? :(
02:43 * [Coke] lets moritz++ keep running it, then.
02:57 pmichaud jnthn: http://gist.github.com/1057784  # bug?
02:57 pmichaud ( @a should not be marked as a container here. )
03:01 jnthn pmichaud: Looks like we're getting it stuck in a scalar container, yeah.
03:02 jnthn Will investigate.
03:02 pmichaud afk for a short while
03:05 jnthn pmichaud: Oh, looks like a fail to set the sigil flags in the parameter bitfield.
03:05 jnthn Trying that.
03:08 jnthn pmichaud: yeah, that gets 0 0
03:10 lue Can anyone else check and see if their perl6 -e is working? With master rakudo, it does a ===SORRY!=== message, and with nom rakudo, I get Parrot error output. [try perl6 -e "my $x = 1; say $x;"]
03:11 jnthn pmichaud: fixed
03:11 Pleiades left #perl6
03:11 jnthn C:\Consulting\rakudo>perl6 -e "my $x = 1; say $x"
03:11 jnthn 1
03:11 jnthn lue: Works for me.
03:11 jnthn (that's nom)
03:11 dalek rakudo/nom: e366355 | jonathan++ | src/Perl6/SymbolTable.pm:
03:11 dalek rakudo/nom: Make sure @ and % sigil flags are set. Resolves bug noticed by pmichaud++.
03:11 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e366355d5a
03:13 lue could it be that I have a rakudo/ folder (master, ran make and make install) as well as a rakudonom/ folder (nom [obviously], just make)?
03:15 lue both have their own instance of parrot inside, while nom also has a copy of nqp
03:16 jnthn should be OK. Hm
03:17 * jnthn ->L walk, bbs
03:17 perlhack joined #perl6
03:18 perlhack hi all the friends
03:18 perlhack i again come to here
03:19 lue It's only perl6 -e though, REPL and running a file work fine.
03:23 Su-Shee_ joined #perl6
03:24 Util colomon++ # For his first RosettaCode Perl 6 solution
03:25 kthakore hi
03:25 Util Hi, kthakore
03:25 kthakore oh hai Util
03:26 kthakore early morning hacking became ... late night hacking
03:26 bluescreen100 left #perl6
03:26 kthakore approaching 22 hrs
03:26 kthakore :D
03:26 perlhack :'(
03:26 bluescreen10 left #perl6
03:26 kthakore perlhack: hmm?
03:26 kthakore Why are you sad?
03:27 Su-Shee left #perl6
03:27 perlhack i think you are too humor
03:27 perlhack kthakore
03:27 colomon http://rosettacode.org/wiki/Bitmap/​Bresenham%27s_line_algorithm#Perl_6
03:28 kthakore perlhack: humor?
03:29 kthakore perlhack: I am ... too funy?
03:29 perlhack yes
03:29 perlhack kthakore
03:29 perlhack No
03:30 TimToady colomon++ too, though it'd probably be good to show it in use as some of the other langs do
03:30 colomon left #perl6
03:30 kthakore I am unsure what you mean.
03:30 perlhack not funy but a sence of humor
03:31 kthakore heh. I still don't know ... if that is something good or bad
03:31 perlhack very good
03:31 perlhack not bad
03:32 pmichaud jnthn++ # fixing @ param bug
03:32 perlhack i'm a good man.
03:32 kthakore oh! you mean I have good sense of humour?
03:33 kthakore perlhack: who leaked my deep horrible dark secret! I must hunt them down to close all loose endings!
03:33 cheeseboy left #perl6
03:35 perlhack Oh i am a new English person
03:35 colomon joined #perl6
03:35 perlhack kthakore,
03:37 kthakore perlhack: no problem! I hate the language anyway
03:37 colomon TimToady: At some point Util will show my how to upload the PPM file I generated using it.  :)
03:37 colomon *me
03:38 TimToady okay...you mind if I do a few style tweaks?
03:38 perlhack Ha ha embarrassed me to learn English two days
03:38 TimToady or you can do 'em
03:38 perlhack kthakore,
03:38 agentzh joined #perl6
03:38 colomon TimToady: I expected you'd have suggestions.  :)
03:38 TimToady colomon: mostly just using += and -= where appropriate
03:39 benabik joined #perl6
03:39 kthakore perlhack: hmm?
03:39 colomon TimToady: doh!  that's what I get for coding while 75% asleep.
03:39 kthakore perlhack: I embarrased you? I am sorry didn't mean that.
03:40 kthakore You have my deepest apologies.
03:40 perlhack Oh! my English very poor
03:40 perlhack kthakore,
03:41 PerlJam embarassment is a good thing.  It gets more oxygenated blood to the face and head  ;)
03:41 TimToady colomon: and one could use real $Δx and $Δy too :)
03:41 kthakore perlhack: Type in your language and I will use http://google.com/translate
03:41 kthakore TimToady: how ... to even ... type that
03:41 colomon TimToady: interesting.  Think that's a worthwhile change?
03:41 kthakore please say no
03:42 jlaire kthakore: use the meta key on your lisp machine keyboard
03:42 kthakore 0o
03:42 * kthakore runs away
03:42 kthakore this chan be scary
03:42 TimToady buch ascii-philes, the lot 'o ya
03:42 TimToady *bunch
03:42 TimToady *of
03:42 perlhack i not use http://google.com/translate
03:42 perlhack ����
03:42 kthakore I will use it
03:42 perlhack ����˵���Ǻ���
03:42 kthakore hehe
03:42 TimToady wrong encoding
03:43 TimToady you need to set utf-8
03:43 perlhack TimToady, Ok
03:44 lue TimToady: I too enjoy Unicode, which means I can clearly demonstrate that as a DW fan I fear this man: ?
03:45 lue Oh wait, stupid Konversation...
03:46 kthakore I can't even type this language anymore it seems
03:46 kthakore haha
03:47 lue s/?/Ω/ # this mistake is even more hilarious if you are a DW fan as well :)
03:48 thou left #perl6
03:48 thou joined #perl6
03:48 TimToady the fact that Unicode gives you 67 different omegas to choose from is the scary bit
03:48 lue Darn, I was hoping <?{Perl6::Grammar.parse($0, :rule<fatarrow>)}> would match the "a => b" types of config options in pod.
03:49 perlhack kthakore, i want to say you a humorous person
03:49 * lue wishes for unicode character BLUE BOX
03:49 kthakore perlhack: you are a presistent and kid person
03:49 kthakore kind*
03:49 TimToady and *persistent
03:50 kthakore and there lies the cause of most of my bugs today
03:50 kthakore still work to do before heading to India
03:50 lue Timtoady: Omigosh! Omega's more powerful than we've realized...
03:50 beekor joined #perl6
03:50 perlhack kthakore, Thank you I just do not want you misunderstand
03:51 kthakore I won't
03:51 perlhack thanks
03:51 kthakore lue: Darkseid is winning
03:51 lue Does anyone know how to match to "a => b" type config options? In other words, which Perl6 grammar token/rule/etc. can I use for my own benefit?
03:51 beekor hello 6ers.
03:51 kthakore perlhack: have we met at YAPC btw?
03:52 TimToady .u Ѻ
03:52 phenny U+047A CYRILLIC CAPITAL LETTER ROUND OMEGA (Ѻ)
03:52 perlhack i do not understand "btw"
03:52 TimToady "by the way"
03:52 TimToady it means changing the topic of conversation
03:52 kthakore oh sorry
03:52 lue kthakore: against whom? Darkseid doesn't seem to be from Doctor Who...
03:54 perlhack Thank you ah, I can understand what you mean
03:54 perlhack kthakore
03:54 kthakore lue: Marvel Universe ... Darkseid is from apokolpsis a dying god who recently tore a whole in space and time and all universes and used his omega force to use the anti-life equation to infect marvel's reality
03:54 kthakore http://en.wikipedia.org/wiki/Darkseid
03:55 kthakore perlhack: Where you at YAPC::NA? http://www.yapc2011.us/yn2011/
03:55 TimToady kthakore: no, perlhack just popped up in Beijing
03:55 kthakore oh ok
03:55 beekor oh it just ended.  nice.
03:55 kthakore I am confused ... why he thinks I am ... funny and stuff
03:55 beekor i hope fun was had by all.
03:55 kthakore I thought we met maybe
03:55 benabik Fun was had by all.
03:56 beekor splendid.
03:56 kthakore All had the Fun
03:56 perlhack I was not there I technology is relatively weak
03:56 perlhack kthakore
03:56 colomon kthakore: Darkseid is DC, not Marvel.
03:57 kthakore colomon: this is how I find fellow comic book nerds
03:57 kthakore colomon: hello!
03:57 colomon hello
03:57 kthakore perlhack: you don't need to be technology strong to be at yapc 2011
03:58 kthakore you just need to be
03:58 kthakore :)
03:58 kthakore colomon: Did you love batman's arc in that when he falls through time?
03:58 slavik1 http://pastebin.com/khxPs6Di
03:58 slavik1 what am I doing wrong?
03:59 colomon kthakore: I didn't actually read it.  About the only mainstream DC I've read in years was Grant Morrison's run with Dick Grayson as Batman.  And bits of Green Lantern Corps.
04:00 perlhack My English is bad to get Google to translate a
04:00 perlhack ��
04:00 perlhack ��! ��һ���Ϸ������֣����əzҕ�������g�� �P�]
04:00 lue This is the Omega I'm talking about: https://secure.wikimedia.org/wikipe​dia/en/wiki/Omega_%28Doctor_Who%29
04:01 lue For something related to this channel's name, does anybody know of the magic grammar rule in Perl 6's grammar that lets me match agains "a => b" type config options in Pod6?
04:01 kthakore colomon: ah ok
04:01 kthakore perlhack: Mandarin traditional set?
04:01 daniel-s left #perl6
04:02 colomon kthakore: really, I'm strongest by far on comics from the 80s and the works of Neil Gaiman and Matt Wagner.
04:02 TimToady perlhack: that is mojibake, see http://irclog.perlgeek.de/​perl6/2011-07-01#i_4036901
04:02 kthakore Gaiman++
04:02 kthakore perlhack: 您好
04:02 beekor ah nice. 2012 in madison.  i may have to attend that one.
04:02 TimToady perlhack: you have to set UTF-8 in this channel
04:03 kthakore perlhack:你必須設置 UTF- 8在此通道
04:03 beekor i went to chicago, because it was like 20minutes by train from home.  i'd have felt silly not.
04:03 perlhack I will not set utf_8
04:03 TimToady then you can't type Mandarin
04:04 TimToady it will not work
04:04 perlhack :'(
04:04 TimToady could you read what kthakore wrote in Chinese?  it was correct
04:04 benabik As the /topic says: "UTF-8 is our friend!"
04:05 kthakore perlhack: 什麼 IRC工具或軟件你用?
04:05 kthakore what tool do you use? irssi MIRC? web client?
04:05 TimToady if you do not use UTF-8, we can never see each other's Chinese characters
04:06 kthakore TimToady: yeah I realized as soon as I typed that
04:06 perlhack megaIRC
04:07 perlhack_ joined #perl6
04:07 kthakore ah
04:07 kthakore perlhack: it doesn't have a chinese.lng
04:07 kthakore that is your problem
04:07 perlhack_ 哈哈
04:07 kthakore :D
04:07 kthakore we see it
04:07 perlhack_ 开心了
04:07 TimToady that worked
04:08 kthakore perlhack: 您好
04:08 TimToady \o/
04:08 kthakore \o/
04:08 perlhack_ 您好
04:08 perlhack_ 我一直想表达您是好人
04:08 perlhack_ 您很幽默
04:08 TimToady good
04:08 perlhack_ 我英语很差
04:08 perlhack_ 才学2天
04:08 perlhack_ 有的单词都不认识
04:08 perlhack_ 我在努力的学呢
04:08 kthakore 謝謝。你是一個善良的人。
04:09 kthakore too fast!!!
04:09 perlhack_ 您也是一个好人啊
04:10 kthakore 我使用 Google Translate
04:10 benabik left #perl6
04:11 perlhack_ 我现在也是使用Goole Translate
04:11 kthakore 把中國傳統的一個地方 English
04:11 perlhack_ 中国英语都非常差
04:12 perlhack_ 我才初中学历
04:12 kthakore perlhack_: ok good you can translate what english you have trouble with now
04:12 perlhack_ 英语都靠自学
04:12 kthakore perlhack_: watch the verb and pronoun lists on the bottom
04:12 perlhack haha  Ok
04:12 kthakore perlhack_: if you translate a lot you will pick it up faster
04:13 kthakore also put in whole sentences and be logged in to Google Account
04:13 kthakore it will be eaiser for the tool to work
04:13 kthakore you are doing good. You will get better :D
04:13 kthakore TimToady: Equilibrium reached.
04:14 * kthakore apologies to hijacking
04:14 kthakore the chan*
04:14 lue [it's obvious my CJK font(s) have a few holes]
04:15 TimToady it's okay; we all learned something.
04:15 perlhack kthakore: thanks  i have to go eat.next time to talk with you.
04:16 TimToady I learned 非常差
04:16 kthakore perlhack: :) enjoy
04:16 perlhack left #perl6
04:17 kthakore oh that is me!
04:18 kthakore TimToady: this is you best translated :) 蒂姆蟾蜍Ÿ (Tim Toad Y)
04:18 kthakore I am still very poor
04:19 TimToady stem-governess toad :)
04:21 kthakore heh I find that translating back and forth the same phrase/sentence from each language, while tweaking it for nouns and pronouns from the known language ... works best
04:21 TimToady why plants and emperor make fruit-stem is a mystery
04:22 benabik joined #perl6
04:22 kthakore hmm?
04:22 kthakore you lost me a bit
04:22 perlhack_ left #perl6
04:23 TimToady 蒂 is composed of 艹 and 帝, plants and mikado/emperor
04:24 kthakore ah
04:24 kthakore languages loads of fun
04:24 TimToady I guess the emperor is the narrow bit at the top of the org chart, like a fruit stem
04:25 kthakore hmm interesting hypothesis. How would one investigate and confirm it?
04:25 * kthakore googles a bit
04:25 TimToady it may be unknowable
04:25 TimToady that doesn't stop people from "knowing" of course
04:25 TimToady many chinese characters have multiple theories of why they came to be
04:25 kthakore well ... those are the ppl I run away from
04:26 kthakore only the sith deal in absolutes
04:26 kthakore I still like to try and find out tough
04:26 TimToady well, I'm absolutely bushed, so I'd better turn in...
04:26 kthakore good night
04:26 TimToady o
04:26 TimToady /
04:26 kthakore \o
04:26 TimToady so tired my arm fell off...
04:26 TimToady zzz &
04:27 kthakore hehe
04:34 colomon left #perl6
04:39 lue left #perl6
04:42 zorgnax joined #perl6
04:43 zorgnax left #perl6
04:45 lue joined #perl6
05:01 zorgnax joined #perl6
05:01 * jnthn back
05:01 jnthn > 90% humidity is kinda ugh.
05:08 bakedb joined #perl6
05:12 kst left #perl6
05:14 birdwindupbird joined #perl6
05:18 benabik left #perl6
05:19 zorgnax left #perl6
05:21 pmichaud only "kinda ugh?"  :-)
05:24 jnthn pmichaud: The view over the forbidden city and the nice gardens kinda made it worth going out in. :)
05:25 jnthn I won't mind hiding away here in the nice cool hotel to slide hack this afternoon though :)
05:28 dalek rakudo/nom: 457b5e7 | pmichaud++ | / (6 files):
05:28 dalek rakudo/nom: First cut at zip and cross operators and metaoperators.
05:28 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/457b5e7413
05:28 pmichaud p6eval rebuild nom
05:28 pmichaud p6eval: rebuild nom
05:28 pmichaud hmmmm.
05:28 pmichaud evalbot rebuild nom
05:28 p6eval OK (started asyncronously)
05:29 pmichaud there.  :)
05:29 pmichaud rakudo:  say ((1,2) X (3,4)).perl;
05:29 p6eval rakudo 1fcb14: OUTPUT«((1, 3), (1, 4), (2, 3), (2, 4))␤»
05:29 pmichaud correct.
05:29 pmichaud rakudo:  say ((1,2) X (3,4) X (5,6)).perl;
05:29 p6eval rakudo 1fcb14: OUTPUT«No applicable candidates found to dispatch to for 'infix:<X>'. Available candidates are:␤:(Any $lhs, Any $rhs)␤␤  in main program body at line 22:/tmp/7_146i2YUn␤»
05:29 pmichaud Bzzt!
05:29 pmichaud rakudo:  say (((1,2) X (3,4)) X (5,6)).perl;
05:30 p6eval rakudo 1fcb14: OUTPUT«((1, 5), (1, 6), (3, 5), (3, 6), (1, 5), (1, 6), (4, 5), (4, 6), (2, 5), (2, 6), (3, 5), (3, 6), (2, 5), (2, 6), (4, 5), (4, 6))␤»
05:30 pmichaud Bzzt!
05:30 pmichaud nom: say ((1,2) X (3,4)).perl
05:30 p6eval nom: OUTPUT«Rebuild in progress␤»
05:30 pmichaud nom: say ((1,2) X (3,4)).perl
05:30 p6eval nom: OUTPUT«Rebuild in progress␤»
05:31 pmichaud (we need a faster rebuild :)
05:31 pmichaud (or a more patient hacker :)
05:31 pmichaud nom: say ((1,2) X (3,4)).perl
05:31 p6eval nom: OUTPUT«Rebuild in progress␤»
05:31 pmichaud :(
05:32 pmichaud nom: say ((1,2) X (3,4)).perl
05:32 p6eval nom: OUTPUT«Rebuild in progress␤»
05:32 benabik joined #perl6
05:33 pmichaud nom: say ((1,2) X (3,4)).perl
05:33 p6eval nom: OUTPUT«Rebuild in progress␤»
05:33 jnthn grrr
05:33 pmichaud (sigh)
05:33 koban joined #perl6
05:33 pmichaud maybe it rebuilds from scratch each time :)
05:34 pmichaud nom: say ((1,2) X (3,4)).perl
05:34 p6eval nom: OUTPUT«((1, 3), (1, 4), (2, 3), (2, 4)).list␤»
05:34 jnthn oh wow, we have LoL working :)
05:34 pmichaud Ding!
05:34 pmichaud nom: say ((1,2) X (3,4) X (5,6)).perl
05:34 p6eval nom: OUTPUT«((1, 3, 5), (1, 3, 6), (1, 4, 5), (1, 4, 6), (2, 3, 5), (2, 3, 6), (2, 4, 5), (2, 4, 6)).list␤»
05:34 pmichaud Ding!!
05:34 pmichaud nom: say ((1,2) X~ (3,4) X~ (5,6)).perl
05:34 p6eval nom: OUTPUT«('135', '136', '145', '146', '235', '236', '245', '246').list␤»
05:34 pmichaud Ding!!!
05:34 jnthn :D
05:34 pmichaud nom: say ((1,2) Z~ (3,4) Z~ (5,6)).perl
05:34 p6eval nom: OUTPUT«('135', '246').list␤»
05:34 jnthn pmichaud++
05:34 pmichaud Ding!!!!
05:34 pmichaud nom: say ((1,2) Z~ (3) Z~ (5,6)).perl
05:35 p6eval nom: OUTPUT«('135',).list␤»
05:35 pmichaud Ding!!!!!
05:35 pmichaud nom: say ((1,2) Z~ () Z~ (5,6)).perl
05:35 p6eval nom: OUTPUT«().list␤»
05:35 pmichaud Ding!!!!!!
05:35 pmichaud :-D
05:35 jnthn wow
05:35 jnthn again, pmichaud++
05:35 jnthn This is really nice to have.
05:35 pmichaud nom: say ((1,2) Z+ (3,4) Z+ (5,6)).perl
05:35 p6eval nom: OUTPUT«(9, 12).list␤»
05:36 pmichaud nom: say ((1,2) Z+ 3..* Z+ 5..*).perl
05:36 pmichaud uh oh
05:36 p6eval nom: OUTPUT«(timeout)»
05:36 jnthn nom: say ((1,2) Z- (3,4) Z- (5,6)).perl
05:36 p6eval nom: OUTPUT«(-7, -8).list␤»
05:36 jnthn nom: say ((1,2) ZR- (3,4) ZR- (5,6)).perl
05:36 p6eval nom: OUTPUT«(3, 4).list␤»
05:36 jnthn \o/
05:36 pmichaud not sure what happened with the infinite lists.. that really should've worked.  must be some eagerness in there somewhere
05:37 jnthn nom: my @a = (1,2) Z+ 3..* Z+ 5..*; say @a[^10]
05:37 p6eval nom: OUTPUT«(timeout)»
05:37 pmichaud it's probably eagerness internal to Z that is the issue.
05:37 jnthn (just checking issue isn't in the .perl)
05:38 natureboy left #perl6
05:38 jnthn ooh, I should get lunch before $lunch-place shuts
05:38 jnthn bbs
05:38 pmichaud I'll probably head to sleep soon
05:38 pmichaud been a long day :)
05:38 jnthn productive day though :)
05:38 jnthn sleep well, if I don't catch you again :)
05:59 lue left #perl6
06:01 koban left #perl6
06:11 Su-Shee_ is now known as Su-Shee
06:30 bakedb left #perl6
06:35 benabik left #perl6
06:38 masak joined #perl6
06:38 masak LoL is working? oh wow oh wow
06:39 masak TimToady, colomon: of course it should be $Δx et al. I'll make the change.
06:41 mj41 joined #perl6
06:44 jnthn masak. He feareth not the unicodez.
06:45 benabik joined #perl6
06:46 masak not when there's an _actual_ symbol, well-established within the mathematical community, for a whole word.
06:48 mberends joined #perl6
06:52 thou masak: do you know the current status of november wiki code? is there any that works w/ current rakudo? or is anyone working on that?
06:53 masak thou: it's not actively developed, no.
06:53 thou masak: maybe i made a mistake, but working with the "nomish" branch there are lots of test failures
06:53 thou OK
06:54 thou masak: i'm interested in getting it running
06:54 masak last thing I did with it was this: http://strangelyconsistent.org/blog/n​ovember-30-2010-going-out-with-style
06:54 masak thou: oh! that's great news!
06:54 masak thou: I'd recommend starting with getting the tests to run/pass.
06:54 masak oh, you ran them already.
06:55 masak no, it's probably not you making mistakes. it has probably bit-rotted some.
06:55 * masak checks
06:55 masak thou: have you found the branch "ng-compat" in the november repo?
06:56 thou yeah, makes sense. is current github/viklund the right place?
06:56 masak thou: you should probably be on that one if your Rakudo is newer than a year or so. :)
06:56 masak yes.
06:56 thou masak: ok. i thought i saw more recent commits on "nomish" but i'll switch to ng-compat
06:57 masak I don't know what "nomish" is.
06:57 thou ok. maybe a good reason to stay away from it :-)
06:57 cognominal_ joined #perl6
06:59 masak not necessarily. I just don't know it.
07:01 moritz good morning
07:01 cognominal left #perl6
07:02 masak moritz! \o/ good morning.
07:02 Bzek joined #perl6
07:07 cognominal joined #perl6
07:09 cognominal_ left #perl6
07:11 jnthn o/ moritz
07:12 Mowah joined #perl6
07:15 moritz \o
07:15 cognominal left #perl6
07:16 cognominal joined #perl6
07:29 tadzik o/
07:29 bakedb joined #perl6
07:50 dalek rakudo/nom: 681e4b5 | moritz++ | t/spectest.data:
07:50 dalek rakudo/nom: two more passing test files (85 in total)
07:50 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/681e4b50e2
07:51 mberends oh, it's o/ time. o/ everyone
07:52 masak o/, mberends.
07:53 thou why is the following assignment resulting in a nested array?  http://paste2.org/p/1497684
07:54 thou (see "[[" on line 36)
07:54 dolmen joined #perl6
07:54 moritz because $<chunk> does not flatten
07:54 masak $/<chunk> is an array.
07:54 masak you assign it to another array.
07:55 thou my @x = |$/<chunk>?
07:55 moritz masak: that alone is not enough
07:55 masak no, it isn't.
07:55 moritz thou: try $<chunk>.flat
07:55 jnthn my @x = $<chunk>.list;
07:55 masak or @($<chunk>)
07:55 moritz (but that is really ugly)
07:55 masak I'm not sure if @$<chunk> would work.
07:56 moritz it should, but doesn't in rakudo
07:56 masak std: $<chunk>; @$<chunk>
07:56 p6eval std 37a0cdd: OUTPUT«ok 00:01 119m␤»
07:56 masak ok.
07:56 moritz (and yes, long since RTed)
07:56 masak yep :)
07:57 masak someone on FPW had a great idea that I want to try: a script that basically treats the RT queue as a dynamically generated set of tests.
07:57 masak and runs them, and determines if any of the open tickets pass.
07:57 thou hmmm
07:57 thou actually @($/<chunk>) does work
07:58 thou @x = ($/<chunk>, ) # this doesn't work
07:58 masak yes, it does.
07:58 moritz masak: that's not so easy, given that many of them are things like "LTA error message" without saying what the error message should be
07:58 masak thou: no, that still doesn't flatten $<chunk>
07:58 wtw joined #perl6
07:58 masak moritz: good point.
07:59 moritz ok, nom mistery time
07:59 thou so it's about: assignment op doesn't flatten?
07:59 moritz nom: 1i
07:59 p6eval nom: OUTPUT«Null PMC access in find_method('new')␤current instr.: '_block1002' pc 28 ((file unknown):0) (:1)␤»
07:59 moritz this doesn't go through the postfix:<i> in Complex.pm
07:59 moritz where does the error come from?
08:00 jnthn moritz: Is 1i parsed as some kind of complex literal?
08:00 amkrankruleuen left #perl6
08:01 bakedb left #perl6
08:01 amkrankruleuen joined #perl6
08:01 moritz jnthn: dunno, --target=parse is less than helpful
08:01 moritz ah right, there's token number:sym<complex>
08:02 moritz ah right
08:02 moritz same problem as with Rat literals, I guee
08:02 thou and to fix this code:  @!chunks = $/<path><chunk> // ('');   i need to change it to:   @!chunks = ($/<path><chunk> // ('')).flat;   ?
08:02 moritz *guess
08:03 masak thou: you only need to .flat or .list $/<path><chunk>
08:03 thou yeah, but if it's not defined, i think it foobars the whole thing
08:03 moritz thou: and you can omit those single slashes
08:03 moritz thou: $<foo> is the same as $/<foo>, but prettier to read
08:04 thou ah
08:05 Instil joined #perl6
08:08 koban joined #perl6
08:09 mathw masak: Still enjoying your blog posts :)
08:11 masak mathw: thanks :) I feel I was in a bit of a slump with the past week's worth of posts, but now it's getting better again.
08:13 mathw it's hard to keep this kind of thing going
08:13 mathw easy to lose some momentum along the way
08:14 drbean joined #perl6
08:17 moritz jnthn: do you have any idea what to do about Rat and Complex literals?
08:19 jnthn moritz: Literals tend to mean we want to build the objects at compile time.
08:19 jnthn moritz: So we'd want to do something like for integer literals
08:19 jnthn With the added cmplication that they are slightly more complex.
08:19 jnthn er, no pun intended :)
08:19 moritz jnthn: that's what I tried for Rat
08:20 masak mathw: yes, well. the tuits was one thing. but I also notice when a blog post turns out nicely and has a kind of energy about it. I think the ones in the beginning had more of that.
08:20 moritz jnthn: and afaict the Rat got constructed fine, but the serializer can't handle it
08:20 mathw masak: the ones at the start seemed to have a very great purpose and direction about them. That's not quite so present at the moment
08:20 tadzik mberends: o hey
08:20 jnthn moritz: You need to do some stuff in SmbolTable.add_constant
08:21 tadzik mberends: some zavolaj tests are broken, aren't they?
08:21 jnthn moritz: Or, I do for Rat and then maybe you try it for complex :)
08:21 masak mathw: right, exactly.
08:21 masak mathw: mostly because they don't :)
08:21 moritz jnthn: deal :-)
08:21 moritz jnthn: I can try to convert both to use native attributes - would that help?
08:22 tadzik moritz: would you mind if I swapped my gsoc goals for the two upcoming weeks? $=POD seems like a lot more important thing to do, also it's harder for me to estimate the time amount needed for that
08:22 moritz tadzik: go ahead
08:22 moritz (with swapping and coding, I mean :-)
08:22 tadzik cool. I'll get on it today
08:22 bakedb joined #perl6
08:23 mathw masak: well it's an accurate impression then :)
08:23 jnthn moritz: er, that may get the wrong semantics
08:23 masak mathw: I think I might be getting back to it, though.
08:23 thou good night, all.  o/
08:24 jnthn moritz: Shouldn't need to do that to make it work, anyways. :)
08:24 moritz jnthn: right, Rat should be parametric in the end...
08:24 masak sleep thee well, thou.
08:24 thou tak
08:25 thou left #perl6
08:25 tadzik also, $=POD will finally give us proper, in-field testing
08:26 jnthn .oO( What about the roof? )
08:26 tadzik up the roof and beyond!
08:27 moritz jnthn: but making Complex a composite of two nums should be correct
08:27 tadzik are all rakudo branches now dalek'd automagically?
08:27 jnthn tadzik: yes
08:27 tadzik cool
08:34 mberends hi tadzik. Yes, Zavolaj has failing tests for NYI signatures, but they are documented and commented out. That way someone can still 'make test' and see that their installation works, even though Zavolaj may not support every operation that the developer wants.
08:35 tadzik mberends: well, some test fail for me
08:35 mberends o noes! I'll check how it looks locally
08:35 tadzik http://wklej.org/id/555349/
08:36 mberends 3Q
08:36 daniel-s joined #perl6
08:37 tadzik also, make spectest fail: http://wklej.org/id/555350/
08:37 * tadzik gone for a while
08:38 JimmyZ joined #perl6
08:40 jnthn nom: say .15
08:40 p6eval nom: OUTPUT«Don't know how to build a rational constant␤current instr.: 'nqp;Perl6;SymbolTable;add_constant' pc 12592 (src/gen/perl6-symboltable.pir:4266)␤»
08:40 jnthn .oO( can it build irrational ones, though? )
08:44 daxim joined #perl6
08:46 moritz nom: class A { has int $!x; method set(Int $a) { nqp::bindattr(self, A, '$!x', nqp::unbox_i($a)) }; method get() { $!x } }; my $a = A.new; $a.set(5); say $a.get
08:46 p6eval nom: OUTPUT«55436088␤»
08:47 moritz that is... surprising :-)
08:47 moritz nom: class A { has int $!x; method set(Int $a) { nqp::bindattr(self, A, '$!x', nqp::unbox_i($a)) }; method get() { nqp::p6box_i $!x } }; my $a = A.new; $a.set(5); say $a.get
08:47 p6eval nom: OUTPUT«64794384␤»
08:48 moritz nom: class A { has int $!x; method set(Int $a) { $!x = nqp::unbox_i($a) }; method get() { nqp::p6box_i $!x } }; my $a = A.new; $a.set(5); say $a.get
08:48 p6eval nom: OUTPUT«5␤»
08:48 jnthn moritz: nqp::bindattr seems to only know how to bind PMCs.
08:48 moritz ah, simple assignment DWIW
08:48 jnthn Maybe there's a nqp::bindattr_i
08:48 jnthn Yes, the compiler goes to some lenghts to do the right thing :)
08:48 moritz \o/
08:49 jnthn But if you're going to use ops, you gotta handle it yourself :)
08:49 moritz nom: class A { has int $!x; method set(Int $a) { $!x = $a }; method get() { nqp::p6box_i $!x } }; my $a = A.new; $a.set(5); say $a.get
08:49 p6eval nom: OUTPUT«5␤»
08:49 jnthn Anyway, you just saw the memory address of the PMC.
08:49 moritz nom: class A { has int $!x; method set(Int $a) { $!x = $a }; method get() { $!x } }; my $a = A.new; $a.set(5); say $a.get
08:49 p6eval nom: OUTPUT«5␤»
08:49 moritz yes, I figured
08:49 jnthn You nedn't box it yourself either
08:49 jnthn It uses PAST::Want
08:50 masak left #perl6
08:51 jnthn > say 1.4.WHAT
08:51 jnthn Rat()
08:51 jnthn > say 1.4
08:51 jnthn 1.4
08:51 moritz next up: PAST::NotWant
08:51 moritz \o/
08:52 dalek rakudo/nom: 7cd81b3 | jonathan++ | src/Perl6/ (2 files):
08:52 dalek rakudo/nom: Fix up moritz++'s patch for rationals.
08:52 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7cd81b30c5
08:52 ab5tract joined #perl6
08:55 aesop left #perl6
08:58 * jnthn notes Tests=984 :)
08:58 jnthn Not far to break 1000
09:04 logicc2 joined #perl6
09:04 tzhs joined #perl6
09:08 antony_ joined #perl6
09:09 cotto joined #perl6
09:18 moritz opinion question: should the + in +(2 * 0.5) convert the result to Int?
09:19 moritz background is that in +$string, the + returns the "best fitting" type
09:19 moritz so +"4" -> Int, "4e0" -> Num etc.
09:21 am0c left #perl6
09:21 logicc2 left #perl6
09:24 flussence is there any current way to do that?
09:24 moritz eval()
09:24 flussence using + sounds like a better way to me :)
09:25 moritz same here :-)
09:25 moritz nom: say chr 65
09:25 p6eval nom: OUTPUT«Could not find sub &chr␤current instr.: '_block1002' pc 75 ((file unknown):27160118) (:1)␤»
09:26 moritz nom: say chop 65
09:26 p6eval nom: OUTPUT«6␤»
09:26 moritz nom: say chomp 65
09:26 p6eval nom: OUTPUT«65␤»
09:26 moritz nom: say ord 65
09:27 p6eval nom: OUTPUT«54␤»
09:27 quiccker joined #perl6
09:28 moritz nom: say substr 'abc', 0, 2
09:28 p6eval nom: OUTPUT«Str()␤»
09:29 antony_ left #perl6
09:29 antony_ joined #perl6
09:31 quiccker left #perl6
09:31 tadzik spectest still fails for me
09:32 * moritz got one failure too
09:33 tadzik nom: ('a' => 4).<a>
09:33 p6eval nom: OUTPUT«Method 'at_key' not found for invocant of class 'Pair'␤current instr.: 'postcircumfix:<{ }>' pc 275424 (src/gen/CORE.setting.pir:0) (:473)␤»
09:33 tadzik LHF?
09:33 dalek rakudo/nom: 14b0d55 | moritz++ | / (2 files):
09:33 dalek rakudo/nom: implement chr() function, add two ideas to LHF.markdown
09:33 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/14b0d55d1e
09:33 moritz tadzik: probably
09:33 tadzik will see
09:34 am0c joined #perl6
09:34 tadzik rakudo: ('a' => 4).<a>.say; ('a' => 4).<b>.say;
09:34 p6eval rakudo 1fcb14:  ( no output )
09:34 tadzik pff
09:34 tadzik rakudo: ('a' => 4).<a>.say; ('a' => 4).<b>.say; 'alive'.say
09:34 p6eval rakudo 1fcb14: OUTPUT«alive␤»
09:35 tadzik okay, so it's a Pair in nom only. master makes it a hash
09:35 tadzik rakudo: sub f1(*%h) { %h.perl }; sub f2(*%h) { f1(|%h) }; say f2(:a(4)).WHAT
09:35 tadzik nom sub f1(*%h) { %h.perl }; sub f2(*%h) { f1(|%h) }; say f2(:a(4)).WHAT
09:35 p6eval rakudo 1fcb14: OUTPUT«Str()␤»
09:35 tadzik nom: sub f1(*%h) { %h.perl }; sub f2(*%h) { f1(|%h) }; say f2(:a(4)).WHAT
09:35 p6eval nom: OUTPUT«Str()␤»
09:36 tadzik bleh
09:36 tadzik nowai
09:36 tadzik rakudo: sub f1(*%h) { %h.perl }; sub f2(*%h) { f1(|%h) }; say f2(:a(4))
09:36 p6eval rakudo 1fcb14: OUTPUT«{"a" => 4}␤»
09:36 moritz rakudo: say (a => 1).WHAT
09:36 tadzik nom: sub f1(*%h) { %h.perl }; sub f2(*%h) { f1(|%h) }; say f2(:a(4))
09:36 p6eval rakudo 1fcb14: OUTPUT«Pair()␤»
09:36 p6eval nom: OUTPUT«('a' => 4).hash␤»
09:36 moritz rakudo: say (a => 1).<a>
09:36 p6eval rakudo 1fcb14:  ( no output )
09:36 tadzik moritz: no poscircumfix {} for a Pair in master either
09:37 moritz tadzik: I see no conceptual reason why we shouldn't support it
09:37 tadzik me neither. But the problem is now master and nom acting differently I think
09:37 tadzik rakudo: say :a(4).WHAT
09:37 p6eval rakudo 1fcb14: OUTPUT«Pair()␤»
09:37 tadzik nom: say :a(4).WHAT
09:37 p6eval nom: OUTPUT«Pair()␤»
09:37 tadzik strange
09:37 moritz nom: say Complex.Bool
09:37 p6eval nom: OUTPUT«No applicable candidates found to dispatch to for 'Bool'. Available candidates are:␤:(Complex)␤␤current instr.: 'Bool' pc 301090 (src/gen/CORE.setting.pir:85816) (:2688)␤»
09:38 tadzik rakudo: say |(:a(4)).WHAT
09:38 p6eval rakudo 1fcb14: OUTPUT«Pair()␤»
09:38 moritz note that the | applies to the string
09:38 moritz rakudo: say (|:a(4)).WHAT
09:38 p6eval rakudo 1fcb14: OUTPUT«Capture()␤»
09:38 Katibe left #perl6
09:38 tadzik rakudo: sub foo(*%h) { say %h.perl }; foo(:a(4))
09:38 tadzik nom: sub foo(*%h) { say %h.perl }; foo(:a(4))
09:38 p6eval rakudo 1fcb14: OUTPUT«{"a" => 4}␤»
09:38 p6eval nom: OUTPUT«('a' => 4).hash␤»
09:39 tadzik and...
09:39 tadzik nom: ('a' => 4).hash.perl
09:39 p6eval nom: OUTPUT«Method 'hash' not found for invocant of class 'Pair'␤current instr.: '_block1002' pc 91 ((file unknown):232) (:1)␤»
09:39 tadzik there
09:39 tadzik rakudo: Pair.new('a', 7).hash.perl.say
09:39 p6eval rakudo 1fcb14: OUTPUT«{"Any()" => Any}␤»
09:39 tadzik pff. Whatever, so Pair.hash is NYI in nom
09:40 jnthn Seems like LHF
09:40 moritz probably also LHF
09:40 kytibe joined #perl6
09:40 tadzik I'm on it
09:41 tadzik $!key or self.key?
09:41 moritz jnthn: seems like your last patch to add_constant could easily be generalized
09:41 tadzik the latter, thanks
09:41 moritz jnthn: to something like type_new or so
09:42 moritz jnthn: that just looks up each argument via self.get_object_sc_ref_past
09:42 cotto left #perl6
09:43 tadzik fixed that, pushing
09:44 jnthn moritz: Yeah, we may want to do something ike that for when tadzik++ is working on the POD tree building.
09:45 dalek rakudo/nom: 0b72806 | tadzik++ | src/core/Pair.pm:
09:45 dalek rakudo/nom: Implement Pair.hash, fixing S06-signature/slurpy-and-interpolation.t
09:45 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0b7280663b
09:45 tadzik like a rebirth after the horror :)
09:48 cognominal_ joined #perl6
09:49 tadzik spectests' clean again
09:49 moritz tadzik++
09:49 tadzik is rakudo on frozen roast already?
09:50 moritz don't think so
09:51 cognominal left #perl6
09:51 dalek rakudo/nom: cb31488 | moritz++ | src/core/Complex.pm:
09:51 dalek rakudo/nom: remove stray proto
09:51 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/cb3148855c
09:51 envi joined #perl6
09:55 am0c left #perl6
09:56 moritz nqp: say(1e3)
09:56 p6eval nqp: OUTPUT«1000␤»
09:59 agentzh left #perl6
10:09 JimmyZ left #perl6
10:10 JimmyZ joined #perl6
10:11 JimmyZ \o jnthn, BJPW will be live broadcast
10:11 JimmyZ http://conference.perlchina.org/bjpw2011/live.html
10:13 jnthn JimmyZ: oh, nice!
10:14 jnthn JimmyZ: I'm about to leave for pre-workshop dinner :)
10:14 moritz which room?
10:15 JimmyZ jnthn: yes, there is a dinner today night
10:15 jnthn moritz: See schedule; I'm on in both rooms but t different times
10:16 JimmyZ moritz: http://conference.perlchina.org/bjpw2011/schedule ;  http://conference.perlchina.org/bjpw2011/live.html
10:16 * moritz notices that jnthn hasn't confirmed his talks yet :-)
10:16 dalek rakudo/nom: ae04dda | moritz++ | src/ (3 files):
10:16 dalek rakudo/nom: implement Complex literals
10:16 dalek rakudo/nom:
10:16 dalek rakudo/nom: This generalizes the serialization for 'rational'
10:16 dalek rakudo/nom: to any setting type that can be instantiated as
10:16 dalek rakudo/nom: $type_object.new(|@primitives).
10:16 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ae04ddae2a
10:17 tadzik jnthn: in how many hours are you speaking?
10:18 JimmyZ 40 + 40
10:19 tadzik dang, I'm not likely to be online by then
10:19 tadzik oh wait, 40 hours?
10:19 JimmyZ mins
10:19 colomon joined #perl6
10:19 tadzik yeah, that's what I was worried about
10:19 jnthn tadzik: No, JimmyZ misunderstood and thought you meant how long will I speak for :)
10:19 jnthn tadzik: Talks are tomorrow, but I'm 6 hours different timezone from you
10:20 tadzik that's barely a problem...
10:20 jnthn tadzik: So, time on the schedule - 6 hours
10:20 tadzik ...for I'm on holidays!
10:20 tadzik okay, I get it
10:20 jnthn So, 5am and 8:20am ;-)
10:20 tadzik so the second talk will be on 8am. Yawn :)
10:20 JimmyZ I guess there will be video files to be download
10:21 tadzik my sleep will be happy for that
10:21 JimmyZ ed
10:24 stephanepayrard_ joined #perl6
10:25 * tadzik off for world exploration
10:27 cognominal_ left #perl6
10:29 JimmyZ left #perl6
10:33 jnthn Time to try and find the pre-conf meetup :)
10:39 dalek roast: 53a324b | moritz++ | S29-conversions/ord_and_chr.t:
10:39 dalek roast: remove a bogus test
10:39 dalek roast: review: https://github.com/perl6/roast/commit/53a324beed
10:44 moritz nom: class A { has $.x }; say A.new.x.WHAT
10:44 p6eval nom: OUTPUT«Mu()␤»
10:44 moritz I think that too should be Any
10:46 moritz nom: map { $_ * 2}, 1, 2, 3
10:46 p6eval nom: OUTPUT«Could not find sub &map␤current instr.: '_block1002' pc 104 ((file unknown):41779916) (:1)␤»
10:47 moritz nom: grep { $_ * 2}, 1, 2, 3
10:47 p6eval nom: OUTPUT«Could not find sub &grep␤current instr.: '_block1002' pc 104 ((file unknown):140) (:1)␤»
10:49 colomon nom: say 3.1415926535897932384626433832795
10:49 p6eval nom: OUTPUT«1␤»
10:50 moritz colomon: the rat literals are very primitive atm
10:52 colomon nom: say 3.14159265
10:52 p6eval nom: OUTPUT«Rebuild in progress␤»
10:54 dalek rakudo/nom: ff2f951 | moritz++ | / (2 files):
10:54 dalek rakudo/nom: sub forms of map and grep; two more passing test files
10:54 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ff2f951133
10:54 colomon nom: say 3.14159265
10:54 p6eval nom: OUTPUT«3.14159265␤»
10:54 colomon nom: say 1+1i
10:54 p6eval nom: OUTPUT«1 + 1i␤»
10:54 colomon nom: say -1+1i
10:54 p6eval nom: OUTPUT«-1 + 1i␤»
10:54 colomon oooo
10:54 colomon nom: say -(1+1i)
10:54 p6eval nom: OUTPUT«-1 - 1i␤»
10:54 colomon sweet
10:56 moritz note that it only constructs a Complex for the 1i at compile time
10:56 moritz and the 1 + 1i is calculated at run time
10:56 moritz but I don't see how I could fix that (needs a constant folder, afaict)
10:58 moritz nom: say False
10:58 p6eval nom: OUTPUT«Could not find sub &False␤current instr.: '_block1002' pc 70 ((file unknown):54479668) (:1)␤»
10:59 colomon ah, that's okay in my book.  I was just worried about duplicating all the bugs from olden days, and we seem to have dodged the complex literal one.
10:59 colomon nom say 1-1i
10:59 colomon nom: say 1-1i
10:59 p6eval nom: OUTPUT«1 - 1i␤»
10:59 _twitch joined #perl6
10:59 moritz well yes, I'm repeating all the old bugs :-)
11:00 colomon btw, in my opinion 2 * .5 should not be an Int
11:00 moritz that was never the question
11:00 moritz the question was about +(2 * 0.5)
11:01 moritz because the + does numeric type magic on Str too
11:02 colomon you mean +"(2 * 0.5)"   ?
11:02 moritz no
11:02 moritz I mean +(2 * 0.5)
11:03 colomon woah.  that strikes me as unthinkably bad, actually.
11:03 moritz why?
11:03 moritz prefix:<+> means 'give me a number'
11:03 moritz and an Int certainly is a number
11:04 colomon because it's asking .Numeric to change the Numeric type of its input
11:04 moritz well, .Numeric is free to return anything that is ~~ Numeric
11:05 colomon sure, but you're asking a no-op to become an op
11:05 moritz yes
11:05 moritz it's not a no-op by spec right now, afaict
11:06 moritz is there anything you can't do on an Int that you can do on a Rat?
11:06 moritz or asked differently, where would that hurt?
11:06 moritz (mind you, I'm not all sold on the idea, I'd just like to understand why you object)
11:08 colomon I can't think of any sort of generic math result issues it would cause.  Though obviously you cannot call Rat-specific operations on an Int.
11:09 colomon but it is an efficiency issue, and a consistency issue.
11:09 colomon how far would you take that logic?
11:09 colomon should +(4.Num) be an Int?
11:09 colomon or +(4 + 0i)?
11:12 colomon afk # have to get in gear if I'm going to make it to the airport on time
11:12 moritz I'd be happy to experiment with how far to take the idea
11:14 colomon though one last thought: you're effectively saying that "1" + (2 * 1/2) should be an Int, but 1 + (2 * 1/2) should be a Rat....
11:15 moritz no
11:16 moritz I'm talking about prefix:<+>
11:16 moritz not infix:<+>
11:16 moritz unless infix calls prefix... hm...
11:16 moritz that would be bad indeed
11:18 masak joined #perl6
11:19 masak <moritz> opinion question: should the + in +(2 * 0.5) convert the result to Int?
11:19 masak emphatic YES. :)
11:21 JimmyZ joined #perl6
11:23 colomon infix:<+> calls prefix:<+> if both arguments are not numeric
11:23 colomon calls it on both sides, that it
11:23 colomon *is
11:24 masak the use case for prefix:<+> numifying to the narrowest possible type is that things like 'my Int $x = +$0' will Just Work.
11:25 colomon sure, but why should it just work, if $0 is not an Int (or other object that becomes an Int)?
11:26 colomon should +"2/2" be an Int?
11:27 lichtkind joined #perl6
11:27 masak +<2/2> could be a Rat or an Int. I don't know if the same rules apply to +"2/2" -- guessing not.
11:28 masak I'd expect +"2/2" to be 2 and an Int.
11:29 masak colomon: and I do see your concerns about Rats becoming Ints all of a sudden.
11:29 masak I agree we should probably be careful there, and (say) make sure that operations on Rats always yield Rats when the user expects it.
11:30 mtk joined #perl6
11:31 colomon or to put it another way: you're saying that my Rat $x = +$y *shouldn't* work if $y happens to be a Rat with a denominator of 1.
11:32 moritz why would you use a + there?
11:33 moritz if you're not sure what type $y is, you should use my Rat $x = $y.Rat anyway
11:33 masak right. but there are cases where I'm sure the Str contains the representation of an Int.
11:33 moritz maybe the operation of narrowing a numeric type down should be separate from prefix +, but still available
11:33 moritz masak: we're not discussion Str -> Numeric conversion
11:34 lichtkind that will just default to $*IN? ($answer = get;)
11:34 moritz masak: that's already specced as giving you an Int in this case
11:34 moritz (it's just rakudo that lags behind)
11:34 masak moritz: ah, so $y would already be a number? no, I don't want that.
11:34 colomon I'm certainly all in favor of having a way of narrowing a numeric type.  I just am not at all comfortable with that being prefix:<+>
11:34 masak moritz: that should be a no-op IMHO.
11:35 masak moritz: just like prefix:<~> is a no-op on Strs and prefix:<?> is a no-op on Bools.
11:35 moritz 13:19 < masak> <moritz> opinion question: should the + in +(2 * 0.5) convert  the result to Int?
11:35 moritz 13:19 < masak> emphatic YES. :)
11:35 masak let me retract that :)
11:35 moritz now I'm surprised by the disconnect... Ok
11:35 masak emphatic NO :P
11:35 colomon afk # quick noms then packing
11:36 masak I'm so used to seeing the question about Strs, so I just assumed it was that again without looking carefully. apologies.
11:36 woosley left #perl6
11:36 masak er, I mean, I *do* apologise. http://wondermark.com/735/
11:36 moritz it's ok
11:44 lichtkind do i have to sax $*IN.get or is get enough?
11:45 lichtkind s/sax/say/
11:48 masak get is enough.
11:48 moritz rakudo: say get
11:48 p6eval rakudo 1fcb14: OUTPUT«Land der Berge, Land am Strome,␤»
11:48 moritz see? not too hard to try out
11:48 masak lichtkind: questions like these are very amenable to trying with Raku... what moritz said.
11:49 masak lichtkind: it's not that we mind being bothered or anything, it's that we like it when people have done a minimal amount of research.
11:50 kthakore rakudo: say 'hug kthakore'
11:50 Grrrr left #perl6
11:50 p6eval rakudo 1fcb14: OUTPUT«hug kthakore␤»
11:50 kthakore yay!
11:50 moritz lichtkind: it's also in the specs
11:50 moritz (IO.pod line 879)
11:56 masak not the most trustworthy of synopses, but still. spec and Rakudo agree; usually a good sign.
11:57 moritz niecza: say get
11:57 p6eval niecza v7-11-g9ba8284: OUTPUT«Land der Berge, Land am Strome,␤»
11:59 moritz two implementations actually :-)
11:59 Grrrr joined #perl6
12:00 masak Niecza gets it, too :P
12:01 moritz nom: say get
12:01 p6eval nom: OUTPUT«Could not find sub &get␤current instr.: '_block1002' pc 70 ((file unknown):37010516) (:1)␤»
12:03 dalek rakudo/nom: af3879f | moritz++ | LHF.markdown:
12:03 dalek rakudo/nom: note more LHFs
12:03 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/af3879fc1e
12:03 drbean_ joined #perl6
12:04 * moritz ponders a small script that turns 'gi tpush' into 'git push'
12:04 masak I'm always weary of utilities that DWIM on typos.
12:05 * moritz too, usually
12:05 masak much rather find a two-letter alias that's hard to mistype: 'gp' or something.
12:06 moritz but having to type with one hand more often means I have to think about ways to optimize what I type
12:06 masak 'gi tpush' suggests that you're fine up until the second keypress. :P
12:07 moritz right, but if I install an alias for 'git push', I will still misspell 'gi tdiff' etc.
12:07 masak I'll let you figure that one out on your own. :P
12:07 masak "teach a man to fish" and all that...
12:07 masak seeing TimToady++'s setup during some talk made me realize how much can be done with short aliases.
12:09 moritz teach a man to fish, and he'll never think about more efficient ways to nurture himself
12:09 lichtkind masak: in which? i tried s32
12:10 flussence .oO( teach a man to fish, and eventually he'll start boring you with fishing stories... )
12:12 masak moritz: fish is healthy, and nutrient-rich :)
12:13 masak lichtkind: S32/IO:879
12:13 drbean left #perl6
12:14 moritz 13:50 < moritz> (IO.pod line 879)
12:15 moritz but some people need to be told twice, it seems :-)
12:15 tzhs left #perl6
12:16 masak moritz: I just took what you wrote and represented it like I usually do. :) moritz++
12:20 moritz I do apologize for not formatting it in a machine-readable way earlier :-)
12:20 _twitch left #perl6
12:20 masak on behalf of the bot community, I do accept the apology :P
12:20 lichtkind i did even try to fetch rakudo ppa but it doesnt ran that well
12:21 masak lichtkind: worksforme
12:21 _twitch joined #perl6
12:24 moritz ppa?
12:25 lichtkind moritz: https://launchpad.net/~dexter/+archive/rakudo-pkg
12:26 masak or you could just build from source.
12:26 masak it's easy.
12:27 lichtkind allright
12:27 lichtkind moritz: you posted just the line i read before i asked, this just want clear to me
12:28 lichtkind i just assume that just get is not enough
12:30 bluescreen10 joined #perl6
12:31 moritz lichtkind: so even after we told you, you still assume?
12:31 * moritz shakes his head
12:31 * masak senses misunderstanding in the air
12:32 masak people: would y'all agree that the Structured Programming movement was primarily about the maintainability of programs?
12:32 colomon hmmm....
12:32 colomon not exactly, I'd say.
12:33 flussence I'd say it was more about the maintainability of programmers :)
12:33 masak please elaborate if possible, both of you.
12:36 masak Structured Programming, at its simplest, favored if/elsif/else and given-like constructs, as well as while/repeat/do-while loops, to goto statements.
12:36 masak Java takes this to an extreme by having labels and even a goto keyword, but no goto semantics. :)
12:37 tadzik a rainy day
12:37 Holy_Cow1 joined #perl6
12:38 masak my point is, how is this re-focusing on "higher-order" program-flow constructs not about maintainability?
12:38 masak colomon, flussence: I'm curious since both of you seem to feel it missed the point.
12:38 colomon it's not that it missed the point
12:39 colomon it's just that it makes the point a little too strongly
12:39 colomon IMO
12:39 lichtkind masak: oh no i just looked after the highlighted messages after coming back from a hack and didnt seen yours sorry
12:39 colomon except to the extent that all improvements to programming are improvements to maintainability.  ;)
12:40 masak lichtkind: no idea what you're talking about.
12:40 masak colomon: ok, that's a fair point.
12:40 colomon I'd say it was sort of half maintainability and half... ummm.... write-ability.
12:40 flussence and improvements to amintainability = reduced burnout :)
12:41 colomon having actually programmed in the bad old days of goto, let me tell you, having functions with local variables makes code a LOT easier to write.
12:42 colomon and easier to maintain is then the flip side of that
12:42 masak one thing that Structured Programming does, according to Wikipedia, is to say "everything you could do with goto you can also do (nicer) with conditionals and loops". with the additional benefit that it's easier to reason about for both humans and computers alike.
12:42 lichtkind masak: i didnt seen your first answer "masakget is enough." because of the other hihlighted that were already there
12:42 tadzik nom: my $=POD
12:42 p6eval nom: OUTPUT«Could not find sub &POD␤current instr.: '_block1002' pc 73 ((file unknown):135) (:1)␤»
12:42 tadzik ...what?
12:42 tadzik ach, $ = POD()
12:43 * lichtkind doubts that everything you can do with goto could done with loops
12:43 flussence functions and everything based on them are just fancy gotos anyway :)
12:43 flussence (take that, haskell! :)
12:44 lichtkind haha
12:44 moritz lichtkind: never heard of Turing completeness?
12:44 lichtkind moritz: i had cases where i deliberatly choose goto because anything else just went ugly
12:44 masak lichtkind: ugly != impossible
12:45 lichtkind yes of course
12:45 colomon well, impossible-ish.
12:45 masak I love to 'return' out of loops. some people hate that.
12:45 colomon there are stunts you could do with goto that you cannot do without it.
12:45 masak especially the "single point of exit" people.
12:46 colomon you can write a program to do the same thing without goto, but it will be more obtuse or less efficient
12:46 moritz masak: I never really understood their point of view
12:46 * colomon thinks single point of exit people are completely bonkers
12:46 masak colomon: oh sure. Duff's device, for example.
12:46 moritz I know that Bertrand Meyer argues it makes code easier to understand
12:46 moritz (or at least he did in OOSC v2)
12:47 masak moritz: I think it's a rare form of programmer's "grammar nazism".
12:47 daniel-s left #perl6
12:47 moritz but... he neglected to take into account that it can make the routine bodies themselves far more complicated
12:47 tadzik nqp seems to not like <?{ }> in grammars
12:47 [Coke] return early, return oftne.
12:47 masak moritz: I'm content with knowing that any multiple-exit routine can be mechanically transformed into a single-exit one.
12:47 masak [Coke]: amen to that.
12:47 colomon the classic example of an efficient goto trick is goto a sub instead of calling it, so that you save a stack shift / return statement.  doesn't really work in structured languages, but it's a nice trick in old BASIC or assembly.
12:48 lichtkind i had to deinstall my old rakudo but now make process is moving :)
12:48 tadzik nqp: grammar a { token b { <?{ say 'foo' }> } }
12:48 p6eval nqp: OUTPUT«Unable to parse blockoid, couldn't find final '}' at line 1␤current instr.: 'nqp;Regex;Cursor;FAILGOAL' pc 3851 (src/Regex/Cursor.pir:239)␤»
12:48 tadzik is this a feature?
12:48 colomon afk # leaving on a jet plane... or more likely a turbo prop
12:48 colomon left #perl6
12:48 masak colomon: heh... it works in Perl 5 :P
12:49 moritz std: grammar a { token b { <?{ say 'foo' }> } }
12:49 p6eval std 37a0cdd: OUTPUT«ok 00:01 121m␤»
12:50 flussence perl5 also has the &subname syntax thing, IIRC
12:50 masak flussence: yes, but with a different meaning than in Perl 6.
12:50 flussence yeah, I'm referring to the goto-sub-stack-shift thing
12:51 masak flussence: in Perl 4, you called a sub foo by writing 'do foo'. then it became '&foo', and only then 'foo'.
12:52 masak flussence: the '&foo' form still exists, and also has two "extra" behaviors: it doesn't check prototypes and it doesn't set @_.
12:52 masak or in a word, "yeech".
12:52 flussence that last bit was what I was getting at, it lets you cheat. Not in a good way though :)
12:52 masak it's still no tailcall, AFAIK.
12:53 masak I might be wrong, though.
12:54 tadzik nom: grammar a { token b { <{ say 'fo' }> } }
12:54 p6eval nom: OUTPUT«Method 'new_type' not found for invocant of class 'Undef'␤current instr.: 'nqp;Perl6;SymbolTable;pkg_create_mo' pc 13759 (src/gen/perl6-symboltable.pir:0)␤»
12:55 tadzik whatever it is, it's LTA
12:57 bluescreen10 left #perl6
12:58 tadzik seems to not like 'ok
12:58 tadzik * 'or'
13:00 tadzik strange things
13:02 kthakore How do I ensure errors due to NativeCall.pir vs NativeCall.pm don't happen with the SDL module?
13:03 tadzik they won't
13:04 tadzik I took care of that a while ago
13:06 TimToady I use gp for git pull -rebase
13:06 donri joined #perl6
13:07 TimToady I type that more often than the others, but that's because I don't commit very often
13:07 kthakore TimToady: :)
13:07 kthakore tadzik: :)
13:07 kthakore TimToady: sorry that was for tadzik
13:07 kthakore smile misfire
13:07 kthakore :P
13:07 kthakore tadzik: awesome thanks!
13:07 TimToady also, that's a longer command, so deserves tobe shorter harder :)
13:08 tadzik it's no good to take smiles away :)
13:09 flussence I'd write that as "git config alias.pr='git pull --rebase'; git pr"
13:09 tadzik I just aliased g for git
13:10 tadzik survey: would you prefer Pod-related classes in Perl6 to be named Pod:: or Pod6::?
13:10 tadzik I'm more into the former as I think of it now
13:11 moritz Pod:: please
13:11 moritz the 6 is already implied in the 'use v6;'
13:11 tadzik that's what I wanted to hear, thanks
13:12 bluescreen10 joined #perl6
13:14 masak what moritz said.
13:14 masak S26 calls it Pod, too.
13:14 masak the 6 only makes sense from a Perl 5 perspective, really.
13:15 tadzik troo
13:17 masak moritz: I guess single exit-points are more important in a medium with manual memory management.
13:18 masak even so, one could imagine such a language having the equivalent of a LEAVE {} construct.
13:21 tadzik http://wklej.org/id/555496/ -- any clues?
13:21 Holy_Cow1 left #perl6
13:25 TimToady S01:105 seems a bit obsolescent...
13:25 bakedb left #perl6
13:27 moritz tadzik: please try to revert ae04ddae2a514732cc846b19c2e90e721008d408 locally and then try again
13:28 masak TimToady: well, migration *is* important. :)
13:29 TimToady it's the next sentence that is bothersome
13:29 TimToady it really only applies to an executable named "perl"
13:29 masak aye.
13:30 ab5tract left #perl6
13:31 masak it is factually true that the presence or absence of that section has little impact on any current applications, simply because none of them produce "perl" executables.
13:31 masak I guess one could rename them to "perl" and submit Rakudo- and Niecza-bugs, though :P
13:31 * masak .oO( when your only tool is a masak, every problem looks like a bug )
13:32 tadzik moritz: same
13:33 frettled Cram Kalas!
13:33 masak another anagram? nice :)
13:33 frettled kram Claas
13:34 * frettled is not quite Sherlock Holmes.
13:34 frettled Mark Scala
13:35 mtk left #perl6
13:36 Instil left #perl6
13:36 masak frettled: Sand Jag Din Volt :)
13:36 moritz nom: class A::B { }; class A::C is A::B { }
13:37 p6eval nom:  ( no output )
13:37 bakedb joined #perl6
13:37 masak Ads Van Dong Jilt
13:37 TimToady nom: my @a = 1,2,3 Z* 1,2,3; say @a
13:37 p6eval nom: OUTPUT«1 4 9␤»
13:37 lichtkind jejky i my machine compile rakudo
13:37 TimToady nom: my @a = 1,2,3 Z* 1,2,3 Z* 1,2,3; say @a
13:37 p6eval nom: OUTPUT«1 8 27␤»
13:37 moritz tadzik: fails in a trait_mod is, so might be related to the inheritance and/or names of the classes
13:38 TimToady pmichaud: ^^^ you don't need all those parens
13:38 tadzik int eresting
13:38 frettled masak: nice ones :D
13:38 TimToady X and Z are list infixes
13:38 mtk joined #perl6
13:38 frettled masak: I try to get people to spell my names using the following mnemonic, but unfortunately, most people don't understand mnemonics: ingen vold i staden
13:39 frettled masak: but this reminds me that an anagram generator in Perl 6 would probably be cool.
13:39 masak frettled: Jag Vann Dit Sold
13:40 masak frettled: I challenge you to write an anagram generator. and make the code really transparent and pretty. :)
13:40 _twitch left #perl6
13:40 masak not *literally* transparent, of course. that's Whitespace. but easy-to-read.
13:41 frettled masak: dang
13:41 arnsholt I think a trie is a good place to start for an anagram generator
13:41 mtk left #perl6
13:42 arnsholt And some kind of recursive enumeration of all possible anagrams
13:42 mtk joined #perl6
13:42 moritz I think you shouldn't generate anagrams, but search them
13:43 arnsholt Well, yeah. But I think recursively enumerating all possible permutations is a good place to start, and then using the dictionary trie to filter what you generate
13:43 frettled Anagrams are cooler if you require that they at least _seem_ like proper words.  Some password generators are like that, those are very nice.
13:44 frettled Setec Astronomy => too many secrets (STR, but are there other nice anagrams for that?)
13:44 arnsholt Well, if your filter is populated with /usr/share/dict/words, it would contain only known words
13:45 masak as far as I can tell, you could solve this by using Dancing Links.
13:46 masak arnsholt, frettled: any of you coming to YAPC::EU?
13:46 arnsholt I'd really like to, but no =/
13:46 MayDaniel joined #perl6
13:46 masak oh well.
13:47 arnsholt Maybe next year, when I'll be able to actually plan holidays and such (hooray for employment)
13:47 masak I'll make sure to put up the slides afterwards, though. then we can at least talk about it over IRC.
13:47 arnsholt But "recursive, nondeterministic, depth-first, backtracking algorithm" sounds more or less like what I was thinking of
13:47 frettled masak: me neither :(
13:47 frettled no holidays left
13:49 masak arnsholt: I'm writing an ASCII-art frontend to Dancing Links in Moose right now.
13:49 arnsholt Nifty!
13:49 tadzik moritz: oh, I left one "Pod6::" in there
13:49 moritz tadzik: that might explain things
13:49 tadzik yeah
13:50 masak arnsholt: https://github.com/masak/dlx-simple/b​lob/master/doc/design/01-overview.md
13:52 arnsholt Interesting!
13:52 arnsholt How much magic are you going to put into the Reader/Writer parts?
13:52 arnsholt Or rather, will there be magic, or are they things you'll have to roll on your own?
13:53 frettled masak: fascinating!
13:53 masak :)
13:53 masak arnsholt: not sure I understand the question.
13:53 masak arnsholt: define "magic".
13:54 arnsholt Heh. Magic might be a bit hyperbolic, I admit
13:54 arnsholt To what extent will your code be able to figure out the ASCII->Matrix and Matrix->ASCII mappings on its own?
13:55 arnsholt Or will those be things a user will code up on their own?
13:55 masak arnsholt: I expect to have to write pretty dedicated parsers for each type of problem.
13:56 lichtkind sorry my question maybe gets really stupif but i gut in my shell a green thing called perl6 wich i cant call but has +rwx its not a softlink
13:56 masak arnsholt: the thing that will probably be generalizable/reusable is the mapping code itself.
13:56 lichtkind it has a * behind it in ls -l
13:56 arnsholt masak: Yeah, that's where my initial 30 seconds of pondering ended up as well =)
13:56 drbean_ left #perl6
13:56 tadzik nom gets confused if I put Foo::Bar classes into the setting. FooBar are ok, but for Foo::Bar ./perl6 says "Could not find symbol 'Foo::&Bar'"
13:56 arnsholt But people 'round here have a tendency to come up with surprising amounts of cleverness =)
13:57 arnsholt BTW, it might be worthwhile to have the Perl5 code call out to the C code, once you get that far
13:57 arnsholt I've hacked with some SWIG stuff lately, and it's quite nice to work with
13:59 masak nice idea. might gain me some speed.
13:59 masak thanks.
13:59 arnsholt You're welcome. Feel free to prod me about it
13:59 arnsholt The docs are a bit obtuse unfortunately, but it turns out to be reasonable in the end
14:00 masak arnsholt: the parsing will essentially be of 2d ASCII art, so I doubt there'll be much commonality, except in limited cases.
14:00 arnsholt Indeed
14:04 bakedb left #perl6
14:06 mberends left #perl6
14:06 pmichaud good morning, #perl6
14:06 masak o/ pmichaud
14:06 moritz \o
14:09 moritz rakudo: say infix:<Z>(1, 2; 'a', 'b').perl
14:09 p6eval rakudo 1fcb14: OUTPUT«===SORRY!===␤Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 22␤»
14:10 benabik left #perl6
14:10 newbee joined #perl6
14:10 TimToady rakudo: say infix:<Z>((1,2; 'a','b')).perl
14:10 p6eval rakudo 1fcb14: OUTPUT«No applicable candidates found to dispatch to for 'infix:<Z>'. Available candidates are:␤:()␤:(Any $lhs, Any $rhs)␤␤  in main program body at line 22:/tmp/hFISlhcrn6␤»
14:11 TimToady semicolon is problematic in an argument list
14:11 TimToady std: say infix:<Z>(1, 2; 'a', 'b').perl
14:11 p6eval std 37a0cdd: OUTPUT«ok 00:01 121m␤»
14:11 TimToady hmm
14:12 pmichaud nom: say infix:<Z>(1,2; 'a','b').perl
14:12 p6eval nom: OUTPUT«((1, 'a'), (2, 'b')).list␤»
14:12 TimToady okay
14:12 pmichaud master doesn't understand semiarglists (never has)
14:12 TimToady I guess it's statement modifiers that are more of a problem
14:13 moritz I wanted to use nom, but I failed
14:14 pmichaud I'm still a little uncertain about semicolons in parens, though.
14:17 TimToady you could think of it as a funny list infix in that case
14:18 TimToady it's no more retroactive than X or Z
14:18 pmichaud so, even though we parse them as  '(' <statementlist> ')', it really acts like a semiarglist inside?  i.e., each of the ';' components are kept?
14:19 [Coke] pmichaud: o/
14:19 pmichaud my @foo = ( stmt; stmt; bar() );    # the stmts aren't in sink context
14:20 TimToady that's the point of not parsing with statementlist
14:20 TimToady that's why we have semiarglist, to change the semantics of ;
14:21 pmichaud I'm just saying that circumfix:<( )>  doesn't use semiarglist, but has to act like it.  Is that correct?
14:22 kthakore is there a perl6 module author mailing list?
14:22 TimToady it's semilist in STD
14:22 kthakore how ... do I find STD?
14:22 pmichaud ahhhhhhhh
14:23 pmichaud I'm not awake yet here.
14:23 kthakore nvm sorry
14:23 * kthakore runs away again
14:23 pmichaud okay, I see now.  We have semiarglist, statementlist, *and* semilist
14:23 pmichaud I didn't catch that third one.  TimToady++
14:24 TimToady I didn't add it, sorear++ did, apparently
14:26 bakedb joined #perl6
14:26 TimToady kthakore: it's at git@github.com:perl6/std.git
14:27 kthakore TimToady: I thought '< TimToady>(*.+)semlist' pretained to my question ( is there a perl6 module author mailing list? ).
14:27 kthakore semilist*
14:28 moritz kthakore: you can use the perl-users list for that
14:28 kthakore moritz: ... sent it to announce :\
14:28 MayDaniel left #perl6
14:28 kthakore ah well
14:29 leprevost joined #perl6
14:29 slavik rakudo 2011.04 has issues loading pir modules and the paths are in @*INC, am I doing something wrong? or am I missing something?
14:31 agentzh joined #perl6
14:32 wamba joined #perl6
14:34 moritz slavik: define "has issues"
14:35 slavik moritz: it says that it can't find the module
14:35 birdwindupbird left #perl6
14:36 moritz slavik: do you also have the .pm (or .pm6) file in @*INC?
14:36 slavik moritz: don't think so, is that the reason?
14:37 slavik moritz: the pir is def there
14:37 slavik didn't see the .pm/pm6
14:37 pmichaud *which* .pir, ooc?
14:37 moritz slavik: then it won't work
14:37 slavik ahh, I see
14:37 slavik fair enough
14:37 moritz slavik: .pir files are just caches, so to say. .pm(6) is the authorotative source of infomration
14:37 slavik how come rakudo* doesn't come with the .pm* stuff for the .pir stuff it includes?
14:37 slavik I see
14:38 slavik wait, aren't .pir parrot assembly code?
14:38 moritz it should
14:38 moritz yes
14:38 pmichaud the .pm files are required?  that wasn't always the case
14:39 slavik yeah, in older dev version of parrot/rakudo (parrot 0.84 version, I remember) .pir was the only thing that was needed
14:39 newbee left #perl6
14:40 kaare_ joined #perl6
14:42 wtw left #perl6
14:42 pmichaud 12:48 <tadzik> nqp: grammar a { token b { <?{ say 'foo' }> } }
14:42 pmichaud say requires parens in nqp
14:43 pmichaud nqp: grammar a { token b { <?{ say('foo') }> } }
14:43 p6eval nqp:  ( no output )
14:43 pmichaud tadzik: ^^^^^^
14:45 bakedb left #perl6
14:45 slavik rakudo: use Data::Dumper; my $a = 5; say Dumper $a;
14:45 p6eval rakudo 1fcb14: OUTPUT«===SORRY!===␤Unable to find module 'Data::Dumper' in the @*INC directories.␤(@*INC contains:␤  lib␤  /home/p6eval/.perl6/lib␤  /home/p6eval//p1/lib/parrot/3.​5.0-devel/languages/perl6/lib␤  .)␤»
14:45 slavik see?
14:45 slavik :P
14:45 pmichaud does :from<parrot> work?
14:46 pmichaud since Data::Dumper isn't written in p6, it might need a :from in order to use it (which may or may not be implemented in rakudo atm)
14:47 moritz pmichaud: the .pm files are required since we have support for module versions
14:48 moritz pmichaud: which iirc was done at the Copenhagen p6 hackathon in 2009
14:48 pmichaud hmmm, I think it had to have come later than that.
14:49 pmichaud still, loading an arbitrary .pir file will likely need a :from<...> somewhere, or something like that.
14:49 jferrero joined #perl6
14:50 moritz speaking of dumpers... in nom, --target=parse is pretty useless atm
14:50 pmichaud yes, I think we're going to have to re-implement Data::Dumper for nqp
14:51 pmichaud Parrot's Data::Dumper doesn't know how to deal with 6model objects, or something like that.
14:51 pmichaud or perhaps it's as simple as creating 'dump' methods on the 6model versions of Capture/Match... but I'm not entirely sure about that
14:52 [Coke] might just need a plugin.
14:52 pmichaud I bet Data::Dumper will also have trouble with object attributes from 6model
14:52 [Coke] You should be able to write your own method for dumping, IIRC.
14:52 pmichaud yes, it's just 'dump' :-)
14:53 pmichaud er, '__dump'
14:53 pmichaud looks like __dump is defined in src/Regex/Dumper.pir (of nqp), but I'm not sure it's working.
14:54 koban left #perl6
14:54 pmichaud almost certain not to work -- it doesn't appear to have been 6modelified
14:55 pmichaud well... hrm.
14:55 pmichaud maybe it has been done.  anyway, when it works in nqp, it'll likely start to work in nom.
14:56 pmichaud although it may also be that we'll run into issues when the dumper encounters a p6 object
14:58 mj41 left #perl6
15:03 bakedb joined #perl6
15:03 moritz I'm trying to patch Complex to hold two (native) num objects
15:04 moritz and it generates code like
15:04 moritz repr_get_attr_num $N7856, $P165, $P166, "$!im"
15:04 moritz where IMCC complains:
15:04 moritz error:imcc:syntax error, unexpected NREG, expecting '(' ('$N7856')
15:04 moritz so, it seems to not know about the opcode
15:05 agentzh left #perl6
15:05 moritz but it has a .loadlib "nqp_ops"  on top
15:07 jnthn check nqp.ops
15:07 jnthn to make sure thaqt's there
15:08 JimmyZ there is no that op
15:08 JimmyZ the second repr_get_attr_int should be repr_get_attr_num
15:08 jnthn (or I can in 10 mins)
15:08 jnthn JimmyZ: oh. copy pasto. :(
15:09 JimmyZ yes
15:09 JimmyZ the doc is right
15:12 bakedb left #perl6
15:13 moritz JimmyZ++
15:13 moritz I ack'ed it, found it in the heading and thought it would be fine
15:15 thou joined #perl6
15:16 moritz fixing, will push after (successful) tests
15:18 mikemol Re, "is there a place where everything in X is listed" ... couldn't that like of list be autogenerated by running spec tests on implementations?
15:18 * JimmyZ think repr_get_attr_int and repr_get_attr_num could be 'repr_get_attr', since parrot supports ops with same name with different args
15:21 dalek nqp: bb56d12 | moritz++ | src/ops/nqp.ops:
15:21 dalek nqp: fix a copy'n'past-o, JimmyZ++, jnthn++
15:21 dalek nqp: review: https://github.com/perl6/nqp/commit/bb56d124d3
15:23 pmichaud yes, nqp::bindattr_[i|s|n]   and nqp::getattr_[i|s|n] sound good to me.  Shall I add them?
15:24 moritz +1
15:27 TimToady I'm wondering if there should be a Default role that the standard containers use, with a default default of Any
15:27 TimToady rather than, say, passing special arguments to KeyHash
15:28 pmichaud I could see that working.  Maybe de-huffmanize Default a little (seems too generic a word to me)
15:28 TimToady well, in practice, we might have special syntax for a declarator
15:28 TimToady my $x ! 42  or some such
15:28 TimToady suggestions welcome
15:28 moritz what would that do?
15:28 TimToady set $x to 42 if you say $x = Nil
15:29 TimToady or rather, assume it's 42
15:29 TimToady my @x ! 42 would return 42 for any non-existing element
15:29 pmichaud maybe de-huffmanize ! a little, too :)
15:30 moritz what about a trait?
15:30 TimToady yes, well, I've thought of a lot of ugly solutions so far
15:30 moritz my @x defaults(42)
15:30 moritz is default(42)
15:30 moritz or somthing
15:30 * masak decommutes &
15:30 masak left #perl6
15:31 alester joined #perl6
15:31 pmichaud my @x is nil(42)
15:31 moritz oh wow, I've got it to compile... and now it segfaults
15:31 TimToady pmichaud: that was one I kinda liked
15:32 bakedb joined #perl6
15:32 TimToady or my @x nil 42
15:32 dalek nqp: ef8b5d3 | pmichaud++ | src/PAST/NQP.pir:
15:32 dalek nqp: Add nqp::bindattr_[i|n|s] and nqp::getattr_[i|n|s].  jnthn++ / moritz++
15:32 dalek nqp: review: https://github.com/perl6/nqp/commit/ef8b5d3ad5
15:33 jnthn moritz: (segfault) maybe you're using nqp::getattr somewhere on it rather than nqp::getattr_n
15:34 TimToady also played a lot with operators resembling default args, such as my @x ≗ 42
15:34 moritz http://moritz.faui2k3.org/tmp/Complex-num.patch that's the patch, and a simple ./perl6 -e 'say 1i' segfaults
15:34 jnthn moritz: If it's a native type you have to use the native attribute access variant
15:34 moritz hm, maybe the autogenerated accessor does
15:34 jnthn oh
15:34 jnthn yeah, that's possible
15:34 jnthn If so, add to nommap; I'll fix it.
15:35 * moritz tests with custom accessors
15:36 TimToady my @x is nilly(42)  :)
15:36 jnthn moritz: Generally, the 6model core leaves it to compilers to generate correct code rather than slowing things down with checks all over.
15:36 moritz is nillable-to(42)
15:36 moritz jnthn: yep, sensible (if the compiler is good enough :-)
15:37 jnthn So it'll happily segfault if you cheat on the type system. :)
15:37 TimToady is when-you-destroy-this-it-pretends-to-be(42)
15:37 jnthn Thankfully things tend to explode very quickly.
15:37 pmichaud my @x is nihilistic(42)
15:37 moritz \o/ works
15:38 TimToady there are an awful lot of clicks on this huffman knob...
15:39 jnthn moritz: yay
15:39 jnthn TimToady: What're we trying to achieve with this?
15:39 dalek rakudo/nom: 0feaed3 | pmichaud++ | src/core/ (2 files):
15:39 dalek rakudo/nom: Switch Pair.hash so that it doesn't return a scalar Hash; let it default
15:39 dalek rakudo/nom: back to Any.hash instead (which now works).
15:39 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0feaed3dc2
15:39 jnthn I'm guessing this is vagluey related to my Mu $x = Any
15:39 TimToady yes
15:40 TimToady to set a different Any on an individual decl
15:40 pmichaud we're basically determining what "undefined" means on any given container :-)
15:40 pmichaud oh, drat
15:40 jnthn ah
15:40 pmichaud we're basically defining what "undefined" means on any given container :-)
15:40 jnthn :P
15:41 TimToady it bothers me ever so slightly that it means something a bit different for my @x is nil(42) than my $x is nil(42)
15:41 jnthn TimToady: Only to the degree that my int $x and my int @x are different though, I guess
15:41 TimToady or more to the point, my %x is nil(42)
15:41 pmichaud feels like we want a counterpart to 'of'
15:42 moritz 'fo'
15:42 TimToady since the element exists in $x, and generally doesn't in %x
15:42 moritz sorry, could not resists
15:42 pmichaud 'of' sets the constraint type -- we want something that sets the undefined value
15:42 pmichaud (undefined default)
15:42 jnthn Maybe it's a type modifier of some kind
15:42 dalek rakudo/nom: 7ea50ce | moritz++ | / (3 files):
15:42 dalek rakudo/nom: Complex now holds two native nums
15:42 dalek rakudo/nom:
15:42 dalek rakudo/nom: allso bumps NQP_REVISION, and adds a note to NOMMAP about segfaulting
15:42 dalek rakudo/nom: autogenerated accessors
15:42 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7ea50cea0f
15:42 TimToady well, but it's not undef, it's unexist
15:42 jnthn Aong the line of the coercion types we've sometimes discussed in the past.
15:42 pmichaud right, unexist then
15:43 jnthn *along
15:43 pmichaud (much better word, that)
15:43 jnthn The word unexist unexists in my dictionary :P
15:43 jaldhar left #perl6
15:43 moritz without having benchmarked this patch, I guess it actually slows down things a bit (more boxing going on), but is generally a step in the right direction (less memory used)
15:43 jnthn moritz: What do the ops on complex look like?
15:44 jnthn moritz: Please say they don't call the accessors and .new?
15:44 TimToady Any:U(42)  :P
15:44 TimToady except that's undef
15:44 moritz jnthn: they do, for now
15:44 pmichaud :N(42)
15:44 jnthn moritz: Yeah, that's one place where we probably should break encapsulation...
15:44 moritz jnthn: agreed
15:44 jnthn Same for Rat
15:44 jnthn Of they'll be awful
15:44 moritz Rat isn't so easy
15:45 * mikemol muses
15:45 jnthn Anyway, fix the ops up so they don't do boxing all over and it'll perform very nicely
15:45 mikemol Is there any property of Rats that might mark them as dirty in some sense?
15:45 jnthn No, Rat is trickier, I agree.
15:45 * mikemol smells a pun
15:45 jnthn It can't be native
15:45 jnthn mikemol: I guess their readonlyness is dented... ;)
15:46 TimToady .oO(endentured natives...)
15:51 kthakore /win 2
15:51 moritz I'm now working on a patch that makes prefix:<-> for Complex unbelieably fast and ugly
15:51 bakedb left #perl6
15:51 pmichaud fast, good.  ugly, not so good.  :)
15:52 TimToady trust is a beautiful thing :)
15:53 jnthn It's not breaking encapsulation. It's *trusting*. :D
15:53 TimToady btw, I do agree that Complex should not be assumed to be identical to complex
15:54 jnthn TimToady: iirc, the complex is certainly two native ints, and Complex may not be?
15:54 pjcj left #perl6
15:54 TimToady it might default to Complex[num,num], but Complex[Rat,Rat] is also likely
15:54 pmichaud ints?
15:54 pmichaud :-)
15:54 jnthn er, nums
15:55 daxim complex nom nom
15:55 TimToady oh, great, now I have to figure out what the 'nom' type is...
15:55 pmichaud my $x is nom(42)  :-P
15:55 TimToady something ate it!
15:56 pmichaud short for "nominal"
15:56 TimToady is nominally
15:56 pmichaud right
15:56 pmichaud but then we also have    my @x is LoL is nom(42)    .... and the puns just keep on coming.
15:56 * JimmyZ sleeps,  night to jnthn
15:56 * TimToady is no longer nom(Any) alas
15:56 jnthn JimmyZ: night...I'll sleep soon too. talk tomorrow ;)
15:56 moritz http://nopaste.snit.ch/56497
15:57 moritz that's how the prefix:<-> looks now
15:57 pmichaud one achieves perfection when they can be  nom(Mu), I guess.  :)
15:57 moritz oh, that looks wrong
15:57 moritz but you get the picture
15:57 zby_home_ joined #perl6
15:57 jnthn moritz: Those'll be fast, especially when we get the optimizer :)
15:58 pmichaud especially when we can avoid all of those 'Complex' lookups :)
15:58 moritz I accidentally deleted 3 lines from the paste (the ons that get and negated $!re)
15:58 jnthn oh, true
15:58 jnthn well
15:58 jnthn that's easy
15:58 jnthn my $new = nqp::create($a)
15:58 jnthn create doesn't need a type object.
15:58 jnthn Any instance will do.
15:58 pmichaud ...it's still a lookup :)
15:59 moritz if I do nqp::create($a), and somebody subclasses Complex...
15:59 jnthn pmichaud: static multi-dispatch optimization + inliner + lexical to register lowerer = fine :P
15:59 pmichaud jnthn: agreed, it'll work out.
15:59 moritz does it automatically generate an instance of the subtype?
15:59 jnthn moritz: ...then it'll probably do the right thing :)
15:59 jnthn moritz: Yes :)
16:00 pmichaud I'm pretty sure repr_instance_of  does an implicit .WHAT
16:00 jnthn pmichaud: I sure hpo not.
16:00 pmichaud (and thus nqp::create does so also)
16:00 jnthn pmichaud: It's a wasted .WHAT if so.
16:00 pmichaud oh, guess not.
16:01 * jnthn designed it to be agnostic about that on purpose :)
16:01 pmichaud then how does  nqp::create($a) work?
16:01 pmichaud (if $a isn't a type object)
16:02 moritz STable magic?
16:03 jnthn pmichaud: It simply doesn't matter to create whether it's passed an instance or a type object.
16:03 bakedb joined #perl6
16:03 jnthn pmichaud: If it has any repr data, that's on the s-table
16:03 pmichaud jnthn: right.  An "implicit WHAT".  Note the word "implicit"
16:04 pmichaud create says "create an instance of the same type as what I'm passing you"
16:04 jnthn Right
16:04 jnthn I just find it confusing to start talking about .WHAT when it's not involved at all :)
16:04 pmichaud fairy nuff
16:04 jnthn Maybe I know the guts too well though :)
16:05 moritz error:imcc:The opcode 'repr_bind_attr_num_p_p_s_n_n' (repr_bind_attr_num<5>) was not found. Check the type and number of the arguments
16:05 pmichaud oooooops
16:05 pmichaud pmichaud--
16:05 moritz one n too much?
16:06 pmichaud wrong return type, likely.
16:06 moritz 346:    maphash['bindattr_n'] = 'repr_bind_attr_num__PPsn'
16:06 moritz right
16:06 pmichaud yeah, that's wrong.
16:06 jnthn Missing v
16:06 jnthn or 0
16:06 pmichaud maphash['bindattr_n'] = 'repr_bind_attr_num__3PPsn'
16:06 jnthn er
16:06 pmichaud fixing.
16:06 jnthn 3
16:06 jnthn :)
16:07 dalek nqp: 1819a41 | pmichaud++ | src/PAST/NQP.pir:
16:07 dalek nqp: Fix signatures for nqp::bindattr_[i|n|s].  moritz++, pmichaud-- .
16:07 dalek nqp: review: https://github.com/perl6/nqp/commit/1819a41aa6
16:07 pmichaud Fixed.
16:09 kaare_ left #perl6
16:11 pmichaud how do we mark tickets in RT as "need spectest"?  Is it still assign to moritz++, or do we have something different?
16:12 moritz pmichaud: there's a tag for it
16:12 moritz testneeded iirc
16:13 pmichaud testneeded, yes.
16:13 moritz and rakudo.de/testneeded redirects to an RT query that searches for that tag
16:13 pmichaud ooh, I think I'll do that for rakudo.org, too.
16:13 dalek rakudo/nom: 6cd9c42 | pmichaud++ | src/core/Hash.pm:
16:13 dalek rakudo/nom: Make "Odd number of elements" error a bit stronger, fix Hash.STORE
16:13 dalek rakudo/nom: so that %a = %a works (RT #77586).  Probably need a spectest.
16:13 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6cd9c426fd
16:14 moritz pmichaud: want to peek at my .htaccess file?
16:14 pmichaud a gist would be very helpful, yes :)
16:15 daxim left #perl6
16:16 moritz pmichaud: https://github.com/perl6/rakud​o.de/blob/master/web/.htaccess
16:16 moritz "it's all in git"
16:17 awoodland joined #perl6
16:17 moritz I've added a few variants because I had trouble memorizing the exact names
16:17 moritz of the tags
16:17 pmichaud wfm
16:18 moritz $ ./perl6 -e 'say -(1+2i)'
16:18 moritz P6opaque attributes NYFI 2
16:18 JimmyZ left #perl6
16:19 pmichaud http://rakudo.org/testsneeded  # works, moritz++
16:19 pmichaud I'm going to make a few more :-P
16:24 MayDaniel joined #perl6
16:24 asdgqwrtr joined #perl6
16:25 pmichaud rt:  "Found 871 tickets".   Only 871?  I thought it was a lot more by now.
16:28 moritz tadzik++ and others went through RT, fixing LHFs and closing closable tickets
16:28 pmichaud outstanding.
16:28 pmichaud tadzik++ others++
16:29 pmichaud oh, my ticket life just became much easier.  moritz++ for the url redirects.
16:30 jnthn Indeed, that's nice to have :)
16:30 jnthn ok, sleep...talks tomorrow :)
16:30 pmichaud jnthn: sleep well
16:30 jnthn Thanks :)
16:30 pmichaud we'll be watching, hopefully  :)
16:30 jnthn :)
16:30 pmichaud (should we tweet the url of the presentation?)
16:30 jnthn Feel free :)
16:30 pmichaud (er, the live video?)
16:31 jnthn I can't tweet here
16:31 jnthn Unless I punch an SSH tunnel through the great wall... :/
16:31 pmichaud I wonder if they'd "detain" you for that.  :)
16:32 pmichaud Q: "Why did rakudo development stop?"   A: "SSH tunneling"
16:32 pmichaud :(
16:32 jnthn Well, I'm irssi-ing through SSH
16:32 pmichaud aha :)
16:32 MayDaniel left #perl6
16:32 jnthn So if that's enough, I'm already in trouble. :)
16:34 pmichaud I think I'll update how-to-help with information about finding places where we need tests :)
16:34 pmichaud (and perhaps update how-to-help in general)
16:34 jnthn +1
16:34 * jnthn sleeps
16:34 pmichaud I think I may also edit some RT tickets so they have  [NYI]  instead of / in addition to  [TODO]
16:34 pmichaud then we could quickly find NYI features
16:34 pmichaud (and perhaps let it be a list of known NYI features)
16:37 moritz phenny: tell jnthn http://moritz.faui2k3.org/tmp/Complex-num.patch results in 'P6opaque attributes NYFI 2' - any ideas?
16:37 phenny moritz: I'll pass that on when jnthn is around.
16:39 pmichaud moritz: looking
16:40 pmichaud it's in get_attribute_num, and it means it's unable to find the attribute you've provided
16:40 pmichaud I can patch it to indicate what attribute it's not finding
16:41 pmichaud (I did this for NYFI 1 and NYFI 4 and it's been hugely helpful)
16:42 moritz pmichaud: that would be good
16:43 dalek nqp: 879073f | pmichaud++ | src/6model/reprs/P6opaque.c:
16:43 dalek nqp: Patch to P6opaque num/str attribute lookup to report which attribute was not located.
16:43 dalek nqp: review: https://github.com/perl6/nqp/commit/879073facc
16:43 * moritz wonders how hard it is to misspell '$!re' and '$!im' -- I might have managed that :-)
16:44 dolmen left #perl6
16:44 pmichaud you likely need to decontainerize $a
16:44 pmichaud it's looking up the attributes on the scalar container instead of what it contains, I bet.
16:45 TimToady perl6: say +⅓
16:45 p6eval niecza v7-11-g9ba8284: OUTPUT«Unhandled exception: System.Exception: invalid digit in ⅓␤␤Server stack trace: ␤  at Niecza.CLRBackend.Unit.EmitExactNum (Int32 numbase, System.String digits) [0x00000] in <filename unknown>:0 ␤  at Niecza.CLRBackend.Unit.EmitVarConsts () [0x00000] in <file…
16:45 p6eval ..rakudo 1fcb14: OUTPUT«===SORRY!===␤Confused at line 22, near "say +\u2153"␤»
16:45 p6eval ..pugs: OUTPUT«decodeUTF8': bad data: '\8531'␤*** ␤    Unexpected "\8531"␤    at /tmp/DU038Sk0ZI line 1, column 6␤»
16:45 pmichaud TimToady: we don't like that.  :-P
16:45 * TimToady smirks
16:46 TimToady it would make $x ** (1/3) a lot prettier :)
16:46 pmichaud assuming your font had that glyph :)
16:46 TimToady I don't have to assume that
16:46 pmichaud :)
16:47 antony_ left #perl6
16:47 pmichaud does this mean that "1/3" qualifies as a "Texas one-third"?   :-)
16:47 TimToady well, (1/3) does maybe
16:48 TimToady presumably ⅓ would be a term
16:49 TimToady so 'use Texas' would enable (1/3), and 'use Alaska' would enable ⅓  :P
16:49 PerlJam Everything is fatter in Texas?
16:50 TimToady it's just more one-thirdy there
16:50 TimToady well, more like 11:50
16:51 * TimToady is suddenly hungry...
16:51 thou actually i think they call it "a fifth", but they're just generous
16:52 TimToady that's for "thirsty", not hungry
16:54 PerlJam I don't think it's for "thirsty" as much as for something else that just happens to involve liquids
16:55 * TimToady looks around for a fifth of milk...
16:55 Su-Shee I had my fifth coffee an hour ago.. ;)
16:55 Su-Shee good evening everyone.
16:55 PerlJam <@Nicholas> Perl 6 has complex numbers built in. Does that mean that it can have imaginary versions?
16:55 PerlJam <@Nicholas> That solves the whole 5 vs 6 thing - Perl 5 gets the real axis, Perl 6 the imaginary.
16:56 PerlJam (from #p5p)
16:56 PerlJam Now *there's* an idea!  :)
16:56 TimToady those guys have no imagination...
16:57 Su-Shee well I'm choosing both. always. perl 5 and 6, facebook and google plus.. sugar and milk...
16:57 moritz and non-standard implementations get angles other than 0 and pi/2
16:57 thou sounds like it would be complex to implement
16:58 pmichaud alas, a lot of people believe Perl 6 is imaginary already.
16:58 TimToady it's not like 5 and 6 are polar opposites...
16:58 cdarroch joined #perl6
16:58 cdarroch left #perl6
16:58 cdarroch joined #perl6
16:58 pmichaud "No wonder Perl 6 hasn't been released... it's imaginary!"
16:59 pmichaud It does make me wonder about Perl 5i then :)
16:59 Su-Shee "imagine a released version of perl 6 and here, magically you can download it on github" ;)
16:59 * TimToady wonders if the name "Nuke Dukem Never" is trademarked...
16:59 masak joined #perl6
17:00 masak weekend! \o/
17:00 bakedb left #perl6
17:00 moritz pmichaud: so, it's $!re -- not surprising, because that's the first one
17:01 pmichaud did you see my note above about decontainerizing?
17:01 pmichaud you might need to decontainerize $a if the Complex is coming in with a scalar container
17:01 moritz and I shoudl bind to $a
17:01 moritz erm, $new
17:02 pmichaud that's often better, yes :)
17:02 pmichaud need lunch here -- bbl
17:02 masak 'my @a is default(42)'? has some prior art in Moose.
17:03 kthakore TimToady: I will make tha game and tradmark it!
17:05 TimToady we're already going to have the problem of people thinking we stole Moose's object model  :)
17:05 masak is that a problem? it's a wonderful object model...
17:06 TimToady http://rosettacode.org/wiki/Unicode_strings#Perl_6
17:07 Su-Shee kthakore: it seems I can't yet send invitations. ask me again in a week, then I try again.
17:08 TimToady perl6: constant fatpi = 3.14159_26535_89793_23846_26433_83279_50288; say fatpi.WHAT
17:08 p6eval niecza v7-11-g9ba8284: OUTPUT«Num()␤»
17:08 p6eval ..rakudo 1fcb14: OUTPUT«===SORRY!===␤Constant type declarator not yet implemented at line 22, near "= 3.14159_"␤»
17:08 p6eval ..pugs: OUTPUT«*** ␤    Unexpected "="␤    expecting ":" or "("␤    at /tmp/c9kwh11a8q line 1, column 16␤»
17:08 xhacktly joined #perl6
17:09 masak TimToady++ # RC
17:09 TimToady then we say: constant pi = Rat(fatpi);  # truncate to fit Rat
17:10 Chillance left #perl6
17:10 TimToady yeah, well, good intentions and all that...
17:10 TimToady I'll be glad when that entry can be a bit less handwavey
17:10 masak do you sometimes get the urge to just grab an implementation and start hacking away?
17:11 masak :)
17:11 TimToady the question is whether I ever don't have that urge...
17:11 masak heh
17:12 TimToady but I have to stay neutral if Perl 6 is ever to become the Swiss Banking System of programming
17:12 kthakore Su-Shee: ok cool
17:12 kthakore TimToady: you ... are neutral?
17:13 noganex_ left #perl6
17:13 TimToady on the subject of which implementation of Perl 6 is "most official", yes.
17:13 kthakore oh yeah
17:14 TimToady on the subject of whether P5 or P6 is a better designed language, well...no.
17:14 kthakore meh you don't have to be neutral
17:14 noganex joined #perl6
17:14 kthakore about anything ... even the bankers defineatley aren't
17:15 beekor was/is pugs a viable start?  i could never tell if interest faded and it fell behind, or if it suffered from bigger issues.
17:15 Su-Shee kthakore: do I have to remember you what happened when someone who hasn't a clue about GUI like torvalds said he prefers KDE? suddenly everybody started quoting and taking it as an order to choose "the right desktop"...
17:16 Su-Shee beekor: for what a start? to write perl6 code? I would use rakudo.
17:16 beekor oh yeah i know.  but i was thinking of the haskell
17:16 TimToady beekor: sure, it was the viablest start at the time
17:16 Su-Shee beekor: then pugs it is.
17:17 kthakore Su-Shee: oh ppl .. do listen. Good point.
17:17 beekor i've tried p6 for a few hours here and there with rakudo.
17:17 TimToady but audreyt++ suffered from health issues, and nobody else wanted to get a big enough brain transplant to continue it
17:17 beekor i'm slowly drifting towards it.
17:17 * kthakore is glad he hasn't made anything important so people take him seriously
17:17 beekor gotcha.
17:17 kthakore What needs to happen in pugs anyway?
17:18 TimToady well, at the time it was stalled out on a MOP, mostly
17:18 TimToady which we now have
17:19 kthakore pity I have no skills in language dev stuff
17:19 kthakore do they have tiny bug reports that newbies can try?
17:19 kthakore I tried 2 in parrot ... and died on my sword
17:20 kthakore but it was a good way to die
17:21 Su-Shee kthakore: why don't you start hacking modules?
17:21 slavik TimToady: have you considered learning korean?
17:22 stepnem left #perl6
17:22 TimToady yes, it's next after Mandarin :)
17:22 kthakore Su-Shee: :) I did that just yesterday :)
17:22 xhacktly im looking in to learning perl6 as first language, any tips?
17:23 masak TimToady: oh, you'll like Mandarin. I look forward to seeing the postfix:<了> operator in Perl 6 :P
17:23 kthakore I am taking 3ish weeks off for July so I released a quick SDL module that Util and I discussed
17:23 TimToady xhacktly: see masak ^^
17:23 kthakore Su-Shee: it doesn't do much as of yet
17:23 Su-Shee kthakore: I was meaning to say that you're experienced in hacking down modules anyways so it's actually a good idea to start porting etc
17:23 masak xhacktly: excellent! I'm writing a blog post series right now for beginners. :)
17:23 masak xhacktly: http://strangelyconsistent.org/blog/list-of-posts
17:23 xhacktly hey masak;) i was with salve on yapc in sweden ;(
17:24 xhacktly ;)
17:24 masak xhacktly: oh, cool!
17:24 xhacktly ment this sign; ;)
17:24 xhacktly yes verry cool i was the cadet sailing down with the two oldschool perl hackers;)
17:24 masak I know the feeling :D
17:24 xhacktly yes i have read som on this blog;
17:24 masak did it help?
17:25 buubot_backup left #perl6
17:25 xhacktly http://strangelyconsistent.org/
17:25 masak that's the one.
17:25 xhacktly cool yes salve gave it to me;)  vel i have to say first;
17:26 kthakore Su-Shee: oh I am porting SDL :)
17:26 kthakore from perl5
17:26 kthakore but I do a lot of side things too
17:27 xhacktly IM verry new to programming, but i want to learn it;) , salve helped me setting up github and rakudo   (git hub is a bit hard for a plain new beginner, but i starting to get the picture:P , im also quit new to linux so just started with terminal etc;)
17:28 cooper joined #perl6
17:28 masak xhacktly: sounds great. remember -- small steps in the beginning. chances are, if you tell us here what you want to do, we'll point you in the right direction.
17:28 stepnem joined #perl6
17:28 masak xhacktly: have you seen this?
17:28 masak rakudo: say "OH HAI xhacktly!"
17:28 p6eval rakudo 1fcb14: OUTPUT«OH HAI xhacktly!␤»
17:29 masak xhacktly: it's good if you want to talk about program behaviour on the channel.
17:30 masak I love reducing things to the concrete. so many things we like and care about follow that principle: tests, bug reports, p6eval one-liners...
17:31 xhacktly hm ok nice ;) yes i just dropped by (i understand this channel is more for developing perl6 then newbiz that may needs help..?)
17:33 TimToady we feed on newbiz here...wait, that didn't come out right...
17:33 masak no, it's for newbiz too.
17:34 TimToady because there's a sense in which we're all still newbiz when it comes to Perl 6
17:34 masak xhacktly: basically, every time someone comes in from the outside saying "hi, I'm new here" like you just did, we get giddy with joy and expectation :)
17:35 masak TimToady: only 11 years' experience? that's not enough to learn a language well... :P
17:35 impious joined #perl6
17:35 impious left #perl6
17:35 TimToady masak: you make it sound like http://bible.cc/matthew/23-15.htm
17:35 xhacktly yes;) i know that is so cool about the perl guys they are verry friendly;)
17:36 awoodland left #perl6
17:37 masak xhacktly: yes, as long as you stay off certain channels. *cough* #perl *cough*
17:37 TimToady they're getting better
17:37 Mowah left #perl6
17:37 TimToady haven't you noticed the decline in people requesting asylum here?
17:38 TimToady 'course, maybe that's just because everyone over there is dead now
17:39 TimToady we need more spies :)
17:39 xhacktly i also have some goals , and that is; i will try to blog 2-3 times a week about learning perl6 and i will also try to post some tutorials that might help other new perl6 noobs;)  i will post my blog here soon, (also masak i will give u some feedback on ur blog(very nice blog ;) and also too keep in mind that im a sailor so i am away every 10 weeks for 10 weeks (but as long as im not to seasick i will try to blog and learn;)
17:44 Su-Shee I like it over there. plenty of cluefull people, hacking away their stuff, plenty of developers to talk to with large running perl code..
17:44 masak xhacktly: sounds like a very good plan. looking forward to your blog and your feedback.
17:44 tadzik oh no, in nom, I have to write the constructors myself! What has this world come to
17:44 masak xhacktly: as to absences, that happens to all of us :)
17:45 masak xhacktly: not necessarily in the form of sea voyages, though :P
17:45 xhacktly hehe:P
17:45 masak Su-Shee: this is one of the nicest places on the Internet for enlightened programming discussion
17:46 tadzik how do I put a namespaced classes, like Pod::foo in the setting? If I make it a module/package Pod, than I can't name a class Block, it will conflict
17:46 Tene +1 masak
17:47 Su-Shee masak: I meant #perl and #perl :)
17:48 buubot_backup joined #perl6
17:49 masak Su-Shee: oh, ok.
17:49 masak Su-Shee: here on #freenode, or the one on irc.perl.org?
17:49 Su-Shee both.
17:49 tadzik heh, I always wanted to make a call to the pizza place and say "I'm hungry". I feel like trying it today
17:50 masak tadzik: *lol*
17:50 masak tadzik: at least you're not falling into the X/Y trap :P
17:50 tadzik oh crap
17:50 Su-Shee masak: where else could I go to talk about my 850000 lines of perl with someone having to care for a million lines of perl... and those are discussions and exchanging experiences really needed.
17:50 tadzik not only the woman said "good evening, I'm hungry too", but it also happened to be a wrong number
17:51 tadzik ah, damnit. Who puts a taxi number on a pizza flyer
17:51 Su-Shee there is only one possible answer: "cool, let's go out for dinner!"
17:52 kst joined #perl6
17:52 ggoebel left #perl6
17:53 tadzik the actual pizza place reacted properly
17:53 tadzik masak: what's the X/Y trap?
17:54 masak tadzik: "hi, I want to use X to solve Y" without much foreknowledge of whether X/Y is a sensible combination.
17:54 masak tadzik: I meant that you haven't decided on a pizza X to solve your hunger problem Y :)
17:55 tadzik :)
17:58 tadzik I wonder how many pizza calls do this taxi woman receive. Seriously, what is the most visible number to you here: http://i.imgur.com/8gael.jpg ?
17:59 tadzik stupid interface designers
18:00 Su-Shee cool. I know two polish words. ;)
18:00 huf tak? kurwa?
18:00 huf owocowa?
18:00 Su-Shee three!
18:00 Su-Shee online, gratis, rabat.
18:00 huf rabat?
18:00 Su-Shee taxi. ;)
18:00 kthakore gratis = thankyou?
18:00 Su-Shee no.
18:01 kthakore ok
18:01 huf btw i have no idea what owocowa means, it was on the box of some tea
18:01 huf fruit, that makes sense
18:01 Su-Shee gratis -> "without having to pay money for it" usally "on top of this, you'll get x for free"
18:01 huf that's what it means in english too
18:01 huf among other languages
18:02 Su-Shee rabat is rabatt in german and I think we both took it from italian
18:02 Su-Shee oh, and "git!" is a polish word too, says my coworker. :)
18:05 masak Su-Shee: that definition of "gratis" is forbidden in Sweden by Swedish laws of commerce. I'm shocked by the usage every time I go to Poland :)
18:06 masak Su-Shee: (in Sweden, you're only allowed to use it in the sense "absolutely no strings attached". which means marketing weasels are gliding over to using the English loan "fri" instead.)
18:09 tadzik Su-Shee: everyone when someone says "git!" I say "svn!"
18:09 Su-Shee tadzik: haha :)
18:10 Su-Shee masak: hm, actually that sounds very much like we might have something like this too :)
18:10 tadzik svn? Poor you
18:11 Su-Shee no, we switched from cvs to git in january.
18:11 Su-Shee I've never used svn, just installed it a couple of times :)
18:13 rokoteko pheewww! holiday
18:14 rokoteko oh god it was difficult time waiting for this :)
18:16 tadzik oh yes it was
18:17 tadzik nom: module Pod { class Block {} } # how?
18:17 p6eval nom: OUTPUT«Illegal redeclaration of class 'Block' at line 1, near "{} } # how"␤current instr.: 'nqp;HLL;Grammar;panic' pc 23666 (src/stage2/gen/NQPHLL.pir:6372)␤»
18:20 mj41 joined #perl6
18:23 pmichaud back from lunch
18:23 tadzik ello pmichaud
18:27 pmichaud tadzik: I don't think nested packages in the setting work yet.  Ask jnthn++ about an eta for when it might work.
18:28 pernatiy joined #perl6
18:28 wamba left #perl6
18:29 pmichaud in the meantime, perhaps keep it as a separate module from the setting.
18:29 pmichaud that might actually be extra helpful, since we don't have a lot of modules to test at the moment in nom.
18:29 tadzik pmichaud: I need Actions.pm to use those
18:29 tadzik I can name them PodBlock for now though
18:29 pmichaud that works for me
18:30 pmichaud or even Pod__Block
18:30 tadzik mebbe
18:34 masak Su-Shee: I've been thinking about why I can't stand the #perl channels for long periods. I conclude it's because the conversational climate feels very... single-demographic. 15-30yo male, to be exact.
18:35 masak Su-Shee: I guess it bothers people to varying amounts.
18:35 thundergnat joined #perl6
18:36 * Util commits-and-runs; must start the trip back home from YAPC::NA.
18:36 Util Eager for feedback; will backscroll when I get home.
18:36 Util https://github.com/Util/Flutter
18:36 pmichaud Util: safe travels!
18:36 Su-Shee masak: oh I see the nuisances, absolutely. but I usally weight the clue against it.
18:37 wolfman2000 left #perl6
18:38 wamba joined #perl6
18:39 Su-Shee masak: also, I can't especially as a woman not afford to avoid "the community" just because they're infantile bitches. ;)
18:39 pmichaud "bastards".  :)
18:39 Su-Shee divas. ;)
18:39 pmichaud although I'm willing to accept that "bitches" could be accurate as well :)
18:41 masak Su-Shee: right, I see that. I admire your ability to see past questionable behaviour on those channels.
18:42 Su-Shee masak: for some reason, I do well with this kind of guys.
18:42 moritz so I've added decontainerize where necessary... and now it's P6opaque attributes NYFI 6 (used to be 2)
18:49 thundergnat Hi perl6, good *
18:50 thundergnat I added a Perl 6 solution for Rosettacode task Natural Sorting. http://rosettacode.org/wiki/Natural_sorting#Perl_6
18:50 thundergnat The latin1-decompose routine is not very elegant though. My DRY sense is greatly bothered by having to repeat the hash keys in the .subst method.
18:51 thundergnat Everything else I tried ran into NYI issues in Rakudo though.
18:51 thundergnat Anyone have any commentary/suggestion on how to better implement that?
18:51 moritz eval always works :/
18:51 buubot_backup moritz: ERROR: Search pattern not terminated at (eval 28) line 1.
18:52 moritz my $re = '<[' ~ %tr.keys.join('|') ~ ']>'
18:52 bbkr_ left #perl6
18:52 moritz and then use <$re>
18:52 thundergnat That looks a little less ugly.
18:54 tadzik maybe ||?
18:54 pmichaud thundergnat: were you able to write a version that was elegant but didn't work in Rakudo?
18:54 bbkr_ joined #perl6
18:56 thundergnat pmichaud: I kept wanting to write /( | %tr.keys) / but that doesn't work (and probably isn't spec)
18:56 pmichaud maybe .trans is more what you're looking for there?
18:56 pmichaud instead of .subst ?
18:57 thundergnat Does trans do 1 => 2 letter translations? Æ => AE
18:57 pmichaud yes, I believe it does.
18:57 thundergnat I'm more used to perl 5 where it doesn't.
18:57 pmichaud rakudo:  say "abc".trans( ( 'a' => 'aa', 'b' => 'bb' ) )
18:57 p6eval rakudo 1fcb14: OUTPUT«abc␤»
18:58 pmichaud hmm
18:58 pmichaud rakudo:  say "abc".trans( [ 'a' => 'aa', 'b' => 'bb' ] )
18:58 p6eval rakudo 1fcb14: OUTPUT«["a" => "aa", "b" => "bb"] is not a Pair␤  in <anon> at line 2534:src/gen/core.pm␤  in 'Cool::trans' at line 1:src/metamodel/RoleToInstanceApplier.nqp␤  in main program body at line 22:/tmp/qA5GarQF0a␤»
18:58 pmichaud I'm not familiar with .trans' invocation at the moment, though.  :-)
18:58 pmichaud rakudo:   say "abc".trans( <a b c> => <aa bb cc> )
18:58 p6eval rakudo 1fcb14: OUTPUT«aabbcc␤»
18:59 pmichaud rakudo:   say "Æsop".trans( 'Æ' => 'AE' )
18:59 p6eval rakudo 1fcb14: OUTPUT«Asop␤»
18:59 masak rakudo: say "RÆKUDO".trans( ["Æ"] => ["AE"] )
18:59 p6eval rakudo 1fcb14: OUTPUT«RAEKUDO␤»
18:59 pmichaud yeah
18:59 masak pmichaud: the .trans API suprises everyone.
19:00 pmichaud (.trans in Rakudo needs work)
19:00 perlhack joined #perl6
19:00 masak pmichaud: no, it's to spec.
19:00 pmichaud the implementation needs some help also
19:00 masak pmichaud: but the spec is wonky like that.
19:00 masak maybe it needs a better local maximum :)
19:00 pmichaud it may be to spec, but the implementation is ugly and needs improvement, imo
19:00 masak pmichaud: awww, are you sure? :/
19:00 masak pmichaud: I rewrote the whole thing last November...
19:00 tadzik :[
19:01 masak pmichaud: it became faster, more spec-aligned, and higher quality.
19:01 pmichaud masak: when I look at it again for nom, I'll have a better answer then :)
19:01 masak maybe it needs *some* tweaks, but it's certainly an improvement on what was there before...
19:01 pmichaud masak: all of these points are undoubtedly true.  that doesn't mean it can't use further improvement
19:01 masak right.
19:02 pmichaud I'm not saying what you did in November was a step backwards.  I'm saying I see more steps forward.
19:02 perlhack left #perl6
19:02 masak it used to be O( .chars ), it's now O( #substitutions ).
19:02 tadzik callsame nyi in nom?
19:02 pmichaud tadzik: nyi, yes.
19:02 pmichaud I'm going to add a NYI.pm
19:03 masak pmichaud: sure, but "ugly"? I'd like to know what you mean by that...
19:03 pmichaud when I read the code a month or so ago, I couldn't follow it.
19:03 * masak tries fairly hard not to write ugly code
19:03 pmichaud and when I tried to create some speed improvements in master, it was always .trans (and only .trans) that broke.
19:04 tadzik nom: class A { has $.foo }; class B { method foo { $!bar = 5 } }; B.new.foo
19:04 p6eval nom: OUTPUT«Attribute $!bar not declared in class B at line 1, near " = 5 } }; "␤current instr.: 'nqp;HLL;Grammar;panic' pc 23666 (src/stage2/gen/NQPHLL.pir:6372)␤»
19:04 tadzik rakudo: class A { has $.foo }; class B { method foo { $!bar = 5 } }; B.new.foo
19:04 p6eval rakudo 1fcb14: OUTPUT«No such attribute '$!bar'␤  in 'B::foo' at line 22:/tmp/gzMltk4A7j␤  in main program body at line 22:/tmp/gzMltk4A7j␤»
19:04 thundergnat rakudo: my %tr = <Æ AE æ ae Þ TH þ th Ð TH ð th ß ss À A Á A>; say 'ÆÐÀÁ'.trans([%tr.keys] =>[%tr.values]);
19:04 tadzik blah
19:04 p6eval rakudo 1fcb14: OUTPUT«AETHAA␤»
19:04 masak pmichaud: oh, interesting.
19:04 thundergnat \o/
19:04 pmichaud so I had to give up on the speed improvements.
19:04 masak pmichaud: that might be a statement about those improvements as much as about .trans, though.
19:05 masak .trans is fairly complex and exercises a lot of parts.
19:05 pmichaud masak: well, everything else worked, and I couldn't figure out why it was failing in .trans.
19:05 masak pmichaud: I'm sorry you couldn't understand that code. I'm looking at it now and it looks very clean and matter-of-fact to me.
19:05 masak pmichaud: looking forward to your improvements.
19:06 masak I remember .trans being a biggish problem to tackle. it all didn't click until I realized I could factor out a lot of the details into the LSM class.
19:06 pmichaud I'm not saying it's trivial, definitely.
19:07 tadzik how do I solve the thing I did above?
19:07 tadzik I have a feeling I'm missing something trivial
19:08 pmichaud tadzik: ...you didn't declare a $!bar ?
19:08 thundergnat argh
19:08 tadzik oh, wait
19:08 tadzik rakudo: class A { has $.foo }; class B { method foo is A { $!bar = 5 } }; B.new.foo
19:08 p6eval rakudo 1fcb14: OUTPUT«===SORRY!===␤Modifications to classes are not allowed after instantiation.␤»
19:08 tadzik brr
19:08 masak huh?
19:08 thundergnat rakudo: my %tr = <Æ AE æ ae Þ TH þ th Ð TH ð th ß ss À A Á A>; say <Æ Ð À Á>.sort: {.trans([%tr.keys] =>[%tr.values])};
19:08 tadzik rakudo: class A { has $.foo }; class B is A { method foo { $!bar = 5 } }; B.new.foo
19:08 p6eval rakudo 1fcb14: OUTPUT«too few positional arguments: 2 passed, 3 (or more) expected␤  in <anon> at line 22:/tmp/UlQMKBfdRH␤  in 'List::sort' at line 1:src/metamodel/RoleToInstanceApplier.nqp␤  in 'Parcel::sort' at line 1469:src/gen/core.pm␤  in main program body at line 22:/tmp/UlQMKBfdR…
19:08 p6eval rakudo 1fcb14: OUTPUT«No such attribute '$!bar'␤  in 'B::foo' at line 22:/tmp/6s5Uh4oYW2␤  in main program body at line 22:/tmp/6s5Uh4oYW2␤»
19:08 tadzik pmichaud: so, I don't inherit it?
19:09 pmichaud masak: part of my confusion was that I have no clue what "LSM" stands for, perhaps.
19:09 thundergnat too few positional arguments?
19:09 masak tadzik: 'has $.foo' and then '$!bar'...
19:09 tadzik oh crap, where is my mind
19:09 tadzik rakudo: class A { has $.foo }; class B is A { method foo { $!foo = 5 } }; B.new.foo
19:09 p6eval rakudo 1fcb14:  ( no output )
19:09 masak pmichaud: "longest substitution matcher". substitutions can be either literal strings or regexes.
19:09 pmichaud tadzik: the error message is (for once) saying *exactly* what the problem is :)
19:09 tadzik nom: class A { has $.foo }; class B is A { method foo { $!foo = 5 } }; B.new.foo
19:09 p6eval nom: OUTPUT«Attribute $!foo not declared in class B at line 1, near " = 5 } }; "␤current instr.: 'nqp;HLL;Grammar;panic' pc 23666 (src/stage2/gen/NQPHLL.pir:6372)␤»
19:09 tadzik there we are :)
19:10 masak tadzik: nom is right, master is wrong.
19:10 masak tadzik: child instances cannot see parent attributes.
19:10 masak tadzik: not without an accessor.
19:11 tadzik hmm
19:11 tadzik nom: class A { has $.foo }; class B is A { method foo { $.foo = 5 } }; B.new.foo
19:11 pmichaud masak: makes more sense now.
19:11 p6eval nom: OUTPUT«maximum recursion depth exceeded␤current instr.: 'foo' pc 537 ((file unknown):40029713) (:1)␤»
19:11 tadzik ...even funnier :)
19:11 pmichaud masak: also, I'm guessing it all becomes greatly simplified when rakudo has LTM implemented?
19:11 masak pmichaud: could be.
19:11 masak pmichaud: if that functionality is exposed, certainly. right now I'm emulating it.
19:11 pmichaud oh, it'll be exposed.  it's the default in regexes.
19:12 masak then yes.
19:12 pmichaud tadzik:   method foo { $.foo = 5 }    is recursive.
19:12 pmichaud since $.foo is   self.foo
19:13 tadzik nom: class A { has $.foo }; class B is A { method asd { $.foo = 5 } }; B.new.asd
19:13 p6eval nom: OUTPUT«Cannot assign to a non-container␤current instr.: 'asd' pc 556 ((file unknown):18951713) (:1)␤»
19:14 masak is rw
19:14 tadzik gah! I give up, there's no way I can do what I want :)
19:14 masak nom: class A { has $.foo is rw }; class B is A { method asd { $.foo = 5 } }; B.new.asd
19:14 pmichaud perhaps what you want needs a refactor?  1/2  :-)
19:14 p6eval nom:  ( no output )
19:15 masak nom: class A { has $.foo is rw }; class B is A { method asd { $.foo = 5 } }; my $b = B.new; $b.asd; say $b.foo
19:15 p6eval nom: OUTPUT«5␤»
19:15 tadzik http://wklej.org/id/555693/
19:15 masak wow, nom is fast!
19:15 pmichaud nom is much faster than its predecessor, in many ways
19:15 pmichaud I'm still a bit proud of the new iterators implementation :)
19:15 tadzik I want to make the above paste both working, and sensemaking
19:16 masak tadzik: if you want to set an attribute from a parent class, the parent class needs to have a setter.
19:16 masak tadzik: the easiest way to give it one is to do '$.attr is rw'.
19:16 Trashlord left #perl6
19:16 pmichaud Pod__Block__Code shouldn't be setting @!content in its BUILD -- that's the job of Pod__Block's BUILD
19:16 tadzik pmichaud: yes, but callsame; is NYI
19:16 tadzik hence my problems
19:16 masak BUILD shouldn't need callsame.
19:17 pmichaud ...and you wouldn't be using callsame to do it.
19:17 tadzik hmm
19:17 masak BUILDALL calls all the BUILDs. hence the name.
19:17 pmichaud BUILD normally gets called automatically by .bless/BUILDALL
19:17 tadzik reasonable
19:17 pmichaud which we don't have yet, admittedly
19:19 thundergnat rakudo: my %tr = <A a B b C c>; say <C F B A>.sort: {.trans([%tr.keys] =>[%tr.values])} # Am I doing something silly?
19:19 p6eval rakudo 1fcb14: OUTPUT«too few positional arguments: 2 passed, 3 (or more) expected␤  in <anon> at line 22:/tmp/iNX1v2U1IA␤  in 'List::sort' at line 1:src/metamodel/RoleToInstanceApplier.nqp␤  in 'Parcel::sort' at line 1469:src/gen/core.pm␤  in main program body at line 22:/tmp/iNX1v2U1I…
19:20 tadzik pmichaud: how can I emulate it, something like SUPER.BUILD?
19:20 pmichaud rakudo: my %tr = <A a B b C c>;  say <C F B A>.sort({.trans([%tr.keys] => [%tr.values])})
19:20 p6eval rakudo 1fcb14: OUTPUT«too few positional arguments: 2 passed, 3 (or more) expected␤  in <anon> at line 22:/tmp/B5ZfjoDVCR␤  in 'List::sort' at line 1:src/metamodel/RoleToInstanceApplier.nqp␤  in 'Parcel::sort' at line 1469:src/gen/core.pm␤  in main program body at line 22:/tmp/B5ZfjoDVC…
19:21 pmichaud rakudo: my %tr = <A a B b C c>;  say <C F B A>.sort({.say})
19:21 p6eval rakudo 1fcb14: OUTPUT«C␤F␤B␤A␤CFBA␤»
19:21 pmichaud oh
19:21 pmichaud I bet you're hitting the parrot .trans
19:21 pmichaud rakudo: my %tr = <A a B b C c>;  say <C F B A>.sort({(~$_).trans([%tr.keys] => [%tr.values])})
19:22 p6eval rakudo 1fcb14: OUTPUT«FABC␤»
19:22 pmichaud I really wish I could get rid of that method entirely from Parrot.
19:22 pmichaud (it's not an issue at all in nom, however :)
19:22 thundergnat Ok, I never would have figured THAT one out... :\
19:23 pmichaud yeah, that's part of what makes it so infuriating.  it's almost impossible to detect or trap for
19:25 pmichaud tadzik: I'm still thinking about build.
19:25 pmichaud the easiest short-term ("today") solution I can think of us is to give each BUILD method a slightly different name, to avoid inheritance issues.
19:25 tadzik well, that's the last thing I want to do, TBH :)
19:26 pmichaud why is that?  that seems like less of a workaround than anything else I can come up with.
19:26 tadzik probably, yes
19:27 pmichaud I think we could probably make a temporary BUILDALL that automatically calls all of the BUILD methods
19:27 pmichaud depends on how well ^methods is implemented, I guess.
19:27 pmichaud nom:  say 3.^methods().perl
19:27 p6eval nom: OUTPUT«Array.new(Bool, Int, Num, abs, Bridge, chr, succ, pred, Str, Numeric, ACCEPTS, bytes, chars, fmt, substr, uc, lc, ucfirst, lcfirst, chomp, chop, ord, flip, index, rindex, eager, elems, infinite, flat, hash, list, reverse, Array, grep, join, map, min, postcircumfix:<[ ]>, at_…
19:27 pmichaud nom:  say 3.^methods(:local).perl
19:27 p6eval nom: OUTPUT«Array.new(Bool, Int, Num, abs, Bridge, chr, succ, pred, Str)␤»
19:27 pmichaud that has some potential
19:28 pmichaud (since I think submethods are NYI in nom)
19:29 tadzik that whole range of problems is probably nothing compared to what I'll have to do working around the lack of SymbolTable in master
19:31 tadzik okay, it works :)
19:33 dalek rakudo/nom: 83ad0a8 | pmichaud++ | / (2 files):
19:33 dalek rakudo/nom: Add NYI.pm -- a place where we can explicitly put things we know are NYI.
19:33 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/83ad0a8931
19:34 Instil joined #perl6
19:37 dalek rakudo/podparser: cb14279 | tadzik++ | src/Perl6/Grammar.pm:
19:37 dalek rakudo/podparser: Add pod-related tokens to Grammar.pm
19:37 dalek rakudo/podparser: review: https://github.com/rakudo/rakudo/commit/cb142794ae
19:37 dalek rakudo/podparser: 103b37b | tadzik++ | / (2 files):
19:37 dalek rakudo/podparser: Add a horribly hacky Pod classes to the setting
19:37 dalek rakudo/podparser: review: https://github.com/rakudo/rakudo/commit/103b37bc10
19:39 TimToady nom: say BEGIN 1+2
19:39 p6eval nom: OUTPUT«Could not find sub &infix:<+>␤current instr.: '_block1002' pc 15 ((file unknown):56548444)␤»
19:40 TimToady nom: constant pi = 42;
19:40 p6eval nom: OUTPUT«Constant type declarator not yet implemented at line 1, near "= 42;"␤current instr.: 'nqp;HLL;Grammar;panic' pc 23666 (src/stage2/gen/NQPHLL.pir:6372)␤»
19:41 pmichaud there's always     sub pi() { 42 }    as a workaround.   1/2  :-)
19:41 pmichaud nom:  sub pi() { 42 };  say pi;
19:41 p6eval nom: OUTPUT«42␤»
19:41 pmichaud (yes, it fails in all sorts of parses)
19:42 TimToady just contemplating how .trans should really be implemented such that it doesn't have to recompile every time
19:42 pmichaud nom:  callsame;
19:42 p6eval nom: OUTPUT«Could not find sub &callsame␤current instr.: '_block1002' pc 70 ((file unknown):100) (:1)␤»
19:43 pmichaud (locally it's "callsame not yet implemented")
19:43 Bzek left #perl6
19:44 lichtkind thou: goo evening
19:44 thou and a very goo evening to you, too!
19:46 tokuhirom joined #perl6
19:51 dalek nqp: 358eeb0 | moritz++ | src/6model/reprs/P6opaque.c:
19:51 dalek nqp: regularize "P6opaque attributes NYFI" error messages, include method name and attribute
19:51 dalek nqp: review: https://github.com/perl6/nqp/commit/358eeb07fa
19:51 stephanepayrard_ left #perl6
19:52 pmichaud moritz: I was also wondering if we should include the type of the object there.
19:52 pmichaud that can be a later patch, though.
19:52 moritz pmichaud: that might help too
19:52 moritz the NYFI 6 was from bind_attritbute_num
19:53 moritz so I also decontainerized $new (even though I used binding before, not assignment)
19:53 moritz and then got "Can only use repr_bind_attr_num on a SixModelObject"
19:54 moritz and now I'm out of ideas
19:54 pmichaud hmmm
19:54 perlhack joined #perl6
19:55 perlhack Why don't you sleep ?
19:55 tadzik because it's not even 22:00 yet
19:56 pmichaud moritz: can I see the current patch?
19:56 masak perlhack: "Why aren't you sleeping?" is a question. "Why don't you sleep?" is a gentle suggestion. there's a difference in meaning.
19:58 moritz pmichaud: http://moritz.faui2k3.org/tmp/complex2.patch
19:58 moritz that one gives
19:58 moritz P6opaque attributes NYFI 6 (attribute '' in bind_attribute_num)
19:58 perlhack What is the difference ?
19:58 moritz on  say -(1i)
19:59 perlhack moritz,
19:59 masak perlhack: "Why aren't you sleeping?" -- I am asking because I don't know. "Why don't you sleep?" -- I am asking because I want you to.
20:00 masak perlhack: English is full of nuance :)
20:00 moritz I'm sure most languages are
20:00 moritz because humans are
20:00 lichtkind thou: hope you found my remoarks yesterday not as mindless bragging
20:00 moritz perl is too, which is why I love it (among other reasons)
20:00 lichtkind thou: you have in xp with linux?
20:01 pmichaud moritz: I don't see anything wrong with the patch.  My guess is that there's some as-yet-untested feature of bindattr_n that jnthn++ will have to find/fix.
20:01 perlhack ty
20:01 moritz pmichaud: it's curious that the attribute name comes out empty in the error message
20:01 pmichaud ohhhh!!!!
20:01 lichtkind masak: gordon spencer brown had a beautiful term for that property of the english language
20:01 perlhack Oh!!! terrible English
20:02 pmichaud change nqp::create($a) to nqp::create(Cursor)
20:02 masak perlhack: :)
20:02 thou lichtkind: not sure how to interpret that question. i am currently running an os x box, but i have a few linux vm's on here, and i have run linux quite a bit
20:02 pmichaud perlhack: I'm speaking Pmglish  :-)
20:02 masak perlhack: ...and that, dear friend, was a "pun" :)
20:03 moritz pmichaud: Cursor?
20:03 pmichaud sorry, Complex
20:03 moritz ah
20:03 pmichaud (I have Cursor on the brane from doing regex thingies)
20:03 perlhack oh! i understand now
20:03 moritz it creates something of the container type otherwiseß
20:03 pmichaud right
20:03 perlhack thank you for reminding
20:03 pmichaud the $a has to be decontainerized beforehand :)
20:04 perlhack moritz,
20:04 pmichaud usually in methods we don't have to worry about it, because 'self' is decontainerized already.
20:05 perlhack You very importance to English structure
20:05 perlhack ?
20:05 masak people on the channel who think that complex numbers are strange and magical: let me recommend http://betterexplained.com/articles/a-vis​ual-intuitive-guide-to-imaginary-numbers/
20:05 pmichaud I still think integers are strange and magical.  :)
20:05 pmichaud and the real numbers?   they're.... unreal.  :)
20:06 masak perlhack: I don't fully understand the question. are you asking "Is English structure important?" -- or are you asking something else?
20:06 masak pmichaud: they're too many, if nothing else! :)
20:06 masak but at least they're not as bad as the surreal numbers.
20:06 perlhack The subject to predicate adverbial object
20:07 perlhack they order
20:07 masak perlhack: oh! no no, not at all like in 中文
20:07 masak perlhack: the order matters, but often words can be rearranged. it's much more free than in Mandarin.
20:08 masak perlhack: for example "I saw him yesterday" and "Yesterday, I saw him". same meaning.
20:08 perlhack thanks
20:08 perlhack i see
20:09 masak perlhack: that said, some orders never occur. the other day, you said "I again come to here". that should be "I'm here again." the word "again" has to come last in that sentence.
20:09 masak there are no hard-and-fast rules. just general principles.
20:10 tadzik „the panda ( the perl6 CPAN I guess )”
20:10 tadzik :)
20:10 masak CPANDA
20:10 perlhack perlhack, You write the article nor limit what format
20:10 perlhack thanks
20:11 perlhack masak,
20:11 masak perlhack: would you like to help us with Perl 6?
20:12 masak that's what we're making here. Perl 6. :)
20:12 perlhack I want to learn English in the future and your carefree chat technical assistance perl6
20:14 masak ooh, nice slogan: "Perl 6 -- carefree chat, technical assistance".
20:15 perlhack haha nice slogan
20:15 envi left #perl6
20:16 masak perlhack: this isn't really the right forum for learning English. I know JimmyZ told you that. :) but you are welcome to stay as long as you're nice and don't disrupt serious efforts at bringing Perl 6 to the masses.
20:16 mkramer1 joined #perl6
20:17 dalek rakudo/nom: 71607fa | pmichaud++ | src/core/ListIter.pm:
20:17 dalek rakudo/nom: Clean up LoL iteration so that @a Z @a Z @a works properly.
20:17 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/71607fa569
20:17 perlhack Ok! i can do it
20:17 masak :)
20:17 masak perlhack++
20:17 masak perlhack: and if you help us, all the better.
20:17 masak then we'll teach you all the English you can muster :P
20:17 perlhack what mean "perlhack++"
20:17 perlhack yes
20:17 masak perlhack: it's called "karma".
20:17 perlhack thanks
20:17 masak karma perlhack
20:17 aloha perlhack has karma of 1.
20:18 masak perlhack: you now have 1 point.
20:18 masak perlhack++
20:18 masak you now have 2 :)
20:18 masak karma pmichaud
20:18 aloha pmichaud has karma of 759.
20:18 masak karma moritz
20:18 aloha moritz has karma of 946.
20:18 masak karma jnthn
20:18 aloha jnthn has karma of 936.
20:18 masak ;)
20:18 perlhack oh !you are humor
20:19 masak perlhack: "you have humor" or "you are funny". not "you are humor".
20:19 masak perlhack: and no, it's not only for jokes. it's also a social reward system. people who do good get karma.
20:20 masak perlhack: people who are mean lose karma :>
20:20 perlhack oh!so that
20:21 masak perlhack: karma是一个简单的社会机制
20:21 perlhack haha
20:21 perlhack i see
20:22 perlhack you have humor
20:22 mj41 left #perl6
20:22 masak 不是100%,严重的,但不是100%轻浮
20:22 masak hm, that first comma looks misplaced.
20:22 cotto joined #perl6
20:22 masak 不是100%严重的,但不是100%轻浮
20:23 perlhack I totally understand what your mean
20:23 masak it's like we're speaking the same language or something.
20:23 perlhack you can speak English with me.
20:23 masak oh! sorry. :)
20:23 masak I will.
20:23 perlhack Hey hey
20:25 perlhack i think  my have a bit clever
20:26 masak "I am clever" or "I have some cleverness". not "my have".
20:26 perlhack i have some cleverness.
20:27 perlhack oh!thanks
20:27 moritz pmichaud++ # helping with my latest patch
20:27 perlhack you are very clever.
20:27 asdgqwrtr left #perl6
20:27 masak perlhack: you are very ambitious and diligent.
20:30 perlhack Very thanks for all and maskak. I sleep to late
20:30 dalek rakudo/nom: 080e492 | moritz++ | src/core/Complex.pm:
20:30 dalek rakudo/nom: totally speed up prefix:<->(Complex), or so I hope.
20:30 dalek rakudo/nom:
20:30 dalek rakudo/nom: This patch replaces one line of code with 10, but it should avoid any box and unbox operation.
20:30 dalek rakudo/nom: Doing the same with operators will be rather straight-forward, but quite repetitive.
20:30 dalek rakudo/nom: I wonder if it could be automated. I have read about tools called "compilers" that could
20:30 dalek rakudo/nom: make such a task much easier... :-)
20:30 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/080e492e0a
20:30 bluescreen10 left #perl6
20:30 pmichaud the commit log is getting more interesting lately :)
20:31 pmichaud nom:  my @a = 1,2,3; my @b = 4,5,6; my @c = 7,8.9;   say @a Z+ @b Z+ @c;    # RT 92652
20:31 p6eval nom: OUTPUT«36.9␤»
20:31 pmichaud nom:  my @a = 1,2,3; my @b = 4,5,6; my @c = 7,8,9;   say @a Z+ @b Z+ @c;    # RT 92652
20:31 p6eval nom: OUTPUT«45␤»
20:31 pmichaud needs a rebuild
20:31 pmichaud evalbot rebuild nom
20:31 p6eval OK (started asyncronously)
20:32 perlhack I wish you have fun.
20:32 cognominal joined #perl6
20:32 perlhack bye all
20:32 masak perlhack: sleep well!
20:33 perlhack left #perl6
20:33 masak dream of English grammar and and butterflies.
20:40 pmichaud nom:  my @a = 1,2,3; my @b = 4,5,6; my @c = 7,8,9;   say @a Z+ @b Z+ @c;    # RT 92652, again
20:40 p6eval nom: OUTPUT«"load_bytecode" couldn't find file 'CORE.setting.pbc'␤current instr.: 'nqp;Perl6;ModuleLoader;_block1140' pc 2875 (src/gen/perl6-moduleloader.pir:1159)␤»
20:41 bitpart joined #perl6
20:41 pmichaud think we need an NQP_REVISION bump
20:42 moritz nom: say 1
20:42 p6eval nom: OUTPUT«"load_bytecode" couldn't find file 'CORE.setting.pbc'␤current instr.: 'nqp;Perl6;ModuleLoader;_block1140' pc 2875 (src/gen/perl6-moduleloader.pir:1159)␤»
20:42 moritz aye
20:43 bluescreen10 joined #perl6
20:43 pmichaud locally I get
20:43 pmichaud error:imcc:The opcode 'repr_bind_attr_num_p_p_s_n_n' (repr_bind_attr_num<5>) was not found. Check the type and number of the arguments
20:43 pmichaud pmichaud--, again
20:44 moritz oh, I thought I bumped the revision when I used bindattr_n
20:44 moritz but seems I forgot
20:46 lichtkind thou++
20:49 dalek rakudo/nom: 3bf9230 | moritz++ | tools/build/NQP_REVISION:
20:49 dalek rakudo/nom: bump NQP_REVISION to get fixed signature for bindattr_n
20:49 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3bf923073b
20:49 dalek rakudo/nom: 33047f8 | moritz++ | src/core/Complex.pm:
20:49 dalek rakudo/nom: speed up more Complex ops
20:49 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/33047f8db7
20:51 bitpart left #perl6
20:58 moritz rakudo: my @a = 1, 2, 3; say @a.pop
20:58 p6eval rakudo 1fcb14: OUTPUT«3␤»
20:58 moritz nom: my @a = 1, 2, 3; say @a.pop
20:58 p6eval nom: OUTPUT«Method 'pop' not found for invocant of class 'Array'␤current instr.: '_block1002' pc 105 ((file unknown):1229) (:1)␤»
20:59 moritz that blocks the mandelbrot script by colomon++
21:03 moritz phenny: tell jnthn never mind, bugs fixed
21:03 phenny moritz: I'll pass that on when jnthn is around.
21:07 lichtkind jnthn++
21:07 lichtkind 3just because :)
21:08 lichtkind because rakudo compiled so well
21:08 lichtkind but dot 4 failed tests
21:09 masak "dot"?
21:09 wolfman2000 joined #perl6
21:09 masak wolfman2000! \o/
21:09 thou i think he meant "lot"
21:09 thou ;-)
21:09 wolfman2000 Afternoon. I know, I know, have to idle in here more often
21:09 masak thou: or "got".
21:10 masak wolfman2000: no, you have to be active in here more often :P
21:10 wolfman2000 that too
21:10 wolfman2000 plenty of things have been crazy
21:10 lichtkind masak: i mean got
21:10 masak wolfman2000: all(@things) === $crazy
21:10 wolfman2000 also true
21:11 masak the absurdist-junctional interpretation.
21:12 thou so, i have a grammars question. of historical context. i'm looking at a grammar that used to return undefined for $<path><chunk>, and now that same thing is returning the empty array. Code that uses the grammar is often doing things like: something_with($<path><chunk> // ''). I know i could switch // to || and it works OK, but i'd like to understand why the grammar is behaving differently.
21:12 thou https://github.com/viklund/november/blo​b/ng-compat/lib/November/URI/Grammar.pm
21:13 thou token path       { <slash>? [ <chunk> '/'?]* }; # * mb wrong, because that allow '' URI
21:14 moritz that part of the spec has changed back and forth a few times
21:14 thou do you happen to know what that part of the spec is, so i can read up on it?
21:14 moritz oh wait no, I'm confusing that with something else
21:14 masak no, I think you're close.
21:14 masak it's definitely to do with quantifiers, if I see correctly.
21:14 thou i like having it be undef, it seems cleaner in the rest of the code
21:14 moritz what I thought about <foo>?  producing an array or not
21:15 masak right.
21:15 masak thou: undef doesn't exist any more.
21:15 thou well, Any or whatever
21:15 masak thou: well, those two are different :P
21:15 thou i shouldn't be sloppy
21:15 wolfman2000 well masak, what has taken place the last...4 months?
21:15 masak all sloppy terms are taken in Perl 6 :)
21:16 masak wolfman2000: nom is arriving! so is Niecza! excitement all around!
21:16 masak and breakages, most likely.
21:16 wolfman2000 ...I meant in terms of the language.
21:16 wolfman2000 I don't recall nom or Niezca
21:16 wolfman2000 Neicza
21:16 masak Niecza :)
21:16 wolfman2000 right
21:17 masak it was around 4 months ago, but it's been making news lately.
21:17 dalek rakudo/nom: f1fc5ed | moritz++ | src/core/Int.pm:
21:17 dalek rakudo/nom: implement Int.sqrt
21:17 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f1fc5edf75
21:17 dalek rakudo/nom: 437675e | moritz++ | src/core/Complex.pm:
21:17 dalek rakudo/nom: speed up 3 more Complex operations
21:17 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/437675e330
21:17 wolfman2000 i before e except after c
21:17 masak *lol*
21:19 moritz nom: say Inf == Inf
21:19 p6eval nom: OUTPUT«Bool::True␤»
21:19 moritz nom: say [1, 2].pop
21:19 p6eval nom: OUTPUT«Method 'pop' not found for invocant of class 'Array'␤current instr.: '_block1002' pc 102 ((file unknown):425) (:1)␤»
21:19 moritz nom: say [1, 2].push: 3
21:19 p6eval nom: OUTPUT«␤»
21:19 moritz nom: say [1, 2].shift
21:19 p6eval nom: OUTPUT«1␤»
21:19 thou masak: do you think it's this paragraph:  http://perlcabal.org/syn/S05.htm​l#Quantified_subpattern_captures
21:19 xhacktly masak i am currently reading; modern perl but i read about things on the internet that says that perl6 is very very different from perl5 is it?
21:20 masak thou: that looks about right.
21:21 sjn xhacktly: btw, welcome to #perl6 :)
21:21 xhacktly thx salve;)
21:21 thou so <foo> ?  will return Nil (which is undefined, yay); but <foo> * will return () (which is defined, but false)
21:22 sjn xhacktly: have you had any opportunity to look at masak's Perl6 intro blogs?
21:22 masak xhacktly: it's significantly different, yes. some people say "new language".
21:22 * masak is edublogging right now :)
21:22 masak I've realized that I will at least make a PDF of it all when I'm done. and probably keep it in a repo for easy editing.
21:23 clintongormley joined #perl6
21:23 masak unless sjn has more awesome plans, then I'll probably do that :)
21:24 clintongormley masak: do tell??? (re your tweet)
21:24 clintongormley is this perl6 on .net?
21:24 masak clintongormley: I was referring to Rakudo/nom. maybe I was overselling a little...
21:25 xhacktly sjn:  yes have read some of the blog post, but feel like i kinda need to know perl5 to really understand it..
21:25 clintongormley baaaah :)
21:25 wolfman2000 ...ah. so nom and Niecza are new compilers?
21:25 masak heh, people seem to hope for Perl 6 on .NET. there's already Niecza :)
21:25 masak wolfman2000: nom is Rakudo with a new foundation.
21:25 clintongormley no, i read about niecza (assume it was that) running on .net, and running much faster than rakudo
21:25 masak wolfman2000: Niecza is a little over a year old now.
21:25 sjn xhacktly: I suggest you tell masak about all the spots where he's assuming you know something :=
21:25 wolfman2000 ......man, I'm already behind
21:26 sjn :)
21:26 slavik1 perl6 on .net is like a 1k bhp v12 diesel engine on a stroller
21:26 masak xhacktly: yes, please do that. I will gladly edit things based on feedback.
21:26 jevin_ left #perl6
21:26 wolfman2000 Either way...I assume there is a reason for Niecza. Not worried about that name. Just...why nom?
21:26 wolfman2000 as in OM NOM NOM NOM?
21:26 clintongormley slavik1: my gay brain just can't interpret that statement
21:26 masak xhacktly: anything from "more examples, please" to "huh? what?" :)
21:26 sjn wolfman2000: "New Object Model"? :)
21:26 pjcj joined #perl6
21:26 slavik1 clintongormley: go straight, you'll get it
21:26 xhacktly ok yes :P i will do, need some time to look threw all the posts;)
21:27 wolfman2000 ...fair enough.
21:27 clintongormley slavik1: tried for a quarter of a century.  didn't work
21:27 wolfman2000 alright, I'll re-read some stuff from perl6.org shortly
21:27 masak xhacktly: I recomment chronological order :)
21:27 slavik1 clintongormley: you american?
21:27 masak recommend*
21:27 clintongormley now i need a hetero/homo translator service
21:27 wolfman2000 unless you guys have new preferred material
21:27 clintongormley no, south african
21:27 sjn wolfman2000: and of course, "Obviously Masterful New Object Model"
21:27 slavik1 clintongormley: oh, then no luck suing god ...
21:27 bluescreen10 left #perl6
21:27 clintongormley :D
21:27 wolfman2000 :P
21:28 masak wolfman2000: jnthn's "6guts" blog posts are informative.
21:28 xhacktly masak: yes indeed
21:28 wolfman2000 wonder why they aren't linked in the topic then
21:28 clintongormley so masak, what performance change do you see with nom vs $old_version
21:28 slavik1 clintongormley: I was going to suggest suing god and settling out of court for bi-sexuality
21:28 masak clintongormley: here, may I show you.
21:28 masak rakudo: say "OH HAI"
21:28 p6eval rakudo 1fcb14: OUTPUT«OH HAI␤»
21:28 masak nom: say "OH HAI"
21:28 p6eval nom: OUTPUT«OH HAI␤»
21:28 masak felt the difference? :)
21:28 wolfman2000 ...nope
21:28 clintongormley sorry, switched windows
21:28 masak I did.
21:28 clintongormley do me again
21:29 masak do it yourself :)
21:29 moritz it's meta behind the scenes :-)
21:29 wolfman2000 rakudo: say "HELLO WORLD!"
21:29 p6eval rakudo 1fcb14: OUTPUT«HELLO WORLD!␤»
21:29 wolfman2000 nom: say "HELLO WORLD!"
21:29 p6eval nom: OUTPUT«HELLO WORLD!␤»
21:29 masak it's faster.
21:29 wolfman2000 ...roughly the same speed.
21:29 slavik1 nom: say 2 ** 64
21:29 p6eval nom: OUTPUT«-9223372036854775808␤»
21:29 wolfman2000 tiny bit if anything
21:29 clintongormley naah, it's faster
21:29 slavik1 ha! overflow!
21:29 clintongormley hehehe
21:29 wolfman2000 rakudo: say 2 ** 64
21:29 p6eval rakudo 1fcb14: OUTPUT«1.84467440737096e+19␤»
21:29 slavik1 yeah, no bignum :(
21:30 clintongormley any benchmarks with numbers that don't involve IRC latency?
21:30 * masak looks forward to submitting that bug
21:30 masak clintongormley: yes.
21:30 TimToady niecza: say 2 ** 64
21:30 p6eval niecza v7-11-g9ba8284: OUTPUT«18446744073709551616␤»
21:30 * masak hates that number
21:30 clintongormley masak: link? copy/paste?
21:31 masak clintongormley: probably best to ask jnthn or pmichaud.
21:31 slavik1 clintongormley: ooh, I got a translation for you: perl6 on .net is like a penis on a woman ... you can, but what's the point?
21:31 * TimToady doesn't mind that number as long as it's one greater than the previous number
21:31 TimToady slavik1: this is becoming OT
21:31 slavik1 I am done
21:31 thou rakudo: grammar Path { rule TOP { ^ <slash>? [ <chunk> '/'?]* }; token slash { '/' }; token chunk { <-[/?#]>+ }; }; Path.parse('foo/bar').perl.say;
21:31 p6eval rakudo 1fcb14: OUTPUT«Match.new(␤ from => 0,␤ orig => "foo/bar",␤ to   => 7,␤ named => {␤  slash => [␤  ],␤  chunk => [␤    Match.new(␤     from => 0,␤     orig => "foo/bar",␤     to   => 3,␤    ),␤    Match.new(␤     from => 4,␤     orig => "foo/bar",␤     to   => 7,␤    ),␤  ],␤ },␤)␤…
21:31 slavik1 nom: say 2 ** 64; say 2 ** 64 -1
21:32 p6eval nom: OUTPUT«-9223372036854775808␤9223372036854775807␤»
21:32 clintongormley slavik1: not sure i agree with you - if it brings the flexibility and syntax of p6 into the world of everyday usability...  why not
21:32 masak TimToady: during my tempestuous youth, I managed to memorize 2 ** 8 and 2 ** 16 and even 2 ** 32, but never 2 ** 64. a girl in my class managed, and she was very cocky about it :P
21:32 slavik1 rakudo: say 2 ** 64; say 2 ** 64 -1
21:32 p6eval rakudo 1fcb14: OUTPUT«1.84467440737096e+19␤1.84467440737096e+19␤»
21:32 TimToady ouch
21:32 slavik1 masak: marry her :P
21:32 thou it seems that rakudo isn't following the spec regarding the $<slash> = [] there
21:32 masak slavik1: the thought did cross my mind :)
21:32 thou it should be Nil?
21:33 clintongormley why marry a girl who spends her life repeating integers
21:33 masak not integers. that one.
21:33 slavik1 clintongormley: how dare you question memorization of powers of 2?
21:33 masak and as far as I recall, she only said it once. that was enough. :/
21:33 slavik1 maybe in some point, we will all switch to hexadecimal number system
21:34 slavik1 there are people who memorize thousands of digits of pi
21:34 masak if we switch to hexadecimal, people will memorize powers of 10 instead :)
21:34 clintongormley and would you want to go with them to the pub?
21:34 clintongormley anyway, exciting to hear that p6 is taking a bit step forward - well done all
21:34 slavik1 yes
21:35 slavik1 it's one of those "freak skills"
21:35 TimToady well, if you suddenly need a random number to settle a bet, the next digit of pi is pretty random
21:35 whiteknight joined #perl6
21:36 masak "People who memorize pi: keep them around as a good /dev/random"
21:37 thou rakudo: grammar Path { rule TOP { ^ <slash>? [ <chunk> '/'?]* }; token slash { '/' }; token chunk { <-[/?#]>+ }; }; Path.parse('foo/bar').perl.say;   # Shouldn't this have $/<slash> be Nil?
21:38 p6eval rakudo 1fcb14: OUTPUT«Match.new(␤ from => 0,␤ orig => "foo/bar",␤ to   => 7,␤ named => {␤  slash => [␤  ],␤  chunk => [␤    Match.new(␤     from => 0,␤     orig => "foo/bar",␤     to   => 3,␤    ),␤    Match.new(␤     from => 4,␤     orig => "foo/bar",␤     to   => 7,␤    ),␤  ],␤ },␤)␤…
21:41 TimToady yes, it should be Nil, but rakudo hasn't caught up with the most recent spec spasm^Wupdate
21:42 masak guess grammar engine things are a bit slower to catch up since it's a different codebase.
21:42 jevin_ joined #perl6
21:42 Psyche^ joined #perl6
21:43 am0c joined #perl6
21:43 TimToady niecza: 'fooar' ~~ /foo(b)?ar/; say $0.perl
21:44 p6eval niecza v7-11-g9ba8284: OUTPUT«(timeout)»
21:44 masak huh.
21:44 * masak suspects p6eval, not niecza
21:44 TimToady loops in person as well
21:45 moritz hint: use $/.pretty in rakudo
21:45 moritz (but not on IRC, it messes up the indention)
21:45 Patterner left #perl6
21:45 Psyche^ is now known as Patterner
21:46 moritz rakudo: my @a; @a.unshift: 2, 3; say @a.perl
21:46 p6eval rakudo 1fcb14: OUTPUT«[2, 3]␤»
21:46 masak Util++ # https://github.com/Util/Flutter
21:48 clintongormley left #perl6
21:51 leprevost left #perl6
21:52 alester left #perl6
21:56 moritz nom: say Int 9
21:56 p6eval nom: OUTPUT«Confused at line 1, near "say Int 9"␤current instr.: 'nqp;HLL;Grammar;panic' pc 23666 (src/stage2/gen/NQPHLL.pir:6372)␤»
21:56 moritz nom: say Int ~~ Real
21:56 p6eval nom: OUTPUT«Bool::True␤»
21:56 moritz nom: say Num ~~ Real
21:56 p6eval nom: OUTPUT«Bool::True␤»
21:56 moritz nom: say Rat ~~ Real
21:56 p6eval nom: OUTPUT«Bool::True␤»
21:58 dalek rakudo/nom: 70f9c03 | moritz++ | src/core/List.pm:
21:58 dalek rakudo/nom: List.pop
21:58 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/70f9c038e3
22:00 moritz moritz-- # copy & paste errors in Complex.pm
22:00 dalek rakudo/nom: 22676c5 | moritz++ | src/core/Complex.pm:
22:00 dalek rakudo/nom: fix stupid thinko in Complex math
22:00 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/22676c514e
22:04 moritz ok, nom can now run mandelbrot-color.pl
22:04 moritz ... and do a 101x101 in 46s
22:04 * moritz should dig up old numbers from master
22:07 moritz http://lastofthecarelessmen.blogspot.​com/2009/06/mandelbrot-in-perl-6.html talks about 80x80 in 3 minutes 20s, but that's quite a different code
22:07 masak moritz++
22:07 masak nom: say Bool ~~ Real
22:07 p6eval nom: OUTPUT«Bool::False␤»
22:08 masak nom: say int ~~ Real
22:08 p6eval nom: OUTPUT«Bool::True␤»
22:08 masak nom: say Int ~~ real
22:08 p6eval nom: OUTPUT«Could not find sub &real␤current instr.: '_block1002' pc 83 ((file unknown):138) (:1)␤»
22:08 masak oh, right :)
22:09 moritz waiting for the 501x501 to finish, then -> sleep
22:09 moritz or maybe I won't wait; I'm building a rakudo/master right now, that slows down the mandel a bit
22:10 moritz but tomorrow I'll compare, and blog about it.
22:15 masak \o/
22:18 pmichaud Flutter!
22:18 pmichaud Util++
22:21 mkramer1 left #perl6
22:21 dalek rakudo/nom: 37489f0 | pmichaud++ | src/core/List.pm:
22:21 dalek rakudo/nom: Refactor List.pop to be more in line code-wise with List.shift and List.push.
22:21 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/37489f0d24
22:21 shiftless joined #perl6
22:23 cooper left #perl6
22:23 cooper joined #perl6
22:24 cooper left #perl6
22:24 cooper joined #perl6
22:26 shiftless hey all. I have a couple questions. #1 is threading implemented yet? #2 can anyone give me a quick rundown on how to do non blocking socket I/O?
22:26 pmichaud threading NYI.  We're looking for spec suggestions.
22:27 shiftless k
22:27 TimToady there is rudimentary threading in niecza and pugs, but probably not non-blocking socket support, unless you dig down
22:28 shiftless yeah, I'm pretty inexperienced with perl in general, and it seems the API has changed somewhat from perl5. tried digging through the PIR source but couldn't really figure out what functions were available or their parameters.
22:28 masak people seem to be asking for non-blocking sockets quite a lot.
22:28 pmichaud PIR source is going away soon anyway :)
22:29 TimToady we need to write rakudo in a dialect of NQB, Not Quite Blocking...
22:29 shiftless I mean, as far as figuring out the perl6 socket api. I guess that is an unfortunate fact of working with development code...very little documentation!
22:30 shiftless well, I can probably do the implementation in perl5 for now and just port it later.
22:31 masak shiftless: part of the problem for non-blocking socket I/O is that none of the people involved in Rakudo seem to have any experience with them. at least AFAIK.
22:32 pmichaud oh, I've had plenty of experience with non-blocking socket I/O.
22:32 pmichaud I just don't have a need for it :)
22:32 firefoxchic joined #perl6
22:32 masak blog post! http://strangelyconsistent.​org/blog/june-24-2011-types
22:33 shiftless i just basically want to build a server that listens for connections, then runs an event loop over connected sockets and does its thing. I think light weight threading with blocking I/O would probably be best anyway, whenever threads are ready.
22:33 pernatiy left #perl6
22:33 pmichaud masak: Array and Hash are Cool (at least they are/have been in rakudo)
22:34 pmichaud rakudo:  say Array ~~ Cool
22:34 p6eval rakudo 1fcb14: OUTPUT«Bool::True␤»
22:34 pmichaud niecza:  say Array ~~ Cool
22:34 p6eval niecza v7-11-g9ba8284: OUTPUT«Bool::True␤»
22:35 masak oh, ok.
22:35 masak makes sense, I guess.
22:35 masak I'll redo the diagram :)
22:35 shiftless im out, thanks for the info guys. keep up the good work!
22:35 shiftless left #perl6
22:36 pernatiy joined #perl6
22:36 TimToady rakudo: say Hash ~~ Cool
22:36 p6eval rakudo 1fcb14: OUTPUT«Bool::True␤»
22:36 TimToady masak: ^^
22:37 masak fixing, pmichaud already pointed it out :)
22:37 TimToady oh, yeah, so he++ did
22:38 dorlamm joined #perl6
22:39 masak rakudo: say Range ~~ Cool
22:39 p6eval rakudo 1fcb14: OUTPUT«Bool::True␤»
22:39 masak oh ffs :)
22:39 pmichaud on the hunt for an unCool type
22:39 masak yeah.
22:39 masak besides Regex.
22:39 TimToady Whatever
22:39 pmichaud Signature
22:39 pmichaud Method
22:39 pmichaud Parameter
22:39 masak haven't introduced those.
22:40 masak Parameter?
22:40 pmichaud Grammar
22:40 masak haven't talked about any of those...
22:40 pmichaud Instant
22:40 masak well, I did mention Whatever...
22:40 TimToady it can also stand in for "whatever..."  :)
22:40 masak though not under that name.
22:41 pmichaud DateTime
22:41 pmichaud Date
22:42 pmichaud Duration
22:42 masak haven't talked about any of those. but thanks :)
22:42 pmichaud well, it's all the Cool classes that get talked about first :)
22:42 masak I'm trying to have 0 forward references.
22:44 pmichaud Maybe this is the point where some of them get referenced for the first time, then.
22:44 pmichaud You could introduce Sub here, since you've talked about subs.
22:44 masak ooh
22:45 masak rakudo: say Sub ~~ Cool
22:45 p6eval rakudo 1fcb14: OUTPUT«Bool::True␤»
22:45 masak oh man :/
22:45 masak why in the world is Sub Cool?
22:45 pmichaud nom: say Sub ~~ Cool
22:45 p6eval nom: OUTPUT«Bool::True␤»
22:45 pmichaud I don't know.
22:45 pmichaud that seems... wrongish.
22:45 * masak votes "no"
22:45 masak rakudo: say Routine ~~ Cool
22:45 TimToady rakudo: say +sub foo {}
22:46 p6eval rakudo 1fcb14: OUTPUT«Bool::True␤»
22:46 p6eval rakudo 1fcb14: OUTPUT«maximum recursion depth exceeded␤  in 'Cool::Numeric' at line 1921:src/gen/core.pm␤  in 'Cool::Numeric' at line 1921:src/gen/core.pm␤  in 'Cool::Num' at line 1:src/gen/core.pm␤  in 'Cool::Numeric' at line 1921:src/gen/core.pm␤  in 'Cool::Numeric' at line 1921:src/g…
22:46 masak fat lot of good being Cool does it :P
22:46 TimToady yeah, that's uncool
22:46 masak decidedly.
22:46 pmichaud jnthn++ has a lot of stuff as being Cool that I'm not so sure I agree with.
22:46 masak I'll mark it as uncool in *my* diagram, and hope Rakudo catches up.
22:47 TimToady just spec it
22:47 masak but having Routine in there is really good.
22:47 masak gives the tree a bit more treeishness.
22:48 masak rakudo: say Regex ~~ Routine
22:48 p6eval rakudo 1fcb14: OUTPUT«Bool::True␤»
22:49 TimToady d'oh
22:49 masak rakudo: say Whatever ~~ Routine
22:49 p6eval rakudo 1fcb14: OUTPUT«Bool::False␤»
22:49 masak phew :)
22:50 masak TimToady: why "d'oh"? a Regex is a kind of Method.
22:50 TimToady you could introduce the fact that there's always more types than you know about
22:50 masak yes, good idea.
22:51 xhacktly left #perl6
22:52 pmichaud anyone disagree with moving Code/Signature/Attribute/etc. out of Cool ?
22:52 pmichaud it's apparently been Cool since the cool branch was first merged into Rakudo (april 2010)
22:52 TimToady "Not I!" said the little green pig.
22:52 masak maybe it was an April Cool's joke.
22:53 pmichaud fixing in nom.
22:53 masak \o/
22:53 masak what's the relation between Code and Routine, btw?
22:53 pmichaud Routine ~~ Code
22:53 pmichaud Code is the base class for executable stuff
22:54 pmichaud (unless it isn't :-)
22:54 TimToady rakudo: say Block ~~ Routine
22:54 masak Routine is something you can &return from?
22:54 p6eval rakudo 1fcb14: OUTPUT«Bool::False␤»
22:54 masak ok, so Code contains Block and Routine?
22:54 masak rakudo: say WhateverCode ~~ Code
22:54 p6eval rakudo 1fcb14: OUTPUT«Bool::True␤»
22:54 lichtkind good night
22:55 masak good night, child of light.
22:56 TimToady and good light, all children of night...
22:57 pmichaud Routine is something you return from, plus it also establishes new $_ $! $/  values instead of getting them from an outer scope
22:57 masak ah.
23:02 dalek rakudo/nom: cf2afda | pmichaud++ | src/Perl6/Metamodel/BOOTSTRAP.pm:
23:02 dalek rakudo/nom: Code, Signature, Parameter, Attribute, etc. shouldn't be subclasses of Cool.
23:02 dalek rakudo/nom:
23:02 dalek rakudo/nom: (As told by a little green pig at http://irclog.perlgeek.de/​perl6/2011-07-01#i_4043149.)
23:02 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/cf2afdaa66
23:03 masak blog post updated based on feedback: http://strangelyconsistent.​org/blog/june-24-2011-types -- TimToady++ pmichaud++
23:04 pmichaud hmmm
23:04 pmichaud rakudo:  say Regex ~~ Sub
23:04 p6eval rakudo 1fcb14: OUTPUT«Bool::False␤»
23:04 TimToady rakudo: say Regex ~~ Method
23:04 pmichaud rakudo:  say Method ~~ Sub
23:04 p6eval rakudo 1fcb14: OUTPUT«Bool::True␤»
23:04 p6eval rakudo 1fcb14: OUTPUT«Bool::False␤»
23:04 pmichaud okay.
23:05 masak yes -- it's really Regex <: Method <: Routine
23:05 pmichaud I was thinking Method ~~ Sub for some reason.
23:06 masak I'm glad that's not the case :P
23:06 pmichaud nom: say Sub ~~ Cool;  # updated, yet?
23:06 p6eval nom: OUTPUT«Bool::True␤»
23:06 pmichaud not yet.
23:06 pmichaud locally:
23:06 pmichaud > say Sub ~~ Cool
23:06 pmichaud Bool::False
23:07 pmichaud I wonder if it's worth fixing in master.
23:07 pmichaud might be worth fixing and seeing if anything breaks as a result.
23:08 pmichaud I can also use that as the opportunity to tie down 'make spectest' to an appropriate commit
23:09 lichtkind left #perl6
23:14 wamba left #perl6
23:18 dorlamm left #perl6
23:21 pamera joined #perl6
23:28 orafu left #perl6
23:28 orafu joined #perl6
23:33 colomon joined #perl6
23:33 masak 'night, #perl6.
23:33 masak left #perl6
23:36 colomon o/, #perl6
23:38 pernatiy left #perl6
23:45 molaf__ joined #perl6
23:46 cdarroch left #perl6
23:49 molaf_ left #perl6
23:54 jnthn morning, #perl6
23:54 phenny jnthn: 16:37Z <moritz> tell jnthn http://moritz.faui2k3.org/tmp/Complex-num.patch results in 'P6opaque attributes NYFI 2' - any ideas?
23:54 phenny jnthn: 21:03Z <moritz> tell jnthn never mind, bugs fixed
23:54 jnthn :)
23:55 pmichaud jnthn: o/
23:59 Chillance joined #perl6
23:59 dalek rakudo/nom: 9867c66 | pmichaud++ | NOMMAP.markdown:
23:59 dalek rakudo/nom: NOMMAP updates -- metaops are done-ish (except for hyperops, coming soon), and a couple of notes about $obj.^parents .
23:59 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9867c6623c

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

Perl 6 | Reference Documentation | Rakudo