»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by sorear on 25 June 2013.
00:01 virtualsue left 00:07 vendethiel- left 00:09 pmurias left 00:12 vendethiel joined 00:19 beck_ joined 00:21 BenGoldberg joined 00:22 denis_boyun_ left
beck_ m: my %hash=(a=>"A-key"); say "GOOD" if (%hash<a>:exists && True) 00:30
00:30 Alula left
camelia rakudo-moar 91d899: OUTPUT«GOOD␤» 00:30
beck_ m: my %hash=(a=>"A-key"); say "GOOD" if (True && %hash<a>:exists)
camelia rakudo-moar 91d899: OUTPUT«===SORRY!=== Error while compiling /tmp/Bjg9uQhlGj␤You can't adverb that␤at /tmp/Bjg9uQhlGj:1␤------> ; say "GOOD" if (True && %hash<a>:exists⏏)␤ expecting any of:␤ pair value␤»
00:34 raiph joined 00:35 vendethiel left 00:40 vendethiel joined
beck_ Just read the S03, the adverb being applied to the operator..(I thought they were tighter for some reason) 00:41
00:44 Alula joined
TimToady it modifies the loosest operator tighter than comma 00:58
m: my %hash = a => "A-key"; say "GOOD" if True and %hash<a>:exists 00:59
camelia rakudo-moar 91d899: OUTPUT«GOOD␤»
TimToady good place for the loose variant of &&
and you don't need any of those superstitious parens :) 01:01
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:17
01:19 rurban left 01:22 vendethiel left 01:31 ron1230 joined
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
01:34 ron1230 left 01:40 dayangkun joined
tony-o classic ron, lol 01:46
01:48 ssqq joined 01:59 vendethiel joined 02:03 ron1230 joined
ron1230 s/relavant/relevant/ 02:05
02:06 ron1230 left 02:11 jimmy__ joined
jimmy__ moritz: 7th annual edition? Isn't 6th? 02:11
02:17 perltricks left, jimmy__ is now known as JimmyZ_ 02:24 vendethiel left
ssqq :m my $x = 'str'; given $x { when 5 { say 'int' } when 'str' { say 'str' }} 02:32
colomon m: my $x = 'str'; given $x { when 5 { say 'int' } when 'str' { say 'str' }} 02:34
camelia rakudo-moar 91d899: OUTPUT«===SORRY!=== Error while compiling /tmp/IPit9TR4zM␤Missing semicolon.␤at /tmp/IPit9TR4zM:1␤------> 'str'; given $x { when 5 { say 'int' } ⏏when 'str' { say 'str' }}␤ expecting any of:␤ postfix␤ …»
ssqq m: my $x = 'str'; given $x { when 'str' { say 'str' } when 5 { say 'int' }} 02:36
camelia rakudo-moar 91d899: OUTPUT«===SORRY!=== Error while compiling /tmp/zhxDFt5MRU␤Missing semicolon.␤at /tmp/zhxDFt5MRU:1␤------> r'; given $x { when 'str' { say 'str' } ⏏when 5 { say 'int' }}␤ expecting any of:␤ postfix␤ …»
colomon m: my $x = 'str'; given $x { when 5 { say 'int'; }; when 'str' { say 'str'; };}
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…»
colomon oooo, that seems bad 02:37
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…»
ugexe m: my $x = 'str'; given $x { when 'str' { say 'str' }; when 5 { say 'int' }} 02:42
camelia rakudo-moar 91d899: OUTPUT«str␤»
ssqq ugexe: predicate with Str should at first if *$_* maybe is Str. 02:45
JimmyZ_ oh, please file a bug :P 02:46
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…»
JimmyZ_ m: my Str $x = 'str'; given $x { when 5 { say 'int'; }; when 'str' { say 'str'; };}
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…»
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␤»
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␤»
BenGoldberg m: my Str $x = 'str'; given $x { when Int { say 'huh' } }
camelia ( no output )
BenGoldberg m: my $x = '123'; given $x { when 5 { say 'huh' } }
camelia ( no output )
BenGoldberg m: my $x = '123'; given $x { when 123 { say 'huh' } }
camelia rakudo-moar 91d899: OUTPUT«huh␤»
BenGoldberg m: my $x = '123'; given $x { when False { say 'huh' } } 02:51
camelia ( no output )
ssqq m: say so 'str' ~~ Int;
camelia rakudo-moar 91d899: OUTPUT«False␤»
02:52 chenryn joined
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 03:30 noganex_ joined 03:34 noganex left 03:48 Mso150_s left
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␤3102130210321032103213021032132013201320132032013201320123102301230123012301203123012301231021302130213021302310231020312032031230213023021302130213021302130213021302130213021320132013201320312031203120312…»
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!
camelia rakudo-moar 91d899: OUTPUT«0 begun␤01 begun␤12 begun␤2await␤3 begun␤0132103120312302310130 2 done␤13010130 1 2 3 4␤01»
03:54 kurahaupo left 03:57 kurahaupo joined, kurahaupo left 03:58 vendethiel joined 04:30 anaeem1 joined 04:38 perturbation left 04:41 vendethiel left 04:43 Woodi left, Woodi joined 04:51 chenryn left, mr-foobar left, mr-fooba_ joined 04:54 kaleem joined 05:02 kaare_ joined 05:06 vendethiel joined, bjz_ left 05:07 chenryn joined, dayangkun left 05:08 bjz joined 05:18 bjz left 05:19 kaleem left 05:28 vendethiel left 05:29 ssqq left
moritz good morning 05:33
05:36 vendethiel joined 05:40 BenGoldberg left
JimmyZ_ good morning 05:55
05:57 vendethiel left 05:58 kaare_ left 06:01 telex left 06:02 telex joined 06:11 mr-fooba_ left 06:18 [Sno] left 06:19 raiph left 06:22 mr-foobar joined, kaare_ joined 06:30 vendethiel joined 06:50 cognominal left 06:52 vendethiel left 06:56 cognominal joined 07:10 kaleem joined 07:17 ssqq joined
ssqq :m package Foo::Bar {}; package Bar is Foo {}; 07:17
m: package Foo::Bar {}; package Bar is Foo {}; 07:18
camelia rakudo-moar 91d899: OUTPUT«===SORRY!=== Error while compiling /tmp/DROS8jkoGD␤Foo does not support inheritance, so Bar cannot inherit from it␤at /tmp/DROS8jkoGD:1␤------> ␤»
ssqq How to declar a *inheritable* package?
07:20 dj_goku left, [Sno] joined 07:26 jluis joined
ssqq How to declare *inheratable* package? 07:31
07:34 dj_goku joined 07:35 denis_boyun joined 07:36 KCL_ joined
jnthn ssqq: "class" 07:44
You need class in both places instead of package there. 07:45
ssqq m: class Foo {}; package Bar is Foo {};
camelia rakudo-moar 91d899: OUTPUT«===SORRY!=== Error while compiling /tmp/vEkFSoZGXT␤Method 'add_parent' not found for invocant of class 'Perl6::Metamodel::PackageHOW'␤at /tmp/vEkFSoZGXT:1␤------> ␤»
jnthn *both*
ssqq m: class Foo {}; class Bar is Foo {}; 07:46
camelia ( no output )
jnthn In Perl 6 we have a number of package declarators (package, module, class, role, grammar) which provide different behaviors. 07:47
07:48 FROGGS joined
ssqq :m class Foo { our $foo = 1; }; class Bar is Foo { say Foo::<$foo> } 07:50
:jnthn thanks.
FROGGS m: class Foo { our $foo = 1; }; class Bar is Foo { say Foo::<$foo> }
camelia rakudo-moar 91d899: OUTPUT«1␤»
07:52 bjz joined
ssqq m: my %hash = :a; if %hash<a>:exists { say '%hash exists <a>" } 07:56
camelia rakudo-moar 91d899: OUTPUT«===SORRY!=== Error while compiling /tmp/FEEmjmaFwr␤Unable to parse expression in single quotes; couldn't find final "'" ␤at /tmp/FEEmjmaFwr:1␤------> ash<a>:exists { say '%hash exists <a>" }⏏<EOL>␤ expectin…»
ssqq m: my %hash = :a; if %hash<a>:exists { say '%hash exists <a>' }
camelia rakudo-moar 91d899: OUTPUT«%hash exists <a>␤»
ssqq The syntax of *%hash<key>:exists* is come from NQP? 07:57
07:57 gfldex joined
jnthn No, was spec'd in Perl 6 from the start 07:57
NQP doesn't support it.
ssqq jnthn: I could find this symbol in CORE::.keys; *exists* is a internal attribute of Hash? 08:03
I could not find it
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 :-) github.com/pnu/heroku-buildpack-rakudo#usage
08:06 zakharyas joined 08:07 virtualsue joined
ssqq Note that Rakudo does not yet implement operator adverbs. As a workaround you can use the non-standard exists method. 08:08
jnthn: How to get all predeclared *package-name* of perl6? 08:09
moritz m: say GLOBAL::.keys 08:11
camelia rakudo-moar 91d899: OUTPUT«␤»
moritz hm 08:12
ssqq moritz: Where could learn more NPQ sepe or documents? 08:13
sepe = spec
JimmyZ_ what do you want to learn?
ssqq JimmyZ_: yes, I think NQP should more easier than perl6. 08:14
moritz ssqq: github.com/edumentab/rakudo-and-nq...als-course is one of the better learning resources
JimmyZ_ it's harder actually
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
ssqq JimmyZ_: I think Perl 6 is only suitable language to hack compiler. 08:17
jnthn m: say CORE::.keys
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…»
jnthn oh, packages
m: say CORE::.grep(!*.value)>>.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 darutoko joined
jnthn oh? :) 08:18
JimmyZ_ ssqq: yeah, you can learn what you chioce :)
jnthn m: say CORE::.grep({ !.value.DEFINITE })>>.key
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
jnthn hmm 08:19
m: say CORE::.keys.grep(/^\w/) # :P
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
jnthn Note taht :exists is a named argument to indexing an array. 08:22
Not a package.
Also, Rakudo very much does implemnt operator adverbs and has for a while now...so guess something is outdated...
teaching &
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␤␤»
JimmyZ_ m: say CORE::.exists('Mu');
camelia rakudo-moar 91d899: OUTPUT«No such method 'exists' for invocant of type 'PseudoStash'␤ in block <unit> at /tmp/dI_9Xsp5Y4:1␤␤»
jnthn m: say CORE::<Mu>:exists 08:25
camelia rakudo-moar 91d899: OUTPUT«True␤»
jnthn really teaching, now everyoen is here... :) &
JimmyZ_ happy teaching :) 08:27
08:27 yeahnoob joined, yeahnoob left, yeahnoob joined 08:31 abraxxa joined 08:37 KCL_ left
ssqq jnthn: Where could get a NQP interpreter? 08:40
moritz nqp-m: say('hi ssqq');
camelia nqp-moarvm: OUTPUT«hi ssqq␤»
08:41 beck_ left
ssqq moritz: O, rakudo have buit-in NQP interpreter. 08:42
moritz ssqq: well, if you build rakudo, you first build nqp
ssqq: though of course you can download and build nqp on its own too
08:46 ssqq left 08:47 vendethiel joined
masak morning, #perl6 08:51
08:51 Mso150 joined
masak feels sorry for ron1230 :( 08:52
08:56 dagerik joined
dagerik use v6;my @f=1,1,{$^a+$^b}...*;say @f[42]~".html"; 08:56
what does this do
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
moritz dagerik: does "it prints '433494437.html'" answer your question? 08:57
sergot hi o/
dagerik how does it print that. i dont know perl. where does it get numbers from 08:58
moritz dagerik: this article explains it: justrakudoit.wordpress.com/2010/08/...moization/ 08:59
cosimo less test failures in lwp-simple hopefully 09:02
moritz \o/ 09:03
sergot: it would be awesome if you could write a post for the Perl 6 advent calendar about your gsoc project 09:04
09:09 vendethiel left
sergot moritz: with pleasure :) 09:10
09:12 pecastro_ left
sergot moritz: how many posts do we already have? 09:14
moritz sergot: 9 09:16
sergot I will write it, should I send it to you then?
or how does it work?
moritz sergot: no, you should claim a day in the perl6/mu/ repo in misc/perl6advent-2014/schedule
sergot: and I'll send you an invitation for the blog system
09:17 vendethiel joined
sergot moritz++ great, it is clear now :) 09:17
09:18 virtualsue left 09:21 dakkar joined 09:22 ptc_p6 joined
dalek : 306d7ad | sergot++ | misc/perl6advent-2014/schedule:
p6 advent calendar post added
09:32
moritz sergot: btw you can write your post whenver you want, and schedule it for publication within wordpress 09:37
09:38 vendethiel left 09:40 vendethiel joined
sergot moritz: awesome :) 09:41
thanks!
09:42 yeahnoob left, dagerik left 09:57 ptc_p6 left, ptc_p6 joined 09:59 myp left 10:03 Isp-sec left 10:04 fhelmberger joined 10:05 myp joined 10:09 kurahaupo joined 10:12 Ven joined, virtualsue joined
Ven moritz++ 10:12
also, oyez, #perl6
10:12 virtualsue left 10:16 virtualsue joined
arnsholt Salut, Ven! 10:16
10:19 Ugator joined 10:26 vendethiel left 10:29 JimmyZ_ left
timotimo o/ 10:31
10:32 araujo joined 10:34 mvuets joined 10:37 jluis left, daxim joined
cosimo connection refused when running panda. known? 10:37
10:38 bjz left, Mso150 left
timotimo it's come up a bunch of times in the recent days 10:40
it seems to be due to trying the AAAA first and not falling back to the A record when we get a connection refused
and i have no idea why the server isn't listening on AAAA 10:41
10:41 jluis joined
masak learns about 'oyez' 10:42
10:43 vendethiel joined
arnsholt I recognize it as (pretty old) French. Does it have more recent use too? 10:43
masak seems to be used in English courts. 10:45
cognate with Latin 'audire'.
osfameron and spanish oír 10:46
arnsholt Right, that makes sense 10:47
masak osfameron: oíc 10:48
osfameron :D
arnsholt Trust the English to keep random bits of French hanging around =D
masak from the disgusting-sentences-you-did-not-expect-to-hear-when-you-woke-up-this-morning department. 10:49
:P
Ven arnsholt: it is old french, yes :) 10:50
chivalry time stuff... 10:51
(I once looked at a list of "french words used in english", I couldn't recognize half of them)
timotimo does someone want to explain value types to theo on the mailing list? 10:54
Ven checks the mailing lists 10:55
haha. 10:57
11:02 pecastro joined
masak pens an answer 11:03
11:05 noganex joined 11:06 vendethiel left
masak sent. 11:07
11:08 noganex_ left
timotimo thanks 11:08
11:14 rindolf joined 11:15 pmurias joined 11:19 |Tux| left
tadzik pnu: wow, awesome :) 11:25
timotimo tadzik: can you have a look at why the panda metadata server doesn't respond to v6 connections? 11:27
tadzik timotimo: yeah
timotimo thanks
11:27 TuxCM joined
tadzik fixed 11:27
timotimo that was quick
why didn't you do that like four days ago? :) 11:28
tadzik I did :)
'tis a fragile thing
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
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
hm
timotimo i think someone said we would have that server run on port 80 on "the regular" web server at some near point 11:33
and of course we'll have cpanda soon-ish 11:34
huh 11:35
installing gtk-simple with panda works, with ufo it errors out either when building or when running tests 11:36
11:39 rindolf left, rindolf joined 11:42 noganex_ joined
timotimo now i'm annoyed 11:42
i was under the impression that GTK::Simple was broken and i needed to find a workaround 11:43
11:44 kaleem left
dalek k-simple: 457871d | (Timo Paulssen)++ | lib/GTK/Simple.pm6:
remove superfluous .so from library name
11:44
11:44 jluis left, darutoko left 11:45 noganex left 11:49 darutoko joined 11:50 jluis joined
dalek p-js: b438b9a | (Pawel Murias)++ | / (3 files):
Avoid having a mini-nqpmo, concatentate the nqpmo in the standard manner.
11:51
p-js: d212c74 | (Pawel Murias)++ | src/core/NQPMu.nqp:
Revert "Temporarly add nqp-js hacks to the setting."

This reverts commit b3387d74ff2173ed852530585ae9b587cd7e4274.
p-js: d2fb4b8 | (Pawel Murias)++ | tools/build/ (2 files):
Hardcode less things while building mininqpmo.
p-js: 7368510 | (Pawel Murias)++ | / (3 files):
Stop calling nqpmo "mininqpmo".
mvuets i just made a fresh rakudo moar + panda build via rakudobrew++
yoleaux 30 Nov 2014 20:12Z <[Coke]> mvuets: using .tell is more likely to get heard later.
mvuets and panda crashes: paste.scsys.co.uk/449465
is it me or something new? 11:52
11:52 Ven left
mvuets [Coke]++ noted, thanks (-: 11:52
11:55 chenryn left 11:59 pecastro left, pecastro_ joined 12:05 bjz joined, atta_ left, atta joined 12:10 vendethiel joined
timotimo rakudobrew could get a "share to twitter" feature 12:11
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
JimmyZ_ carlin: it is! 12:14
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
JimmyZ_ carlin: github.com/unbit/moarvm-uwsgi-skel
timotimo are you for real?
that used to be more!
a rakudo-moar process is 120 megabytes of ram on my system :( 12:16
carlin so ~30 concurrent requests will bring down the server, whereas with P5 and python 100s of requests don't even register 12:17
(server has 2GB RAM) 12:18
timotimo yeah
we're aware rakudo uses more ram than is sensible
on the other hand
you can have a rakudo process run with multiple processes
and do async I/O
so you don't need the same amount of processes
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
carlin just the simplest possible thing that works doesn't work
timotimo basically every other way is better, like FastCGI
12:19 noganex joined
timotimo and FastCGI isn't even that good 12:19
carlin are there any plans regarding the memory usage? what makes it so high? 12:20
timotimo several things 12:21
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
12:22 noganex_ left
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
timotimo NSA and spesh don't help reduce the minimum memory usage 12:23
actually, i'd argue spesh increases it
but it shouldn't be very noticable
um
i may be mistaken
JimmyZ_ and on-stack-allocation frame? 12:24
timotimo disabling spesh gets "say 'test'" from 120 megabytes down to 107 megabytes
JimmyZ_: you mean what we'll get when we have escape analysis?
leaving spesh on but turning off the jit gets us to 112 megabytes 12:25
JimmyZ_ timotimo: nope, I mean what brrt ever said
timotimo ah, right
i thought that was mostly a cpu-time improvement
12:28 chenryn joined
JimmyZ_ and we don't have static optimizer before writing .moarvm 12:28
which may reduce the size ... 12:29
12:29 pecastro_ left
timotimo ah, yes 12:29
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:30
12:31 pecastro joined
JimmyZ_ if we have smart static optimizer like GCC :P 12:31
timotimo there's no reason why we couldn't have an off-line optimizer 12:32
like a program that loads a .moarvm file, optimizes the bytecode, writes it back 12:33
we could invoke that during installation for excessively big things like the core setting as well as the stage0
JimmyZ_ yup
12:33 vendethiel left
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:34
JimmyZ_ like: mark it as static optimization or dyn optimization? 12:35
12:35 vendethiel joined
timotimo that's not what i mean 12:35
our dynamic optimizer should of course always grow, because it has more data to work with
we don't have the necessary data from the logging stage and the arguments passed when we'd statically optimize 12:36
JimmyZ_ yeah 12:46
12:49 mvuets left, mvuets joined 12:51 rindolf left 12:52 rindolf joined 12:55 anaeem1 left 12:57 smls joined 12:58 rindolf left, rindolf joined 12:59 vendethiel left 13:00 chenryn left
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)
camelia rakudo-moar 91d899: OUTPUT«===SORRY!=== 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␤------> rand⏏(1); # (1..N) should probably be (0..^N)␤»
13:07 pecastro left 13:08 vendethiel joined
moritz smls: yes 13:10
13:12 xinming_ left 13:13 xinming joined
mvuets nice post, btw, moritz++ 13:13
moritz thanks 13:15
[Coke] welcomes our US team back to work today. 13:17
moritz earth rotation temporarily completed 13:19
13:20 kaleem joined 13:23 xinming left 13:24 xinming joined
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␤␤»
moritz b2gills: it doesn't make sense, because a two-element list is always True in boolean context 13:27
smls m: if 1, 2 -> [$a, $b] { .say for $a, $b }; 13:28
camelia rakudo-moar 91d899: OUTPUT«1␤2␤»
smls What moritz said, though.
moritz more simply written as { my ($a, $b) = 1, 2; .say for $a, $b } 13:29
13:30 vendethiel left 13:31 cibs left, cibs joined
b2gills So there is no way to cache two values in the same `if` block. 13:34
( and have the `if` block actually test the values )
moritz b2gills: you haven't told us yet how you want them tested? 13:37
any? or? xor?
13:37 pmurias left
moritz s/any/and/ 13:38
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:41
(well, i stole it from golang) 13:42
13:43 vendethiel joined
Rounin What is that code supposed to do 13:48
Is the condition the bit after the semicolon?
mvuets yes
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
Rounin Not globally
mvuets right
rational: avoid polluting a scope
13:49 sven_123_ left
Rounin Not exactly a joy to read, though 13:49
mvuets agreed (-:
b2gills if .some.expensive.operations -> $a { if .another-expensive-operation -> $b { $a.say; $b.say }} 13:50
13:50 sven_123 joined
mvuets Rounin: golang uses that construct mostly for error checking (returned from functions) as it has no exceptions 13:51
Rounin Hmmm... 13:52
HMMMM....
In my day we returned null if we didn't like something
mvuets what would be a single argument analogue in p6? in p5 it's: if ((my $x = foo()) == 42) { ... }
13:53 mvuets left
moritz Rounin: ... and read the error string from a global variable. Bad old days :-) 14:00
14:02 noganex_ joined
Rounin moritz: Error string? Just print "Kernel image segmentation 0xFFAAADF09AB09" and no one will dare question it 14:04
14:04 noganex left
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:04
14:05 vendethiel left
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 onebitboy left
smls mvuets: ^^ the arrow syntax does work, and for a single argument it can even makes sense to use it :) 14:06
m: (if (0, 10).pick -> $x { say $x } else { say $x }) for ^10 14:07
camelia rakudo-moar 91d899: OUTPUT«===SORRY!=== Error while compiling /tmp/lKYVBAQAuE␤Variable '$x' is not declared␤at /tmp/lKYVBAQAuE:1␤------> 10).pick -> $x { say $x } else { say $x⏏ }) for ^10␤ expecting any of:␤ postfix␤»
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␤»
smls :)
moritz the nice syntax just doesn't work for storing + comparing 14:09
for that you still have to use if 42 == (my $x = ...) { }
smls oh, right
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:10 ptc_p6 left
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
masak yes, granted. 14:20
moritz another solution is given foo() -> $x { when 42 { say $x } }
14:21 PerlJam joined
JimmyZ_ masak: any good esc paper suggestion? 14:26
14:27 ptc_p6 joined 14:31 kaare_ left 14:32 onebitboy joined 14:38 noganex joined
PerlJam #perl6++ (for starting to fill in the advent schedule) 14:41
14:41 noganex_ left
moritz PerlJam: will you write the "table of contents" post for this year? 14:43
14:43 pecastro joined
PerlJam sure 14:43
14:49 pecastro left 14:50 pecastro joined, exixt left
masak JimmyZ_: maybe www.ssw.uni-linz.ac.at/Research/Pap...ler_14.pdf 14:53
JimmyZ_ masak: oh, thanks
pretty big one :) 14:54
and pretty new: May, 2014
14:54 pecastro left
masak aye. 14:57
can't vouch for its quality, since I only skimmed it. 14:58
but it looks like it hits some very nice points.
15:02 vendethiel left
[Coke] an inline:p5 article would be awesome. 15:02
masak oh yes
nine? 15:03
masak realizes that "nine" would have been the perfect nick around the time of p4-p5 integration
JimmyZ_ masak: oh, it also mentioned Allocation Sinking optimization too 15:09
the paper
9.2.1 LuaJIT 15:10
15:10 vendethiel joined 15:11 pecastro joined 15:12 mvuets joined 15:13 onebitboy left
mvuets catching up on irc.perl6.org 15:14
15:15 noganex_ joined
jnthn just managed that :) 15:16
Agree that the if thing is probably already at the right level of sugar :) 15:17
Easy to get addicted and want more though :)
masak then define custom statement forms :>
not everything has to be solved in core. 15:18
15:18 [Sno] left
jnthn Hey, you the macro guy :P 15:18
mvuets i have to read up on this arrow operator
15:18 noganex left
jnthn Well, it's a way to write a block takng parameters rather tahn an operator 15:19
m: my $lol = -> $a, $b { $a ~ 'wtf' ~ $b }; say $lol('omg', 'bbq')
camelia rakudo-moar 91d899: OUTPUT«omgwtfbbq␤»
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.
m: my &b = -> $what { say "look, I'm a $what!" }; b "term" 15:21
camelia rakudo-moar 91d899: OUTPUT«look, I'm a term!␤»
JimmyZ_ masak: thank, it really hits some very nice points
*thanks
mvuets m: my $lol = sub ($a, $b) { $a ~ 'wtf' ~ $b }; say $lol('omg', 'bbq') 15:22
camelia rakudo-moar 91d899: OUTPUT«omgwtfbbq␤»
mvuets is an anonymous sub much different from an arrow block? 15:23
can i call it lambda?
or closure?
jnthn Yes, in fact -> is parsed in the gramamr by a rule lambda
It is a closure too
Tehre are two differences with anonymous sub
1) -> blocks are transparent to return 15:24
2) The default type constraint on a pointy block param is Mu, whereas in a sub it's Any
Oh, also you can .wrap a Sub, but not a Block.
mvuets ok, it raises even more questions (-: 15:25
i better stop here for now
thanks for the explanation though!
15:30 kaleem left 15:31 telex left
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␤»
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␤»
colomon had no idea.
mvuets++ # asking good questions
15:32 telex joined
jnthn Well, you probably did have an idea, just didn't generalize :) 15:33
sub foo() { for @xs -> $x { if $x == 42 { return 'badger' } }
colomon ;) 15:34
jnthn That "obviously" returns from the sub :)
colomon right
but it never occurred to me that would be true for any anonymous sub.
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:35
ugexe is there a way to tell if a pipe command is finished before closing it? 15:39
15:39 kaare_ joined
ugexe on jvm specifically im getting an error with my $handle = pipe($cmd, :r); <a loop on $handle> $handle.close.status; 15:39
although the error is random 15:40
hoelzro o/ #perl6 15:41
ugexe github.com/ugexe/panda/blob/master...ter.pm#L27 15:42
java.lang.IllegalThreadStateException: process hasn't exited 15:43
15:45 rindolf left
mvuets hoelzro: \o 15:50
jnthn hoelzro\
timotimo hm, right, a process may close its stdout and stderr before actually exiting
ugexe so should it be closing the handle, then waiting for a status? 15:53
15:54 molaf joined 15:55 abraxxa left, rurban left 15:58 rindolf joined
timotimo hm, not sure 15:58
15:59 mr-foobar left
hoelzro o/ mvuets, jnthn 15:59
16:06 rurban joined
rjbs looks at travel plans for FOSDEM. :-) 16:07
16:07 raiph joined 16:10 denis_boyun left
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?
and do they have to all be implementation specific
16:12 bjz left
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: rt.perl.org/rt3//Public/Bug/Displa...?id=123323
timotimo Ulti: no and no 16:13
16:13 bjz joined
Ulti okdeoke, I'll see if the author of BioPerl6 wants to write something about bioinformatics and P6 with me then 16:13
because there is already a lot of nice stuff in core for people doing bioinformatics as well as the ecosystem 16:14
raiph ++Ulti
mvuets Ulti: real world use cases and applications - sounds awesome!
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
Ulti like I think you guys perhaps underestimate how utterly useful bag is for someone working in bioinformatics 16:16
rjbs blinks, realizing Ulti ne Util. :) 16:17
Ulti and that not that many languages have counting dictionaries available as core
especially ones that also have grammar engines too :D
rjbs yeah it's unfortunate, I'm more chatty and less useful than Util :3 16:18
16:18 dwarring left
Ulti I still haven't properly used the nice regex converter Util made for me 16:19
tadzik grumbles at wordpress
16:20 JimmyZ_ left
jnthn hotel & 16:21
tadzik preview of the future available: perl6advent.wordpress.com/?p=2285&a...ew_id=2285 16:23
proofreading welcome :)
ugexe Error 404 - Not FoundError 404 - Not Found 16:24
16:25 sqirrel_ joined
tadzik oh noes 16:25
perhaps it's for editors only, let me provide you with a snapshot somehow...
ugexe: feather.perl6.nl/~tjs/rakudobrew.md is close enough :) 16:27
the funny-looking characters are unicode quotes
16:32 FROGGS left
dalek rl6-roast-data: 1d25fb2 | coke++ | / (4 files):
today (automated commit)
16:36
ugexe tadzik: rakudobrew build panda ? or build-panda in re: to rakudostar? 16:37
16:37 psch joined
psch 'lo #perl6 o/ 16:38
[Coke] looks like moar flapped again today on os x.
ugexe tadzik: grammar change suggestions gist.githubusercontent.com/ugexe/6...tfile1.txt 16:42
tony-o ugexe: third has 'uses' instead of 'use' 16:43
ugexe roger that 16:44
tony-o what's our vector victor
ugexe ask ron
16:45 zoosha_ left 16:46 mvuets left, kaleem joined 16:48 [Sno] joined
timotimo tadzik: there's a "writer's tools" button below the edit box where you can "get a link without sending an email" 16:49
16:50 zakharyas left 16:52 zoosha joined 16:54 anaeem1_ joined, benz_ joined 16:55 anaeem1_ left, benz_ left
Ulti can I rely on .keys and .values ordering to be matched? 16:56
[Coke] I think so, but use .kv instead.
Ulti well I want each as a different list anyway
moritz I just put up an issue with SVG not sure if it's me or you ;P 17:03
17:05 pyrimidine joined 17:09 kaleem left
raydiak \o 17:14
17:15 sqirrel_ left
smls m: slurp 17:15
camelia ( no output )
17:16 anaeem1 joined 17:17 atroxaper joined
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:17
17:19 anaeem1 left 17:21 atroxaper left, vendethiel left 17:25 anaeem1_ joined 17:26 vendethiel joined 17:27 raiph left 17:31 fhelmberger left
[Coke] are you running it locally with command line args, or in repl, or? 17:32
ugexe perl6 -e 'slurp' does it
may be picking the wrong multi sub slurp 17:33
in io_operators.pm 17:34
tadzik ugexe: both work :)
(as for build panda)
ugexe: thanks for the grammar :) 17:35
17:36 raiph joined
hoelzro pragmaticperl.com/issues/22/pragmat...D0%B0.html 17:41
long article about Perl 6 in Russian
looks interesting!
TimToady on the memory usage issue, when I get done debugging my epsilon-removing optimization, NFAs will be about 40% smaller 17:43
that should help startup time too
arnsholt TimToady++
TimToady unfortunately epsilon removal uncovers a bug where something is producing a state with no edges 17:44
arnsholt Whoops
TimToady so removing an epsilon point to it blows up
*pointing
about 2/3s of the epsilon can be removed though, just leaving the ones that describe a state fanout 17:45
which will get us a lot closer to DFAability
arnsholt Sounds promising
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
TimToady there are various considerations 17:46
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
TimToady it would have to cache common states
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
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:48
plus it's more storage to cache DFA states, even if we don't generate them all 17:49
(and we can't, because our NFAs would certainly go exponential)
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:51
so I'll probably try DFAing the first decision point and see how it goes 17:52
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
due to the aforementioned bug
which I'm not fixing while I'm gabbing here... :) 17:54
17:55 Sqirrel left 17:56 Sqirrel joined 17:57 zakharyas joined 17:59 mvuets1 joined 18:00 dakkar left 18:09 Mso150 joined, virtualsue left 18:10 denis_boyun_ joined 18:12 Isp-sec joined 18:15 anaeem1_ left 18:16 anaeem1_ joined, mr-foobar joined, anaeem1_ left
jnthn TimToady++ # fixing the places where our NFA are Not ... Awesome 18:22
18:23 raiph left 18:26 j4janicej is now known as j4jackj
dalek : 5155b36 | Ulti++ | misc/perl6advent-2014/schedule:
15th Bioinformatics stuff

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
18:29 raiph joined
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
18:30 ab5tract joined 18:34 beastd joined
ab5tract o/ #perl6 18:34
i've added some more thoughts to my pull request: github.com/rakudo/rakudo/pull/335#...t-64990267
any thoughts would be most appreciated 18:35
18:38 Mso150_l joined, Mso150 left 18:40 j4jackj is now known as j4janicej 18:45 anaeem1_ joined
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:46
dalek c: 239bee5 | (Konrad Borowski)++ | lib/Language/operators.pod:
Fix compilation error in Foo.Bar::baz exmample.
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
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
if we take this approach
tl;dr I think I probably agree :) 18:52
18:53 rindolf left, rindolf joined
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
18:54 noganex joined
ab5tract TimToady: \o/ 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 noganex_ left
PerlJam mvuets1: not by rakudo (yet) 18:58
ab5tract mvuets1: github.com/perl6/std
mvuets1 ab5tract: yeah, that one (-:
ab5tract :) 18:59
TimToady: so what would you like in the way of assurances that there are not counter-intuitive effects for this approach?
PerlJam mvuets1: the only implementations that actually use STD.pm6 are in that repo and niecza (github.com/sorear/niecza) 19:00
ab5tract shall i just implement it and then we can see?
psch std: 1
camelia std 76ccee1: OUTPUT«ok 00:00 135m␤»
19:01 FROGGS joined 19:02 spider-mario joined
TimToady ab5tract: I'm fine with that, as long as you're fine with reverting it if it turns to tragedy :) 19:02
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)?
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 :)
psch also something of a reference regarding how failures should look 19:06
psch remembers the "gobble" incident
ab5tract TimToady: what other options do we have? :)
mvuets1 how does rakudo parse p6 then?
PerlJam mvuets1: IT has it's own grammar (Based on STD)
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
the intent of STD was to give a target for implementations to converge on, and rakudo has mostly converged by now 19:07
19:07 rindolf left
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
smls e.g. "1" --> Int, "1.0" --> Rat
ab5tract ah, sorry, i meant aside from me implementing the set promotions even in the face of a potential revert
smls: in what way does casting a Set to a Bag or Mix violate that?
smls Well, which of the Set/Bag/Mix types would the set operators map other types such as lists to? 19:09
Or would non-setty types no longer be allowed as arguments to those operators?
ab5tract always the most complicated partner
19:09 zakharyas left
ab5tract smls: if you pass two lists, you get Set 19:09
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 :)
smls hm
ab5tract so the coercion logic is consistent
TimToady smls: we do some dwimmery on things that are forced through the textual bottleneck, sure, but what abstract said
you're worrying about the types of the keys, but ab5tract++ is talking about the types of the values
19:11 pecastro left
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
TimToady the only influence on the values is possible multiplicity in the input
or pairs, if you're coercing 19:12
19:12 denis_boyun_ left
smls the setops do coerce, currently 19:12
19:12 anaeem1_ left 19:13 anaeem1 joined
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
the more general of the provided args, I should clarify
mvuets1: the specs and std are guidelines for writing tests, and for implementing to those tests
but it's really the tests that define the language 19:14
smls m: say <2, 4, 6> (<+) <2, 4, 4, 6, 6>
camelia rakudo-moar 91d899: OUTPUT«True␤»
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 :)
moritz to all p6 advent authors: please put your posts into the "2014" category
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 :)
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
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?
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
19:17 anaeem1 left
ab5tract okay, then why are there not separate baggy operators for _all_ the operators? 19:17
TimToady [Coke]: nope
ab5tract also, why do none of our set operators treat Mixes as Mixes?
if you look at my pull request, i try to address all of this
19:17 Mso150_l_b joined
PerlJam [Coke]: probably whatever someone starts using will either be adopted or cause motion towards another syntax ;) 19:18
19:18 Mso150_l left
[Coke] maybe #?<start version> and eventually #?<start version>-<end version> 19:18
19:18 robinsmidsrod left
[Coke] #?v6.0.0 e.g. 19:18
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?
smls ab5tract: Well, maybe there *should* be 3 complete sets of operators for sets/bags/mixes
TimToady only if there were a systematic way to name them all, which there isn't
given we support math notations that already violate that... 19:20
.u union
yoleaux U+222A UNION [Sm] (∪)
19:20 robinsmidsrod joined
TimToady .u n-ary 19:21
yoleaux U+2140 DOUBLE-STRUCK N-ARY SUMMATION [Sm] (⅀)
U+220F N-ARY PRODUCT [Sm] (∏)
U+2210 N-ARY COPRODUCT [Sm] (∐)
TimToady .u n-ary.union
yoleaux U+002D HYPHEN-MINUS [Pd] (-)
U+002E FULL STOP [Po] (.)
U+0061 LATIN SMALL LETTER A [Ll] (a)
TimToady er...
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
psch i wouldn't interpret the proposal as such, either
TimToady it's more like, let's use + regardless of what kind of numbers we're adding
ab5tract on the contrary, imagine if we had separate operators for addition for Int and Rat
thanks TimToady :)
TimToady (and let's *not* use plus for concatenation!) 19:23
FROGGS yeah, we learned that one from JS :o)
TimToady well, not me
I've learned it from any number of languages, but not JS... 19:24
it seems to be a common failing among language designers
FROGGS ohh yes, I just wanted to say that one can see now that it proved to be the wrong way
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:26
*your 19:27
TimToady hates on English orthography a bit... 19:28
FROGGS I find & in VB very disturbing (amongst many many other things)
TimToady hates on ASCII a bit too
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
jercos and then only keep up a .NET backend that relies heavily on winapi calls to native 19:30
19:30 denis_boyun_ joined
TimToady in general, past history has shown that languages designers should try to keep an arms-length distance from large corporations 19:31
too much temporary corporate blessing usually backfires in the wider scheme of things 19:32
b2gills The reason Javascript is the way it is, is in part because the designer was told to make it look like Java 19:34
FROGGS I wouldn't mind getting sponsored by a bigger company though :o) 19:35
b2gills: but happily it does not feel like Java :o)
TimToady very much enjoys being sponsored by a small company, craigslist++ 19:36
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 :)
moritz variety++ 19:39
masak biological variety! :D 19:42
moritz now we also have to get brrt to blog about his gosc project 19:43
19:44 ab5tract left
b2gills FROGGS: I don't see that happening without a cataclysmic event. ( Even in the Star Trek universe it was required ) 19:46
19:48 noganex_ joined
FROGGS b2gills: let's just hope that the post atomic horror won't happen this century :o) 19:49
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
[Coke] TimToady: anyone else at CL looking into using p6 yet? 19:51
19:51 noganex left
TimToady I'm not pushing it there yet, but give it a year or so :) 19:52
TimToady just makes sure to point out that P6 is better whenever P5 does something screwy :) 19:53
19:54 anaeem1 left
TimToady but as to CL's actual plans, that's all sekrit :) 19:54
19:55 anaeem1 joined, anaeem1 left 19:56 anaeem1_ joined, anaeem1_ left
TimToady other than that they plan to support me for another year :) 19:57
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 $
:D
moritz ... by writing a p6 to PHP compiler :-)
FROGGS eeeks
[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
TimToady [Coke]: well, stop using those silly macs :P
FROGGS SOAP is still my blocker... yeah, and time
Ulti pyrimidine coming from an organic molecule that means a lot!
[Coke] huh. I should start a perl tech group inside $dayjob; I'm sure lots of people are using it.
(perl) beaten to it. 20:01
TimToady darn it, how'd it get to be lunchtime already? 20:03
20:04 Mso150 joined, Mso150_l_b left 20:08 darutoko left 20:10 anaeem1_ joined 20:11 ptc_p6 left 20:12 ptc_p6 joined 20:15 treehug88 left, treehug88 joined 20:17 ab5tract joined 20:20 colomon left 20:21 dario joined
dalek : 2659089 | (Pepe Schwarz)++ | misc/perl6advent-2014/schedule:
[perl6advent] Added topic.

Contents will at least be "what is needed for multis and how far am I". Completeness of the implementation is dependent on how I get.
20:23
psch eh, how *far*
:/
dario hoi la 20:24
moritz psch: do you already have a p6advent login?
psch moritz: no. i think i don't even have a wordpress account
moritz psch: /msg me your email address, I'll send you an invitation 20:25
psch moritz: done
moritz psch: invitation sent 20:26
psch moritz: thanks, i'll take care of that during the next jvm build 20:27
20:27 anaeem1_ left, dario left
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
20:29 anaeem1 joined 20:33 anaeem1 left
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:33
20:37 anaeem1_ joined 20:57 Isp-sec left
rjbs Is there a place where all the cool Perl people are staying for FOSDEM? /me books. 20:57
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:00 anaeem1_ left
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:03 Mso150 left 21:05 anaeem1_ joined 21:10 colomon joined 21:14 Mso150 joined 21:15 Isp-sec joined 21:17 virtualsue joined 21:22 anaeem1_ left, mephinet- joined, perltricks joined, mr-fooba_ joined 21:24 raiph left, perlpilot joined, romel_ joined, atta_ joined 21:26 rurban left, flussenc1 joined 21:27 oetiker_ joined 21:28 vike1 joined, treehug88 left 21:29 FROGGS left, Celelibi left, treehug88 joined 21:30 timo joined, ptc_p61 joined, timo is now known as Guest18863
moritz and the *really* cool ones were too cool for breathing, and stopped dead after about three minutes 21:34
21:35 ptc_p6 left, mr-foobar left, PerlJam left, atta left, TuxCM left, [Tux] left, romel left, vike left, j4janicej left, hugme left, oetiker left, timotimo left, mephinet left, flussence left, telex left, Celelibi joined 21:36 lizmat joined, hugme joined, ChanServ sets mode: +v hugme, telex joined
TimToady I thought they cooled after they stopped breathing... 21:39
lizmat arrived in Perl earlier this evening, and had dinner in the Perler Hof 21:40
I'm pretty sure TimToady remembers the place :-)
TimToady in a PTSDy sort of way :) 21:41
.oO( tuxic shock syndrome :)
21:42
21:46 blackbolt10 joined 21:48 Gladiator_ joined, noganex joined, Gladiator_ left, perlpilot is now known as PerlJam 21:49 Sqirrel left
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
21:50 woolfy joined
psch blackbolt10: are you by chance on a 32bit system? 21:51
blackbolt10: also, which backend?
21:51 noganex_ left
blackbolt10 i have 64bit windows with vm virtualbox 21:51
21:51 lizmat left
psch blackbolt10: is the vm 32bit? did you install perl6 from the debian repositories? 21:52
21:52 colomon left
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
itz blackbolt10: I had that .. I think the shared library it tries to load is named differently 21:53
blackbolt10 psch: debian is 32bit
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'
itz blackbolt10: I think I cheated with a sym link
trying to find what I did 21:55
21:55 anaeem1 joined
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
gtk install with no problem
21:56 atta_ is now known as atta 21:58 anaeem1 left 22:00 lizmat joined
itz I think I added this sym link on 64 bit Debian stable 22:00
lrwxrwxrwx 1 root root 13 Oct 15 21:02 /usr/lib/x86_64-linux-gnu/libgtk-3.so -> libgtk-3.so.0
I should have fixed it properly :\
blackbolt10 itz: When i install gtk on Ubuntu VM i need libgtk-3-dev 22:04
itz: like jnthn say --notests helped
PerlJam Will NativeCall find its way into rakudo sometime before 6.0.0? 22:06
22:08 Alina-malina left
[Coke] Into the compiler? I would vote no. 22:08
22:08 anaeem1_ joined 22:09 kaare_ left 22:11 Alina-malina joined 22:12 blackbolt10 left 22:15 colomon joined
[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:15
22:17 wtw left, wtw joined, mvuets1 left 22:19 j4jackj joined 22:20 Mso150 left
lizmat ugexe: re 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)
lizmat I'm pretty sure I fixed that with: github.com/rakudo/rakudo/commit/70...6b86300bd8
ab5tract [Coke]: i think 6.0 is a perfect opportunity for Rakudo Star to shine :) 22:24
22:26 anaeem1_ left, j4jackj is now known as j4janicej, ptc_p61 left
[Coke] Andrew Shitov++ # the russian pragmatic perl 6 article. 22:28
22:29 TuxCM joined 22:31 [Tux] joined 22:36 BenGoldberg joined 22:41 Isp-sec left
rjbs [Coke]: I saw it, but I don't read Russian. What did it say? :) 22:41
[Coke] rjbs: I just hit the translate button. bunch of good stuff, with a lot of intro-to-perl6. 22:48
22:49 spider-mario left
[Coke] just found a meta advent: perlnews.org/2014/12/advent-calendars-2/ 22:49
er, which links to: www.lenjaffe.com/AdventPlanet/2014/index.html 22:50
which has us.
22:50 virtualsue left
dalek rl6-most-wanted: af2c507 | (David Warring)++ | most-wanted/modules.md:
Added CSS::Writer (WIP). Recategorize CSS::Tiny as minimal
22:51
22:51 psch left
dwarring [Coke] ++ just reminded me to update this 22:52
tony-o how would i pass a method reference to a sub?
22:53 denis_boyun_ left
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␤␤»
lizmat goodnight, #perl6! 22:59
23:00 Guest18863 is now known as timotimo 23:01 pmurias joined
dalek p-js: 2063552 | (Pawel Murias)++ | src/vm/js/nqp-runtime/ (3 files):
Handle type objects better to so that tests don't break when we define NQPMu.
23:02
p-js: b0085d8 | (Pawel Murias)++ | src/vm/js/mini-setting:
Add a partial NQPMu to the mini-setting.
p-js: 46678fd | (Pawel Murias)++ | src/vm/js/ (3 files):
Support mixing :foo, and |%args in the same method call.

Pass test 25.
p-js: b97120f | (Pawel Murias)++ | src/vm/js/ (3 files):
Fix existspos, pass test 59.
p-js: c464545 | (Pawel Murias)++ | src/vm/js/ (2 files):
Pass test 26.

Fix handling of $foo."$method".
rl6-most-wanted: 8f5f7fb | (David Warring)++ | most-wanted/modules.md:
remove stray character
23:04
23:05 Alina-malina left 23:06 noganex_ joined 23:09 noganex left 23:14 PacoLinux joined 23:17 Alina-malina joined 23:20 PacoLinux left 23:22 perltricks left
smls for "abcde" ~~ m:g/\w/ { say $_ } 23:25
m: for "abcde" ~~ m:g/\w/ { say $_ }
camelia rakudo-moar 91d899: OUTPUT«False␤»
smls How are m:g regexes supposed to be used?
23:32 beastd left 23:33 ab5tract left 23:40 Ugator left 23:42 gfldex left 23:44 dalek left 23:45 treehug88 left
[Coke] m: say ("abcde" ~~ m:g/\w/) 23:47
camelia rakudo-moar 91d899: OUTPUT«False␤»
[Coke] m: say ("abcde" ~~ m/:g\w/)
camelia rakudo-moar 91d899: OUTPUT«===SORRY!=== Error while compiling /tmp/ZHu_qVaqZH␤Unrecognized regex modifier :g\w/)␤at /tmp/ZHu_qVaqZH:1␤------> say ("abcde" ~~ m/:g\w/)⏏<EOL>␤»
[Coke] m: say ("abcde" ~~ m/\w/)
camelia rakudo-moar 91d899: OUTPUT«「a」␤␤»
raydiak works w/o the smartmatch too (putting abcde into $_) 23:48
23:50 dalek joined, ChanServ sets mode: +v dalek
[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」␤␤»
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
tony-o raydiak: i'm using an instance :) 23:53
i may just turn this into a module instead of a class tho
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:55
raydiak waits for someone to chime in with the right punctuation magic to make it work 23:56
23:56 rmgk_ joined, rmgk is now known as Guest58176, Guest58176 left, rmgk_ is now known as rmgk