Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2014-12-01

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:12 vendethiel joined #perl6
00:19 beck_ joined #perl6
00:21 BenGoldberg joined #perl6
00:30 beck_ m: my %hash=(a=>"A-key"); say "GOOD" if (%hash<a>:exists && True)
00:30 camelia rakudo-moar 91d899: OUTPUT«GOOD␤»
00:30 beck_ m: my %hash=(a=>"A-key"); say "GOOD" if (True && %hash<a>:exists)
00:30 camelia rakudo-moar 91d899: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/Bjg9uQhlGjâ�¤You can't adverb thatâ�¤at /tmp/Bjg9uQhlGj:1â�¤------> [32m; say "GOOD" if (True && %hash<a>:exists[33mâ��[31m)[0mâ�¤    expecting any of:â�¤        pair valueâ�¤Â»
00:34 raiph joined #perl6
00:40 vendethiel joined #perl6
00:41 beck_ Just read the S03, the adverb being applied to the operator..(I thought they were tighter for some reason)
00:44 Alula joined #perl6
00:58 TimToady it modifies the loosest operator tighter than comma
00:59 TimToady m: my %hash = a => "A-key"; say "GOOD" if True and %hash<a>:exists
00:59 camelia rakudo-moar 91d899: OUTPUT«GOOD␤»
00:59 TimToady good place for the loose variant of &&
01:01 TimToady and you don't need any of those superstitious parens :)
01:17 beck_ I had just chosen the parens form over 'and' out of superstition. Changing it since you called me out on it. (looks much better now)
01:31 ron1230 joined #perl6
01:34 ron1230 Forgot to mention ... Could someone please drop an atomic bomb or two on Israel and blow up 1 WTC / the Freedom Tower.  Microwaving babies me also be a relavant answer to some of the targeted abuse I see.
01:34 ron1230 left #perl6
01:40 dayangkun joined #perl6
01:46 tony-o classic ron, lol
01:48 ssqq joined #perl6
01:59 vendethiel joined #perl6
02:03 ron1230 joined #perl6
02:05 ron1230 s/relavant/relevant/
02:06 ron1230 left #perl6
02:11 jimmy__ joined #perl6
02:11 jimmy__ moritz: 7th annual edition? Isn't 6th?
02:17 perltricks left #perl6
02:32 ssqq :m my $x = 'str'; given $x { when 5 { say 'int' } when 'str' { say 'str' }}
02:34 colomon m: my $x = 'str'; given $x { when 5 { say 'int' } when 'str' { say 'str' }}
02:34 camelia rakudo-moar 91d899: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/IPit9TR4zMâ�¤Missing semicolon.â�¤at /tmp/IPit9TR4zM:1â�¤------> [32m 'str'; given $x { when 5 { say 'int' } [33mâ��[31mwhen 'str' { say 'str' }}[0mâ�¤    expecting any of:â�¤        postfixâ�¤ …»
02:36 ssqq m: my $x = 'str'; given $x { when 'str' { say 'str' } when 5 { say 'int' }}
02:36 camelia rakudo-moar 91d899: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/zhxDFt5MRUâ�¤Missing semicolon.â�¤at /tmp/zhxDFt5MRU:1â�¤------> [32mr'; given $x { when 'str' { say 'str' } [33mâ��[31mwhen 5 { say 'int' }}[0mâ�¤    expecting any of:â�¤        postfixâ�¤     …»
02:36 colomon m: my $x = 'str'; given $x { when 5 { say 'int'; }; when 'str' { say 'str'; };}
02:36 camelia rakudo-moar 91d899: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏str' (indicated by ⏏)␤  in method Numeric at src/gen/m-CORE.setting:13766␤  in sub infix:<==> at src/gen/m-CORE.setting:4599␤  in sub infix:<==> at src/gen/m…»
02:37 colomon oooo, that seems bad
02:40 colomon m: say "str" ~~ 5
02:40 camelia rakudo-moar 91d899: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏str' (indicated by ⏏)␤  in method Numeric at src/gen/m-CORE.setting:13766␤  in sub infix:<==> at src/gen/m-CORE.setting:4599␤  in sub infix:<==> at src/gen/m…»
02:45 ugexe m: my $x = 'str'; given $x { when 'str' { say 'str' }; when 5 { say 'int' }}
02:45 camelia rakudo-moar 91d899: OUTPUT«str␤»
02:45 ssqq ugexe: predicate with Str should at first if *$_* maybe is Str.
02:46 JimmyZ_ oh, please file a bug :P
02:47 JimmyZ_ m: my str $x = 'str'; given $x { when 5 { say 'int'; }; when 'str' { say 'str'; };}
02:47 camelia rakudo-moar 91d899: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏str' (indicated by ⏏)␤  in method Numeric at src/gen/m-CORE.setting:13766␤  in sub infix:<==> at src/gen/m-CORE.setting:4599␤  in sub infix:<==> at src/gen/m…»
02:47 JimmyZ_ m: my Str $x = 'str'; given $x { when 5 { say 'int'; }; when 'str' { say 'str'; };}
02:47 camelia rakudo-moar 91d899: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏str' (indicated by ⏏)␤  in method Numeric at src/gen/m-CORE.setting:13766␤  in sub infix:<==> at src/gen/m-CORE.setting:4599␤  in sub infix:<==> at src/gen/m…»
02:49 BenGoldberg m: my Str $x = 'str'; given $x { when 'str' { say 'of course its a str' } }
02:49 camelia rakudo-moar 91d899: OUTPUT«of course its a str␤»
02:50 BenGoldberg m: my Str $x = 'str'; given $x { when Int { say 'huh' }; when 'str' { say 'of course its a str' } }
02:50 camelia rakudo-moar 91d899: OUTPUT«of course its a str␤»
02:50 BenGoldberg m: my Str $x = 'str'; given $x { when Int { say 'huh' } }
02:50 camelia rakudo-moar 91d899: ( no output )
02:50 BenGoldberg m: my $x = '123'; given $x { when 5 { say 'huh' } }
02:50 camelia rakudo-moar 91d899: ( no output )
02:50 BenGoldberg m: my $x = '123'; given $x { when 123 { say 'huh' } }
02:50 camelia rakudo-moar 91d899: OUTPUT«huh␤»
02:51 BenGoldberg m: my $x = '123'; given $x { when False { say 'huh' } }
02:51 camelia rakudo-moar 91d899: ( no output )
02:51 ssqq m: say so 'str' ~~ Int;
02:51 camelia rakudo-moar 91d899: OUTPUT«False␤»
02:52 chenryn joined #perl6
03:12 BenGoldberg m: say rx/ 'abc' / ~~ 123;
03:12 camelia rakudo-moar 91d899: OUTPUT«Cannot call 'Numeric'; none of these signatures match:␤:(Mu:U \v: *%_)␤  in sub infix:<==> at src/gen/m-CORE.setting:4599␤  in method ACCEPTS at src/gen/m-CORE.setting:4370␤  in block <unit> at /tmp/HyVppHmc24:1␤␤»
03:14 Mso150_s joined #perl6
03:30 noganex_ joined #perl6
03:52 BenGoldberg m: my @a = (^5).pick(*); my $p = Promise.new; for ^4 -> $id { my @b = @a; start { say "$id begun"; repeat { print $id; @b .= pick(*) } until [<=] @b; $p.keep(@b); say " $id done" } }; say 'await'; say await $p; # concurrent bogosort!
03:52 camelia rakudo-moar 91d899: OUTPUT«0 begun␤01 begun␤12 begun␤2await␤3 begun␤3102130210321032103213021032132013201​3201320320132013201231023012301230123012031​2301230123102130213021302130231023102031203​2031230213023021302130213021302130213021302​130213021320132013201320312031203120312…»
03:52 BenGoldberg m: my @a = (^5).pick(*); my $p = Promise.new; for ^4 -> $id { my @b = @a; start { say "$id begun"; repeat { print $id; @b .= pick(*) } until [<=] @b; $p.keep(@b); say " $id done" } }; say 'await'; say await $p; # concurrent bogosort!
03:52 camelia rakudo-moar 91d899: OUTPUT«0 begun␤01 begun␤12 begun␤2await␤3 begun␤0132103120312302310130 2 done␤13010130 1 2 3 4␤01»
03:57 kurahaupo joined #perl6
03:58 vendethiel joined #perl6
04:30 anaeem1 joined #perl6
04:38 perturbation left #perl6
04:43 Woodi joined #perl6
04:51 mr-fooba_ joined #perl6
04:54 kaleem joined #perl6
05:02 kaare_ joined #perl6
05:06 vendethiel joined #perl6
05:07 chenryn joined #perl6
05:08 bjz joined #perl6
05:33 moritz good morning
05:36 vendethiel joined #perl6
05:55 JimmyZ_ good morning
06:02 telex joined #perl6
06:22 mr-foobar joined #perl6
06:22 kaare_ joined #perl6
06:30 vendethiel joined #perl6
06:56 cognominal joined #perl6
07:10 kaleem joined #perl6
07:17 ssqq joined #perl6
07:17 ssqq :m package Foo::Bar {}; package Bar is Foo {};
07:18 ssqq m: package Foo::Bar {}; package Bar is Foo {};
07:18 camelia rakudo-moar 91d899: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/DROS8jkoGD�Foo does not support inheritance, so Bar cannot inherit from it�at /tmp/DROS8jkoGD:1�------> �»
07:18 ssqq How to declar a *inheritable* package?
07:20 [Sno] joined #perl6
07:26 jluis joined #perl6
07:31 ssqq How to declare *inheratable* package?
07:34 dj_goku joined #perl6
07:34 dj_goku joined #perl6
07:35 denis_boyun joined #perl6
07:36 KCL_ joined #perl6
07:44 jnthn ssqq: "class"
07:45 jnthn You need class in both places instead of package there.
07:45 ssqq m: class Foo {}; package Bar is Foo {};
07:45 camelia rakudo-moar 91d899: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/vEkFSoZGXT�Method 'add_parent' not found for invocant of class 'Perl6::Metamodel::PackageHOW'�at /tmp/vEkFSoZGXT:1�------> �»
07:45 jnthn *both*
07:46 ssqq m: class Foo {}; class Bar is Foo {};
07:46 camelia rakudo-moar 91d899: ( no output )
07:47 jnthn In Perl 6 we have a number of package declarators (package, module, class, role, grammar) which provide different behaviors.
07:48 FROGGS joined #perl6
07:50 ssqq :m class Foo { our $foo = 1; }; class Bar is Foo { say Foo::<$foo> }
07:50 ssqq :jnthn thanks.
07:50 FROGGS m: class Foo { our $foo = 1; }; class Bar is Foo { say Foo::<$foo> }
07:50 camelia rakudo-moar 91d899: OUTPUT«1␤»
07:52 bjz joined #perl6
07:56 ssqq m: my %hash = :a; if %hash<a>:exists { say '%hash exists <a>" }
07:56 camelia rakudo-moar 91d899: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/FEEmjmaFwrâ�¤Unable to parse expression in single quotes; couldn't find final "'" â�¤at /tmp/FEEmjmaFwr:1â�¤------> [32mash<a>:exists { say '%hash exists <a>" }[33mâ��[31m<EOL>[0mâ�¤    expectin…»
07:56 ssqq m: my %hash = :a; if %hash<a>:exists { say '%hash exists <a>' }
07:56 camelia rakudo-moar 91d899: OUTPUT«%hash exists <a>␤»
07:57 ssqq The syntax of *%hash<key>:exists* is come from NQP?
07:57 gfldex joined #perl6
07:57 jnthn No, was spec'd in Perl 6 from the start
07:57 jnthn NQP doesn't support it.
08:03 ssqq jnthn: I could find this symbol in CORE::.keys; *exists* is a internal attribute of Hash?
08:03 ssqq I could not find it
08:03 pnu tadzik: fyi supernovus changed the HTTP::Easy default host to 0.0.0.0 (any interface), so deploying Bailador app to Heroku works now out of the box :-) https://github.com/pnu/her​oku-buildpack-rakudo#usage
08:06 zakharyas joined #perl6
08:07 virtualsue joined #perl6
08:08 ssqq Note that Rakudo does not yet implement operator adverbs. As a workaround you can use the non-standard exists method.
08:09 ssqq jnthn: How to get all predeclared *package-name* of perl6?
08:11 moritz m: say GLOBAL::.keys
08:11 camelia rakudo-moar 91d899: OUTPUT«␤»
08:12 moritz hm
08:13 ssqq moritz: Where could learn more NPQ sepe or documents?
08:13 ssqq sepe = spec
08:13 JimmyZ_ what do you want to learn?
08:14 ssqq JimmyZ_: yes, I think NQP should more easier than perl6.
08:14 moritz ssqq: https://github.com/edumentab/r​akudo-and-nqp-internals-course is one of the better learning resources
08:14 JimmyZ_ it's harder actually
08:15 moritz its structure is simpler, which makes it easier to understand, but you have to do more yourself
08:15 JimmyZ_ if you don't want to hack a compiler, then nqp is not your course
08:17 ssqq JimmyZ_: I think Perl 6 is only suitable language to hack compiler.
08:17 jnthn m: say CORE::.keys
08:17 camelia rakudo-moar 91d899: OUTPUT«%DEPRECATIONS @UNITS $init-time-num %FILETEST-HASH %CLEAN-PARTS-NUL &zip %pvalcodecache %propcodecache $?TABSTOP $UINT64_UPPER $sprintfHandlerInitialized $default &samewith &lastcall &nextsame &callsame &nextwith &callwith &redo &next &last &return &return…»
08:17 jnthn oh, packages
08:17 jnthn m: say CORE::.grep(!*.value)>>.key
08:17 camelia rakudo-moar 91d899: OUTPUT«%DEPRECATIONS @UNITS $init-time-num %FILETEST-HASH %CLEAN-PARTS-NUL &zip %pvalcodecache %propcodecache $?TABSTOP $UINT64_UPPER $sprintfHandlerInitialized $default &samewith &lastcall &nextsame &callsame &nextwith &callwith &redo &next &last &return &return…»
08:18 darutoko joined #perl6
08:18 jnthn oh? :)
08:18 JimmyZ_ ssqq: yeah, you can learn what you chioce :)
08:18 jnthn m: say CORE::.grep({ !.value.DEFINITE })>>.key
08:18 camelia rakudo-moar 91d899: OUTPUT«%DEPRECATIONS @UNITS $init-time-num %FILETEST-HASH %CLEAN-PARTS-NUL &zip %pvalcodecache %propcodecache $?TABSTOP $UINT64_UPPER $sprintfHandlerInitialized $default &samewith &lastcall &nextsame &callsame &nextwith &callwith &redo &next &last &return &return…»
08:18 rurban joined #perl6
08:19 jnthn hmm
08:19 jnthn m: say CORE::.keys.grep(/^\w/) # :P
08:19 camelia rakudo-moar 91d899: OUTPUT«Mu Any Cool Nil Attribute Signature Parameter Code Block Routine Sub Method Submethod Regex Str Int Num Parcel Iterable Iterator ListIter List Array LoL EnumMap Hash Capture ObjAt Stash Scalar Proxy Grammar Junction PROCESS Bool False True ContainerDescrip…»
08:20 Isp-sec joined #perl6
08:22 jnthn Note taht :exists is a named argument to indexing an array.
08:22 jnthn Not a package.
08:22 jnthn Also, Rakudo very much does implemnt operator adverbs and has for a while now...so guess something is outdated...
08:22 jnthn teaching &
08:23 JimmyZ_ m: say CORE::.exist('Mu');
08:23 camelia rakudo-moar 91d899: OUTPUT«No such method 'exist' for invocant of type 'PseudoStash'␤  in block <unit> at /tmp/T89vh8k8we:1␤␤»
08:23 JimmyZ_ m: say CORE::.exists('Mu');
08:23 camelia rakudo-moar 91d899: OUTPUT«No such method 'exists' for invocant of type 'PseudoStash'␤  in block <unit> at /tmp/dI_9Xsp5Y4:1␤␤»
08:25 jnthn m: say CORE::<Mu>:exists
08:25 camelia rakudo-moar 91d899: OUTPUT«True␤»
08:25 jnthn really teaching, now everyoen is here... :) &
08:27 JimmyZ_ happy teaching :)
08:27 yeahnoob joined #perl6
08:27 yeahnoob joined #perl6
08:31 abraxxa joined #perl6
08:40 ssqq jnthn: Where could get a NQP interpreter?
08:40 moritz nqp-m: say('hi ssqq');
08:40 camelia nqp-moarvm: OUTPUT«hi ssqq␤»
08:42 ssqq moritz: O, rakudo have buit-in NQP interpreter.
08:42 moritz ssqq: well, if you build rakudo, you first build nqp
08:42 moritz ssqq: though of course you can download and build nqp on its own too
08:47 vendethiel joined #perl6
08:51 masak morning, #perl6
08:51 Mso150 joined #perl6
08:52 * masak feels sorry for ron1230 :(
08:56 dagerik joined #perl6
08:56 dagerik use v6;my @f=1,1,{$^a+$^b}...*;say @f[42]~".html";
08:56 dagerik what does this do
08:57 moritz m: use v6;my @f=1,1,{$^a+$^b}...*;say @f[42]~".html";
08:57 camelia rakudo-moar 91d899: OUTPUT«433494437.html␤»
08:57 sergot joined #perl6
08:57 moritz dagerik: does "it prints '433494437.html'" answer your question?
08:57 sergot hi o/
08:58 dagerik how does it print that. i dont know perl. where does it get numbers from
08:59 moritz dagerik: this article explains it: http://justrakudoit.wordpress.com/2010/08​/28/the-serial-operator-and-memoization/
09:02 cosimo less test failures in lwp-simple hopefully
09:03 moritz \o/
09:04 moritz sergot: it would be awesome if you could write a post for the Perl 6 advent calendar about your gsoc project
09:10 sergot moritz: with pleasure :)
09:14 sergot moritz: how many posts do we already have?
09:16 moritz sergot: 9
09:16 sergot I will write it, should I send it to you then?
09:16 sergot or how does it work?
09:16 moritz sergot: no, you should claim a day in the perl6/mu/ repo in misc/perl6advent-2014/schedule
09:16 moritz sergot: and I'll send you an invitation for the blog system
09:17 vendethiel joined #perl6
09:17 sergot moritz++ great, it is clear now :)
09:21 dakkar joined #perl6
09:22 ptc_p6 joined #perl6
09:32 dalek mu: 306d7ad | sergot++ | misc/perl6advent-2014/schedule:
09:32 dalek mu: p6 advent calendar post added
09:32 dalek mu: review: https://github.com/perl6/mu/commit/306d7add7c
09:37 moritz sergot: btw you can write your post whenver you want, and schedule it for publication within wordpress
09:40 vendethiel joined #perl6
09:41 sergot moritz: awesome :)
09:41 sergot thanks!
09:42 dagerik left #perl6
09:57 ptc_p6 joined #perl6
10:04 fhelmberger joined #perl6
10:05 myp joined #perl6
10:09 kurahaupo joined #perl6
10:12 Ven joined #perl6
10:12 virtualsue joined #perl6
10:12 Ven moritz++
10:12 Ven also, oyez, #perl6
10:16 virtualsue joined #perl6
10:16 arnsholt Salut, Ven!
10:19 Ugator joined #perl6
10:31 timotimo o/
10:32 araujo joined #perl6
10:34 mvuets joined #perl6
10:37 daxim joined #perl6
10:37 cosimo connection refused when running panda. known?
10:40 timotimo it's come up a bunch of times in the recent days
10:40 timotimo it seems to be due to trying the AAAA first and not falling back to the A record when we get a connection refused
10:41 timotimo and i have no idea why the server isn't listening on AAAA
10:41 jluis joined #perl6
10:42 * masak learns about 'oyez'
10:43 vendethiel joined #perl6
10:43 arnsholt I recognize it as (pretty old) French. Does it have more recent use too?
10:45 masak seems to be used in English courts.
10:45 masak cognate with Latin 'audire'.
10:46 osfameron and spanish oír
10:47 arnsholt Right, that makes sense
10:48 masak osfameron: oíc
10:48 osfameron :D
10:48 arnsholt Trust the English to keep random bits of French hanging around =D
10:49 masak from the disgusting-sentences-you-did-not-expect​-to-hear-when-you-woke-up-this-morning department.
10:49 masak :P
10:50 Ven arnsholt: it is old french, yes :)
10:51 Ven chivalry time stuff...
10:51 Ven (I once looked at a list of "french words used in english", I couldn't recognize half of them)
10:54 timotimo does someone want to explain value types to theo on the mailing list?
10:55 * Ven checks the mailing lists
10:57 Ven haha.
11:02 pecastro joined #perl6
11:02 * masak pens an answer
11:05 noganex joined #perl6
11:07 masak sent.
11:08 timotimo thanks
11:14 rindolf joined #perl6
11:15 pmurias joined #perl6
11:25 tadzik pnu: wow, awesome :)
11:27 timotimo tadzik: can you have a look at why the panda metadata server doesn't respond to v6 connections?
11:27 tadzik timotimo: yeah
11:27 timotimo thanks
11:27 TuxCM joined #perl6
11:27 tadzik fixed
11:27 timotimo that was quick
11:28 timotimo why didn't you do that like four days ago? :)
11:28 tadzik I did :)
11:28 tadzik 'tis a fragile thing
11:31 timotimo what makes it so fragile? and how hard would it be to have a fallback server somewhere?
11:31 tadzik well, mostly feather reboots make it fragile
11:32 timotimo does feather have systemd? you could set it up to run the server even on your uid/gid
11:32 tadzik and it's still just a starman server running on my account, which I restart after every reboot
11:32 tadzik hm
11:33 timotimo i think someone said we would have that server run on port 80 on "the regular" web server at some near point
11:34 timotimo and of course we'll have cpanda soon-ish
11:35 timotimo huh
11:36 timotimo installing gtk-simple with panda works, with ufo it errors out either when building or when running tests
11:39 rindolf joined #perl6
11:42 noganex_ joined #perl6
11:42 timotimo now i'm annoyed
11:43 timotimo i was under the impression that GTK::Simple was broken and i needed to find a workaround
11:44 dalek gtk-simple: 457871d | (Timo Paulssen)++ | lib/GTK/Simple.pm6:
11:44 dalek gtk-simple: remove superfluous .so from library name
11:44 dalek gtk-simple: review: https://github.com/perl6/gt​k-simple/commit/457871d1e0
11:49 darutoko joined #perl6
11:50 jluis joined #perl6
11:51 dalek nqp-js: b438b9a | (Pawel Murias)++ | / (3 files):
11:51 dalek nqp-js: Avoid having a mini-nqpmo, concatentate the nqpmo in the standard manner.
11:51 dalek nqp-js: review: https://github.com/pmurias​/nqp-js/commit/b438b9a5b4
11:51 dalek nqp-js: d212c74 | (Pawel Murias)++ | src/core/NQPMu.nqp:
11:51 dalek nqp-js: Revert "Temporarly add nqp-js hacks to the setting."
11:51 dalek nqp-js:
11:51 dalek nqp-js: This reverts commit b3387d74ff2173ed852530585ae9b587cd7e4274.
11:51 dalek nqp-js: review: https://github.com/pmurias​/nqp-js/commit/d212c74895
11:51 dalek nqp-js: d2fb4b8 | (Pawel Murias)++ | tools/build/ (2 files):
11:51 dalek nqp-js: Hardcode less things while building mininqpmo.
11:51 dalek nqp-js: review: https://github.com/pmurias​/nqp-js/commit/d2fb4b8c64
11:51 dalek nqp-js: 7368510 | (Pawel Murias)++ | / (3 files):
11:51 dalek nqp-js: Stop calling nqpmo "mininqpmo".
11:51 dalek nqp-js: review: https://github.com/pmurias​/nqp-js/commit/7368510b64
11:51 mvuets i just made a fresh rakudo moar + panda build via rakudobrew++
11:51 yoleaux 30 Nov 2014 20:12Z <[Coke]> mvuets: using .tell is more likely to get heard later.
11:51 mvuets and panda crashes: http://paste.scsys.co.uk/449465
11:52 mvuets is it me or something new?
11:52 mvuets [Coke]++ noted, thanks (-:
11:59 pecastro_ joined #perl6
12:05 bjz joined #perl6
12:05 atta joined #perl6
12:10 vendethiel joined #perl6
12:11 timotimo rakudobrew could get a "share to twitter" feature
12:13 carlin I am finding that rakudo isn't practical for a CGI webapp as each process uses too much memory :(
12:13 moritz carlin: :( how much does it use? Which backend?
12:13 JimmyZ_ joined #perl6
12:14 JimmyZ_ carlin: it is!
12:15 timotimo carlin: why would you do CGI webapps? it's 2014, almost 2015. that's about 15 years after the point where nobody would ever want to use CGI for anything ever
12:15 carlin moar backend, each process uses around 70MB
12:15 JimmyZ_ carlin: https://github.com/unbit/moarvm-uwsgi-skel
12:15 timotimo are you for real?
12:15 timotimo that used to be more!
12:16 timotimo a rakudo-moar process is 120 megabytes of ram on my system :(
12:17 carlin so ~30 concurrent requests will bring down the server, whereas with P5 and python 100s of requests don't even register
12:18 carlin (server has 2GB RAM)
12:18 timotimo yeah
12:18 timotimo we're aware rakudo uses more ram than is sensible
12:18 timotimo on the other hand
12:18 timotimo you can have a rakudo process run with multiple processes
12:18 timotimo and do async I/O
12:18 timotimo so you don't need the same amount of processes
12:19 carlin yeah there are definitely a better way to do it
12:19 timotimo python and perl5 do have some async i/o, too, but it can still bottlenecked on CPU
12:19 carlin just the simplest possible thing that works doesn't work
12:19 timotimo basically every other way is better, like FastCGI
12:19 noganex joined #perl6
12:19 timotimo and FastCGI isn't even that good
12:20 carlin are there any plans regarding the memory usage? what makes it so high?
12:21 timotimo several things
12:22 timotimo a good source of memory usage reduction had been to only deserialize objects, static frames and codes, types and stuff when they are used for the first time
12:22 timotimo i'm hoping we can get some more usage reduction out of that
12:22 JimmyZ_ yeah, like lazy_load, lazy-deserialization, NSA, spesh
12:23 timotimo NSA and spesh don't help reduce the minimum memory usage
12:23 timotimo actually, i'd argue spesh increases it
12:23 timotimo but it shouldn't be very noticable
12:23 timotimo um
12:23 timotimo i may be mistaken
12:24 JimmyZ_ and on-stack-allocation frame?
12:24 timotimo disabling spesh gets "say 'test'" from 120 megabytes down to 107 megabytes
12:24 timotimo JimmyZ_: you mean what we'll get when we have escape analysis?
12:25 timotimo leaving spesh on but turning off the jit gets us to 112 megabytes
12:25 JimmyZ_ timotimo: nope, I mean what brrt ever said
12:25 timotimo ah, right
12:25 timotimo i thought that was mostly a cpu-time improvement
12:28 chenryn joined #perl6
12:28 JimmyZ_ and we don't have static optimizer before writing .moarvm
12:29 JimmyZ_ which may reduce the size ...
12:29 timotimo ah, yes
12:30 timotimo i was thinking we're probably generating excessive set instructions by having InstructionList objects with a given result_reg and not using the knowledge of that result_reg in the "last" instruction
12:31 pecastro joined #perl6
12:31 JimmyZ_ if we have smart static optimizer like GCC :P
12:32 timotimo there's no reason why we couldn't have an off-line optimizer
12:32 timotimo like a program that loads a .moarvm file, optimizes the bytecode, writes it back
12:33 timotimo we could invoke that during installation for excessively big things like the core setting as well as the stage0
12:33 JimmyZ_ yup
12:34 timotimo maybe we could make the process that does the optimization "portable" so that it could be moved into moarvm itself at some point
12:35 JimmyZ_ like: mark it as static optimization or dyn optimization?
12:35 vendethiel joined #perl6
12:35 timotimo that's not what i mean
12:35 timotimo our dynamic optimizer should of course always grow, because it has more data to work with
12:36 timotimo we don't have the necessary data from the logging stage and the arguments passed when we'd statically optimize
12:46 JimmyZ_ yeah
12:49 mvuets joined #perl6
12:52 rindolf joined #perl6
12:57 smls joined #perl6
12:58 rindolf joined #perl6
13:01 smls moritz: Shouldn't the p6advent post title start with «Day 01 - » ?
13:01 b2gills m: rand(1); # (1..N) should probably be (0..^N)
13:01 camelia rakudo-moar 91d899: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/rZptIGSoZ6�Unsupported use of rand(N); in Perl 6 please use N.rand or (1..N).pick�at /tmp/rZptIGSoZ6:1�------> [32mrand[33m�[31m(1); # (1..N) should probably be (0..^N)[0m�»
13:08 vendethiel joined #perl6
13:10 moritz smls: yes
13:13 xinming joined #perl6
13:13 mvuets nice post, btw, moritz++
13:15 moritz thanks
13:17 * [Coke] welcomes our US team back to work today.
13:19 moritz earth rotation temporarily completed
13:20 kaleem joined #perl6
13:24 xinming joined #perl6
13:26 b2gills m: if 1, 2 -> $, $ { ... }; # any way this can be made to work
13:26 camelia rakudo-moar 91d899: OUTPUT«Too few positionals passed; expected 2 arguments but got 1␤  in block <unit> at /tmp/zckVIq3LGB:1␤␤»
13:27 moritz b2gills: it doesn't make sense, because a two-element list is always True in boolean context
13:28 smls m: if 1, 2 -> [$a, $b] { .say for $a, $b };
13:28 camelia rakudo-moar 91d899: OUTPUT«1␤2␤»
13:28 smls What moritz said, though.
13:29 moritz more simply written as { my ($a, $b) = 1, 2; .say for $a, $b }
13:31 cibs joined #perl6
13:34 b2gills So there is no way to cache two values in the same `if` block.
13:34 b2gills ( and have the `if` block actually test the values )
13:37 moritz b2gills: you haven't told us yet how you want them tested?
13:37 moritz any? or? xor?
13:38 moritz s/any/and/
13:41 mvuets hm, that's an interesting question. i can imagine such pseudo use case: if $a, $b = foo(); !$a && $b > 42 { ... } # where $a and $b are bound to the lexical scope of if
13:42 mvuets (well, i stole it from golang)
13:43 vendethiel joined #perl6
13:48 Rounin What is that code supposed to do
13:48 Rounin Is the condition the bit after the semicolon?
13:48 mvuets yes
13:49 Rounin So the idea is to make $a and $b equal to foo(), but only for the purpose of the if
13:49 mvuets it's like the first bit in the classic C-loop
13:49 Rounin Not globally
13:49 mvuets right
13:49 mvuets rational: avoid polluting a scope
13:49 Rounin Not exactly a joy to read, though
13:49 mvuets agreed (-:
13:50 b2gills if .some.expensive.operations -> $a { if .another-expensive-operation -> $b { $a.say; $b.say }}
13:50 sven_123 joined #perl6
13:51 mvuets Rounin: golang uses that construct mostly for error checking (returned from functions) as it has no exceptions
13:52 Rounin Hmmm...
13:52 Rounin HMMMM....
13:52 Rounin In my day we returned null if we didn't like something
13:52 mvuets what would be a single argument analogue in p6? in p5 it's: if ((my $x = foo()) == 42) { ... }
14:00 moritz Rounin: ... and read the error string from a global variable. Bad old days :-)
14:02 noganex_ joined #perl6
14:04 Rounin moritz: Error string? Just print "Kernel image segmentation 0xFFAAADF09AB09" and no one will dare question it
14:04 masak tadzik: I was wondering about the reasons to make something as vital as panda installation dependent on something as unreliable as a running feather service.
14:05 smls m: (if (0, 10).pick -> $x { say $x } else { say 'nope' }) for ^10
14:05 camelia rakudo-moar 91d899: OUTPUT«nope␤nope␤10␤10␤nope␤nope␤10␤10␤10␤10␤»
14:06 smls mvuets: ^^ the arrow syntax does work, and for a single argument it can even makes sense to use it :)
14:07 smls m: (if (0, 10).pick -> $x { say $x } else { say $x }) for ^10
14:07 camelia rakudo-moar 91d899: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/lKYVBAQAuEâ�¤Variable '$x' is not declaredâ�¤at /tmp/lKYVBAQAuE:1â�¤------> [32m 10).pick -> $x { say $x } else { say $x[33mâ��[31m }) for ^10[0mâ�¤    expecting any of:â�¤        postfixâ�¤Â»
14:08 smls m: (if (0, 10).pick -> $x { say $x } else -> $x { say $x }) for ^10
14:08 camelia rakudo-moar 91d899: OUTPUT«0␤10␤10␤10␤10␤10␤0␤10␤10␤10␤»
14:08 smls :)
14:09 moritz the nice syntax just doesn't work for storing + comparing
14:09 moritz for that you still have to use  if 42 == (my $x = ...) { }
14:09 smls oh, right
14:10 moritz but there's really a limit for how much sugar you can provide without causing diabetes :-)
14:10 smls .oO( if 42 == (foo -> $x) { ... } )
14:12 smls Perl 5 "solves" it by making variables declared in a block header, lexical to the block. But that's an inconsistency Perl 6 tried to avoid...
14:12 tadzik masak: it's only recently unreliable
14:16 vendethiel joined #perl6
14:20 masak yes, granted.
14:20 moritz another solution is  given foo() -> $x { when 42 { say $x } }
14:21 PerlJam joined #perl6
14:26 JimmyZ_ masak: any good esc paper suggestion?
14:27 ptc_p6 joined #perl6
14:32 onebitboy joined #perl6
14:38 noganex joined #perl6
14:41 PerlJam #perl6++  (for starting to fill in the advent schedule)
14:43 moritz PerlJam: will you write the "table of contents" post for this year?
14:43 pecastro joined #perl6
14:43 PerlJam sure
14:50 pecastro joined #perl6
14:50 exixt left #perl6
14:53 masak JimmyZ_: maybe http://www.ssw.uni-linz.ac.at/Research/P​apers/Stadler14PhD/Thesis_Stadler_14.pdf
14:53 JimmyZ_ masak: oh, thanks
14:53 JimmyZ_ pretty big one :)
14:54 JimmyZ_ and pretty new: May, 2014
14:57 masak aye.
14:57 masak can't vouch for its quality, since I only skimmed it.
14:58 masak but it looks like it hits some very nice points.
15:02 [Coke] an inline:p5 article would be awesome.
15:02 masak oh yes
15:03 masak nine?
15:03 * masak realizes that "nine" would have been the perfect nick around the time of p4-p5 integration
15:09 JimmyZ_ masak: oh, it also mentioned Allocation Sinking optimization too
15:09 JimmyZ_ the paper
15:10 JimmyZ_ 9.2.1 LuaJIT
15:10 vendethiel joined #perl6
15:11 pecastro joined #perl6
15:12 mvuets joined #perl6
15:14 * mvuets catching up on irc.perl6.org
15:15 noganex_ joined #perl6
15:16 * jnthn just managed that :)
15:17 jnthn Agree that the if thing is probably already at the right level of sugar :)
15:17 jnthn Easy to get addicted and want more though :)
15:17 masak then define custom statement forms :>
15:17 masak not everything has to be solved in core.
15:18 jnthn Hey, you the macro guy :P
15:18 mvuets i have to read up on this arrow operator
15:19 jnthn Well, it's a way to write a block takng parameters rather tahn an operator
15:19 jnthn m: my $lol = -> $a, $b { $a ~ 'wtf' ~ $b }; say $lol('omg', 'bbq')
15:19 camelia rakudo-moar 91d899: OUTPUT«omgwtfbbq␤»
15:20 JimmyZ_ looks like we can steal many optimization ideas from luajit :P
15:20 masak yes, it's not an operator so much as the start of a term.
15:21 masak m: my &b = -> $what { say "look, I'm a $what!" }; b "term"
15:21 camelia rakudo-moar 91d899: OUTPUT«look, I'm a term!␤»
15:21 JimmyZ_ masak: thank, it really hits some very nice points
15:21 JimmyZ_ *thanks
15:22 mvuets m: my $lol = sub ($a, $b) { $a ~ 'wtf' ~ $b }; say $lol('omg', 'bbq')
15:22 camelia rakudo-moar 91d899: OUTPUT«omgwtfbbq␤»
15:23 mvuets is an anonymous sub much different from an arrow block?
15:23 mvuets can i call it lambda?
15:23 mvuets or closure?
15:23 jnthn Yes, in fact -> is parsed in the gramamr by a rule lambda
15:23 jnthn It is a closure too
15:23 jnthn Tehre are two differences with anonymous sub
15:23 jnthn 1) -> blocks are transparent to return
15:24 jnthn 2) The default type constraint on a pointy block param is Mu, whereas in a sub it's Any
15:24 jnthn Oh, also you can .wrap a Sub, but not a Block.
15:25 mvuets ok, it raises even more questions (-:
15:25 mvuets i better stop here for now
15:25 mvuets thanks for the explanation though!
15:31 colomon m: my &f = -> $a { say $a;  return $a; }; sub test() { &("hello"); say "Got here"; }; test();
15:31 camelia rakudo-moar 91d899: OUTPUT«Got here␤»
15:32 colomon m: my &f = -> $a { say $a;  return $a; }; sub test() { &f("hello"); say "Got here"; }; test();
15:32 camelia rakudo-moar 91d899: OUTPUT«hello␤»
15:32 * colomon had no idea.
15:32 colomon mvuets++ # asking good questions
15:32 telex joined #perl6
15:33 jnthn Well, you probably did have an idea, just didn't generalize :)
15:33 jnthn sub foo() { for @xs -> $x { if $x == 42 { return 'badger' } }
15:34 colomon ;)
15:34 jnthn That "obviously" returns from the sub :)
15:34 colomon right
15:34 colomon but it never occurred to me that would be true for any anonymous sub.
15:34 colomon I mean, if you'd asked me how it worked, I'd have probably come up with some sort of BS explanation involving "for" capturing return exceptions and passing them on.
15:38 ugexe is there a way to tell if a pipe command is finished before closing it?
15:39 kaare_ joined #perl6
15:39 ugexe on jvm specifically im getting an error with my $handle = pipe($cmd, :r); <a loop on $handle> $handle.close.status;
15:40 ugexe although the error is random
15:41 hoelzro o/ #perl6
15:42 ugexe https://github.com/ugexe/panda/bl​ob/master/lib/Panda/Tester.pm#L27
15:43 ugexe java.lang.IllegalThreadStateException: process hasn't exited
15:49 mvuets hoelzro: \o
15:50 jnthn hoelzro\
15:50 timotimo hm, right, a process may close its stdout and stderr before actually exiting
15:53 ugexe so should it be closing the handle, then waiting for a status?
15:53 molaf joined #perl6
15:58 rindolf joined #perl6
15:58 timotimo hm, not sure
15:59 hoelzro o/ mvuets, jnthn
16:06 rurban joined #perl6
16:07 * rjbs looks at travel plans for FOSDEM. :-)
16:07 raiph joined #perl6
16:11 timotimo it seems like every call to wval is followed by a set instruction, but the QASTCompilerMAST is already using the target register for both the wval call and the instruction list's target register
16:11 Ulti is it too late to suggest an advent topic?
16:11 Ulti and do they have to all be implementation specific
16:12 raiph I see 3 RT bugs I think are related (#123323, #118705, #123005); do I just add comments to each in RT saying "see also" the other two?
16:12 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=123323
16:13 timotimo Ulti: no and no
16:13 bjz joined #perl6
16:13 Ulti okdeoke, I'll see if the author of BioPerl6 wants to write something about bioinformatics and P6 with me then
16:14 Ulti because there is already a lot of nice stuff in core for people doing bioinformatics as well as the ecosystem
16:14 raiph ++Ulti
16:14 mvuets Ulti: real world use cases and applications - sounds awesome!
16:14 timotimo aye, most advent posts are not about that kind of thing, which possibly makes the advent calendar seem one-sided
16:15 treehug88 joined #perl6
16:16 Ulti like I think you guys perhaps underestimate how utterly useful bag is for someone working in bioinformatics
16:17 * rjbs blinks, realizing Ulti ne Util. :)
16:17 Ulti and that not that many languages have counting dictionaries available as core
16:17 Ulti especially ones that also have grammar engines too :D
16:17 Ulti rjbs yeah it's unfortunate, I'm more chatty and less useful than Util :3
16:19 Ulti I still haven't properly used the nice regex converter Util made for me
16:19 * tadzik grumbles at wordpress
16:21 jnthn hotel &
16:23 tadzik preview of the future available: http://perl6advent.wordpress.com/?p=228​5&amp;preview=true&amp;preview_id=2285
16:23 tadzik proofreading welcome :)
16:24 ugexe Error 404 - Not FoundError 404 - Not Found
16:25 sqirrel_ joined #perl6
16:25 tadzik oh noes
16:25 tadzik perhaps it's for editors only, let me provide you with a snapshot somehow...
16:27 tadzik ugexe: http://feather.perl6.nl/~tjs/rakudobrew.md is close enough :)
16:27 tadzik the funny-looking characters are unicode quotes
16:36 dalek perl6-roast-data: 1d25fb2 | coke++ | / (4 files):
16:36 dalek perl6-roast-data: today (automated commit)
16:36 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/1d25fb2aa3
16:37 ugexe tadzik: rakudobrew build panda ? or build-panda in re: to rakudostar?
16:37 psch joined #perl6
16:38 psch 'lo #perl6 o/
16:38 [Coke] looks like moar flapped again today on os x.
16:42 ugexe tadzik: grammar change suggestions https://gist.githubusercontent.com/ugexe​/67eda0aa9c3578615a6a/raw/63ae287c28dcb6​7affa15fa08443ca81143d821b/gistfile1.txt
16:43 tony-o ugexe: third has 'uses' instead of 'use'
16:44 ugexe roger that
16:44 tony-o what's our vector victor
16:44 ugexe ask ron
16:46 mvuets left #perl6
16:46 kaleem joined #perl6
16:48 [Sno] joined #perl6
16:49 timotimo tadzik: there's a "writer's tools" button below the edit box where you can "get a link without sending an email"
16:52 zoosha joined #perl6
16:54 anaeem1_ joined #perl6
16:54 benz_ joined #perl6
16:55 Ulti can I rely on .keys and .values ordering to be matched?
16:56 [Coke] I think so, but use .kv instead.
16:56 Ulti well I want each as a different list anyway
17:03 Ulti moritz I just put up an issue with SVG not sure if it's me or you ;P
17:05 pyrimidine joined #perl6
17:14 raydiak \o
17:15 smls m: slurp
17:15 camelia rakudo-moar 91d899: ( no output )
17:16 anaeem1 joined #perl6
17:17 atroxaper joined #perl6
17:17 smls locally, it fails with «set encoding requires an object with REPR MVMOSHandle» and  «slurp($handle,...) [...] deprecated since v2014.10 [...] Please use slurp($path,...) instead.»
17:25 anaeem1_ joined #perl6
17:26 vendethiel joined #perl6
17:32 [Coke] are you running it locally with command line args, or in repl, or?
17:32 ugexe perl6 -e 'slurp' does it
17:33 ugexe may be picking the wrong multi sub slurp
17:34 ugexe in io_operators.pm
17:34 tadzik ugexe: both work :)
17:34 tadzik (as for build panda)
17:35 tadzik ugexe: thanks for the grammar :)
17:36 raiph joined #perl6
17:41 hoelzro http://pragmaticperl.com/issues/22/pragmaticpe​rl-22-perl-6-xxi-%D0%B2%D0%B5%D0%BA%D0%B0.html
17:41 hoelzro long article about Perl 6 in Russian
17:41 hoelzro looks interesting!
17:43 TimToady on the memory usage issue, when I get done debugging my epsilon-removing optimization, NFAs will be about 40% smaller
17:43 TimToady that should help startup time too
17:43 arnsholt TimToady++
17:44 TimToady unfortunately epsilon removal uncovers a bug where something is producing a state with no edges
17:44 arnsholt Whoops
17:44 TimToady so removing an epsilon point to it blows up
17:44 TimToady *pointing
17:45 TimToady about 2/3s of the epsilon can be removed though, just leaving the ones that describe a state fanout
17:45 TimToady which will get us a lot closer to DFAability
17:45 arnsholt Sounds promising
17:46 arnsholt We don't want to make them deterministic in all cases though, do we?
17:46 ugexe 'sudo cp perl6 /usr/bin' :cringe:
17:46 dwarring joined #perl6
17:46 TimToady there are various considerations
17:47 TimToady certainly we can't just do the naïve thing and generate all the states
17:47 arnsholt Yeah, that's what my memories of finite state automata reminded me
17:47 TimToady it would have to cache common states
17:47 TimToady and maybe just the first character of a token could usefully use a DFAish mapping to the first set of states without doing the whole thing
17:48 TimToady also, DFA interferes with any instrumentation you want to collect along the way, such as which alternative was taken, or what was the longest literal
17:49 TimToady plus it's more storage to cache DFA states, even if we don't generate them all
17:49 TimToady (and we can't, because our NFAs would certainly go exponential)
17:51 TimToady but those NFAs that start out with 50 or 100 tests could usefully dispatch to a known subset of states per character at least, since NFAs tend to be used to recognize the same tokens over and over
17:52 TimToady so I'll probably try DFAing the first decision point and see how it goes
17:53 TimToady but first I've got to get the reduced NFAs working right; they're fine if I just link past the useless epsilons, but it blows up if I remap the state numbers right now
17:53 TimToady due to the aforementioned bug
17:54 TimToady which I'm not fixing while I'm gabbing here... :)
17:56 Sqirrel joined #perl6
17:57 zakharyas joined #perl6
17:59 mvuets1 joined #perl6
18:09 Mso150 joined #perl6
18:10 denis_boyun_ joined #perl6
18:12 Isp-sec joined #perl6
18:16 anaeem1_ joined #perl6
18:16 mr-foobar joined #perl6
18:22 jnthn TimToady++ # fixing the places where our NFA are Not ... Awesome
18:28 dalek mu: 5155b36 | Ulti++ | misc/perl6advent-2014/schedule:
18:28 dalek mu: 15th Bioinformatics stuff
18:28 dalek mu:
18:28 dalek mu: Probably going to include parsing a file with a Grammar, and doing some nice stuff with primitive Perl6 types (Range and Bag esp.) as well as super basic parallel programming just to demonstrate how easy it can be.
18:28 dalek mu: review: https://github.com/perl6/mu/commit/5155b36db0
18:29 raiph joined #perl6
18:30 Ulti ^ Chris Fields (official BioPerl6) is either going to weigh in with his opinion/comments or write some stuff too. So that covers the two people in the world doing bioinfo stuff >:3
18:30 ab5tract joined #perl6
18:34 beastd joined #perl6
18:34 ab5tract o/ #perl6
18:34 ab5tract i've added some more thoughts to my pull request: https://github.com/rakudo/rakudo​/pull/335#issuecomment-64990267
18:35 ab5tract any thoughts would be most appreciated
18:38 Mso150_l joined #perl6
18:45 anaeem1_ joined #perl6
18:46 ab5tract tl;dr - i posit that the current approach to set operators is broken because a) coercion is inconsistent, and b) mixes may as well be hashes for all the love they get from set operators
18:48 dalek doc: 239bee5 | (Konrad Borowski)++ | lib/Language/operators.pod:
18:48 dalek doc: Fix compilation error in Foo.Bar::baz exmample.
18:48 dalek doc: review: https://github.com/perl6/doc/commit/239bee52de
18:48 TimToady promotion to a wider type seems reasonable to me, though I'd like to see whether that produces any counter-intuitive effects on the other side
18:50 TimToady and if there are set or bag operators that make no sense on mixes, those probably should refuse to work with a mix argument rather than downcasting
18:50 TimToady if we take this approach
18:52 TimToady tl;dr I think I probably agree :)
18:53 rindolf joined #perl6
18:54 TimToady just as you can poke a boolean into an integer, and an integer into a floater, without loss of information, but the reverse operations require explicit conversion
18:54 noganex joined #perl6
18:57 ab5tract TimToady: \o/
18:57 ab5tract :)
18:57 mvuets1 i have a silly question, sorry in advance. i remember STD.pm6 was an official reference Perl 6 grammar, but oddly i cannot find such file in my rakudo.git clone. is STD.pm6 used somewhere?
18:58 PerlJam mvuets1: not by rakudo (yet)
18:58 ab5tract mvuets1: https://github.com/perl6/std
18:58 mvuets1 ab5tract: yeah, that one (-:
18:58 ab5tract :)
18:59 ab5tract TimToady: so what would you like in the way of assurances that there are not counter-intuitive effects for this approach?
19:00 PerlJam mvuets1: the only implementations that actually use STD.pm6 are in that repo and niecza (https://github.com/sorear/niecza)
19:00 ab5tract shall i just implement it and then we can see?
19:00 psch std: 1
19:00 camelia std 76ccee1: OUTPUT«ok 00:00 135m␤»
19:01 FROGGS joined #perl6
19:02 spider-mario joined #perl6
19:02 TimToady ab5tract: I'm fine with that, as long as you're fine with reverting it if it turns to tragedy :)
19:04 TimToady mvuets1: STD was a prototype parser, meant to be emulated and then thrown away at some point, which point we're getting closer to
19:04 mvuets1 PerlJam: ah! so that std thingy does only parsing into ast (or whatnot)?
19:05 PerlJam mvuets1: you mean camelia's std?  Think of it mostly as a syntax validator.
19:05 TimToady or maybe we'll just keep it around as a kind of pet :)
19:06 psch also something of a reference regarding how failures should look
19:06 * psch remembers the "gobble" incident
19:06 ab5tract TimToady: what other options do we have? :)
19:06 mvuets1 how does rakudo parse p6 then?
19:06 PerlJam mvuets1: IT has it's own grammar (Based on STD)
19:06 TimToady well, I'm not really terribly interested in bringing up a full compiler on top of P5, which is what the STD parser runs on
19:07 TimToady the intent of STD was to give a target for implementations to converge on, and rakudo has mostly converged by now
19:08 smls ab5tract, TimToady: Although part the reason why automatically casting to the widest numeric type works out well for numeric operators, is that non-numeric arguments like a strings can be quite DWIM'ily mapped to one of the numeric types.
19:08 TimToady and in many ways has surpassed STD
19:08 smls e.g. "1" --> Int, "1.0" --> Rat
19:08 ab5tract ah, sorry, i meant aside from me implementing the set promotions even in the face of a potential revert
19:08 ab5tract smls: in what way does casting a Set to a Bag or Mix violate that?
19:09 smls Well, which of the Set/Bag/Mix types would the set operators map other types such as lists to?
19:09 smls Or would non-setty types no longer be allowed as arguments to those operators?
19:09 ab5tract always the most complicated partner
19:09 ab5tract smls: if you pass two lists, you get Set
19:10 ab5tract if you pass a list and a Bag, it bags the list
19:10 PerlJam ab5tract: humans aren't that good at predicting the future, thus the whirlpool model of development where we try stuff to see what happens :)
19:10 smls hm
19:10 ab5tract so the coercion logic is consistent
19:10 TimToady smls: we do some dwimmery on things that are forced through the textual bottleneck, sure, but what abstract said
19:10 TimToady you're worrying about the types of the keys, but ab5tract++ is talking about the types of the values
19:11 TimToady all of these things take objects as keys, and can coerce a list of objects
19:11 mvuets1 i must have wrong understanding all this time. my vision was that synopses defined moving parts and behavior of the language and STD.pm6 was an integral supplementing part that defined what the language syntax looked like
19:11 TimToady the only influence on the values is possible multiplicity in the input
19:12 TimToady or pairs, if you're coercing
19:12 smls the setops do coerce, currently
19:13 anaeem1 joined #perl6
19:13 TimToady smls: in which case, you say what you intend to coerce to, or coerce to the more general of the mix types
19:13 TimToady the more general of the provided args, I should clarify
19:13 TimToady mvuets1: the specs and std are guidelines for writing tests, and for implementing to those tests
19:14 TimToady but it's really the tests that define the language
19:14 smls m: say <2, 4, 6> (<+) <2, 4, 4, 6, 6>
19:14 camelia rakudo-moar 91d899: OUTPUT«True␤»
19:14 TimToady which is a good thing, because nobody here is good at writing specs, and if anyone was good at it, the rest of us might run away screaming :)
19:14 moritz to all p6 advent authors: please put your posts into the "2014" category
19:15 PerlJam TimToady: ARe you (or someone else) going to vet all of the tests in roast at some point?
19:15 TimToady well, I started a pass on all the fudges, and got partway through S02 :)
19:15 ab5tract smls: yes, but they do not all coerce the same way. the listy ones tend to coerce to Bag if a Bag is present, whereas the comparators coerce to Set
19:16 smls Well, that's why there are separate baggy comparators
19:16 [Coke] TimToady: do we have a syntax agreed on yet for marking tests as part of a certain version of the spec?
19:17 mvuets1 TimToady: ah-ha! now i see! you reminded this: "In the past the Synopses have often been referred to as "the formal Perl 6 specification" and "specs", but this usage is being deprecated in favor of treating tests from the "roast" test suite as official specifications." taken from the synopses index page
19:17 ab5tract okay, then why are there not separate baggy operators for _all_ the operators?
19:17 TimToady [Coke]: nope
19:17 ab5tract also, why do none of our set operators treat Mixes as Mixes?
19:17 ab5tract if you look at my pull request, i try to address all of this
19:17 Mso150_l_b joined #perl6
19:18 PerlJam [Coke]: probably whatever someone starts using will either be adopted or cause motion towards another syntax ;)
19:18 [Coke] maybe #?<start version>    and eventually #?<start version>-<end version>
19:18 [Coke] #?v6.0.0         e.g.
19:19 TimToady well, I think the question comes down to how you treat a list with dups in it, by default
19:19 mvuets1 what is meant by fudges in the context of roast.git?
19:19 smls ab5tract: Well, maybe there *should* be 3 complete sets of operators for sets/bags/mixes
19:19 TimToady only if there were a systematic way to name them all, which there isn't
19:20 TimToady given we support math notations that already violate that...
19:20 TimToady .u union
19:20 yoleaux U+222A UNION [Sm] (∪)
19:20 robinsmidsrod joined #perl6
19:21 TimToady .u n-ary
19:21 yoleaux U+2140 DOUBLE-STRUCK N-ARY SUMMATION [Sm] (⅀)
19:21 yoleaux U+220F N-ARY PRODUCT [Sm] (∏)
19:21 yoleaux U+2210 N-ARY COPRODUCT [Sm] (∐)
19:21 TimToady .u n-ary.union
19:21 yoleaux U+002D HYPHEN-MINUS [Pd] (-)
19:21 yoleaux U+002E FULL STOP [Po] (.)
19:21 yoleaux U+0061 LATIN SMALL LETTER A [Ll] (a)
19:21 TimToady er...
19:22 smls ab5tract's proposal feels a little like "let's get rid of separate `==` and `eq` so we have less operators".
19:22 ab5tract smls: i *strongly* disagree with that position
19:22 psch i wouldn't interpret the proposal as such, either
19:22 TimToady it's more like, let's use + regardless of what kind of numbers we're adding
19:22 ab5tract on the contrary, imagine if we had separate operators for addition for Int and Rat
19:22 ab5tract thanks TimToady :)
19:23 TimToady (and let's *not* use plus for concatenation!)
19:23 FROGGS yeah, we learned that one from JS :o)
19:23 TimToady well, not me
19:24 TimToady I've learned it from any number of languages, but not JS...
19:24 TimToady it seems to be a common failing among language designers
19:24 FROGGS ohh yes, I just wanted to say that one can see now that it proved to be the wrong way
19:26 TimToady well, if you think you're language is not extensible, you make the mistake of thinking you have to reuse your existing operators for other purposes, with resulting tragedies like >> in C++
19:27 TimToady *your
19:28 * TimToady hates on English orthography a bit...
19:28 FROGGS I find & in VB very disturbing (amongst many many other things)
19:28 * TimToady hates on ASCII a bit too
19:29 FROGGS maybe one could sell Perl 6 to M$ so they'd do a Perl6-for-applications :o)
19:29 jercos Nah they'd fold it into "Skype for coders"
19:29 anaeem1 joined #perl6
19:30 jercos and then only keep up a .NET backend that relies heavily on winapi calls to native
19:30 denis_boyun_ joined #perl6
19:31 TimToady in general, past history has shown that languages designers should try to keep an arms-length distance from large corporations
19:32 TimToady too much temporary corporate blessing usually backfires in the wider scheme of things
19:34 b2gills The reason Javascript is the way it is, is in part because the designer was told to make it look like Java
19:35 FROGGS I wouldn't mind getting sponsored by a bigger company though :o)
19:35 FROGGS b2gills: but happily it does not feel like Java :o)
19:36 * TimToady very much enjoys being sponsored by a small company, craigslist++
19:37 * FROGGS still dreams of a Star Trek world where money does not exist anymore
19:37 pyrimidine Ulti: advent calendar on biological data sounds like a good idea :)
19:39 moritz variety++
19:42 masak biological variety! :D
19:43 moritz now we also have to get brrt to blog about his gosc project
19:46 b2gills FROGGS: I don't see that happening without a cataclysmic event. ( Even in the Star Trek universe it was required )
19:48 noganex_ joined #perl6
19:49 FROGGS b2gills: let's just hope that the post atomic horror won't happen this century :o)
19:50 b2gills ... or that the event doesn't have anything to with with atomic anything
19:50 TimToady nah, it's the internet doing us in by making it too easy to feed our confirmation biases
19:51 [Coke] TimToady: anyone else at CL looking into using p6 yet?
19:52 TimToady I'm not pushing it there yet, but give it a year or so :)
19:53 * TimToady just makes sure to point out that P6 is better whenever P5 does something screwy :)
19:54 TimToady but as to CL's actual plans, that's all sekrit :)
19:55 anaeem1 joined #perl6
19:56 anaeem1_ joined #perl6
19:57 TimToady other than that they plan to support me for another year :)
19:58 FROGGS what if they stop supporting you once it is "done" O.o
19:58 TimToady if it's done right, I can retire and go fly fishing :)
19:59 * FROGGS imagines TimToady doing PHP homework for kids for $
19:59 FROGGS :D
19:59 moritz ... by writing a p6 to PHP compiler :-)
19:59 FROGGS eeeks
20:00 [Coke] I am reminded that right now I am my own biggest blocker to getting it adopted here in my group. blah.
20:00 FROGGS hehe
20:00 TimToady [Coke]: well, stop using those silly macs :P
20:00 FROGGS SOAP is still my blocker... yeah, and time
20:00 Ulti pyrimidine coming from an organic molecule that means a lot!
20:00 [Coke] huh. I should start a perl tech group inside $dayjob; I'm sure lots of people are using it.
20:01 [Coke] (perl) beaten to it.
20:03 TimToady darn it, how'd it get to be lunchtime already?
20:04 Mso150 joined #perl6
20:10 anaeem1_ joined #perl6
20:12 ptc_p6 joined #perl6
20:15 treehug88 joined #perl6
20:17 ab5tract joined #perl6
20:21 dario joined #perl6
20:23 dalek mu: 2659089 | (Pepe Schwarz)++ | misc/perl6advent-2014/schedule:
20:23 dalek mu: [perl6advent] Added topic.
20:23 dalek mu:
20:23 dalek mu: Contents will at least be "what is needed for multis and how far am I".
20:23 dalek mu: Completeness of the implementation is dependent on how I get.
20:23 dalek mu: review: https://github.com/perl6/mu/commit/2659089737
20:23 psch eh, how *far*
20:23 psch :/
20:24 dario hoi la
20:24 moritz psch: do you already have a p6advent login?
20:24 psch moritz: no.  i think i don't even have a wordpress account
20:25 moritz psch: /msg me your email address, I'll send you an invitation
20:25 psch moritz: done
20:26 moritz psch: invitation sent
20:27 psch moritz: thanks, i'll take care of that during the next jvm build
20:27 dario left #perl6
20:29 * PerlJam tries to think of something that intersects fun/interesting, perl 6 related, and not already done by someone else so that he can contribute to the advent calendar this year
20:29 anaeem1 joined #perl6
20:33 moritz PerlJam: write a program that uses introspection to find type and method names from Perl 6, and uses that to markov-chain a poem, or so
20:37 anaeem1_ joined #perl6
20:57 rjbs Is there a place where all the cool Perl people are staying for FOSDEM?  /me books.
21:00 * pyrimidine thought that rjbs was one of the 'cool people'
21:00 jnthn I thought the cool people did all such planning last minute? :)
21:01 PerlJam all the cool people are staying at home because they aren't going to FOSDEM  (they're too cool for that!  ;)
21:01 Ulti ^
21:05 anaeem1_ joined #perl6
21:10 colomon joined #perl6
21:14 Mso150 joined #perl6
21:15 Isp-sec joined #perl6
21:17 virtualsue joined #perl6
21:22 mephinet- joined #perl6
21:22 perltricks joined #perl6
21:22 mr-fooba_ joined #perl6
21:24 perlpilot joined #perl6
21:24 romel_ joined #perl6
21:24 atta_ joined #perl6
21:26 rurban left #perl6
21:26 flussenc1 joined #perl6
21:27 oetiker_ joined #perl6
21:28 vike1 joined #perl6
21:29 treehug88 joined #perl6
21:30 timo joined #perl6
21:30 ptc_p61 joined #perl6
21:34 moritz and the *really* cool ones were too cool for breathing, and stopped dead after about three minutes
21:35 Celelibi joined #perl6
21:36 lizmat joined #perl6
21:36 hugme joined #perl6
21:36 telex joined #perl6
21:39 TimToady I thought they cooled after they stopped breathing...
21:40 * lizmat arrived in Perl earlier this evening, and had dinner in the Perler Hof
21:40 lizmat I'm pretty sure TimToady remembers the place :-)
21:41 TimToady in a PTSDy sort of way :)
21:42 TimToady .oO( tuxic shock syndrome :)
21:46 blackbolt10 joined #perl6
21:48 Gladiator_ joined #perl6
21:48 noganex joined #perl6
21:50 blackbolt10 hi, i got problem with install GTK::Simple on debian VM.  "*test stage failed for NativeCall: Tests faild".   Someone can help me?
21:50 woolfy joined #perl6
21:51 psch blackbolt10: are you by chance on a 32bit system?
21:51 psch blackbolt10: also, which backend?
21:51 blackbolt10 i have 64bit windows with vm virtualbox
21:52 psch blackbolt10: is the vm 32bit? did you install perl6 from the debian repositories?
21:52 jnthn Diagnosing it is interesting, though the most likely workaround is to pass --notest or so to the installer...
21:52 blackbolt10 i can install by panda other modules
21:53 itz blackbolt10: I had that .. I think the shared library it tries to load is named differently
21:53 blackbolt10 psch: debian is 32bit
21:54 blackbolt10 itz: how can i "reapir" it?
21:54 psch blackbolt10: then what jnthn++ said should work for you for installing NativeCall, i.e. do 'panda install --notests NativeCall'
21:54 itz blackbolt10: I think I cheated with a sym link
21:55 itz trying to find what I did
21:55 anaeem1 joined #perl6
21:55 woolfy In our hotel room in the city of Perl.  lizmat asks me "have you seen the tv in this room".  "Yep, it is right in front of you, on your desk, next to your laptop".  Hmmm....
21:55 blackbolt10 psch: it help me.
21:56 blackbolt10 gtk install with no problem
22:00 lizmat joined #perl6
22:00 itz I think I added this sym link on 64 bit Debian stable
22:00 itz lrwxrwxrwx 1 root root 13 Oct 15 21:02 /usr/lib/x86_64-linux-gnu/libgtk-3.so -> libgtk-3.so.0
22:00 itz I should have fixed it properly :\
22:04 blackbolt10 itz: When i install gtk on Ubuntu VM i need libgtk-3-dev
22:04 blackbolt10 itz: like jnthn say --notests helped
22:06 PerlJam Will NativeCall find its way into rakudo sometime before 6.0.0?
22:08 [Coke] Into the compiler? I would vote no.
22:08 anaeem1_ joined #perl6
22:11 Alina-malina joined #perl6
22:15 colomon joined #perl6
22:15 [Coke] That also raises the question: is Rakudo Star still going to be the bundled release? If so, what are we bundling with it for 6.0?
22:17 wtw joined #perl6
22:19 j4jackj joined #perl6
22:22 lizmat ugexe: re http://irclog.perlgeek.de/​perl6/2014-12-01#i_9742729  (perl6 -e slurp)
22:22 [Coke] we have a "most wanted" module list somewhere, might be nice to start curating that with an eye toward the initial 6.0 bundle (if there is one)
22:22 lizmat I'm pretty sure I fixed that with: https://github.com/rakudo/rak​udo/commit/70df096d6b86300bd8
22:24 ab5tract [Coke]: i think 6.0 is a perfect opportunity for Rakudo Star to shine :)
22:28 [Coke] Andrew Shitov++ # the russian pragmatic perl 6 article.
22:29 TuxCM joined #perl6
22:31 [Tux] joined #perl6
22:36 BenGoldberg joined #perl6
22:41 rjbs [Coke]: I saw it, but I don't read Russian.  What did it say? :)
22:48 [Coke] rjbs: I just hit the translate button. bunch of good stuff, with a lot of intro-to-perl6.
22:49 [Coke] just found a meta advent: http://perlnews.org/2014/12/advent-calendars-2/
22:50 [Coke] er, which links to: http://www.lenjaffe.com/Ad​ventPlanet/2014/index.html
22:50 [Coke] which has us.
22:51 dalek perl6-most-wanted: af2c507 | (David Warring)++ | most-wanted/modules.md:
22:51 dalek perl6-most-wanted: Added CSS::Writer (WIP). Recategorize CSS::Tiny as minimal
22:51 dalek perl6-most-wanted: review: https://github.com/perl6/perl6​-most-wanted/commit/af2c507e47
22:52 * dwarring [Coke] ++ just reminded me to update this
22:52 tony-o how would i pass a method reference to a sub?
22:55 tony-o m: class c { method g() {'g'.say;} }; sub r ($s) { 's'.say; $s(); '/s'.say; }; my $c = c.new; r(&$c.g);
22:55 camelia rakudo-moar 91d899: OUTPUT«g␤s␤Cannot find method 'postcircumfix:<( )>'␤  in sub r at /tmp/kffPFxPSDd:1␤  in block <unit> at /tmp/kffPFxPSDd:1␤␤»
22:59 lizmat goodnight, #perl6!
23:01 pmurias joined #perl6
23:02 dalek nqp-js: 2063552 | (Pawel Murias)++ | src/vm/js/nqp-runtime/ (3 files):
23:02 dalek nqp-js: Handle type objects better to so that tests don't break when we define NQPMu.
23:02 dalek nqp-js: review: https://github.com/pmurias​/nqp-js/commit/2063552030
23:02 dalek nqp-js: b0085d8 | (Pawel Murias)++ | src/vm/js/mini-setting:
23:02 dalek nqp-js: Add a partial NQPMu to the mini-setting.
23:02 dalek nqp-js: review: https://github.com/pmurias​/nqp-js/commit/b0085d8b4b
23:02 dalek nqp-js: 46678fd | (Pawel Murias)++ | src/vm/js/ (3 files):
23:02 dalek nqp-js: Support mixing :foo, and |%args in the same method call.
23:02 dalek nqp-js:
23:02 dalek nqp-js: Pass test 25.
23:02 dalek nqp-js: review: https://github.com/pmurias​/nqp-js/commit/46678fde1c
23:02 dalek nqp-js: b97120f | (Pawel Murias)++ | src/vm/js/ (3 files):
23:02 dalek nqp-js: Fix existspos, pass test 59.
23:02 dalek nqp-js: review: https://github.com/pmurias​/nqp-js/commit/b97120fc64
23:02 dalek nqp-js: c464545 | (Pawel Murias)++ | src/vm/js/ (2 files):
23:02 dalek nqp-js: Pass test 26.
23:02 dalek nqp-js:
23:02 dalek nqp-js: Fix handling of $foo."$method".
23:02 dalek nqp-js: review: https://github.com/pmurias​/nqp-js/commit/c4645453e7
23:04 dalek perl6-most-wanted: 8f5f7fb | (David Warring)++ | most-wanted/modules.md:
23:04 dalek perl6-most-wanted: remove stray character
23:04 dalek perl6-most-wanted: review: https://github.com/perl6/perl6​-most-wanted/commit/8f5f7fba0b
23:06 noganex_ joined #perl6
23:14 PacoLinux joined #perl6
23:17 Alina-malina joined #perl6
23:25 smls for "abcde" ~~ m:g/\w/ { say $_ }
23:25 smls m: for "abcde" ~~ m:g/\w/ { say $_ }
23:25 camelia rakudo-moar 91d899: OUTPUT«False␤»
23:25 smls How are m:g regexes supposed to be used?
23:47 [Coke] m: say ("abcde" ~~ m:g/\w/)
23:47 camelia rakudo-moar 91d899: OUTPUT«False␤»
23:47 [Coke] m: say ("abcde" ~~ m/:g\w/)
23:47 camelia rakudo-moar 91d899: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/ZHu_qVaqZH�Unrecognized regex modifier :g\w/)�at /tmp/ZHu_qVaqZH:1�------> [32msay ("abcde" ~~ m/:g\w/)[33m�[31m<EOL>[0m�»
23:47 [Coke] m: say ("abcde" ~~ m/\w/)
23:47 camelia rakudo-moar 91d899: OUTPUT«「a」␤␤»
23:48 raydiak works w/o the smartmatch too (putting abcde into $_)
23:50 dalek joined #perl6
23:52 [Coke] m: $_='1 23 456 78.9'; .say for m:g/(\d+)/ # aye.
23:52 camelia rakudo-moar 91d899: OUTPUT«「1」␤ 0 => 「1」␤␤「23」␤ 0 => 「23」␤␤「456」␤ 0 => 「456」␤␤「78」␤ 0 => 「78」␤␤「9」␤ 0 => 「9」␤␤»
23:52 raydiak tony-o: not precisely an answer, but if you want something to pass around and call without an object instance, a method is probably less suitable than e.g. a sub or pointy block
23:53 tony-o raydiak: i'm using an instance :)
23:53 tony-o i may just turn this into a module instead of a class tho
23:55 raydiak tony-o: in your example you're trying to pass and call the method by itself w/o the object...idk if that is going to work
23:56 * raydiak waits for someone to chime in with the right punctuation magic to make it work
23:56 rmgk_ joined #perl6

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

Perl 6 | Reference Documentation | Rakudo