Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2011-10-11

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:03 dalek specs: 6b021ee | larry++ | S03-operators.pod:
00:03 dalek specs: Take a first quack at defining "duck mapping"
00:03 dalek specs:
00:03 dalek specs: In which we bias unary hypers toward a shallow interpretation if the
00:03 dalek specs: node in question responds to the operator, for a strict definition
00:03 dalek specs: of "responds to" not including Cool coercions.
00:03 dalek specs: review: https://github.com/perl6/specs/commit/6b021ee247
00:03 dalek specs: fa5e087 | larry++ | S12-objects.pod:
00:03 dalek specs: Merge branch 'master' of github.com:perl6/specs
00:03 dalek specs: review: https://github.com/perl6/specs/commit/fa5e087926
00:04 pnu joined #perl6
00:08 TimToady oh, good grief, what happened to my edits?
00:08 diakopter I see stuff in the first url
00:08 [Coke] rakudo: for 1, 2, 3 { sub foo {}; .say }
00:08 p6eval rakudo 38907e: OUTPUT«Too many positional parameters passed; got 1 but expected 0␤  in block <anon> at /tmp/smwPX3cVYX:1␤  in method reify at src/gen/CORE.setting:3752␤  in method reify at src/gen/CORE.setting:3657␤  in method reify at src/gen/CORE.setting:3657␤  in method gimme at src/…
00:10 TimToady any git experts know an easy way to get 6b021ee merged back in?
00:10 TimToady and what I did wrong?
00:11 [Coke] I blame emacs.
00:11 [Coke] (sorry, I'm usually asking the git questions here. ;)
00:11 [Coke] rakudo: for 1, 2, 3 -> { sub foo {}; .say }
00:11 p6eval rakudo 38907e: OUTPUT«Too many positional parameters passed; got 1 but expected 0␤  in block <anon> at /tmp/7n6PMmUEgH:1␤  in method reify at src/gen/CORE.setting:3752␤  in method reify at src/gen/CORE.setting:3657␤  in method reify at src/gen/CORE.setting:3657␤  in method gimme at src/…
00:12 TimToady I did a 'git pull' like it said, and then a push, and it blows away my version
00:12 diakopter TimToady: I see your edits in S03
00:12 TimToady oh, that would explain it :)
00:12 [Coke] I typically do "git pull --rebase" to avoid any mergy bits.
00:12 * TimToady feels more than unusually stupid right now...
00:13 diakopter oh, now I see what you are asking, I think
00:13 soh_cah_toa joined #perl6
00:13 ingy I got make and make install working for pugs now
00:13 TimToady diakopter: the git issue was just a PEBCAK
00:14 TimToady too many other things on my mind...
00:15 ingy pugs: say 3
00:15 p6eval pugs: OUTPUT«3␤»
00:16 [Coke] ZOMG IT'S ALIVE!
00:16 ingy not my doing...
00:16 ingy maybe it never died afterall
00:17 [Coke] rakudo: class A {}; class B {}; subset C of A & B; say C ~~ A;say C ~~ B
00:17 p6eval rakudo 38907e: OUTPUT«Type check failed in assignment to '$v'; expected 'Mu' but got 'C'␤  in method REIFY at src/gen/CORE.setting:4391␤  in method reify at src/gen/CORE.setting:3657␤  in method reify at src/gen/CORE.setting:3657␤  in method gimme at src/gen/CORE.setting:4015␤  in metho…
00:18 ingy masak: I'm ready to start PugsClub™ when you are
00:20 [Coke] rakudo: my $a = 1; sub foo() { my $a = 2; our sub bar($x where $a) { say $x } }; bar(1); bar(2)
00:20 p6eval rakudo 38907e: OUTPUT«Could not find sub &bar␤  in block <anon> at /tmp/XCB2X1q5A9:1␤  in <anon> at /tmp/XCB2X1q5A9:1␤»
00:20 [Coke] rakudo: sub foo() { my $a = 2; our sub bar($x where $a) { say $x } }; bar(2);
00:20 p6eval rakudo 38907e: OUTPUT«Could not find sub &bar␤  in block <anon> at /tmp/hSS1YJsEDY:1␤  in <anon> at /tmp/hSS1YJsEDY:1␤»
00:21 [Coke] rakudo: { &^c("$^a, $^b") }.("morning", "perl6ers", &say)
00:21 p6eval rakudo 38907e: OUTPUT«morning, perl6ers␤»
00:21 [Coke] rakudo: say "\xFDD0"
00:21 p6eval rakudo 38907e: OUTPUT«===SORRY!===␤Invalid character for UTF-8 encoding␤␤»
00:22 [Coke] rakudo: say "\xFFFD"
00:22 p6eval rakudo 38907e: OUTPUT«�␤»
00:22 [Coke] rakudo: say "\xFFFE"
00:22 p6eval rakudo 38907e: OUTPUT«===SORRY!===␤Invalid character for UTF-8 encoding␤␤»
00:22 [Coke] see lue?
00:23 [Coke] aloha, seen lue?
00:23 aloha [Coke]: lue was last seen in #perl6 2 days 2 hours ago saying "use Grammar; and use Actions;".
00:32 pnu joined #perl6
00:34 [Coke] nom: say [+]<264 456 7 -72>
00:34 p6eval nom 38907e: OUTPUT«655␤»
00:38 pnu joined #perl6
00:39 the-golem joined #perl6
00:47 [Coke] oh look, someone just has to close out 5 more tickets to get us to 650!
00:55 cognominal I have not yet read TimToady prose but I expect it to answer my concern about recursive dwim mapping.  To get something like    [1,[2,3]] mapped using * * 2 into [2,[4,6]]
00:55 [Coke] rakudo: my %h; sub h { say "srsly wtf" }; enum Foo %h;
00:55 p6eval rakudo 38907e: OUTPUT«Could not find sub &Foo␤  in block <anon> at /tmp/P0SEYNmvr_:1␤  in <anon> at /tmp/P0SEYNmvr_:1␤»
00:56 cognominal I need a serious read of S03 to start with.
00:56 [Coke] rakudo: role Maybe[::T] { role Just[T] {} }; say Maybe[Int].new()
00:56 p6eval rakudo 38907e: OUTPUT«Maybe<-8106445831223374807>␤»
00:57 [Coke] rakudo: role A { class B {} }
00:57 p6eval rakudo 38907e:  ( no output )
01:01 [Coke] rakudo: our sub xyz($abc) { say $abc.WHAT; }␤ xyz(1); say "alive"
01:01 p6eval rakudo 38907e: OUTPUT«Int()␤alive␤»
01:01 [Coke] rakudo: ␤our sub xyz($x) { say $x }␤␤xyz 3
01:01 p6eval rakudo 38907e: OUTPUT«3␤»
01:01 [Coke] rakudo: ␤our sub xyz($x) { say $x }␤␤xyz 3
01:01 p6eval rakudo 38907e: OUTPUT«3␤»
01:01 [Coke] whoops.
01:03 ingy pugs: say "seen audreyt"
01:03 p6eval pugs: OUTPUT«seen audreyt␤»
01:03 ingy awww
01:03 diakopter ingy: YAML::XS needs Test::More to install, but cpan doesn't try to install Test::More as a dependency
01:04 ingy diakopter: Perl 4?
01:04 diakopter erm
01:04 the-golem Hello. I just finished setting up an ilbot to log a couple of my channels. However, the process to set up the web interface has me completely buggered. Can anyone help me out?
01:04 [Coke] rakudo: sub a( %h?) { say %h.HOW }; a();
01:04 p6eval rakudo 38907e: OUTPUT«Method 'gist' not found for invocant of class 'Perl6::Metamodel::ClassHOW'␤  in sub say at src/gen/CORE.setting:4957␤  in sub a at /tmp/W657PMmq2T:1␤  in block <anon> at /tmp/W657PMmq2T:1␤  in <anon> at /tmp/W657PMmq2T:1␤»
01:04 diakopter ingy: perl 5.12.4 on fedora 15
01:05 ingy diakopter: j/k. I thought Test::More was core for forever
01:06 ingy how could you be missing it on 5.12?
01:06 [Coke] ingy: since 5.6.2
01:07 diakopter fedora must not include it in the distro perl
01:07 [Coke] diakopter: a broken system perl?
01:07 * [Coke] too slow.
01:07 diakopter although actually I had the same problem on cygwin last week
01:07 ingy sounds like a bigger prob than YAML::XS
01:08 [Coke] rakudo: sub foo($x where 1 --> Int) {}
01:08 p6eval rakudo 38907e: OUTPUT«===SORRY!===␤Missing block at line 1, near ") {}"␤»
01:08 [Coke] std: sub foo($x where 1 --> Int) {}
01:08 p6eval std 580b69a: OUTPUT«Potential difficulties:â�¤  $x is declared but not used at /tmp/dS2AwKhGYy line 1:â�¤------> [32msub foo([33mâ��[31m$x where 1 --> Int) {}[0mâ�¤ok 00:01 122mâ�¤Â»
01:08 ingy yaml::xs requires 5.8.1 btw
01:08 ingy should be my problem, but I'd be glad to help
01:09 ingy maybe ask on #toolchain
01:09 ingy er
01:09 diakopter on magnet?
01:09 ingy shouldn't be my problem...
01:09 ingy aye
01:10 [Coke] rakudo: sub twigil:<@> {};
01:10 p6eval rakudo 38907e:  ( no output )
01:10 [Coke] rakudo: sub twigil:<@> {}; say "alive!"
01:10 p6eval rakudo 38907e: OUTPUT«alive!␤»
01:11 ingy diakopter: I don't declare core deps. maybe I need to :\
01:11 [Coke] ingy: probably safest.
01:12 [Coke] rakudo: say :16<10>
01:12 p6eval rakudo 38907e: OUTPUT«16␤»
01:12 [Coke] rakudo: say :16<10>.WHAT
01:12 p6eval rakudo 38907e: OUTPUT«Num()␤»
01:12 [Coke] should that be an Int() and not a Num() ?
01:13 [Coke] rakudo: :16<10> === 0x10
01:13 p6eval rakudo 38907e:  ( no output )
01:13 [Coke] rakudo: say( :16<10> === 0x10 )
01:13 p6eval rakudo 38907e: OUTPUT«Bool::False␤»
01:14 [Coke] (That's RT#77034 if you have an opinion)
01:15 [Coke] rakudo: Any.substr(0, 1)
01:15 p6eval rakudo 38907e: OUTPUT«Method 'substr' not found for invocant of class 'Any'␤  in block <anon> at /tmp/vrf7tHkzbo:1␤  in <anon> at /tmp/vrf7tHkzbo:1␤»
01:15 [Coke] rakudo: substr(Any, 0, 1)
01:15 p6eval rakudo 38907e: OUTPUT«Method 'substr' not found for invocant of class 'Any'␤  in sub substr at src/gen/CORE.setting:1601␤  in block <anon> at /tmp/RxkC_OtZn2:1␤  in <anon> at /tmp/RxkC_OtZn2:1␤»
01:17 [Coke] nom: say [+]<262 458 7 -75>
01:17 p6eval nom 38907e: OUTPUT«652␤»
01:19 [Coke] rakudo: class Forest { class Frog { method speak { say "ribbit ribbit" } }; has Frog $.frog; method new() { my Frog $frog .= new; self.bless(*, :$frog) } }; Forest.new.say;
01:19 p6eval rakudo 38907e: OUTPUT«Forest<3317213220548048558>␤»
01:19 [Coke] rakudo: multi sub f(0) {}; multi sub f($n) { say $n; callwith($n - 1) }; f(3)
01:19 p6eval rakudo 38907e: OUTPUT«3␤»
01:19 ingy trivia question: Why is #perl6 on freenode?
01:21 [Coke] nom: say [+]<262 458 7 -77>
01:21 p6eval nom 38907e: OUTPUT«650␤»
01:21 [Coke] \o/
01:22 [Coke] zzz
01:22 ingy trivia answer: #perl6 is on freenode, because that is where ingy first /join'd it :)
01:22 ingy o/ [Coke]
01:42 colomon ingy++
01:43 Josh4all joined #perl6
01:55 plobsing joined #perl6
02:12 ingy colomon: can you add ingydotnet to perl6 org in github?
02:13 ingy please
02:14 colomon ingy: I don't know if I can or not.
02:15 colomon I don't think I can.  Looks like jnthn, moritz, pmichaud, sorear, and TimToady are the ones with admin rights.
02:15 am0c joined #perl6
02:15 colomon sorry
02:16 ingy jnthn, moritz, pmichaud, sorear, and TimToady: ^^ :)
02:16 ingy jnthn, moritz, pmichaud, sorear, and TimToady: I'm pretty sure I mailed in my release form way back when....
02:18 colomon ingy: what projects do you want to be able to change?  I think you only need a release form for rakudo itself...
02:19 sorear i've added ingydotnet to perl6
02:20 colomon sorear++
02:21 ingy sorear++
02:21 colomon sorear: I'm still stumped by the TreeViewColumn constructor.
02:22 colomon my $renderer = CellRendererText.new;
02:22 colomon my $column = TreeViewColumn.new($title, $renderer);
02:22 ingy au told me to fork pugs into that organization
02:22 sorear colomon: what is $title?
02:23 colomon sorear: for <Tune Snippet Comment>.kv -> $i, $title
02:23 sorear niecza: say <Tune Snippet Comment>.kv.perl # I have my doubts this will work at all
02:23 p6eval niecza v10-40-ga57ed3d: OUTPUT«(0, "Tune", 1, "Snippet", 2, "Comment").list␤»
02:23 tyatpi joined #perl6
02:24 sorear ....ok apparently it does.
02:24 colomon I just added say $title.WHAT;  and it says GatherIterator()
02:24 colomon which seems not worky
02:24 sorear ...
02:25 sorear that shouldn'
02:25 sorear that shouldn't even be possible.
02:25 colomon that certainly seems to be the root of my current problem, whatever it is.
02:25 ingy perl6 org now has a member with 200+ repos! ;)
02:25 ingy I just noticed I had 201
02:25 sorear niecza: for <Tune Snippet Comment>.kv -> $i, $title { say $title.WHAT }
02:25 p6eval niecza v10-40-ga57ed3d: OUTPUT«Potential difficulties:â�¤  $i is declared but not used at /tmp/iWGnZPq2Sd line 1:â�¤------> [32mfor <Tune Snippet Comment>.kv -> [33mâ��[31m$i, $title { say $title.WHAT }[0mâ�¤â�¤GatherIterator()â�¤Â»
02:25 sorear ingy: want me to add gitpan as a collaborator? :D
02:25 * ingy puts his daily trash on github....
02:25 sorear niecza: for <Tune Snippet Comment>.kv -> $i, $title { say $title }
02:25 ingy haha
02:25 p6eval niecza v10-40-ga57ed3d: OUTPUT«Potential difficulties:â�¤  $i is declared but not used at /tmp/FLkyLTPSg7 line 1:â�¤------> [32mfor <Tune Snippet Comment>.kv -> [33mâ��[31m$i, $title { say $title }[0mâ�¤â�¤GatherIterator.new(...)â�¤Â»
02:26 sorear double wonky
02:31 ingy sorear: can I have permission to create a new repo in the org?
02:31 ingy sorear: maybe easier to just fork https://github.com/audreyt/Pugs.hs for me
02:34 colomon_ joined #perl6
02:34 sorear ingy: I don't know
02:35 colomon niecza: for <Tune Snippet Comment>.kv -> $i, $title { say $i }
02:35 p6eval niecza v10-40-ga57ed3d: OUTPUT«Potential difficulties:â�¤  $title is declared but not used at /tmp/Rs93HdW1jX line 1:â�¤------> [32mfor <Tune Snippet Comment>.kv -> $i, [33mâ��[31m$title { say $i }[0mâ�¤â�¤0â�¤Â»
02:35 ingy sorear: you don't know what?
02:36 colomon niecza: my @a =  <Tune Snippet Comment>;  for @a.kv -> $i, $title { say $title.WHAT }
02:36 p6eval niecza v10-40-ga57ed3d: OUTPUT«Potential difficulties:â�¤  $i is declared but not used at /tmp/ZVA07cwl4F line 1:â�¤------> [32m  <Tune Snippet Comment>;  for @a.kv -> [33mâ��[31m$i, $title { say $title.WHAT }[0mâ�¤â�¤Str()â�¤Str()â�¤Str()â�¤Â»
02:36 sorear ingy: what permissions are required to create repos
02:36 sorear niecza: for [<Tune Snippet Comment>].kv -> $i, $title { say $title.WHAT }
02:36 p6eval niecza v10-40-ga57ed3d: OUTPUT«Potential difficulties:â�¤  $i is declared but not used at /tmp/2BgxkCsPH3 line 1:â�¤------> [32mfor [<Tune Snippet Comment>].kv -> [33mâ��[31m$i, $title { say $title.WHAT }[0mâ�¤â�¤Str()â�¤Str()â�¤Str()â�¤Â»
02:36 ingy can you just fork that repo, sorear?
02:37 colomon sorear: using @titles.kv got me around my issue.  odd bug, though...
02:38 sorear ingy: I forked the repo and gave perl6 access
02:40 aindilis joined #perl6
02:41 khisanth_ joined #perl6
02:43 am0c joined #perl6
02:48 colomon sorear: Success!   http://www.harmonyware.com​/pictures/gtk-treeview.png
02:48 bluescreen10 joined #perl6
02:51 sorear \o/
02:51 ingy how do we make pugs commits show up here?
02:52 ingy thx btw sorear
02:52 araujo colomon, using perl6?
02:52 colomon araujo: yup.  niecza.
02:52 araujo colomon++
02:52 colomon should be sorear++, he's been a huge help.  (Not to mention his creating niecza, of course.)
02:52 * ingy installs niecza for fun...
02:52 araujo sorear++
02:55 colomon source code is at http://www.harmonyware.com​/pictures/gtk-treeview.png
02:55 preflex_ joined #perl6
02:55 colomon it's still messy, I started with the shell of another perl6 Gtk script and have just kept hacking away at it
02:56 colomon afk # bedtime
03:00 sorear bye
03:10 ingy sorear: time mono run/Niecza.exe -e '6**7**7'
03:10 ingy less than 3 times lower than ruby :)
03:10 ingy 19 secs on niecza, 7 on ruby
03:11 ingy not bad
03:13 sorear ingy: try again
03:13 ingy um, can I say something first
03:13 sorear the first time you run niecza it has to compile the setting
03:13 sorear sadly
03:13 sorear you may say something
03:13 ingy pugs.... 0m0.163s
03:14 ingy holy shit
03:14 sorear pugs++
03:14 ingy I use 6**7**7 as a general benchmark with ruby and others
03:15 sorear oh
03:15 ingy used to use 6**6**6 but things are faster these days
03:15 sorear I misread that as 6*7*7
03:15 sorear so I thought 19s could only be explained as first-run startup time
03:16 sorear anyways, pugs is going to be the fastest for that one because it's using GMP
03:16 ingy ingy@thinkingy:~/src/niecza$ time pugs -e 'say 6**7**7'|wc 1       1  640843
03:16 ingy real0m0.867s
03:16 ingy 640K digits
03:17 ingy the 19 sec niecza time was after a couple runs
03:17 sorear ingy: this is what Schönhage-Strassen multiplication looks like!
03:18 sorear written in assembly by people who actually know how the Intel instruction scheduler works
03:19 ingy :D
03:19 ingy just read up on GMP
03:19 sorear niecza is using Rodrigo Kumpera's C# bignum library.  Which is optimized for being fairly small and doesn't even support Karatsuba
03:19 ingy is that built into haskell?
03:19 sorear it's built into the Glasgow Haskell Compiler
03:19 ingy yeah, sorry, meant ghc
03:20 ingy sorear: you mean The Glorious Glasgow Haskell Compilation System ;0
03:21 ingy it's not a compiler, man. it's a COMPILATION SYSTEM
03:22 sorear yes, ghc is more than a compiler.  it also includes runtime libraries and an REPL.
03:24 * ingy is gonna try to get pugs working against the modern test suite.
03:24 ingy masak++ (you hear me? :)
03:25 ingy sorear: can niecza use GMP?
03:27 ingy one time I tried 6**7**7 with ruby on my native machine and on a VM
03:27 envi_ joined #perl6
03:27 ingy the VM was over 4 times faster
03:27 ingy it turned out the VM was 64bit, and native OS was 32
03:28 ingy so the 19sec time is on 32 bit, sorear
03:28 ingy I wonder how fast pugs is on 64
03:31 sorear faster, I'm sure
03:31 sorear ingy: niecza cannot use gmp
03:31 ingy sorear:
03:31 ingy ingy@thinkingy:~/src/niecza$ time pugs -e 'say 8**8**8'
03:31 ingy Inf
03:31 ingy oops
03:33 ingy looks like something is wrong
03:55 tewk joined #perl6
04:00 tewk joined #perl6
04:06 replore_ joined #perl6
04:13 satyavvd joined #perl6
04:23 daniel-s joined #perl6
04:30 drbean joined #perl6
04:35 dalek niecza/serialize: b1088dc | sorear++ | lib/ (3 files):
04:35 dalek niecza/serialize: implement serialization for SubInfo, LAD, LexInfo
04:35 dalek niecza/serialize: review: https://github.com/sorear/niecza/commit/b1088dc24d
04:50 am0c joined #perl6
04:52 Reaganomicon joined #perl6
05:14 Reaganomicon joined #perl6
05:14 am0c joined #perl6
05:14 drbean joined #perl6
05:14 daniel-s joined #perl6
05:14 satyavvd joined #perl6
05:14 tewk joined #perl6
05:14 envi_ joined #perl6
05:14 preflex joined #perl6
05:14 Khisanth joined #perl6
05:14 aindilis joined #perl6
05:14 colomon joined #perl6
05:14 plobsing joined #perl6
05:14 pnu joined #perl6
05:14 molaf joined #perl6
05:14 Trashlord joined #perl6
05:14 sftp joined #perl6
05:14 carlin joined #perl6
05:14 sunnavy joined #perl6
05:14 [Coke] joined #perl6
05:14 Exodist_ joined #perl6
05:14 skangas joined #perl6
05:14 geekosaur joined #perl6
05:14 cognominal joined #perl6
05:14 PacoLinux_ joined #perl6
05:14 kfo_ joined #perl6
05:14 mtk joined #perl6
05:14 PacoLinux joined #perl6
05:14 jaldhar_ joined #perl6
05:14 Gothmog_ joined #perl6
05:14 jjore joined #perl6
05:14 Patterner joined #perl6
05:14 y3llow joined #perl6
05:14 orafu joined #perl6
05:14 yves_ joined #perl6
05:14 sirmacik joined #perl6
05:14 jkeats joined #perl6
05:14 Sarten-X joined #perl6
05:14 pochi joined #perl6
05:14 beekor joined #perl6
05:14 kst joined #perl6
05:14 alvis joined #perl6
05:14 jlaire joined #perl6
05:14 Grrrr joined #perl6
05:14 flussence joined #perl6
05:14 jferrero joined #perl6
05:14 nebuchadnezzar joined #perl6
05:14 gfldex joined #perl6
05:14 jedai joined #perl6
05:14 araujo joined #perl6
05:14 wolfman2000 joined #perl6
05:14 betterworld joined #perl6
05:14 pothos joined #perl6
05:14 lue joined #perl6
05:14 odoacre joined #perl6
05:14 zamolxes joined #perl6
05:14 lestrrat joined #perl6
05:14 huf joined #perl6
05:14 cosimo joined #perl6
05:14 aqz joined #perl6
05:14 amkrankruleuen joined #perl6
05:14 revdiablo joined #perl6
05:14 ggoebel joined #perl6
05:14 dju joined #perl6
05:14 mattp_ joined #perl6
05:14 DarthGandalf joined #perl6
05:14 ponbiki joined #perl6
05:14 sivoais joined #perl6
05:14 aloha joined #perl6
05:14 djanatyn joined #perl6
05:14 slavik1 joined #perl6
05:14 domm joined #perl6
05:14 arthur-_ joined #perl6
05:14 frettled joined #perl6
05:14 HarryS joined #perl6
05:14 silug joined #perl6
05:14 phenny joined #perl6
05:14 ashleydev joined #perl6
05:14 Tene joined #perl6
05:14 Vlavv_ joined #perl6
05:14 masak joined #perl6
05:14 Juerd joined #perl6
05:14 Woodi joined #perl6
05:14 c1sung_ joined #perl6
05:14 athomason_ joined #perl6
05:14 charsbar__ joined #perl6
05:14 sjohnson joined #perl6
05:14 mathw joined #perl6
05:14 avar joined #perl6
05:14 PerlJam joined #perl6
05:14 clkao joined #perl6
05:14 tadzik joined #perl6
05:14 prammer joined #perl6
05:14 jasonmay joined #perl6
05:14 lucs joined #perl6
05:14 \patch joined #perl6
05:14 nine joined #perl6
05:14 jtpalmer joined #perl6
05:14 jnthn joined #perl6
05:14 cookys joined #perl6
05:14 kthakore joined #perl6
05:14 kshannon joined #perl6
05:14 ilogger2 joined #perl6
05:14 s1n1 joined #perl6
05:14 simcop2387 joined #perl6
05:14 jql joined #perl6
05:14 rhr_ joined #perl6
05:14 bacek_at_work joined #perl6
05:14 hugme joined #perl6
05:14 takesako joined #perl6
05:14 Util joined #perl6
05:14 dalek joined #perl6
05:14 bbkr_ joined #perl6
05:14 robinsmidsrod joined #perl6
05:14 [particle] joined #perl6
05:14 eternaleye joined #perl6
05:14 literal joined #perl6
05:14 yahooooo joined #perl6
05:14 Bucciarati joined #perl6
05:14 mdxi_ joined #perl6
05:14 broquaint joined #perl6
05:14 felipe joined #perl6
05:14 bloonix joined #perl6
05:14 BooK joined #perl6
05:14 daemon joined #perl6
05:14 miso2217 joined #perl6
05:14 cxreg joined #perl6
05:14 tomaw joined #perl6
05:14 sjn joined #perl6
05:14 krakan_ joined #perl6
05:14 ascent__ joined #perl6
05:14 ranguard joined #perl6
05:14 nsh joined #perl6
05:14 sbp joined #perl6
05:14 JodaZ_ joined #perl6
05:14 TimToady joined #perl6
05:14 ruz joined #perl6
05:14 jfried joined #perl6
05:14 saaki joined #perl6
05:14 stepnem joined #perl6
05:14 jerome_ joined #perl6
05:14 felher joined #perl6
05:14 TiMBuS joined #perl6
05:14 sorear joined #perl6
05:14 BinGOs joined #perl6
05:14 mikemol joined #perl6
05:14 ingy joined #perl6
05:14 snarkyboojum joined #perl6
05:14 pmichaud joined #perl6
05:14 pjcj joined #perl6
05:14 cotto joined #perl6
05:14 buubot_backup joined #perl6
05:14 jevin joined #perl6
05:14 shachaf joined #perl6
05:14 z-b joined #perl6
05:14 ribasushi_ joined #perl6
05:14 zostay_ joined #perl6
05:14 szbalint joined #perl6
05:14 diakopter joined #perl6
05:14 ruoso joined #perl6
05:14 risou_awy joined #perl6
05:14 m6locks joined #perl6
05:14 szabgab joined #perl6
05:14 PZt joined #perl6
05:14 japhb joined #perl6
05:14 BLZbubba joined #perl6
05:14 jrockway joined #perl6
05:14 domidumont joined #perl6
05:14 p6eval joined #perl6
05:14 Maddingue joined #perl6
05:14 awwaiid joined #perl6
05:14 Lorn joined #perl6
05:14 fhelmberger_ joined #perl6
05:14 mux joined #perl6
05:14 mls_ joined #perl6
05:14 nsh- joined #perl6
05:14 LoRe joined #perl6
05:14 hillu joined #perl6
05:14 Yappoko___ joined #perl6
05:14 moritz joined #perl6
05:14 renormalist joined #perl6
05:14 breinbaas joined #perl6
05:14 apejens joined #perl6
05:15 tty234 joined #perl6
05:18 SHODAN joined #perl6
05:24 drbean joined #perl6
05:33 sftp_ joined #perl6
05:43 moritz hugme: add ingydotnet to perl6
05:46 hugme joined #perl6
05:55 moritz phenny: tell soh_cah_toa that source_url in https://raw.github.com/soh-cah-toa​/p6-digest-sha256/master/META.info points to the old repo name (without the p6- prefix)
05:55 phenny moritz: I'll pass that on when soh_cah_toa is around.
06:01 dual joined #perl6
06:02 GlitchMr joined #perl6
06:12 ggoebel joined #perl6
06:23 kaleem joined #perl6
06:24 dalek niecza/serialize: d91ecdf | sorear++ | lib/ (5 files):
06:24 dalek niecza/serialize: Serialization for objects of type Rat, FatRat, Complex, BigInteger, Int32, Double, String, P6any[], Variable[], VarDeque, VarHash
06:24 dalek niecza/serialize: review: https://github.com/sorear/niecza/commit/d91ecdf414
06:32 * sorear wonders to what extent Frame objects should be freezable
06:32 sorear if they are freezable, it should be in a way that doesn't chase CALLER, me thinks
06:33 sorear o/ GlitchMr
06:34 moritz so when you return from one, it's to your new caller?
06:34 sorear I don't know
06:35 sorear the use case is constant @foo = 1, 3, 5 ... *;
06:35 sorear that creates a List which wraps a GatherIterator which wraps a Frame
06:35 sorear but I don't want it saving a copy of the compiler by chasing up the call tree :D
06:35 sorear I'm too tired to be certain atm
06:39 * sorear sleep
06:40 dalek niecza/serialize: ab35238 | sorear++ | lib/ (3 files):
06:40 dalek niecza/serialize: Tidy up STable fields a bit, add TiedVariable serialize
06:40 dalek niecza/serialize: review: https://github.com/sorear/niecza/commit/ab3523892f
06:57 the-golem joined #perl6
06:57 the-golem Moritz, my friend :-)
07:01 the-golem moritz: If you've the time, I could use some assistance in getting the front-end to ilbot working
07:03 the-golem i've been dumbing my way through it for a while, and i'm just about at my wit's end. It's likely something brainless that my dull wits cannot grasp
07:03 grondilu joined #perl6
07:05 grondilu perl6: say ?(0|1 == 0&1); say ?(0&1 == 0|1)
07:05 p6eval pugs: OUTPUT«1␤1␤»
07:05 p6eval ..rakudo 38907e: OUTPUT«Bool::False␤Bool::True␤»
07:05 p6eval ..niecza v10-40-ga57ed3d: OUTPUT«Bool::True␤Bool::True␤»
07:06 grondilu amazing stuff.  The '==' operator is not commutative with junctions.  Just as it would be in quantum mechanics  :)
07:06 grondilu but only according to rakudo
07:07 tadzik b: say ?(0|1 == 0&1); say ?(0&1 == 0|1)
07:07 p6eval b 1b7dd1: OUTPUT«Bool::True␤Bool::True␤»
07:07 am0c joined #perl6
07:07 tadzik seems NYI in the new rakudo
07:08 grondilu what's b: ?
07:09 grondilu rakudo say ?(0|1 == 0&1), ?(0&1 == 0|1)
07:09 grondilu rakudo: say ?(0|1 == 0&1), ?(0&1 == 0|1)
07:09 p6eval rakudo 38907e: OUTPUT«Bool::FalseBool::True␤»
07:09 masak mroing, #perl6
07:09 grondilu I think rakudo's behavior is better.  Much more interesting anyway.
07:12 grondilu But it gives a left associativity to operators that normaly should be chained, and not left associatives.
07:13 baest joined #perl6
07:13 masak 0|1 == 0&1 means any(0,1) == all(0,1) means all(any(0,1) == 0, any(0,1) == 1) means all(any(0 == 0, 1 == 0), any(0 == 1, 1 == 1))
07:14 masak which is true, AFAICS.
07:14 * masak submits rakuodbug
07:14 masak rakudobug*
07:14 tadzik lol, masak
07:14 tadzik good morning
07:14 masak :)
07:14 masak seems I showed up just in time :P
07:15 masak grondilu: commutativity should hold with junctions in Perl 6.
07:15 grondilu I disagree.
07:15 grondilu It should not.
07:15 masak I may be wrong on this. it would be easier to work from an example.
07:16 masak but given the ways junctions are evaluated, it feels like commutativity still holds.
07:18 grondilu 0|1 is always equal to any boolean.  0&1 is always not equal to a boolean.  Thus, there is a conflict between 0&1 and 0|1 and there is some kind of incertitude principle.  It nicely emerges from rakudo as the result of == depends of the order of the arguments.
07:19 grondilu As a result we get non-commutativity, just as in QM.  I think it's great.
07:19 masak sure, but you seem to be ignoring the order of evaluation described in S09.
07:20 masak with it in mind, there is no conflict, and no incertitude.
07:20 grondilu oh.  I need to read this. Sorry.
07:21 masak S09:996
07:21 mberends joined #perl6
07:22 masak mberends! \o/
07:22 grondilu is 996 a line number?
07:22 grondilu (I get to a notice about autoindex when I get there)
07:23 mberends \o/ masak, $customer.network allows IRC :)
07:24 * mberends backlogs
07:26 masak perl6: say Array ~~ Cool
07:26 p6eval rakudo 38907e, niecza v10-40-ga57ed3d: OUTPUT«Bool::True␤»
07:26 p6eval ..pugs: OUTPUT«*** No such subroutine: "&Cool"␤    at /tmp/nrhmKBFeq8 line 1, column 5 - line 2, column 1␤»
07:27 masak grondilu: "The results of these separate calls..."
07:30 masak the duck mapping looks cool, but I'm a little concerned about the violence it perpetrates on ordinary MMD.
07:31 grondilu MMD?
07:33 grondilu seriously it's a bit more than a duck mapping.  Again, 0|1 is always true with any boolean, and 0&1 is always false.  So == should not priviledge any False or True result when being applied to 0|1 and 0&1 in the same time.
07:34 masak my duck mapping comment wasn't related to our junctions discussion.
07:35 masak but it seems you either didn't read S09:996, didn't understand it, or don't agree that it should work that way.
07:35 grondilu Ok ok.  I need to read S09 indeed.
07:41 drbean joined #perl6
07:45 moritz TimToady: in your latest specs patch, +    $node.foo // $node.list: { .».foo }
07:46 moritz should that be $node.map: ... or so?
07:46 moritz I don't think .list takes a closure argument
07:46 masak moritz++
07:48 * masak frowns at http://rt.perl.org/rt3/Tic​ket/Display.html?id=78232
07:49 moritz rakudo: for 1, 2, 3 { sub foo {}; .say }; say "alive"
07:49 p6eval rakudo 38907e: OUTPUT«Too many positional parameters passed; got 1 but expected 0␤  in block <anon> at /tmp/cicnSsXJMb:1␤  in method reify at src/gen/CORE.setting:3752␤  in method reify at src/gen/CORE.setting:3657␤  in method reify at src/gen/CORE.setting:3657␤  in method gimme at src/…
07:49 moritz rakudo: for 1, 2, 3 { .say }; say "alive"
07:49 p6eval rakudo 38907e: OUTPUT«1␤2␤3␤alive␤»
07:50 masak oh, and moritz, you didn't provide enough steps-to-reproduce on https://rt.perl.org/rt3/Ti​cket/Display.html?id=76692 , it seems.
07:52 masak https://rt.perl.org/rt3/Ti​cket/Display.html?id=73344 needs reformulating because 'our' subs don't work that way anymore.
07:53 masak (not addressing moritz++ with that one, but the general public)
07:53 masak not sure the same behaviour can be had with the new 'our' sub semantics.
07:53 masak rakudo: { &^c("$^a, $^b") }.("morning", "perl6ers", &say)
07:53 p6eval rakudo 38907e: OUTPUT«morning, perl6ers␤»
07:54 masak \o/
07:54 moritz masak: just return sub bar from sub foo
07:54 masak moritz++: I'll try that
07:55 masak rakudo: my $a = 1; sub foo { my $a = 2; sub bar($x where $a) { say "called with $x" }; &bar }; foo()(2); foo()(1)
07:55 p6eval rakudo 38907e: OUTPUT«called with 2␤Constraint type check failed for parameter '$x'␤  in sub bar at /tmp/MRp2dEpxLI:1␤  in block <anon> at /tmp/MRp2dEpxLI:1␤  in <anon> at /tmp/MRp2dEpxLI:1␤»
07:55 moritz rakudo: my $a = 1; sub foo() { my $a = 2; sub bar($x where $a) { say $x } }; my &bar := foo; bar(1)
07:56 p6eval rakudo 38907e: OUTPUT«Constraint type check failed for parameter '$x'␤  in sub bar at /tmp/Ob_vsJ7vrl:1␤  in block <anon> at /tmp/Ob_vsJ7vrl:1␤  in <anon> at /tmp/Ob_vsJ7vrl:1␤»
07:56 moritz rakudo: my $a = 1; sub foo() { my $a = 2; sub bar($x where $a) { say $x } }; my &bar := foo; bar(1)
07:56 p6eval rakudo 38907e: OUTPUT«Constraint type check failed for parameter '$x'␤  in sub bar at /tmp/9fraezIidG:1␤  in block <anon> at /tmp/9fraezIidG:1␤  in <anon> at /tmp/9fraezIidG:1␤»
07:56 masak rakudo: my $a = 1; sub foo { my $a = 2; our sub bar($x where $a) { say "called with $x" }; &bar }; foo()(2); foo()(1)
07:56 p6eval rakudo 38907e: OUTPUT«called with 2␤Constraint type check failed for parameter '$x'␤  in sub bar at /tmp/7MnZBwhjCT:1␤  in block <anon> at /tmp/7MnZBwhjCT:1␤  in <anon> at /tmp/7MnZBwhjCT:1␤»
07:57 masak all indications point to it working nowadays.
07:57 * masak adds that to the ticket
07:57 moritz huh?
07:57 masak no?
07:57 moritz my example failed with 2
07:57 masak oh!
07:57 * masak looks again
07:57 moritz nom: my $a = 1; sub f($ where $a) { }; f 1
07:57 p6eval nom 38907e:  ( no output )
07:57 moritz nom: my $a = 1; sub f($ where $a) { }; f 2
07:57 p6eval nom 38907e: OUTPUT«Constraint type check failed for parameter '(null)'␤  in sub f at /tmp/VqsIIv0Mvb:1␤  in block <anon> at /tmp/VqsIIv0Mvb:1␤  in <anon> at /tmp/VqsIIv0Mvb:1␤»
07:57 moritz so in general it works
07:58 masak please run the failing one again.
07:58 masak I don't see it above; it's so messy.
07:58 moritz rakudo: my $a = 1; sub foo() { my $a = 2; sub bar($x where $a) { say $x } }; my &bar := foo; bar(2)
07:58 koban joined #perl6
07:58 p6eval rakudo 38907e: OUTPUT«2␤»
07:58 moritz oh
07:58 masak right.
07:58 moritz maybe it was the mess :-)
07:58 moritz rakudo: my $a = 1; sub foo() { my $a = 2; sub bar($x where $a) { say $x } }; my &bar := foo; bar(1)
07:58 p6eval rakudo 38907e: OUTPUT«Constraint type check failed for parameter '$x'␤  in sub bar at /tmp/u9nPOhDfn6:1␤  in block <anon> at /tmp/u9nPOhDfn6:1␤  in <anon> at /tmp/u9nPOhDfn6:1␤»
07:58 masak so it works.
07:58 moritz aye
07:59 domidumont joined #perl6
08:04 masak I think https://rt.perl.org/rt3/Ti​cket/Display.html?id=67942 can be closed, but it's the requestor's (moritz) call.
08:05 moritz I still think it's wrong
08:05 moritz we shouldn't reparse a declarator as a listop when the parse later on goes wrong
08:07 masak agreed.
08:07 masak but it's a NPMCA ticket, and the NPMCA is gone.
08:07 moritz std: my %h; enum Foo %h;
08:07 p6eval std 580b69a: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Illegal redeclaration of symbol 'Foo' (see line 1) at /tmp/pcfy2Yu9ky line 1:â�¤------> [32mmy %h; enum Foo[33mâ��[31m %h;[0mâ�¤Undeclared routine:â�¤   'h' used at line 1â�¤Check failedâ�¤FAILED 00:01 122mâ�¤Â»
08:07 moritz ok, we can close it, and file a new one :-)
08:07 moritz and a std ticket to TimToady too
08:07 masak I don't like saying "something else is still wrong" about a ticket without changing the stated expectations.
08:08 masak it makes it hard for RT robots like [Coke] and me to reason about tickets.
08:08 moritz you're an RT robot? :-)
08:08 masak you didn't know? :-)
08:09 masak I'm the ticket-producing kind.
08:17 dalek roast: c0c24ab | moritz++ | S02-types/subset.t:
08:17 dalek roast: tests for RT #73344, where-constraint picked up the wrong outer lexical in rakudo
08:17 dalek roast: review: https://github.com/perl6/roast/commit/c0c24ab52c
08:20 moritz TimToady: again re latest spec patch, either you simply that there is a Hash.map which returns a Hash (and of which I don't know anything), or that .deepmap turns hashes into lists
08:26 masak imply*
08:27 moritz correct
08:31 masak turning hashes into lists sounds more like the Perl I know.
08:36 masak by the way, I'm having a Perl 6 day today.
08:36 masak I have two goals: blog a bit, and hack on the macros branch.
08:38 * moritz wanted to blog about the three-way balancing act of the smartmatch operator, and that it's certainly at least one too much
08:40 masak I can see you pulling off such a blog post well.
08:40 masak ooc, what are the three ways?
08:41 moritz 1) the actual smart matching 2) topicalization 3) invoking regexes
08:41 moritz note that 'abc' ~~ m:g/./  does not fit into the "does the $lhs match the $rhs?" type of question
08:42 moritz (because a boolean answer doesn't need :g)
08:43 masak the topicalization bit is fairly new, innit?
08:43 masak ISTR it was introduced in discussions during YAPC::EU 2010.
08:43 moritz like, 2 years or so?
08:43 moritz no, before
08:43 masak oh, ok.
08:44 moritz I remember discussing some fallout of that decision at YAPC::EU 2010 though
08:45 masak oh! that was it.
08:45 masak yes, please make such a blog post.
08:45 masak I'll try to write one about macros.
08:48 Khisanth joined #perl6
08:49 dakkar joined #perl6
08:53 wtw joined #perl6
09:03 wk joined #perl6
09:19 masak ooh! there could be twigil macros!
09:28 orafu joined #perl6
09:42 Mowah_ joined #perl6
09:44 mattp_ joined #perl6
09:48 dalek rakudo/nom: e0cc816 | masak++ | NOMMAP.markdown:
09:48 dalek rakudo/nom: [NOMMAP.markdown] typography fixes
09:48 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e0cc816218
09:49 drbean joined #perl6
09:55 masak TimToady: re panic: I don't actually think I've panicked for real so far. most of my complaints and kvetches stem either from a genuine appreciation and caring for the Perl 6 project, or from wanting to focus more on coding and less on arbitrary official release ceremonies.
09:59 masak if what I am doing counts as panic, I want to point out that I'm not finished with my first and only one yet :P
10:01 masak moritz: fwiw, I've totally come around to TimToady's view that "I want a thunky parameter" means you want a macro but maybe don't know it yet.
10:02 moritz masak: well, I actively don't want a macro, because I wouldn't know how to evaluate the AST that the macro places for me in the parameters
10:02 masak the 'is ast' trait won't fly, I think, since a routine either is a macro or isn't. marking up some of the params and not others doesn't make much sense.
10:02 moritz masak: I don't want to deal with that complexity. I just want a thunk that I can invoke
10:03 masak moritz: we probably need an AST evaluate at some point.
10:03 masak s/evaluate/evaluate function/
10:14 masak `leave` happening at unwinding time, not at throw time -- does that mean that the CATCH block has "magic" access to lexicals in the block that threw the exception?
10:16 masak i.e. is the "effective" lexical scope disconnected from the "textual" lexical scope in the CATCH block until the unwind happens?
10:16 masak and if so, how does the CATCH block have access to its own declared lexicals?
10:17 mls_ lexical lookup has nothing to do with call frames
10:17 mls_ (hi perl6)
10:17 masak oh, true.
10:17 masak yeah, I'm mixing up lexpads and call frames.
10:17 masak my bad :)
10:18 masak so what does it mean, in effect, that the call stack isn't unwound at the point of the CATCH?
10:18 moritz that LEAVE hasn't happened yet
10:18 moritz and that you might resume
10:18 mls_ well, you have access with the callframe() function
10:23 mls_ niecza: { warn() ; CONTROL { default {} } }
10:23 p6eval niecza v10-40-ga57ed3d: OUTPUT«␤Unhandled Exception: No value for parameter $str in CORE warn␤  at /home/p6eval/niecza/lib/CORE.setting line 0 (CORE warn @ 0) ␤  at /tmp/rFYiqWnBJv line 1 (MAIN C1_ANON @ 2) ␤  at /tmp/rFYiqWnBJv line 1 (MAIN mainline @ 1) ␤  at /home/p6eval/niecza/lib/C…
10:23 mls_ niecza: { warn("foo") ; CONTROL { default {} } }
10:23 p6eval niecza v10-40-ga57ed3d:  ( no output )
10:24 mls_ niecza: { LEAVE { warn("foo") } ; CONTROL { default {} } }
10:24 p6eval niecza v10-40-ga57ed3d:  ( no output )
10:24 ab5tract joined #perl6
10:25 mls_ niecza: { LEAVE { warn("foo") ; warn("bar") }; warn("hello") }
10:25 p6eval niecza v10-40-ga57ed3d: OUTPUT«hello␤  at /home/p6eval/niecza/lib/CORE.setting line 613 (CORE warn @ 2) ␤  at /tmp/74b5BBg9I3 line 1 (MAIN C1_ANON @ 2) ␤  at /tmp/74b5BBg9I3 line 1 (MAIN mainline @ 1) ␤  at /home/p6eval/niecza/lib/CORE.setting line 2133 (CORE C1024_ANON @ 2) ␤  at /home…
10:25 mls_ niecza: { LEAVE { warn("foo") ; warn("bar") } }
10:25 p6eval niecza v10-40-ga57ed3d: OUTPUT«foo␤  at /home/p6eval/niecza/lib/CORE.setting line 613 (CORE warn @ 2) ␤  at /tmp/whyRLnCvEv line 1 (MAIN C2_ANON @ 2) ␤  at  line 0 (ExitRunloop @ 0) ␤  at /tmp/whyRLnCvEv line 0 (MAIN C1_ANON @ 0) ␤  at /tmp/whyRLnCvEv line 1 (MAIN mainline @ 1) ␤  at /h…
10:27 snarkyboojum dude - these errors are so dense :D
10:28 snarkyboojum that was supposed to be quoted, but c'est la vie
10:31 masak snarkyboojum! \o/
10:31 snarkyboojum masak: dude! o/
10:33 masak Excellent.
10:33 snarkyboojum masak: did your macros grant idea get off the ground eh?
10:34 masak snarkyboojum: well, I'm working on D1 and it's going fine. haven't heard back from TPF yet.
10:36 snarkyboojum masak: ah - awesome :)
10:41 masak snarkyboojum: if you want to try macros right now, 'git checkout macros' in the rakudo repository.
10:41 snarkyboojum masak: it's well beyond me, but it sounds fun :)
10:46 masak snarkyboojum: well, using them is something anyone can do.
10:46 masak snarkyboojum: macro foo { say "OH HAI" }; say 1; foo; # OH HAI\n1\n
10:46 masak hm, but that would probably result in an error. it needs an empty quasi at the end.
10:47 masak snarkyboojum: macro foo { say "OH HAI"; quasi {} }; say 1; foo; # OH HAI\n1\n
10:49 * snarkyboojum feels compelled to make some macrocosmic response :)
10:50 masak but you see what's happening there. syntactically it's just a subroutine, except it gets called when the parser finds it, not when the runtime finds it.
10:52 snarkyboojum so it's like you're extending the parser or the parse phase?
10:54 masak yes, I guess.
10:54 masak a macro is a parse-time subroutine.
10:54 masak and the return value of the macro (the quasi block) gets re-incorporated into the code and compiled, too.
10:54 snarkyboojum what's to stop you extending the parse phase into something unparseable?
10:55 masak the fact that you have to obey normal syntactical rules inside the quasi block.
10:55 masak well, normal to a first approximation ;)
10:56 masak you're allowed to have "holes" with bits of AST parameters in the quasi block, similar to how you can interpolate variables into qq strings in Perl.
10:56 masak macro add($a, $b) { quasi { {{{$a}}} + {{{$b}}} } } # $a and $b contain bits of Perl 6 code
10:57 masak so anywhere the parser saw 'add(40, 2)' it'd replace it by '40 + 2'.
10:57 snarkyboojum so you have to follow normal syntactic rules which are defined by the parser/grammar, which you're extending via macros? :D
10:57 masak yup :)
10:57 snarkyboojum that sounds like circular fun to me
10:57 masak you've put your finger on a delicate point there.
10:58 masak it's technically possible to call a macro from within itself.
10:58 masak there's actually two cases there. recursing in the macro but outside of the quasi, and recursing inside the quasi.
10:58 masak the latter case is prefectly fine, as long as you bottom out.
10:58 masak the former case -- I'm not sure it's wise, or even technically possible.
10:59 masak problem is, at that point, the compiler is still trying to come to grips with the macro definition. and then it calls itself. not good.
11:00 snarkyboojum it seems that the parser would need to know ahead of time what is syntactically OK and what isn't, but you can extend what that is, so how does the parser know?
11:02 masak oh, that works just like with sub calls and operators.
11:02 masak there are defaults.
11:03 masak the spec has a bit of wording on that.
11:03 masak if you go 'foo 1, 2, 3, 4, 5', the parser assumes that &foo is a listop, even if it hasn't seen the declaration of &foo yet.
11:04 snarkyboojum but you can change the meaning of a listop in a macro?
11:10 drbean joined #perl6
11:11 masak well, yeah. macros are all about changing the meaning.
11:12 masak but so are subs, only in a different phase of the program.
11:15 snarkyboojum subs change meaning? in a different phase?
11:16 masak a sub, in a very real sense, is something that transforms a subcall into a return value.
11:16 snarkyboojum subs change meaning during runtime, but macros change meaning when you're building the semantics of a program?
11:16 masak yes! \o/
11:16 masak achievent unlocked!
11:17 snarkyboojum so you can have macros which change the semantics of subs :D
11:17 masak sure.
11:18 snarkyboojum but you can't transform a runtime thing into a macro thing? :D
11:20 fhelmberger joined #perl6
11:21 Alias_ joined #perl6
11:26 masak snarkyboojum: not sure what you mean by that. it sounds like it would fly in the face of causality.
11:26 moritz you could inject macros into an eval(), which compiles at run time again
11:27 masak right, but most of the program will already have been parsed at that time.
11:27 snarkyboojum I guess I'm wondering if a macro can cause a program to be reparsed?
11:27 masak not as far as I know.
11:28 snarkyboojum that would seem to make things interesting
11:28 snarkyboojum :)
11:30 [Coke] nom:say 723-77
11:32 [Coke] rakudo: class Foo does Positional[::T] {}; say Foo ~~ Positional
11:32 p6eval rakudo e0cc81: OUTPUT«===SORRY!===␤Could not locate compile-time value for symbol T␤»
11:32 [Coke] (RT #68134) - is that still the right way to write that?
11:32 masak think so.
11:33 [Coke] rakudo: my $a = Multi.new; $a.push(sub (1,2,3) { }); $a.push(sub (1,2) { }); say join ", ", $a.candidates
11:33 p6eval rakudo e0cc81: OUTPUT«Could not find sub &Multi␤  in block <anon> at /tmp/6TeqtEsvyz:1␤  in <anon> at /tmp/6TeqtEsvyz:1␤»
11:34 * [Coke] commutes
11:35 masak [Coke]: that one has fossilized. there's no Multi type any more.
11:36 moritz nom: proto sub foo($) { }; say &foo.WHAT
11:36 p6eval nom e0cc81: OUTPUT«Sub()␤»
11:37 Psyche^ joined #perl6
11:40 flussence yay, I just got to rewrite something using event-sourcing at $dayjob and a bunch of bugs disappeared
11:41 moritz nice
11:43 masak flussence: woot!
11:44 flussence masak++ # teaching us magic tricks :)
11:44 masak it's been almost a year, and I'm still stoked on the idea of event sourcing. :)
11:45 benabik joined #perl6
11:45 flussence the funny thing is, our main dataset vaguely resembles that already. It's just this one little bit that got it horribly wrong
11:46 masak flussence: did I mention that https://github.com/masak/farm is event-sourced?
11:46 flussence I think you did :)
11:47 flussence really cool stuff now that I've figured out how to do it
11:47 masak :D
11:47 masak errand &
11:56 dalek rakudo/nom: 3fd3534 | moritz++ | t/spectest.data:
11:56 dalek rakudo/nom: run mro.t
11:56 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3fd353406b
11:58 snarkyboojum "Macros may return either a string to be reparsed, or a syntax tree that needs no further parsing."
11:59 snarkyboojum does that mean macros can cause a program to be reparsed, or am I reading that wrong?
11:59 moritz only the returned string is reparsed
12:00 moritz and it's reparsed at compile time, because macros are run at compile time
12:01 snarkyboojum "returned string"?
12:01 snarkyboojum returned from the macro
12:01 snarkyboojum isn't a program a big-arse macro? :D
12:03 benabik No.  The programmer is a macro (no comment on size of arse), and the compiler parses the string returned by them.
12:04 snarkyboojum benabik: so by definition, the compiler parses programmers.. I like it
12:10 benabik snarkyboojum: They say what languages you know/use affects the way you think.  ;-)
12:11 snarkyboojum benabik: linguistic relativity? :D
12:12 HarryS joined #perl6
12:12 snarkyboojum i.e. the sapir-whorf hypothesis?
12:14 benabik Knew there was some fancy name for it.  Yes, although programming languages probably have a smaller effect.  :-)
12:16 dalek roast: dbcee47 | moritz++ | S12-methods/defer-call.t:
12:16 dalek roast: test for RT #69756
12:16 dalek roast: review: https://github.com/perl6/roast/commit/dbcee47fd3
12:16 snarkyboojum programming languages being a subset of human languages perhaps ;)
12:17 benabik Programming languages having a smaller problem domain than human language.  Most people don't try to program their everyday life.
12:23 ab5tract joined #perl6
12:24 snarkyboojum benabik - a completely different abstraction imo :)
12:39 replore joined #perl6
12:59 grondilu joined #perl6
13:09 BudiantoWang joined #perl6
13:13 moritz http://blogs.perl.org/users/rafael_​garcia-suarez/2011/10/why-dart-is-n​ot-the-language-of-the-future.html
13:16 GlitchMr joined #perl6
13:26 PerlJam I see your link and raise you http://www.modernperlbooks.com/mt/2011/10/​the-jfdi-theory-of-language-adoption.html
13:31 im2ee joined #perl6
13:35 im2ee Hello
13:35 tadzik hello im2ee
13:37 colomon sorear, mberends: Having trouble figuring out how to wire up my "button toggled" callback to the CellRendererToggle object.  Any notions?
13:39 dalek Pugs.hs: f5d5f76 | (Ingy dot Net)++ | Pugs/Makefile:
13:39 dalek Pugs.hs: make clean
13:39 dalek Pugs.hs: review: https://github.com/perl6/Pugs.hs/commit/f5d5f7681c
13:39 dalek Pugs.hs: 9a11832 | (Ingy dot Net)++ | Pugs/Makefile:
13:39 dalek Pugs.hs: Makefile basics
13:39 dalek Pugs.hs:
13:39 dalek Pugs.hs: builds pugs by default. runs cabal configure when needed.
13:39 dalek Pugs.hs:
13:39 dalek Pugs.hs: support 'make install'
13:39 dalek Pugs.hs: review: https://github.com/perl6/Pugs.hs/commit/9a118329db
13:39 dalek Pugs.hs: b1c99f1 | (Ingy dot Net)++ | Pugs/Makefile:
13:39 dalek Pugs.hs: Account for all .hs sources
13:39 dalek Pugs.hs: review: https://github.com/perl6/Pugs.hs/commit/b1c99f1485
13:40 moritz (that was the "Test hook" button)
13:42 ingy moritz++
13:46 envi_ joined #perl6
13:55 koban left #perl6
13:58 mls_ aloha: seen jnthn
13:58 aloha mls_: jnthn was last seen in #perl6 1 days 2 hours ago saying "(Due to the gradual typing.)".
13:59 Trashlord joined #perl6
13:59 moritz http://irclog.perlgeek.de/p​hasers/2011-10-05#i_4526983
14:02 mls_ thanks moritz (I need him to look at my exceptions/enter/leave commits)
14:03 moritz mls_: try to tell him via phenny
14:03 moritz phenny: tell mls_ like this
14:03 phenny moritz: I'll pass that on when mls_ is around.
14:05 mls_ I know phenny. But we probably need to do some live chat about design decisions
14:05 phenny mls_: 14:03Z <moritz> tell mls_ like this
14:06 moritz ok
14:07 * moritz tests the branch
14:24 jesk joined #perl6
14:24 _sri joined #perl6
14:24 Trashlord joined #perl6
14:24 envi_ joined #perl6
14:24 im2ee joined #perl6
14:24 GlitchMr joined #perl6
14:24 BudiantoWang joined #perl6
14:24 grondilu joined #perl6
14:24 replore joined #perl6
14:24 ab5tract joined #perl6
14:24 HarryS joined #perl6
14:24 benabik joined #perl6
14:24 Patterner joined #perl6
14:24 Alias_ joined #perl6
14:24 fhelmberger joined #perl6
14:24 drbean joined #perl6
14:24 mattp_ joined #perl6
14:24 Mowah_ joined #perl6
14:24 orafu joined #perl6
14:24 wk joined #perl6
14:24 dakkar joined #perl6
14:24 Khisanth joined #perl6
14:24 mberends joined #perl6
14:24 baest joined #perl6
14:24 dual joined #perl6
14:24 hugme joined #perl6
14:24 tty234 joined #perl6
14:24 Reaganomicon joined #perl6
14:24 daniel-s joined #perl6
14:24 tewk joined #perl6
14:24 preflex joined #perl6
14:24 aindilis joined #perl6
14:24 colomon joined #perl6
14:24 plobsing joined #perl6
14:24 pnu joined #perl6
14:24 molaf joined #perl6
14:24 carlin joined #perl6
14:24 sunnavy joined #perl6
14:24 [Coke] joined #perl6
14:24 Exodist joined #perl6
14:24 skangas joined #perl6
14:24 geekosaur joined #perl6
14:24 cognominal joined #perl6
14:24 PacoLinux_ joined #perl6
14:24 kfo_ joined #perl6
14:24 mtk joined #perl6
14:24 PacoLinux joined #perl6
14:24 jaldhar joined #perl6
14:24 Gothmog_ joined #perl6
14:24 jjore joined #perl6
14:24 y3llow joined #perl6
14:24 yves_ joined #perl6
14:24 sirmacik joined #perl6
14:24 jkeats joined #perl6
14:24 Sarten-X joined #perl6
14:24 pochi joined #perl6
14:24 beekor joined #perl6
14:24 kst joined #perl6
14:24 alvis joined #perl6
14:24 jlaire joined #perl6
14:24 Grrrr joined #perl6
14:24 flussence joined #perl6
14:24 jferrero joined #perl6
14:24 nebuchadnezzar joined #perl6
14:24 gfldex joined #perl6
14:24 jedai joined #perl6
14:24 araujo joined #perl6
14:24 wolfman2000 joined #perl6
14:24 betterworld joined #perl6
14:24 pothos joined #perl6
14:24 odoacre joined #perl6
14:24 zamolxes joined #perl6
14:24 lestrrat joined #perl6
14:24 huf joined #perl6
14:24 cosimo joined #perl6
14:24 aqz joined #perl6
14:24 amkrankruleuen joined #perl6
14:24 revdiablo joined #perl6
14:24 dju joined #perl6
14:24 DarthGandalf joined #perl6
14:24 ponbiki joined #perl6
14:24 sivoais joined #perl6
14:24 aloha joined #perl6
14:24 djanatyn joined #perl6
14:24 slavik1 joined #perl6
14:24 domm joined #perl6
14:24 arthur-_ joined #perl6
14:24 frettled joined #perl6
14:24 silug joined #perl6
14:24 phenny joined #perl6
14:24 ashleydev joined #perl6
14:24 Tene joined #perl6
14:24 Vlavv_ joined #perl6
14:24 masak joined #perl6
14:24 Juerd joined #perl6
14:24 Woodi joined #perl6
14:24 c1sung_ joined #perl6
14:24 athomason_ joined #perl6
14:24 apejens joined #perl6
14:24 breinbaas joined #perl6
14:24 renormalist joined #perl6
14:24 moritz joined #perl6
14:24 Yappoko___ joined #perl6
14:24 hillu joined #perl6
14:24 LoRe joined #perl6
14:24 nsh- joined #perl6
14:24 mls_ joined #perl6
14:24 mux joined #perl6
14:24 Lorn joined #perl6
14:24 awwaiid joined #perl6
14:24 Maddingue joined #perl6
14:24 p6eval joined #perl6
14:24 jrockway joined #perl6
14:24 BLZbubba joined #perl6
14:24 japhb joined #perl6
14:24 PZt joined #perl6
14:24 szabgab joined #perl6
14:24 risou_awy joined #perl6
14:24 ruoso joined #perl6
14:24 diakopter joined #perl6
14:24 szbalint joined #perl6
14:24 zostay_ joined #perl6
14:24 ribasushi_ joined #perl6
14:24 z-b joined #perl6
14:24 shachaf joined #perl6
14:24 jevin joined #perl6
14:24 buubot_backup joined #perl6
14:24 cotto joined #perl6
14:24 pjcj joined #perl6
14:24 pmichaud joined #perl6
14:24 snarkyboojum joined #perl6
14:24 ingy joined #perl6
14:24 mikemol joined #perl6
14:24 BinGOs joined #perl6
14:24 sorear joined #perl6
14:24 TiMBuS joined #perl6
14:24 felher joined #perl6
14:24 jerome_ joined #perl6
14:24 stepnem joined #perl6
14:24 charsbar__ joined #perl6
14:24 sjohnson joined #perl6
14:24 mathw joined #perl6
14:24 avar joined #perl6
14:24 PerlJam joined #perl6
14:24 clkao joined #perl6
14:24 tadzik joined #perl6
14:24 prammer joined #perl6
14:24 jasonmay joined #perl6
14:24 lucs joined #perl6
14:24 \patch joined #perl6
14:24 nine joined #perl6
14:24 jtpalmer joined #perl6
14:24 jnthn joined #perl6
14:24 cookys joined #perl6
14:24 kthakore joined #perl6
14:24 kshannon joined #perl6
14:24 ilogger2 joined #perl6
14:24 s1n1 joined #perl6
14:24 simcop2387 joined #perl6
14:24 jql joined #perl6
14:24 rhr_ joined #perl6
14:24 bacek_at_work joined #perl6
14:24 takesako joined #perl6
14:24 Util joined #perl6
14:24 dalek joined #perl6
14:24 bbkr_ joined #perl6
14:24 robinsmidsrod joined #perl6
14:24 [particle] joined #perl6
14:24 eternaleye joined #perl6
14:24 literal joined #perl6
14:24 yahooooo joined #perl6
14:24 Bucciarati joined #perl6
14:24 mdxi_ joined #perl6
14:24 broquaint joined #perl6
14:24 felipe joined #perl6
14:24 bloonix joined #perl6
14:24 BooK joined #perl6
14:24 daemon joined #perl6
14:24 miso2217 joined #perl6
14:24 cxreg joined #perl6
14:24 tomaw joined #perl6
14:24 sjn joined #perl6
14:24 krakan_ joined #perl6
14:24 ascent__ joined #perl6
14:24 ranguard joined #perl6
14:24 nsh joined #perl6
14:24 sbp joined #perl6
14:24 JodaZ_ joined #perl6
14:24 TimToady joined #perl6
14:24 ruz joined #perl6
14:24 jfried joined #perl6
14:24 saaki joined #perl6
14:24 mls_ It might turn out that we need to do it in a different way, e.g. for language interop
14:25 moritz wow, I can even put a CATCH block inside a CATCH block to catch the exception from the outer CATCH :-)
14:25 mls_ also exceptions in LEAVE blocks need some tinkering
14:27 benabik mls_: If patching parrot makes things cleaner, it's not impossible.  :-)  #parrot is always interested in how we can make things better.
14:27 benabik That said, if it works without it, then who cares?  ;-)
14:27 mls_ thanks. But we first need to know what we need from parrot.
14:28 benabik Clear goals always helps.  :-)
14:28 mls_ ;)
14:28 grondilu I tried once to write a perl6 CGI with no success.  I get a Method 'exists' not found for invocant of class 'Hash'
14:28 moritz benabik: I think mls_ even has a commit bit for parrot these days
14:29 moritz grondilu: I remember seeing a ticket about that. I think it's closed in nom
14:29 moritz nom: say %*ENV.exists('HOME')
14:29 p6eval nom 3fd353: OUTPUT«Bool::True␤»
14:29 moritz nom: say %*ENV.exists('NOTTHERE')
14:29 p6eval nom 3fd353: OUTPUT«Bool::False␤»
14:29 moritz looks better, eh? :-)
14:29 * grondilu doesn't know what 'nom' is
14:29 moritz b: say %*ENV.exists('NOTTHERE')
14:29 p6eval b 1b7dd1: OUTPUT«Bool::False␤»
14:29 moritz grondilu: it's the current development branch of rakudo
14:29 grondilu ok
14:30 moritz if you use the branch or the 2011.09 release of rakudo, that's what you get
14:31 grondilu my version is '2011.09-69-g3fd3534'
14:31 grondilu that's not 'nom', is it?
14:32 moritz that's nom.
14:33 grondilu Well, I still get the 'exists' error :-/
14:33 PerlJam grondilu: show the code that gives the error
14:33 grondilu hang on
14:33 moritz mls_: a few tests fail in your branch, but I guess many spectests are bogus or outdated when it comes to exceptions
14:34 pmurias joined #perl6
14:34 mls_ yes, I think four or five fail
14:35 moritz for example the last one in try.t is bogus, it never marks $! as handled, nor does it smartmatch successfully against $_
14:35 pmurias sorear: how can i see the serialisation branch?
14:35 grondilu it's nested in a bash script as this is the only way I could see the error message:  http://pastebin.com/NhyGCMRJ
14:35 mls_ yes, it needs a default { ... }
14:35 pmurias git branch only shows master?
14:35 grondilu it's just a perl6 -e ';'  and it works fine outside of CGI
14:35 moritz pmurias: 'git branch' only shows local branches by default. Try  git branch -a   for more
14:36 moritz grondilu: wow, that's scary
14:36 PerlJam maybe something with %*ENV?
14:36 moritz yes, but what?
14:36 PerlJam that it's not there? :)
14:36 grondilu there is probable a CGI env var that perl6 doesn't like.
14:36 moritz grondilu: could you please change that to  perl6 --ll-exception -e ';'
14:37 moritz yes, I suspect so
14:37 moritz grondilu: and tell us what output that produces
14:37 grondilu oh my god
14:37 grondilu hang on
14:37 pmurias moritz: so how do i switch to a branch?
14:38 moritz pmurias: git checkout otherbranch
14:38 grondilu http://pastebin.com/qayiZBxB
14:38 moritz grondilu: thanks
14:39 grondilu I'm using thttpd under Debian if this is of any help
14:40 pmurias moritz: works
14:40 pmurias moritz: thanks
14:41 colomon sorear, mberends: Aha!  add_Toggled is the key.  of course, now I need to make my DoneToggled sub actually work.  But that will come after exercise.
14:41 moritz that backtrace is ... weird
14:42 moritz while loading the setting, a concatenation triggers an undef warning (thats' the 'note', line 4)
14:42 sorear good * #perl6
14:43 moritz which seemingly dies while trying to look up the $*ERR variable
14:43 colomon sorear: oooo, good to see you
14:43 moritz o/ sorear
14:44 colomon sorear: decided to try one more thing before exercising.  public bool GetIterFromString (out TreeIter iter, string path_string); -- is it possible to get the out iter there?
14:44 grondilu anyway how is it possible that perl6 doesn't find a method 'exists' for a 'Hash' class??
14:44 PerlJam At first blush I though that was a parrot error btw.
14:44 moritz grondilu: there's a parrot Hash which doesn't have an exists method
14:45 sorear grondilu: either Hash.exists doesn't exist, or it's not the 'Hash' you think it is
14:45 moritz nom: pir::new__PS('Hash').exists('foo')
14:45 p6eval nom 3fd353: OUTPUT«Method 'exists' not found for invocant of class 'Hash'␤  in block <anon> at /tmp/vTbVojSoSY:1␤  in <anon> at /tmp/vTbVojSoSY:1␤»
14:45 moritz nom: Hash.new.exists('foo')
14:45 p6eval nom 3fd353:  ( no output )
14:45 colomon I thought Hash.exists was obsolete?
14:45 sorear colomon: it is, but that's beside the point
14:45 moritz so, the question is, why does GLOBAL.WHO or PROCESS.WHO end up being a parrot hash?
14:46 moritz colomon: we still use it in rakudo until we can parse the :exists adverb
14:46 PerlJam not enough boxing
14:46 moritz nom: say GLOBAL.WHO
14:46 p6eval nom 3fd353: OUTPUT«().hash␤»
14:46 moritz nom: say PROCESS.WHO
14:46 sorear colomon: what's the trouble with getting the out iter?  it should Just Work, although you'll need to preset the variable to TreeIter to make MMD work
14:46 p6eval nom 3fd353: OUTPUT«("\$IN" => IO<7868443299104802926>, "\$OUT" => IO<7868443299104231782>, "\$ERR" => IO<7868443299112620663>, "\$TZ" => $*TZ, "\@ARGS" => [], "\$ARGFILES" => ArgFiles<7868443299111605347>, "\%ENV" => {"PERLBREW_VERSION" => "0.12", "USER" => "p6eval", "MAIL" => "/var/mai…
14:47 moritz PerlJam: if it were that simple, one of the above lines would fail
14:48 pmurias sorear: hi
14:48 colomon sorear: Ah, I didn't know.  Hmmm... how to preset the variable to TreeIter....
14:48 mls_ Hey, I can reproduce it: env - ./perl6 -e ';'
14:49 PerlJam mls++
14:49 grondilu mls++ indeed
14:50 * grondilu will try to remember about the env command :)
14:50 sorear colomon: my $x = TreeIter;
14:50 colomon sorear: that doesn't work
14:51 colomon (error message in a moment)
14:51 mls_ it's triggered by a missing $HOME
14:51 sftp joined #perl6
14:51 colomon sorear: https://gist.github.com/1278289
14:51 grondilu indeed:  env - HOME=foo /usr/local/bin/perl6 -e ';'
14:51 grondilu does not crash
14:53 mls_ so it's line 30 in src/core/terms.pm
14:53 grondilu so I guess a quick fix would be to setup my HOME in my CGI shebang, right?
14:53 mls_ yes, just set it to /
14:54 moritz though we really shouldn't die that way
14:54 moritz I'll come up with a fix
14:54 sorear colomon: interesting, it looks like an actual bug
14:54 mls_ yeah, we just need a // ''
14:54 sorear colomon: does it work with my $x = Any; ?
14:54 moritz mls_: no, we shouldn't set up that path if neither of HOME/HOMEDRIVE is set
14:55 mls_ yes, you're right of course
14:55 colomon sorear: nope, then it doesn't even dispatch
14:55 colomon if it will help, I can push my broken code to github
14:55 grondilu oh  #!HOME=/ /usr/local/bin/perl6              is not reckognized as shebang :-(
14:55 moritz just do an
14:55 moritz export HOME=/
14:56 moritz in you shell wrapper
14:56 moritz or do you want to get rid of it?
14:56 moritz maybe
14:56 moritz /usr/bin/env HOME=/ perl6
15:00 moritz or so
15:00 grondilu yes I got rid of the shell wrapper
15:00 sorear colomon: https://github.com/sorear/niecza/issues/66
15:02 imarcusthis joined #perl6
15:03 grondilu thus the shebang pb
15:03 * moritz tests a patch
15:03 colomon sorear: ah, that does seem to golf it nicely.  :)
15:03 colomon pushed my version anyway.  now for exercise.  sorear++
15:03 grondilu I guess I should put a sh shebang, and an HOME=/ exec perl6 just after
15:03 grondilu or something like that
15:03 sorear colomon: oh!  TreeIter is a value type.
15:03 sorear colomon: try my $x = TreeIter.default; or TreeIter.Zero;
15:03 colomon sorear: oh, right, that's why I was trying to figure out how to m... oo
15:03 sftp_ joined #perl6
15:03 colomon sorear: TreeIter.default gets me the same dispatch fail as Any did
15:03 dukeleto- joined #perl6
15:03 colomon ditto for .Zero
15:03 sorear colomon: stupid question do you have a good String argument?
15:03 colomon sorear: not in the least.  sorear++
15:03 colomon I thought I'd be getting a string argument when my callback was called, but instead it's a CLR::Gtk::ToggledArgs
15:03 pmurias sorear: hi
15:03 spacebat joined #perl6
15:03 pmurias sorear: i'll be giving a presentation for uni about niecza ;)
15:05 colomon sorear: well, that makes the callback not crash.  it doesn't quite work properly yet, but that's a post-exercise mission.  sorear++
15:07 Helios joined #perl6
15:07 moritz pmurias: so what will you tell them?
15:07 jdhore joined #perl6
15:08 pmurias moritz: not yet sure
15:09 moritz what's the context of the talk? compiler construction? or "talk about your favorite open source project" ?
15:11 pmurias moritz: "advanced .net techniques"
15:12 pmurias moritz: so i suppose it should be a gentle Perl 6 introduction
15:15 pmurias_ joined #perl6
15:16 masak did anyone submit a rakudobug about $HOME?
15:18 pmurias moritz: what thing in Perl 6 would be interesting to non Perl programmers?
15:24 * sorear leaves
15:36 masak pmurias: grammars, I think. niecza is good at that.
15:37 masak pmurias: also, somewhat more nebulously, the sliding scale between extreme expressiveness/brevity and large-scale structure formation that Perl 6 is on.
15:37 masak "from scripts to applications", that kind of thing.
15:38 masak are they programmers-but-not-Perl6-programmers, or non-Perl-programmers-and-ma​ybe-not-programmers-at-all? :)
15:38 masak s/6//
15:42 colomon sorear: any tips on dealing with CLR::System::Boolean
15:42 colomon ?
15:45 simcop2387 joined #perl6
15:45 simcop2387 joined #perl6
15:47 kaare_ joined #perl6
15:47 pmurias masak: they are fellow computer science students
15:47 pmurias masak: so a lot of them don't qualify as programmers
15:49 masak CS people, hm.
15:49 masak sounds like gradual typing could interest them. things like where clauses, subtypes, roles...
15:49 TimToady tell 'em it's Lisp done right :)
15:49 masak felher: I'm in the midst of backlogging, saw you asking about type synonym declarations.
15:49 masak rakudo: constant Relative := Int; say Relative.WHAT
15:49 p6eval rakudo 3fd353: OUTPUT«===SORRY!===␤Malformed constant at line 1, near ":= Int; sa"␤»
15:50 masak rakudo: constant Relative = Int; say Relative.WHAT
15:50 p6eval rakudo 3fd353: OUTPUT«Int()␤»
15:50 masak constant := should be allowed, right?
15:50 masak I mean, that's basically what happens, even if I write '=' :)
15:51 masak moritz: thanks for the link with parsing blog posts. will peruse as time permits.
15:51 dalek specs: f798397 | larry++ | S03-operators.pod:
15:51 dalek specs: braino spotted by moritz++
15:51 dalek specs: review: https://github.com/perl6/specs/commit/f798397a34
15:53 simcop2387 joined #perl6
15:57 KyleHa joined #perl6
15:59 cognominal I am not sure I understand     $node.foo // $node.map: { .».foo  }
16:00 cognominal if .foo is not defined for a list invocant, how can one call it?
16:00 TimToady well, perhaps it's a .?foo there
16:01 TimToady and it's also assuming the .map attempts to return an object resembling the type of $node, which plain .map might not actually do
16:02 KyleHa left #perl6
16:02 KyleHa1 joined #perl6
16:02 tadzik pmurias: will there be streaming or so>?
16:03 pmurias tadzik: no
16:03 cognominal may I have a commit bit on github perl6?
16:04 pmurias tadzik: we have so called seminar classes, where everyone who signed up has to give a talk on a given topic
16:04 pmurias tadzik: usually on something he has no idea about
16:04 tadzik interesting
16:05 pmurias most of the seminars end up horrible
16:06 dalek specs: 694d6ef | larry++ | S03-operators.pod:
16:06 dalek specs: clarify unary hyper semantics for cognominal++
16:06 dalek specs: review: https://github.com/perl6/specs/commit/694d6ef3d6
16:08 ingy seen fglock
16:08 aloha fglock was last seen in #perl6 154 days 19 hours ago leaving the channel.
16:08 ingy what became of fglock?
16:09 pmurias ingy: he can't use the irc channel anymore
16:09 ingy he lost his fingers?
16:09 ingy or he was a bad boy?
16:09 pmurias got a job at booking?
16:10 pmurias ingy: heh
16:10 ingy booking disallows irc?
16:10 pmurias dunno
16:10 TimToady I didn't think slavery was allowed in the Netherlands...
16:10 * ingy is lost
16:11 pmurias ingy: he visits the channel occasionally
16:11 ingy ok
16:11 pmurias very rarely
16:11 ingy I want to visit his couch
16:11 ingy if he and his couch are in Buenos Aires
16:12 * TimToady pictures fglock as a psychiatrist...
16:12 ingy haha
16:12 ingy talk about your childhood, Ingy
16:12 TimToady doubtless a retired Nazi...
16:13 pmurias ingy: fglock is still hacking on mp6, which is quite similiar to your acmeish stuff
16:13 pmurias ingy: a small p6 subset and loads of backends
16:13 ingy wow, thx
16:13 ingy I had no idea
16:13 ingy now it's a must
16:14 TimToady now we just have to compile real Perl 6 down to mp6 :)
16:14 * pmurias considered that option before
16:15 TimToady I will bet there will be...impedance mismatches...
16:15 cognominal ingy, I noted you can't do without your laptop. At your age you should be able to spend time away from that transitional object :)
16:16 TimToady cognominal: y'know, some of us can't see the fine print anymore
16:16 ingy TimToady: impedance challenges
16:16 * TimToady must admit he just got a smartphone though
16:16 TimToady but it's really hard to type fast on a smartphone
16:16 ingy cognominal: I am only tied to $laptop
16:17 ingy specific one is not important
16:17 TimToady it's a common noun, not a proper noun :)
16:17 ingy I worked had on that during the last year.
16:18 ingy although I do like touching a thinkpad
16:18 cognominal ingy, so I am worse than you because I am tied to $laptop.MacBooK  :)
16:18 ingy I have a macbook still, somewhere. it runs ubuntu
16:18 TimToady far be it from me to criticize another (dead) man's cult
16:19 ingy like every other throwaway laptop i have
16:19 ingy TimToady: I'll gladly do it for you :)
16:20 cognominal a MacBooK being a bif financial investment easily become an emotional one
16:20 cognominal *big
16:21 ingy I used mac for 10 years. I decided to try not using it for a weekend last PPW, and never used it again
16:21 TimToady .oO(funny how "okay" means 'yes' but "that's okay" means 'no'...)
16:21 ingy TimToady: that's ok
16:21 * flussence screwed up the rootfs on my good netbook yesterday, been stuck on an eee701 today. feels pretty weird going back to such a tiny keyboard...
16:21 TimToady .oO(except when it doesn't...)
16:22 ingy that's okay by me
16:36 TimToady masak: I don't know how you get commutativity out of what S09 says; it's specifically designed to work like English, which is not commutative in that spot
16:37 TimToady so use of junctions within a chained comparison is likely a DIHWIDT
16:38 TimToady well, a single junction is fine, but two different adjacent terms with junctions is asking for it
16:40 TimToady so 1 < $all < 10 is fine
16:45 [Coke] IWBNI if aloha linked to the logs.
16:45 [Coke] (when reporting "seen")
16:50 TimToady masak: re macros and ASTs, we don't have to require all the params to be ASTs; anything that's not declared AST could be autoevaluated to a normal value with the AST eval function proposed, and a macro param declared as a thunk could certainly auto-compile to a Callable
16:51 TimToady and macros are rare enough that I don't feel like defaulting params to ASTs makes much sense huffmanly speaking
16:52 TimToady we could go so far as to say that macros must be explicitly typed
16:54 * TimToady waits with bated breath to see which of masak's hot buttons that pushes, the one that likes clean semantics, or the one that dislikes arbitrary restrictions :)
16:56 plobsing joined #perl6
16:56 GlitchMr joined #perl6
16:58 TimToady the difference between a macro and an immediate sub is that the macro knows it's feeding the parser, and the immediate sub doesn't
16:59 TimToady which is maybe not much difference if you're returning an AST, but a profound difference if you're returning a Str
16:59 TimToady the 'macro' declarator biases Str to be reparsed, while the 'sub' declarator would presumably work like a constant fold
17:00 donri joined #perl6
17:01 TimToady or maybe we call them both 'macro', but distinguish two types of return string, Str vs CodeStr or some such
17:01 TimToady then the declarative weight would not be on the 'macro' but on the --> CodeStr
17:02 TimToady --> DirtyMacroString  :)
17:02 TimToady we can discourage text macros if we like :)
17:02 masak no buttons pushed so far over here.
17:03 masak I'm just glad you're thinking about macros ;)
17:03 TimToady that's because I'm supposed to be thinking about 5 other things instead
17:03 masak I must confess I kinda like the 'macro' keyword. I think it's a keeper.
17:03 TimToady it means 'immediate', basically
17:04 TimToady I think everything else can be declaratively controlled with types
17:04 masak and yes, maybe we do need a way to declare sub params as AST-ish, or macro params as non-AST-ish.
17:04 masak we definitely need ways to convert between "values" and ASTs.
17:05 masak also, note that my grant proposal explicitly leaves out text macros. I have no idea where to even start with those, and I'd be glad if someone else decided to tackle them. ;)
17:05 masak they don't interest me that much, frankly.
17:06 TimToady they're pretty trivial, except for the tricky bits :)
17:06 mberends joined #perl6
17:06 masak I realize textual macros are a "safety valve", just like BEGIN and eval are, when the language falls short and something radical is needed.
17:07 TimToady they need a mechanism for diverting the parser to look at them, and a mechanism for reporting error messages not inaccurately
17:07 TimToady other than that, they're conceptually simple, if unhygienic
17:08 masak even clean macros probably need to report an error in a sort of before/after manner.
17:08 masak I speculated about that in one of my YAPC::EU gists.
17:08 TimToady for that you can treat them almost as a separate callframe
17:09 sftp joined #perl6
17:09 TimToady and give a micro traceback
17:09 TimToady s/micro/delimited/
17:10 TimToady not much point in giving a traceback of the whole recursive descent when the user is unlikely to be interested...
17:10 TimToady though that would be an interesting debug option
17:11 TimToady (for grammars)
17:11 masak I don't get how applying a macro can be seen as a separate callframe.
17:12 masak I meant something like this: macro add($a, $b) { quasi { {{{$a}}} + {{{$b}}} } }; add(40, foo())
17:12 Trashlord joined #perl6
17:13 masak something wrong happens when calling foo(). error shows both '40 + foo()' and 'add(40, foo()'
17:13 colomon sorear, mberends: I've actually got the toggle updating the model now, but the view doesn't change.  Seems like I need some sort of redraw command, but I haven't been able to find it yet...
17:15 masak TimToady: it will be increasingly important to do that as more layers of macros are applied on some bit of code.
17:15 masak TimToady: cf C++'s incomprehensible template error messages.
17:15 mberends colomon: try $drawingarea.QueueDraw; or $drawingarea.QueueDrawArea(0,​0,$windowSizeX,$windowSizeY); # fsvo $drawingarea
17:17 TimToady masak: sure, and this probably coincides with my wish to see long, well-formatted error messages dumped to html or some such for later browsing
17:18 colomon mberends: doesn't blow up when I do that, but it doesn't change, either.
17:18 TimToady generally, if we have a place to put such messages, we should just put a short message to the screen that says where the full traceback/parse/rewrite can be viewed
17:18 colomon mberends: actually, now I wonder if I set it up incorrectly
17:19 masak TimToady: yes, I like the sound of that. no idea about the specifics, though :)
17:19 TimToady we need a concept of STDERRDIR or some such :)
17:19 masak TimToady: since it's disruptive, it needs to be pulled of extra well not to make people reject it outright.
17:19 colomon mberends: bingo!  I needed to say the toggle was active.
17:20 TimToady I think people dislike terminal spews enough that just fixing that will be somewhat disruptive
17:20 mberends colomon: you can sprinkle 'say' statements in your code to ... \o/
17:20 TimToady and as soon as you don't have to worry about spew, you could keep a complete cockpit recorder of information, as long as it's well structured
17:21 kaleem joined #perl6
17:22 TimToady 'course, the Unixoids will just say, that's what 2>file does
17:22 TimToady but that neglects the "well structured" aspect
17:25 TimToady btw, I believe one of the Apocalypses speculated about recursive macros requiring lazy parsing semantics or some such
17:25 TimToady "there will be an AST here, but I don't know what it is yet"
17:26 TimToady part of the macro's BEGIN semantics are to apply itself recursively when it can
17:26 Trashlord joined #perl6
17:27 TimToady oh, the other thing that's different between text macros and AST is that a text macro always stays in the same parse state before reparsing, while an AST macro has to know what the next state is (via term:, infix: etc.)
17:28 TimToady but I think that's specced somewhere
17:28 TimToady or apo'd
17:40 TimToady my backlogging turned into far to much frontlogging today...
17:40 TimToady *too
17:45 sjohnson :3
17:56 masak frontlogg'd!
18:04 dalek ecosystem: 53fd42a | (Timothy Totten)++ | META.list:
18:04 dalek ecosystem: Added MIME::Types, used by WWW::App for basic mime-type detection.
18:04 dalek ecosystem: review: https://github.com/perl6/e​cosystem/commit/53fd42a466
18:10 supernovus joined #perl6
18:13 supernovus Any news on grammars/regex progress in nom? Getting the JSON::Tiny and Exemel libraries working again would be awesome, but both rely heavily on grammars. :(
18:14 [Coke] still waiting on pmichaud, I believe.
18:23 felher masak: Thnx for your answer to type-synonyms. :) This is a very nice way to create real synonyms. I wanted to use them in multiple dispatch, though. Like two classes, that are exactly the same, just have different names. :)
18:27 masak felher: so... you want them to be different?
18:28 masak rakudo: class Relative { has Int $.cargo }; say Relative.new(:cargo(42)).cargo
18:28 p6eval rakudo 3fd353: OUTPUT«42␤»
18:33 pyrimidine joined #perl6
18:39 masak felher: either composition (above) or subclassing would do what you want.
18:40 masak rakudo: class Relative is Int {}; multi foo(Int) { say "Int" }; multi foo(Relative) { say "Relative" }; foo(42); foo(Relative)
18:40 p6eval rakudo 3fd353: OUTPUT«Int␤Relative␤»
18:41 felher masak: Yeah, i tried that first, with the following Problem: http://pastebin.com/3mjiK4uE
18:42 felher masak: how do i get values into that subclass?
18:42 wamba joined #perl6
18:42 felher masak: i guess the solution is pretty easy, i'm just blind :)
18:43 masak not sure it's possible, actually.
18:43 * felher is very happy he isn't _that_ blind :)
18:44 masak rakudo: role Relative {}; multi foo(Int) { say "Int" }; multi foo(Relative) { say "Relative" }; foo(42); foo(42 but Relative)
18:44 p6eval rakudo 3fd353: OUTPUT«Int␤Ambiguous dispatch to multi 'foo'. Ambiguous candidates had signatures:␤:(Int)␤:(Relative)␤␤  in sub foo at /tmp/Lnr6tVGfvO:1␤  in block <anon> at /tmp/Lnr6tVGfvO:1␤  in <anon> at /tmp/Lnr6tVGfvO:1␤»
18:44 masak rakudo: role Relative {}; multi foo(Int) { say "Int" }; multi foo(Int $ where Relative) { say "Relative" }; foo(42); foo(42 but Relative)
18:44 p6eval rakudo 3fd353: OUTPUT«Int␤Relative␤»
18:44 masak felher: that works.
18:46 felher masak: hm, nice, that solution works for me. Big thanks :)
18:46 felher masak++
18:47 masak \o/
18:49 PerlJam Isn't that what subsets are for?
18:49 japhb ingy, ping
18:50 masak subsets would tie in the MMD.
18:50 masak hm, maybe not.
18:51 masak but I got the feeling that in felher's example, the types aren't distinct in any other way than that felher say they are.
18:51 masak that's a typical Value Object pattern to me.
18:51 masak says*
18:52 PerlJam masak: they have different names, ergo they're distinct ;)
18:52 masak well, since subtypes basically carve out values from their nominal type, that's not enough.
18:53 masak rakudo: subset FunkyInt of Int; multi foo(Int) {}; multi foo(FunkyInt) {}; foo(42)
18:53 p6eval rakudo 3fd353:  ( no output )
18:53 PerlJam Is there a manual way to affect who wins in the event of a tie in MMD?
18:53 masak rakudo: subset FunkyInt of Int; multi foo(Int) {}; multi foo(FunkyInt) { say "FunkyInt" }; foo(42)
18:53 p6eval rakudo 3fd353: OUTPUT«FunkyInt␤»
18:53 masak oh right, subsets are narrower.
18:54 masak so foo(Int) will never get called.
18:54 masak ooh, we could detect such things statically as well! \o/
18:54 masak PerlJam: yes, there's 'is default'.
18:55 masak PerlJam: I would consider using it to be a fairly strong code smell.
18:55 felher masak: that value-object: http://c2.com/cgi/wiki?ValueObject ?
18:55 masak felher: aye.
18:55 PerlJam masak: I meant something more ... detailed than than.  But you're right .. code smell.
18:56 masak felher: Probability is a good example. one could just use a Num. but using Probability makes it clear what kind of value one is dealing with.
18:57 masak felher: and you could put nice methods on the role too, like .combinedWith(Probability $b) which calculates the product of self and $b
18:58 masak typically, a domain model has some value objects and some entity objects.
18:58 masak c2.com calls entity objects "business objects" or "reference objects".
19:01 felher masak: yeah, thats (object value)  exactly what i wanted. It just had to work in multiple dispatch. I wanted 'one' jump method. Not jump-relative and jump-absolut, because the jump-value would carry the information with it anyway :).
19:02 masak oh, then you can do 'given $value { when Relative { ... }; when Absolute { ... } }'
19:02 masak if you need to, I mean.
19:02 masak 'given/when' is sort of the dual of MMD, by the way ;)
19:03 felher masak: yes, if i needed to. :) It's http://en.wikipedia.org/wiki/Double_dispatch, isn't it?
19:04 masak ummmmm
19:04 felher masak: oh, well, no, it isn't :) i mixed something up :)
19:04 masak "Double Dispatch" is one of those concept I've never really learned because the languages I've used so far haven't been brain-damaged enough to need it :P
19:04 masak concepts*
19:07 masak std: multi foo() is default {}; multi foo() is default {}
19:07 p6eval std 580b69a: OUTPUT«ok 00:01 120m␤»
19:07 PerlJam they're *all* default.
19:07 masak TimToady: is it allowed for more-than-one multi variant in the same scope to have 'is default'?
19:07 * masak guesses "yes"
19:08 masak either way it doesn't affect the compiler's ability to detect ties at compile time.
19:08 felher masak: :). Well, in the end i wanted to be able to write my @jumps = (30 but relative, 20 but absolute, ... ); for @jumps { $m.jump($_) }. Which only works well with multiple dispatch :) (or given/when - but thats not 'well' )
19:09 PerlJam my @jumps = (30 but meters, 20 but feet, ... );  # Would you do that too?
19:11 masak nice!
19:13 masak rakudo: role Length {}; role Meters is Length {}; role Feet is Length {}; my @jumps = 30 but Meters, 20 but Feet; multi jump($x where Meters) { say "$x meters" }; multi jump($x where Feet) { say "$x feet" }; jump($_) for @jumps
19:13 p6eval rakudo 3fd353: OUTPUT«P6opaque only supports type changes where the MRO of the original type is a suffix of the MRO of the new type␤  in mixin at src/gen/Metamodel.pm:918␤  in sub infix:<but> at src/gen/CORE.setting:7376␤  in block <anon> at /tmp/PlYluHQIBN:1␤  in <anon> at /tmp/PlYluHQ…
19:13 masak hm.
19:13 felher PerlJam: in principle. Why not?
19:13 masak rakudo: role Length {}; role Meters does Length {}; role Feet does Length {}; my @jumps = 30 but Meters, 20 but Feet; multi jump($x where Meters) { say "$x meters" }; multi jump($x where Feet) { say "$x feet" }; jump($_) for @jumps
19:13 p6eval rakudo 3fd353: OUTPUT«30 meters␤20 feet␤»
19:13 masak \o/
19:16 masak felher, PerlJam: you're both doing superstitious parentheses on array initialization, by the way. I'm guessing you're both good at Perl 5. ;)
19:17 PerlJam aye ... I'm coding in perl 5 right now ... hard to context switch. :)
19:17 felher masak: thanks for pointing that out. I forget about it all the time :)
19:18 masak PerlJam: at $client, I do a lot of Perl 5. I'm considering putting a piggy bank on the desk and put a krona in for every p6ism I don't catch before compiling my program. ;)
19:18 masak PerlJam: had I done that from the start in Feb, I'd probably be up to about 30 SEK now.
19:19 masak there's probably another 25 SEK or so in p6isms that I caught before compilation by reviewing my own diffs ;)
19:22 masak but given how much code I write in both languages, I don't consider 55 SEK to be much at all. I usually find it quite easy to context-switch.
19:22 benabik joined #perl6
19:23 PerlJam sometimes it's easy, but when my brain is working p5 problems, it doesn't quickly generate p6isms.
19:24 masak we probably come at it from different default directions.
19:24 masak I'm a Perl 6 developer, occasionally working in Perl 5.
19:24 PerlJam aye, and I'm the other way around basically :)
19:25 masak my Perl 5 is often some kind of pidgin Perl 6.
19:25 zb joined #perl6
19:25 masak I'm guessing it's loads easier to automatically translate to Perl 6 than most other people's Perl 5 code.
19:28 flussence Mu.pm:132 is causing me much grief right now :(
19:30 * flussence changes it to a die locally just to try and get a stacktrace
19:36 ingy hi japhb
19:50 masak oh right. macros.
20:00 benabik_ joined #perl6
20:04 Alias_ joined #perl6
20:06 wooden joined #perl6
20:06 wooden joined #perl6
20:14 soh_cah_toa joined #perl6
20:19 alvis joined #perl6
20:26 moritz oh hai
20:27 masak moritz! \o/
20:28 espadrine joined #perl6
20:48 colomon sorear: any easy way to get today's date in niecza?
20:53 masak niecza: say time
20:53 p6eval niecza v10-40-ga57ed3d: OUTPUT«1318366385.55574␤»
20:53 masak I declare it possible, if not easy ;)
20:53 colomon masak++
20:53 colomon I could actually work with that, I think, in a pinch
20:53 masak well, DateTime in Rakudo should be a good guide.
20:54 masak colomon: maybe you'll end up implementing DateTime and Date in Niecza :)
20:54 colomon I'd really rather not.  I'm just looking for a simple way to get the calendar day.  :)
20:55 * masak 's interest is piqued
20:55 colomon now that I have 90% of a UI for my current project, getting the date is the last major conceptual hurdle
20:55 masak rakudo: say DateTime.now.day-of-week
20:55 p6eval rakudo 3fd353: OUTPUT«2␤»
20:56 masak rakudo: say (DateTime.now.get-daycount + 2) % 7 + 1
20:56 p6eval rakudo 3fd353: OUTPUT«2␤»
20:57 colomon masak: not day of the week, I mean like 2011-10-06
20:57 masak oh.
20:58 masak well, have a look at ymd-from-daycount in Temporal.pm
20:58 colomon it's mostly for temporal sorting, so the time above would work, but it wouldn't be very human user friendly
20:59 * colomon dances, as he just got The Dragons of Babel in the mail as a late birthday present
20:59 im2ee Good night! Dobranoc o/
20:59 masak 'branoc, im2ee!
20:59 diakopter colomon: ./run/Niecza.exe -e 'say CLR::("System.DateTime").Now.Day;'
20:59 masak colomon: happy belated birthday!
21:00 diakopter colomon: http://msdn.microsoft.com/en-u​s/library/system.datetime.aspx for the other struct members
21:00 masak diakopter++ # pragmatism
21:00 mberends perl-sharp strikes again!
21:01 colomon diakopter++ # that'll do, for sure
21:03 * [Coke] needs a webdev minion, if anyone is job hunting. ;)
21:03 diakopter perlesque: my $now = System::DateTime.Now; say $now.Day; say $now.Month; say $now.Year
21:03 p6eval perlesque: OUTPUT«11␤10␤2011␤»
21:03 diakopter colomon: you can experiment with a similar CLR interop using perlesque
21:04 diakopter perlesque isn't locked down in p6eval though :)
21:05 diakopter s/though//
21:07 colomon niecza: say 5.fmt("%02d")
21:07 p6eval niecza v10-40-ga57ed3d: OUTPUT«␤Unhandled Exception: Unable to resolve method fmt in class Int␤  at /tmp/aGGkGlxJXv line 1 (MAIN mainline @ 1) ␤  at /home/p6eval/niecza/lib/CORE.setting line 2133 (CORE C1024_ANON @ 2) ␤  at /home/p6eval/niecza/lib/CORE.setting line 2134 (CORE module-COR…
21:07 colomon oh
21:07 colomon niecza: say sprintf("%02d", 5)
21:07 p6eval niecza v10-40-ga57ed3d: OUTPUT«05␤»
21:09 packetknife joined #perl6
21:19 ingy packetknife is a great nick
21:20 masak especially if you're Swiss.
21:25 PacoLinux_ joined #perl6
21:26 localhost joined #perl6
21:29 ponbiki joined #perl6
21:29 packetknife ingy: Thanks.. no, sorry, not Swiss though masak. ;-)
21:30 masak dang :)
21:33 dalek rakudo/macros: 991ade7 | masak++ | src/Perl6/Actions.pm:
21:33 dalek rakudo/macros: decontainerize quasi AST before attr lookup
21:33 dalek rakudo/macros:
21:33 dalek rakudo/macros: Many nqp ops will decontainerize for you, but getattr is not
21:33 dalek rakudo/macros: one of them. Occasionally the quasiquote would be hidden
21:33 dalek rakudo/macros: inside a container layer and the getattr would fail. This is
21:33 dalek rakudo/macros: now fixed.
21:33 dalek rakudo/macros: review: https://github.com/rakudo/rakudo/commit/991ade7447
21:34 masak I invite people to play around with the macros branch and give feedback.
21:36 masak the coding bit of D1 is now complete, to the best of my knowledge.
21:36 masak next up is a bit of spectest coverage and a blog post or two.
21:37 diakopter masak: are there spectests for macros yet?
21:39 masak not by me.
21:39 masak there are a few, but they're old and not very decisive :)
21:39 dalek Pugs.hs/bigexp: 2866550 | (Ingy dot Net)++ | Pugs/src/Pugs/Prim/Numeric.hs:
21:39 dalek Pugs.hs/bigexp: Make this per au instuctions:
21:39 dalek Pugs.hs/bigexp:
21:39 dalek Pugs.hs/bigexp: 00:11 <au> I see. it can be fixed in Pugs/Prim/Numeric.hs
21:39 dalek Pugs.hs/bigexp: 00:11 <au> in op2Exp to do a (^) instead of a (^^) if the right hand side is non-negative
21:39 dalek Pugs.hs/bigexp: review: https://github.com/perl6/Pugs.hs/commit/28665503b0
21:39 masak I have quite a few ideas on what to test.
21:39 masak whoa, a Pugs commit :)
21:39 ingy :D
21:40 masak ingy++
21:40 ingy masak++
21:40 y3llow_ joined #perl6
21:40 pothos_ joined #perl6
21:41 masak thanks, though I have no idea why you're giving me karma... :P
21:41 ingy masak: let's try to get pugs testing against current stuff
21:41 ingy masak: for getting me into pugs
21:41 ingy pugs++
21:42 ingy masak: I got make and make install working
21:42 ingy so I think we are set to begin PugsClub™
21:43 masak oh wow
21:43 masak I haven't gotten that far yet.
21:43 ingy moritz: can you make the irc bot use current pugs master
21:43 masak ingy: were the instructions au pointed to enough to get make working?
21:44 ingy I worked with au to get it going
21:44 masak PugsClub™ \o/
21:44 ingy pull the latest from https://github.com/perl6/Pugs.hs
21:44 masak oki
21:44 ingy on debian is trivial
21:44 ingy like 2 or 3 steps
21:45 masak I'm on Ubuntu, so it should be trivial-ish.
21:45 ingy me too. it is trivial
21:45 ingy i'm on natty
21:46 masak ok, I checked out Pugs.hs
21:47 masak what's next?
21:52 dalek Pugs.hs: 565cdac | (Ingy dot Net)++ | HACKING:
21:52 dalek Pugs.hs: Add hacking instructions.
21:52 dalek Pugs.hs: review: https://github.com/perl6/Pugs.hs/commit/565cdac033
21:52 ingy masak: ^^
21:52 ingy :D
21:52 masak \o/
21:52 masak mberends, [Coke]: ^^
21:53 masak ingy: hm, it won't actually be 'cd Pugs' unless you rename the Pugs.hs directory...
21:53 ingy where's my umlöt? :\
21:53 ingy masak: no. inside Pugs.hs
21:53 ingy Pugs.hs/Pugs
21:54 masak oh.
21:54 ingy I assumed you were in there. but yeah that's confusing
21:54 ingy I might add a top level Makefile at some point
21:55 ingy sudo make -C Pugs install
21:55 * mberends gets Pugscited
21:55 masak this all coincides with me going to bed. I think I'll have to do the INSTALL stuff tomorrow.
21:56 masak yeah. $dayjob. it interferes with my work. :P
21:56 masak anyway, ingy++!
21:58 colomon hmmm.... is it open $filename, :w, :a    ?
22:01 masak :a implies :w, methinks.
22:01 masak but I've yet to see an implementation that supports :a
22:04 masak well, this is my stop. 'night, #perl6.
22:05 masak I hope to get to blogging and Pugs tomorrow.
22:11 Woodi joined #perl6
22:13 huf joined #perl6
22:24 colomon sorear: ping?
22:27 colomon sorear: I need to modify twriter_open to call the StreamWriter constructor which takes a string and a bool, so that I can properly handle open :a.  I'm really not clear on the syntax to do that, and I've got to run to preschool open house in a moment, so massive experimenting is not practical.  Danke.
22:33 diakopter perlesque: my $wr = System::IO::StreamWriter.new("hihi", true); $wr.Write("blah"); $wr.Close(); # colomon I know this doesn't help you but I'm just experimenting
22:33 p6eval perlesque:  ( no output )
22:49 tadzik map -> $n { ((-1) ** $n * $x ** (2 * $n)) / [*] 1..(2 * $n) }, 0..* # taylor series for cosine
22:50 tadzik gotta love infinite series
22:56 tadzik down to 42 characters: map {(-1)**$_*$x**(2*$_)/[*]1..2*$_},0..*
22:58 aloha joined #perl6
22:59 tadzik shame that map (-1)****$x**(2**)/[*]1..(2 * *), 0..* caused a parsefail :)
23:04 ZapZ_ joined #perl6
23:10 whiteknight joined #perl6
23:11 tadzik perl6: my @a = 1, 2, 3, 4; @a».++
23:11 p6eval pugs: OUTPUT«decodeUTF8': bad data: '\187'␤»
23:11 p6eval ..rakudo 3fd353: OUTPUT«Nominal type check failed for parameter '$op'; expected Any but got Mu instead␤  in sub METAOP_HYPER_POSTFIX at src/gen/CORE.setting:7657␤  in block <anon> at /tmp/NIbBlYzLZh:1␤  in <anon> at /tmp/NIbBlYzLZh:1␤»
23:11 p6eval ..niecza v10-40-ga57ed3d:  ( no output )
23:12 tadzik I suppose rakudo's error message could've been better
23:20 supernovus joined #perl6
23:23 supernovus Just a quick question, is there a way to determine if a scalar contains an object instance or a type? My basic desire is method load ($something) { my $object = $something; if is_type($something) { $object = $type.new; } ... # so something with $object }
23:23 tadzik .defined?
23:25 tadzik nom: $_ = ($^n.defined ?? $^n !! $^n.new); say .(5), .(Int)
23:25 p6eval nom 3fd353: OUTPUT«===SORRY!===␤Cannot use placeholder parameter $^n in the mainline at line 1, near ".defined ?"␤»
23:25 tadzik nom: $_ = { $^n.defined ?? $^n !! $^n.new }; say .(5), .(Int)
23:25 p6eval nom 3fd353: OUTPUT«50␤»
23:28 supernovus tadzik: Thanks! That will work great :-)
23:28 tadzik I'm glad :)
23:31 benabik joined #perl6
23:32 supernovus Although I have to use ng to do it, I'm refactoring my Flower library into a much cleaner and more extendable codebase. So instead of being just a TAL/METAL implementation, it will be an XML Application Language Toolkit (with a TAL/METAL implementation included as an example XML Application Language...)
23:46 tadzik huh

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

Perl 6 | Reference Documentation | Rakudo