»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
Set by moritz on 22 December 2015.
Juerd Sent an email :) 00:02
00:10 mcmillhj joined 00:21 rgrinberg joined 00:43 BenGoldberg joined 00:44 Pierre_ joined, Pierre_ left 00:53 Pierre_ joined 00:57 Pierre_ left 01:01 salva left 01:03 bob777 left, bob777 joined 01:04 Pierre_ joined 01:12 nadim_ joined 01:14 nebuchadnezzar left 01:16 nadim_ left 01:22 kalkin- joined 01:25 kalkin-_ left 01:26 mcmillhj left 01:41 _slade_ left 01:42 _slade_ joined 01:55 Pierre_ left 01:59 lucs joined 02:01 Pierre_ joined 02:02 Pierre_ left, Pierre_ joined 02:03 eliasr left, Pierre_ left 02:10 Pierre_ joined 02:11 Pierre_ left, Pierre_ joined
AlexDaniel m: my @chars = (0..0x1FFFF).grep({.uniname ~~ /AIRPLANE/})».chr 02:20
camelia ( no output )
AlexDaniel m: say (0..0x1FFFF).grep({.uniname ~~ /AIRPLANE/})».chr
camelia rakudo-moar 22946e: OUTPUT«(✈ 🛦 🛧 🛨 🛩 🛪 🛫 🛬)␤»
AlexDaniel m: .say for (0..0x1FFFF).grep({.uniname ~~ /AIRPLANE/})».chr.uninames
camelia rakudo-moar 22946e: OUTPUT«Cannot resolve caller uninames(List); none of these signatures match:␤ (Str:D $str)␤ in block <unit> at <tmp> line 1␤␤»
AlexDaniel m: uniname.say for (0..0x1FFFF).grep({.uniname ~~ /AIRPLANE/})».chr 02:21
camelia rakudo-moar 22946e: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Calling uniname() will never work with any of these multi signatures:␤ (Str:D $str) ␤ (Int:D $code)␤at <tmp>:1␤------> 3<BOL>7⏏5uniname.say for (0..0x1FFFF).grep({.unin␤»
AlexDaniel m: .uniname.say for (0..0x1FFFF).grep({.uniname ~~ /AIRPLANE/})».chr
camelia rakudo-moar 22946e: OUTPUT«AIRPLANE␤UP-POINTING MILITARY AIRPLANE␤UP-POINTING AIRPLANE␤UP-POINTING SMALL AIRPLANE␤SMALL AIRPLANE␤NORTHEAST-POINTING AIRPLANE␤AIRPLANE DEPARTURE␤AIRPLANE ARRIVING␤»
AlexDaniel wait a minute, why is it so fast?
committable6: HEAD .uniname.say for (0..0x1FFFF).grep({.uniname ~~ /AIRPLANE/})».chr
committable6 AlexDaniel, ¦«HEAD»: AIRPLANE␤UP-POINTING MILITARY AIRPLANE␤UP-POINTING AIRPLANE␤UP-POINTING SMALL AIRPLANE␤SMALL AIRPLANE␤NORTHEAST-POINTING AIRPLANE␤AIRPLANE DEPARTURE␤AIRPLANE ARRIVING
AlexDaniel committable6: 2015.12 .uniname.say for (0..0x1FFFF).grep({.uniname ~~ /AIRPLANE/})».chr
committable6 AlexDaniel, ¦«2015.12»: AIRPLANE␤UP-POINTING MILITARY AIRPLANE␤UP-POINTING AIRPLANE␤UP-POINTING SMALL AIRPLANE␤SMALL AIRPLANE␤NORTHEAST-POINTING AIRPLANE␤AIRPLANE DEPARTURE␤AIRPLANE ARRIVING
AlexDaniel benchable6: 2015.12,HEAD .uniname.say for (0..0x1FFFF).grep({.uniname ~~ /AIRPLANE/})».chr 02:22
benchable6 AlexDaniel, starting to benchmark the 2 given commits
AlexDaniel, benchmarked the given commits, now zooming in on performance differences
AlexDaniel, ¦«2015.12»:1.2373␤¦«HEAD»:1.0631
AlexDaniel hm, it has always been fast then 02:23
benchable6: releases .uniname.say for (0..0x1FFFF).grep({.uniname ~~ /AIRPLANE/})».chr
benchable6 AlexDaniel, starting to benchmark the 11 given commits
AlexDaniel, benchmarked the given commits, now zooming in on performance differences 02:24
AlexDaniel, ¦«2015.10»:1.1376␤¦«2015.11»:1.1407␤¦«2015.12»:1.1768␤¦«2016.02»:1.1883␤¦«2016.03»:1.2774␤¦«2016.04»:1.2801␤¦«64fbc84»:1.3483␤¦«d3acb93»:1.2246␤¦«2016.05»:1.1342␤¦«2016.06»:1.0945␤¦«2016.07.1»:1.0498␤¦«2016.08.1»:1.0445␤¦«HEAD»:1.0812
02:24 bjz joined
AlexDaniel MasterDuke: where is my graph? :) 02:25
02:25 noganex joined
AlexDaniel MasterDuke: by the way, it looks like it extracts archives on each iteration 02:26
02:28 noganex_ left 02:31 bjz left
SmokeMachine____ If someone have time, could, please, give me some comments about the first version of my project? (github.com/FCO/Test-Fuzz). The idea is to create a framework that runs some generative tests to your functions (and in the future methods too) marked as "fuzzed"... 02:32
02:33 bjz joined 02:35 labster left
MasterDuke SmokeMachine____: i'd think -0 would actually be a very good test case 02:37
SmokeMachine____ this is a example of use: github.com/FCO/Test-Fuzz/blob/master/test.p6
02:38 bjz left
SmokeMachine____ MasterDuke: -0? 02:38
MasterDuke github.com/FCO/Test-Fuzz/blob/mast...uzz.pm#L53 02:39
SmokeMachine____ :P
ok, removing the unless... 02:40
02:44 cdg joined
SmokeMachine____ MasterDuke: so... what are you thinking about it? 02:48
AlexDaniel m: say “$_ → {.uniname}” for (0..0x1FFFF).grep({.uniname ~~ /«OLDER/})».chr 02:52
camelia rakudo-moar 22946e: OUTPUT«👴 → OLDER MAN␤👵 → OLDER WOMAN␤»
MasterDuke looks nice. but i gotta admit i know almost nothing about testing frameworks, so i don't really have anything to compare against
AlexDaniel
.oO( what about YOUNGER variants? )
.oO( … YOUNGER OLDER WOMAN ? )
TimToady needs a CHILDISH GEEZER... 02:54
SmokeMachine____ MasterDuke: In this case it "only have to" generate inputs for the function run the function and test the output...
MasterDuke: Thanks for the time and for the comment! 02:55
02:55 BenGoldberg left
MasterDuke and if i understand correctly it uses generators for each type in the signature (of which you've implemented Int and UInt so far)? 02:57
SmokeMachine____ that's it...
and you can use "fuzz-generator" to create new generators for custom types... 02:58
AlexDaniel TimToady: 🎅? :)
MasterDuke cool 02:59
mspo 👴 just crashed my firefox 03:00
I also don't have a console font icon for it
SmokeMachine____ MasterDuke: Ill create other generators...
TimToady AlexDaniel: Ho, ho, ho! 03:01
SmokeMachine____ MasterDuke: I think I should have different generators for :_, :D and :U... 03:02
MasterDuke: I don't know how to do that... 03:03
yes 03:05
yet (sorry)
MasterDuke multi fuzz-generator(UInt:D) doesn't work?
perigrin pretty sure that's called "laundromat dryer"
skids m: use NativeCall; class A { my $.foo = class :: is repr("CStruct") { has int $.a; has int $.b; } }; A.foo.perl.say; class D is repr("CStruct") { }; 03:06
camelia rakudo-moar 22946e: OUTPUT«<anon|86927184>␤»
skids m: use NativeCall; class A { my $.foo = class :: is repr("CStruct") { has int $.a; has int $.b; } }; A.foo.perl.say; class D is repr("CStruct") { constant foo = A.foo.perl.say; };
camelia rakudo-moar 22946e: OUTPUT«Any␤Any␤»
03:07 labster joined
SmokeMachine____ m: my $f = sub bla(Int:D $a){}; $f.signature.params.first.type 03:08
skids m: class A { my $.foo = class :: { has int $.a; has int $.b; } }; A.foo.perl.say; class D { constant foo = A.foo.perl.say; }; # not a NativeCall thing. Good.
camelia ( no output )
rakudo-moar 22946e: OUTPUT«Any␤Any␤»
SmokeMachine____ m: my $f = sub bla(Int:D $a){}; $f.signature.params.first.type.say
camelia rakudo-moar 22946e: OUTPUT«(Int)␤»
SmokeMachine____ MasterDuke: ^^
MasterDuke: thats how I choose the generator 03:09
MasterDuke hmm, that might require help from someone more knowledgeable than i 03:11
03:12 Woodi left
SmokeMachine____ MasterDuke: I found! 03:16
m: my $f = sub bla(Int:D $a){}; $f.signature.params.first.modifier
camelia ( no output )
SmokeMachine____ m: my $f = sub bla(Int:D $a){}; $f.signature.params.first.modifier.say
camelia rakudo-moar 22946e: OUTPUT«:D␤»
03:17 kyclark joined, AlexDaniel left
MasterDuke oh nice 03:18
didn't know about modifier
SmokeMachine____ me neither...
03:27 kyclark left 03:32 zengargoyle left 03:38 khw left
skids m: class A { my $.bar = 42; }; class D { constant bar = A.bar.say; }; A.bar.say; # RT#129261 filed. 03:40
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=129261
camelia rakudo-moar 22946e: OUTPUT«(Any)␤(Any)␤»
03:44 zengargoyle joined 03:46 wamba joined
TimToady m: BEGIN class A { my $.bar = 42; }; class D { constant bar = A.bar.say; }; A.bar.say; 03:50
camelia rakudo-moar 22946e: OUTPUT«42␤42␤»
03:50 holyghost joined 03:51 japhb left
TimToady m: class A { my $.bar = 42; }; A.bar.say; 03:51
camelia rakudo-moar 22946e: OUTPUT«42␤»
TimToady weird 03:52
03:53 japhb joined
TimToady m: class A { my $.bar = 42; }; class D { my constant bar = 43 }; A.bar.say; 03:54
camelia rakudo-moar 22946e: OUTPUT«42␤»
TimToady m: class A { my $.bar = 42; }; class D { BEGIN A.bar.say; }; A.bar.say;
camelia rakudo-moar 22946e: OUTPUT«(Any)␤(Any)␤»
TimToady m: class A { my $.bar = 42; }; BEGIN A.bar.say; A.bar.say; 03:55
camelia rakudo-moar 22946e: OUTPUT«(Any)␤(Any)␤»
TimToady skids: ^^ 03:58
skids adds to ticket. 04:00
04:04 holyghost left 04:09 holyghost joined
TimToady m: class A { BEGIN my $.bar = 42; }; BEGIN A.bar.say; END A.bar.say; 04:09
camelia rakudo-moar 22946e: OUTPUT«42␤42␤»
04:13 cdg left 04:15 skids left 04:16 holyghost left 04:18 japhb left 04:20 japhb joined 04:24 Timbus left 04:26 Timbus joined, Pierre_ left, Pierre_ joined, Pierre_ left 04:28 Pierre_ joined 04:30 Pierre_ left 04:35 Pierre_ joined
SmokeMachine____ MasterDuke: github.com/FCO/Test-Fuzz/commit/57...3d0059894e 04:38
now it accepts generators with smileys 04:39
04:40 Pierre_ left 04:50 japhb left 04:51 japhb joined 04:54 Pierre_ joined 04:58 Pierre_ left 04:59 Cabanossi left 05:02 Cabanossi joined 05:07 rgrinberg left 05:12 Pierre_ joined 05:17 japhb left, Pierre_ left 05:18 japhb joined 05:23 cog_ joined 05:26 cognominal left 05:30 Pierre_ joined 05:35 Pierre_ left 05:41 Pierre_ joined 05:42 wamba left 05:53 Woodi joined 06:06 bob777 left, bob777 joined, mniip left 06:09 CIAvash joined 06:10 bob777 left 06:12 mniip joined 06:15 bob777 joined 06:19 domidumont joined 06:23 Actualeyes left, wamba joined 06:24 nebuchadnezzar joined 06:26 firstdayonthejob joined 06:28 Actualeyes joined
wamba m: use URI; say IETF::RFC_Grammar.new("rfc3986") 06:31
camelia rakudo-moar 6a4ba7: OUTPUT«===SORRY!===␤Could not find URI at line 1 in:␤ /home/camelia/.perl6␤ /home/camelia/rakudo-m-inst-2/share/perl6/site␤ /home/camelia/rakudo-m-inst-2/share/perl6/vendor␤ /home/camelia/rakudo-m-inst-2/share/perl6␤ CompUnit::Repositor…»
06:35 salva joined 06:36 firstdayonthejob left 06:40 wamba left 06:45 rindolf joined 06:54 wamba joined 06:56 cpage left 07:01 _slade_ left 07:03 ufobat joined, cpage joined 07:12 cpage left 07:18 cpage joined 07:21 Pierre_ left
lizmat clickbaits p6weekly.wordpress.com/2016/09/12/...-youtuben/ 07:22
07:23 zakharyas joined
leejo lizmat: are your perl6 module slides from APW available online? my module is "ready" to be released \o/ 07:25
lizmat leejo: no, I guess I should make them available :-)
leejo ok :)
github.com/leejo/geo-ip2location-l...on/Lite.pm # it feels like i could make this more idiomatic (e.g. the list of constants and the multiple get_ methods) i'm not sure though? 07:26
moritz leejo: at least the list of constants sounds like a good use case for an enum 07:27
07:28 Pierre_ joined
lizmat leejo: I also see some superstitious parens 07:29
moritz leejo: and you could generate the accessors, something like for %method_to_constant.kv -> $name, $constant { self.^add_method("get_$name", method (IPv4 $ip) { self!get_by_pos( $ip, $constant ) } );
lizmat "if (foo == bar) {" can be written as "if foo == bar {" in Perl 6
leejo yeah i need to remove a few more of the extraneous params
moritz: ta! i was going to do something like that 07:30
lizmat also, like in Perl 5, you don't need a "return" at the end of a sub
but that could be a stylistic decision :-) 07:31
leejo :)
lizmat !readFloat looks wrong at the end: one or two return's too many (depending how you look at it
)
leejo oops, yep 07:32
07:38 g4 joined 07:43 darutoko joined 07:44 wamba left
CIAvash This command doesn't finish running, am I doing something wrong? perl6 --target=parse -e 'sub ($a, $b) {}' 07:47
a sub with one parameter works
07:50 wamba joined
DrForr Well, it's obviously to do with the '--target=parse' parameter, as "-e 'sub ($a, $b) {}'" does just fine. 07:51
nine Endless recursion in QRegex.dump 07:58
wamba perl6 -e 'use URI; say IETF::RFC_Grammar.new("rfc3986")' 07:59
Outputs: IETF::RFC_Grammar.new(rfc => "rfc3986", grammar => IETF::RFC_Grammar::URI, parse_result => Any)
Does "use module" export all modules used in the module?
nine wamba: right now, yes. Though that's unintentional and subject to change.
wamba nine, OK. thank you 08:00
ShimmerFairy nine: interesting. I think you could just as easily argue that things the module makes use of will likely be need by the module user (e.g. module Foo giving back data from module Bar direct to the user, which would then need module Bar to continue manipulating that data) 08:03
08:04 TEttinger left
nine ShimmerFairy: global registration of module short names prevents the promised feature of being able to load multiple versions of a module. 08:05
ShimmerFairy I'm not sure I see the cause-effect there. What about the globalness of it makes it suddenly impossible? 08:06
nine ShimmerFairy: "P6M Merging GLOBAL symbols failed: duplicate definition of symbol $sym" 08:07
ShimmerFairy nine: do you mean loading different versions in different places? Like sub foo { { use Foo:ver<1>; ... }; { use Foo:ver<2>; ... } } ? 08:08
nine yes
ShimmerFairy ok, I was thinking you meant loading different versions in the same scope :)
08:09 eyck left, eyck joined 08:14 andrzejku joined, wamba left
nine Also funny side effects like use Catalyst:from<Perl5>; and suddenly you cannot use URI or HTTP::Request anymore, since the Perl 5 modules share those names and are already loaded. 08:14
08:15 eyck left 08:21 eyck joined
CIAvash nine: Should I file a bug report for --target=parse? 08:26
lizmat CIAvash: please do :-) 08:27
08:34 wamba joined 08:36 RabidGravy joined 08:37 Pierre_ left
CIAvash rt.perl.org/Public/Bug/Display.html?id=129262 08:38
zengargoyle moritz: thanks for fixing MoarVM #403 08:42
moritz zengargoyle: you're very welcome 08:44
08:47 Pierre_ joined 08:51 Pierre_ left 08:52 wamba left 09:01 Pierre_ joined 09:02 jonas1 joined 09:05 vytas left 09:17 bjz joined 09:21 bjz left 09:24 bjz joined 09:30 bjz left 09:44 bjz joined 09:52 larion_ joined 09:53 vytas joined 09:54 larion_ is now known as larion 09:56 Pierre_ left 10:00 mcmillhj joined 10:02 andrzejku left 10:03 andrzejku joined 10:05 mcmillhj left 10:11 cgfbee left 10:13 canopus left 10:19 canopus joined 10:20 andrzejku left 10:21 cgfbee joined 10:23 MilkmanD1n left 10:28 MilkmanDan joined 10:49 bjz left 10:50 bjz joined 10:56 bjz_ joined, Pierre_ joined 10:57 labster left, bjz left 11:06 Pierre_ left 11:07 wamba joined
moritz drops a pin 11:10
rjt_pl steps on it 11:11
nine sssssht!
11:15 amaliaa joined 11:16 amaliaa left 11:17 amalia_ joined
DrForr . o ( Put your *weight* on it... ) 11:20
11:26 richi235 left 11:27 richi235 joined 11:32 wamba left 11:36 keix joined 11:38 keix left, keix joined 11:44 itaipu joined 11:47 wamba joined
dalek c: aa1c55e | (Thor Michael Støre)++ | doc/Type/DateTime.pod6:
Fixed timestamp format string

Removed superfluous : from timestamp format string
11:47
c: c102f85 | Altai-man++ | doc/Type/DateTime.pod6:
Merge pull request #904 from thormick/fix-timestamp-format-string

Fixed timestamp format string
11:49 zakharyas left 12:05 smls joined
smls Are threads supposed to see dynamic variables declared in the mainline prior to starting the thread? 12:10
jnthn No 12:11
A start block will go the extra mile to make that happen
12:11 wamba left
jnthn But if you work directly with threads then every one has its own fresh dynamic scope 12:11
smls I'm using `start` though
jnthn m: sub foo() { my $*a = 41; bar() }; sub bar() { start { $*a + 1 } }; say await foo 12:12
camelia rakudo-moar c86695: OUTPUT«42␤»
smls Adding an `await`...`start` caused `Dynamic variable $*tmpdir not found, even though it was found without it.
jnthn: Yes, I can't seem to golf the problem either. But in that large script, it happens... :P 12:13
jnthn Well, it's either the script at fault, or a bug. :)
I don't have any guesses at what could break it though, fwiw
It just takes the CALLER:: of whatever calls Promise.start iirc
Which is what a start { ... } compiles into a call to
smls m: our $*a = 42; await start { await start { say $*a } }
camelia rakudo-moar c86695: OUTPUT«Dynamic variable $*a not found␤ in block <unit> at <tmp> line 1␤␤»
smls aha! ^^ 12:14
jnthn m: my $*a = 42; say $*a.VAR.dynamic
camelia rakudo-moar c86695: OUTPUT«True␤»
jnthn m: our $*a = 42; say $*a.VAR.dynamic
camelia rakudo-moar c86695: OUTPUT«True␤»
jnthn Hm, not that then
smls Should that still work, when it's 2 levels deep into `start`?
jnthn Oh, I thought it was about the our... 12:15
Umm...I guess it'd be nice if it worked.
12:15 bob777 left
jnthn Can RT it; I don't see why we can't fix that. 12:16
smls ok, will RT
jnthn Thanks :) 12:18
12:21 Pierre_ joined 12:24 eliasr joined
masak ahoj, #perl6 12:26
masak typo'd it as '#perl76', and imagined a distant future where the Perl 75 people fret about Perl 76 squatting the version number, despite it being a rewrite-from-scratch 12:27
timotimo :D 12:28
12:29 cpage_ left 12:33 wamba joined 12:36 darutoko left 12:39 zakharyas joined
smls m: $GLOBAL::a = 42; await start { await start { say $GLOBAL::a } } 12:47
camelia rakudo-moar c86695: OUTPUT«42␤»
Pierre_ Small question, when adding a module to the eco system, better to use
unit module Foo::Bar:ver<v0.0.1>:auth<github:xxx>;
or
unit module Foo::Bar;
i see a lot of both, so i am wondering
nine Pierre_: version and auth are taken from the META6.json file. No real need to put it in the source, too. 12:48
Pierre_ ok, so i guess it's more if locally, i want to mangaged several version of some personnal project 12:49
then there is not meta, it could be taken from the source, but then, the files would collides with the same name
also, i guess with the current way of storing modules on github, we are not able to able several version, or should i create release and tag them with the same version number? 12:50
nine You can even have a META6.json locally when you run "perl6 -Ilib" and there's ./META6.json and ./lib/Whatever.pm6 12:51
timotimo it could very well be that zef already supports tags on github? 12:53
timotimo wonders, then shrugs
i should really be using zef more than panda
12:54 mcmillhj joined
Pierre_ github.com/tony-o/perl6-zef/search...;q=version 12:56
12:57 wamba left
Pierre_ i do not see anything related to version when installing 12:57
timotimo maybe "tag" or something? 12:58
12:58 cpage_ joined
Pierre_ the install part seems to jsut take a package name 12:59
hum, i am on an old repo
from the new repo 13:01
`zef install "CSV::Parser:auth<tony-o>:ver<0.1.2>"`
it seems that it handles version
timotimo mhm
Pierre_ github.com/ugexe/zef
13:10 cdg joined
ugexe nine: what about for versioning specific modules of a distribution instead of the distribution itself? 13:15
dalek osystem: 2d8d789 | (Julien Simonet)++ | META.list:
Add IRC::Client::Plugin::UserPoints

This is a plugin for IRC::Client, counting points attributed to users.
13:16
osystem: 3fd7522 | (Zoffix Znet)++ | META.list:
Merge pull request #248 from jsimonet/patch-1

Add IRC::Client::Plugin::UserPoints: github.com/jsimonet/IRC-Client-Plu...UserPoints
ugexe i dont know if thats actually useful, just the one thing i can think of where it would make sense
13:16 kaare__ joined
ugexe i imagine :api<> will be more useful for that 13:17
timotimo aye, :api<> is interesting 13:18
13:21 skids joined
nine ugexe: no plan yet how to support that. But the :api case crossed my mind. Right now you'd have to upload separate dists. 13:24
13:25 pullphinger joined, rgrinberg joined, Sgeo left 13:26 pullphinger left
Woodi simple case: if something provide usable api then make it separate dist :) 13:27
13:28 pullphinger joined
Woodi anyway, for now "distribution" is strange name to me. how it is defined ? 13:28
in p5 it was: bunch of some related/useful modules, IMO 13:29
timotimo i think our dists are "the smallest unit of installable" 13:31
Woodi timotimo: that's nice definition :) 13:32
I just got impression we have modules and at some level of details somehow/someway it is turning into dists... but probably I just forgot what jnthn++ specced... # also no idea what package is :) 13:34
13:36 dogbert2 joined, MilkmanDan left 13:38 MilkmanDan joined, sufrostico joined, dogbert17 left 13:46 wamba joined 13:53 tobor joined
tobor m: BEGIN @*ARGS = <blah dsaa>; multi MAIN ( @steps where { $_ eq <foo bar ber>.any or fail "blarg" } ) { say "entre" } 13:53
camelia rakudo-moar b771f1: OUTPUT«Usage:␤ <tmp> <steps> ␤»
13:53 MilkmanDan left
tobor How come it doesn't die during arg.... oh god 13:53
m: BEGIN @*ARGS = <blah dsaa>; multi MAIN ( @steps where { $_ eq <foo bar ber>.any or die "blarg" } ) { say "entre" }
camelia rakudo-moar b771f1: OUTPUT«Usage:␤ <tmp> <steps> ␤»
tobor Nope.. Thought the issue was the fail. How come it doesn't die during type check?
13:54 MilkmanDan joined
tobor m: BEGIN @*ARGS = <blah dsaa>; sub MAIN ( *@steps ) { @steps.all eq <foo bar ber>.any or fail "blarg"; say "entre" } 13:56
camelia rakudo-moar b771f1: OUTPUT«blarg␤ in sub MAIN at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤Actually thrown at:␤ in block <unit> at <tmp> line 1␤␤»
tobor BEGIN @*ARGS = <blah dsaa>; multi MAIN ( *@steps where { $_.all eq <foo bar ber>.any or fail "blarg" } ) { say "entre" }
m: BEGIN @*ARGS = <blah dsaa>; multi MAIN ( *@steps where { $_.all eq <foo bar ber>.any or fail "blarg" } ) { say "entre" }
camelia rakudo-moar b771f1: OUTPUT«blarg␤ in any at /home/camelia/rakudo-m-inst-2/share/perl6/runtime/CORE.setting.moarvm line 1␤ in sub MAIN at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
tobor m: BEGIN @*ARGS = <blah dsaa>; subset Foo where { $_.all eq <foo bar ber>.any or fail "blarg" }; multi MAIN ( Foo *@steps ) { say "entre" } 13:57
camelia rakudo-moar b771f1: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Slurpy positional parameters with type constraints are not supported␤at <tmp>:1␤------> 3ail "blarg" }; multi MAIN ( Foo *@steps 7⏏5) { say "entre" }␤ expecting any of:␤ constraint␤»
tobor too bad
13:57 tobor left
ugexe Woodi: just a META6.json is a valid distribution. you can also have distributions that have no modules (for example: just bin files) 14:00
Pierre_ any advice on how to debug stuff like that" 14:03
Cannot locate symbol 'msgpack_pack_str' in native library 'libmsgpackc.dylib'
14:04 robinsmidsrod left
Pierre_ i have a function in the .h file 14:04
static int msgpack_pack_str(msgpack_packer* pk, size_t l);
14:04 robinsmidsrod joined
timotimo if it's "static" you can't get to it 14:06
that's what static does to a function in C
Pierre_ ah right,
i did not use C in so long
14:07 jonas1 left
timotimo long int no C 14:10
dalek c: a0f6515 | (Zoffix Znet)++ | doc/Type/Any.pod6:
Include URL to what halting problem is

For those who never heard of it.
14:11 robinsmidsrod left, robinsmidsrod joined
ugexe my favorite part about active state is how they compile using a C89 compiler (maybe this changed recently, but i doubt it) 14:12
smls Zoffix: re that commit, when would `flat` ever eat all RAM? I thought it always operates lazily, by returning a Seq? 14:14
14:14 wamba left
smls Maybe that paragraph was written pre-GLR? 14:14
moritz s/Seq/Slip/
smls m: say WHAT flat 1, (2, (3, (4, 5))) 14:15
camelia rakudo-moar b771f1: OUTPUT«(Seq)␤»
14:15 g4 left
Pierre_ Hum, in my case, the library expose everything through static function, which means i would need to include the .h file 14:16
i'll take another look tomorrow :)
14:16 TEttinger joined
ugexe m: my $a := flat map { say $_ }, 1, 2, 3; $a[1] 14:17
camelia rakudo-moar b771f1: OUTPUT«1␤2␤»
14:17 acrussell joined
smls Zoffix: The rest of that section is bogus too; flat does "recurse into sub lists", it's just that the example given uses nested Arrays, which get containerized by their parent Array. 14:17
14:18 wamba joined 14:22 pierrot left
Woodi ugexe: thanx 14:24
14:24 perlpilot joined, bob777 joined 14:25 ptolemarch joined, ptolemarch left 14:26 ptolemarch joined 14:30 literal left 14:31 MetaZoffix joined
MetaZoffix smls: All my commit done is add a URL for a piece of text. I don't know why you're directing all of that critique to me. If the section sucks, commit a fix. 14:31
m: ^∞ .flat
camelia rakudo-moar b771f1: OUTPUT«(timeout)» 14:32
14:33 pierrot joined
smls Just pointing it out 'cause you were editing that part of the docs currently, so I thought maybe there's a reason you left it like that. 14:33
m: say (^∞ .flat)[^10]; say "Alive"; 14:34
camelia rakudo-moar b771f1: OUTPUT«(0 1 2 3 4 5 6 7 8 9)␤Alive␤»
MetaZoffix Nope. No reason. Just added a URL.
smls ok
14:37 literal joined 14:38 optikalmouse joined
optikalmouse nice, perl6 :D 14:38
MetaZoffix \o/ 14:39
optikalmouse I just tried rakudobrew, it works on os x, very pleased. I'm curious to know how big the performance diff is between moar and jvm; has someone done benchmarks of them and vs other languages?
I'm hoping perl6 is faster than ruby ;-)
MetaZoffix optikalmouse: not yet. We still have a ton of optimizations to do. Would you like to join the effort? :)
mst I think it'll depend for what 14:40
MetaZoffix optikalmouse: and JVM is much slower than Moar, in addition to being a bit incomplete ATM
mst optikalmouse: basically, up until christmas last year, people were focusing on 'optimisable' more than 'optimised'
14:40 pierrot left
skids jvm has very slow startup, and moarvm tends to get features first. 14:40
optikalmouse MetaZoffix: unfortunately I'm just trying to get back into writing, I'm starting to see I'm more of a coach/evangelizer 14:41
MetaZoffix :)
optikalmouse though I would love to spend 2 months just perf optimizing things...if only I could have enough $$ for that :/
skids: what's the name of the jvm implementation?
skids rakudo :-)
MetaZoffix optikalmouse: it's still the same compiler, you just tell it to use the jvm backend
skids They are backends.
optikalmouse ahhh ok. I thought I saw two other implementations of perl 6... 14:42
MetaZoffix There were others, but they are not maintained any longer
perl6.org/compilers/
skids optikalmouse: those (neicza/pugs) are stale at this point, though they were indisposable helps to the projects. 14:43
As for writing, we can always use help on the docs.
14:47 khw joined 14:50 pierrot joined
optikalmouse is there an alternative to running rakudobrew build? im getting 20kib/s :| 14:51
I can't tell if it's my office wifi or bad github :|
14:52 wamba left
TimToady github is usually pretty snappy when it's not down completely 14:56
TimToady guesses someone's been running the office microwave... 14:58
MetaZoffix optikalmouse: you can download source: rakudo.org/downloads/ www.moarvm.org/releases.html Most people don't use rakudobrew but R*: rakudo.org/downloads/star/
15:01 optikalmouse left
MetaZoffix (guess it wasn't github :P) 15:02
mst oh, damn, they pinged out as well 15:03
15:04 optikalmouse joined
Pierre_ include a pointer to a function in a CStruct seems difficult 15:06
15:08 djbkd left, bpmedley left, baest left, djbkd joined 15:09 baest joined 15:10 Roamer` left 15:11 Roamer` joined 15:12 captain-adequate joined, jnthn joined 15:13 kst` joined 15:14 domidumont left 15:16 Pierre_ left 15:21 Upasaka_ joined, Upasaka left
[Coke] hio 15:22
optikalmouse ,o/
mst optikalmouse: hey, so, if you've already got cpanminus installed, I've got a perl6 bundle as cpan modules you could try, see if that works better than git clones? 15:24
or you could build e.g. a rkaudo star tarball directly
I mention the former mostly cuz I want more people to try the thing I built before I cpan it properly ;) 15:25
15:25 xinming left, xinming joined
optikalmouse our net connection is just crap for some reason. yet the github website itself loads quickly enough -_- 15:26
15:26 acrussell left
mst optikalmouse: see if you can 'wget trout.me.uk/6dists/6serv.tgz' 15:27
optikalmouse and of course on os x you don't get wget -_-
it's downloading at a decent clip :D
mst: now what 15:28
mst optikalmouse: do you have cpanminus installed for doing perl5 installations?
optikalmouse not yet, will do 15:29
15:29 sQuEE left
optikalmouse ok it's installed 15:29
mst optikalmouse: right, so if you 'cpanm App::opan Carton' to get the installer bits you'll need 15:30
er, wait, you don't need carton
15:30 AlexDaniel joined
mst just 'cpanm App::opan' 15:30
then in 6serv/ you can run 'opan cpanm --installdeps .' 15:31
optikalmouse running random code from the internet? sure why not, it's jsut a work laptop ;-)
15:31 Actualeyes left
mst honestly, the scariest part of this was probably trout.me.uk 15:31
but I guess you're already trusting me at this moment so :)
timotimo not using https is dangerous
if your internet connection is "shit for some reason" maybe you're being 100% MITM'd? :)
MetaZoffix :D 15:32
timotimo by someone cruel enough to deploy a raspberry pi 1 A for that task
mst timotimo++
MetaZoffix mst's plan for world domination: make P6 CPAN dists and find enough people to "try it out" :P
mst yes, I'm a terrible person for not having updated the webserver config for my personal site in a decade or so
optikalmouse timotimo: I wouldn't be surprised, our company is owned by ticketmaster, $$$ everywhere
;)
mst MetaZoffix: I'm going to cpan it soon, tried to figure it out on sunday, worked out my todo list, but was too tired to actually do it 15:33
optikalmouse "just cpanm Ticket::Scalper! it won't do nothing bad!"
mst which reminds me, I need more coffee and steroid nasal spray
MetaZoffix Interesting. I usually put cream in my coffee instead. 15:34
15:35 sQuEE joined
optikalmouse don't have `opan` in my path :| 15:37
but the rest of the command seems to be running fine...
mst: `cpanm --installdeps .` 15:38
mst: now what? 15:39
15:39 itaipu left
mst optikalmouse: if you don't have opan in your path, you probably need to do 15:40
eval $(perl -I$HOME/perl5/lib/perl5 -Mlocal::lib)
(and add that to .bashrc or whatever)
then in 6serv/ you need to run 'opan cpanm --installdeps .'
you can't run just 'cpanm --installdeps .', that won't find the perl6 stuff 15:41
optikalmouse k cool
plz update your readme with that info ;-)
mst I don't have a readme yet in there 15:42
I built that on the last afternoon of YAPC::EU to show off in a lightning talk 15:43
and so I could get people to test it before I unleash it on cpan proper ;)
15:45 optikalmouse left, itaipu joined, Actualeyes joined, leejo left 15:46 itaipu left, itaipu joined 15:47 itaipu left 15:49 itaipu_ joined, itaipu joined, itaipu left 15:58 optikalmouse joined
optikalmouse yeah opan isn't working 16:00
moritz wtf is open?
*opan
mst optikalmouse: how not
moritz: p3rl.org/App::opan - I've built a small opan with my Alien::Rakudo stack in it for pre-cpan testing 16:01
optikalmouse oops had to force install it, it's failing tests.
moritz mst: nice
optikalmouse also have to install inline::perl6
mst optikalmouse: don't install Inline::Perl6 from cpan!
don't
that won't work
optikalmouse lol ok
mst you *must* do it via the 'opan cpanm' command
optikalmouse ok 16:02
TimToady obviously any link to p3rl.org is placed there by evil h6x0rs
optikalmouse ! cannot open file '/Users/rudolfolah/.cpanm/sources/http%localhost%61666%combined/02packages.details.txt.gz': No such file or directory opening compressed index
mst there's a tweaked Inline::Perl6 in there. if you don't use the right one, then yes, tests will fail
optikalmouse: what directory are you in?
optikalmouse 6serv
mst can you run 'ls pans/combined' please? 16:03
optikalmouse dists, index, index.gz 16:04
mst hrm, so, it should be able to pull that fine 16:05
maybe firewalling stopping it hitting it?
can you run 'find pans/' then 'opan cpanm --installdeps .' and post the output of both to fpaste.scsys.co.uk/perl6 please? 16:07
optikalmouse: sorry about this, I'm not yet sure what's gone wrong, thank you for playing guinea pig
optikalmouse no sweat, better than waiting for github to build moar ;) 16:08
more fun at least
back to waiting for github... 16:10
mst hm?
optikalmouse with rakudobrew install...slow slow internet :/ 16:18
16:20 kurahaupo joined 16:22 CIAvash left 16:26 domidumont joined 16:28 optikalmouse left 16:30 MetaZoffix left
smls m: my $x = <0>; say so "$x"; 16:32
camelia rakudo-moar b771f1: OUTPUT«False␤»
smls IntStr is weird
16:35 wamba joined
timotimo oh, .Str on it just returns self? 16:36
smls m: my $x = <0>; dd $x.Str; dd "$x"; 16:39
camelia rakudo-moar b771f1: OUTPUT«"0"␤IntStr.new(0, "0")␤»
16:39 larion left
smls timotimo: No, it looks like "" just cuts corners 16:39
mst op... damnit, I was going to debug it for you 16:40
timotimo ah
mst and he's gone again
mst sulks
TimToady obviously you need to fix their network first 16:42
mst actually, what I need is to be three yaks further forward in my great shave, and then I'll be able to write an installer that, if something goes wrong, has a single command to upload the full failure log for me if you're willing to run it 16:44
16:44 _slade_ joined, acrussell joined
mst fixing their network is possible easier though ;) 16:44
timotimo neat.
16:50 bob777 left 16:54 eyck left 16:56 AlexDaniel left 17:01 cdg left 17:06 cdg joined 17:07 eyck joined 17:13 eliasr left 17:16 rindolf left 17:23 girafe joined 17:26 firstdayonthejob joined 17:27 pierrot left 17:29 cdg left 17:35 optikalmouse joined 17:36 zakharyas left 17:38 pierrot joined 17:42 setty2 joined, setty1 left, setty2 is now known as setty1 17:43 pierrot left 17:44 rindolf joined 18:01 cdg joined 18:10 MetaZoffix joined 18:15 rgrinberg left 18:17 itaipu_ left 18:19 itaipu joined 18:22 FROGGS joined
optikalmouse sweet moarvm is finally building. damn this slow internet ;/ 18:23
are there lots of web frameworks for perl? which http server should I be using for a small rest api-ish site?
MetaZoffix heh
stmuk_ yes and depends
optikalmouse and why would I use zef over panda? 18:24
MetaZoffix 'cause it's better :P
optikalmouse lol ok. so, any Tiny web frameworks or Tiny http servers? I think I should start small when writing tutorials :S
MetaZoffix As for web frameworks. IMO, there's nothing production ready.
dalek k-simple: 533b1c3 | timotimo++ | lib/GTK/Simple/Widget.pm6:
method hide ought to hide, not show

thanks to @pixlmixr Closes #67
18:25
MetaZoffix Compounded with compiler's performance.... Perl 6 isn't a good choice for Web apps ATM
optikalmouse: there's modules.perl6.org/dist/Bailador and modules.perl6.org/dist/HTTP::Server::Tiny 18:26
stmuk_ perl6maven.com/ uses Bailador I believe 18:27
optikalmouse awesome, thank you
mst optikalmouse: did you ever manage to get me the last set of debug output? 18:28
mst would still like to fix the bug for future users
optikalmouse mst: noooo didn't get a chance to, terminal shut down on me :/ 18:29
18:29 kst` left
optikalmouse I can try again at home, on a linux box. 18:29
mst optikalmouse: fair enough
optikalmouse: just, like, I want to figure out what went wrong and fix it
cuz I'm trying to make Inline::Perl6 easy to install 18:30
as a gateway drug
optikalmouse heh, for sure, I think I got some time this weekend to do more testing too
18:31 wamba left
mst hrmf 18:31
18:31 cdg left
mst docs.perl6.org/language/phasers <- KEEP and UNDO don't explain what successful/unsuccessful block exit is 18:31
18:31 kst` joined
timotimo MetaZoffix: do you still haev some web app that i can inspect for leaks and such? 18:33
MetaZoffix m: sub { UNDO say 'bah!'; KEEP say 'aright'; fail if $^a; return 1 }(0) 18:34
camelia rakudo-moar b771f1: OUTPUT«aright␤»
MetaZoffix m: sub { UNDO say 'bah!'; KEEP say 'aright'; fail if $^a; return 0 }(0)
camelia rakudo-moar b771f1: OUTPUT«aright␤»
MetaZoffix m: sub { UNDO say 'bah!'; KEEP say 'aright'; fail if $^a; return 0 }(1)
camelia rakudo-moar b771f1: OUTPUT«bah!␤»
MetaZoffix m: sub { UNDO say 'bah!'; KEEP say 'aright'; fail if $^a; }(0)
camelia rakudo-moar b771f1: OUTPUT«bah!␤»
MetaZoffix m: sub { UNDO say 'bah!'; KEEP say 'aright'; fail if $^a; return }(0)
camelia rakudo-moar b771f1: OUTPUT«bah!␤»
MetaZoffix mst: no idea :(
hoelzro mst: I think successful means that the block is exiting due to normal control flow rather than an exception 18:35
MetaZoffix timotimo: well, I saved perl6.party when the Perl 6 version failed me. But I don't know how good it is for finding any leaks or whatnot: github.com/zoffixznet/perl6.party/...l6-version
hoelzro: but my examples above show that's not the full story.
lack of a return or return; also seem to be considered as unsuccessful 18:36
hoelzro curious
that could be a bug, though
MetaZoffix might be a bug for all I know
hoelzro this might provide some insight: github.com/perl6/roast/blob/master...eep-undo.t 18:37
not at *all* what I expected =S
mst github.com/perl6/doc/issues/905
please do add stuff
timotimo MetaZoffix: will that run self-contained and everything? :)
hoelzro threw in a link to the spec test 18:38
timotimo MetaZoffix: ah, i already checked out that and added a /exit so i could safely make it spit out profiler data
my head is quite a bit older than the perl6-version tag 18:39
MetaZoffix doesn't remember anything about perl6-version 18:40
18:40 spider-mario joined
timotimo MetaZoffix: could i ask you to help me get this running? 18:43
hoelzro it looks like successful means "returns a truthy value" 18:44
timotimo can't return 0
MetaZoffix m: sub { UNDO say 'bah!'; KEEP say 'aright'; fail if $^a; return 0 }(0)
camelia rakudo-moar b771f1: OUTPUT«aright␤»
timotimo putting my stashed changes back made an ugly merge 18:45
MetaZoffix timotimo: eh, maybe don't worry about it? 18:46
There are too many beers between that tag and my current state
timotimo gist.github.com/timo/e674130436b94...7a369f20b1
MetaZoffix I don't remember that version. 18:47
optikalmouse is building something. Ask them if they still get any leaks :) 18:48
hoelzro defined value, maybe?
18:48 canopus_ joined, canopus left
MetaZoffix m: sub { UNDO say 'bah!'; KEEP say 'aright'; class {} }() 18:48
camelia rakudo-moar b771f1: OUTPUT«bah!␤»
MetaZoffix m: sub { UNDO say 'bah!'; KEEP say 'aright'; return class {} }()
camelia rakudo-moar b771f1: OUTPUT«bah!␤»
MetaZoffix maybe
18:49 avalenn_ left
MetaZoffix m: sub { UNDO say 'bah!'; KEEP say 'aright'; return class { method defined { True } } }() 18:49
camelia rakudo-moar b771f1: OUTPUT«bah!␤»
MetaZoffix mabby not :P
18:50 avalenn joined
smls MetaZoffix, hoelzro: See the design docs link in the ticket 18:51
hoelzro smls++ 18:52
18:53 sufrostico left, MetaZoffix left
smls hoelzro: It reads like it was written a long time ago 18:54
"value or list", "item or list context"... apparently Perl 6 was still more similar to Perl 5 back then. 18:55
19:00 domidumont left 19:01 domidumont joined 19:03 lostinfog joined 19:04 nowan left 19:06 nowan joined, domidumont left 19:10 labster joined
smls m: dd <\n>; dd «\n»; 19:13
camelia rakudo-moar 626a22: OUTPUT«"\\n"␤()␤»
smls ^^ What's happening there?
I think the second one used to be the same as "\n"
ah, it expands the escape sequence before splitting the string 19:14
19:16 tomaw left, FROGGS left, djbkd left, perlpilot left, kaare__ left, mcmillhj left, bjz_ left, salva left, grondilu left, Unavowed_ left, abruanese left, esh left, luis left, felher left, Bucciarati left, charsbar_____ left, nightfrog left, jferrero left, krakan_ left, vcv left, akiym left, eythian left, avuserow left, clkao left, kurahaupo left, aries_liuxueyang left, Matthew[m] left, mtj_ left, imcsk8 left, rjt_pl left, TimToady left, Gothmog_ left, revdiablo left, b2gills left, decent left, bhm left, alnewkirk left, rjbs- left, optikalmouse left, Actualeyes left, sQuEE left, khw left, zacts left, xfix left, pdcawley left, BuildTheRobots left, salparadise left, roguelazer left, Kaffe left, buggable left, atta left, Glitchy left, rmmm left, DrForr left, isacloud left, cooper left, chansen_ left, NeuralAnomaly left, rodarmor left, huggable left, ugexe left, exodist_ left, jonadab left, [particle]1 left, riatre left, ilbelkyr left, leego left, maddingue left, hoelzro left, protium left, jsimonet left, jkva left, domm left, risou_ left, timotimo left, jstimpfle left, TeamBlast left, b^_^d left, freeze left, dg left, integral left, rblackwe left, SHODAN left, labster left, firstdayonthejob left, jnthn left, amalia_ left, cpage left, SourceBaby left, stux|RC-only left, dataangel left, bisectable6 left, sftp left, dalek left, masak left, sunnavy left, ssm left, w4and0er96 left, mst left, mrf left, dsp_ left, xxpor left, DANtheBEASTman left, camelia left, mls left, jcallen left, tailgate left, albongo left, konobi left, spider-mario left, rindolf left, xinming left, Upasaka_ left, keix left, mniip left, lucs left, kalkin- left, mr-foobar left, shmibs left, ruoso left, jervo left, kshannon left, nine left, jdv79 left, xdbr left, TheDir_ left, jeek left, gypsydave5 left, jast left, tbrowder left, kent\n left, olinkl left, notbenh_ left, synopsebot6 left, geraud left, cibs left, MasterDuke left, hobbs left, sjohnsen left, richi235 left, ilmari[m] left, user9 left, dj_goku left, cyphase left, PotatoGim left, ggoebel left, edenc left, mspo left, chris2 left, Spot__ left 19:17 autarch left, damnlie left, ribasushi left, mrsolo left, gabiruh left, DrParis left, kipd left, krunen_ left, mephinet left, atacama_ left, raydiak left, erdic left, [Coke] left, avalenn left, ptolemarch left, cgfbee left, noganex left, tadzik left, ilbot3 left, _slade_ left, pullphinger left, cpage_ left, woolfy left, aindilis left, telex left, stigo left, benchable6 left, apejens left, luiz_lha_ left, ShimmerFairy left, committable6 left, sivoais left, geekosaur left, NEveD left, daxim left, bartolin left, avar left, dylanwh left, cdc left, jnap_ left, JimmyZ left, Lucas_One left, zostay left, perigrin left, pmichaud left, mithaldu_ left, SmokeMachine____ left, ufobat left, lizmat left, awwaiid left, broquaint left, shadowpaste left, ranguard left, nemo left, ft left, canopus_ left, girafe left, TEttinger left, cog_ left, krunen left, ringer1 left, Zoffix left, Praise left, pochi_ left, sammers_ left, chee left, sergot left, zhmylove_ left, Hor|zon left, mattp_ left, ingy left, Grrrr left, saaki left, tony-o left, lostinfog left, itaipu left, MilkmanDan left, Woodi left, japhb left, araujo left, inokenty left, infina left, Jonis_ left, go|dfish left, notbenh left, bitmap left, Ulti left, remmie left, ponbiki left, zoosha left, a3r0 left, Celelibi left, arnsholt left, acrussell left, dogbert2 left, vytas left, nebuchadnezzar left, Khisanth left, [ptc] left, Guest98997 left, yossarian left, dustinm`_ left, Possum left, sjn left, adrusi left, cxreg left, simcop2387 left, Util left, sili left, breinbaas left, ab5tract left, musca left, gensym left, garu left, Hotkeys left, setty1 left, Roamer` left, baest left, literal left, robinsmidsrod left, RabidGravy left, zengargoyle left, john51 left, silug left, ggherdov left, peteretep left, pyrimidine left, mohae left, LegalResale left, petercommand left, timeless left, rudi_s left, Juerd left, pnu_ left, mindos left, markk left, BinGOs left, ilmari left, nowan left, eyck left, captain-adequate left, smls left, Cabanossi left, wtw left, obfusk left, M-Illandan left, Xliff left, stmuk_ left, yoleaux left, melezhik left, k-man left, diego_k left, El_Che left, doublec left, yeltzooo9 left, hahainternet left, xiaomiao left, giraffe left, nebuchadnezzar joined 19:18 DANtheBEASTman joined 19:19 aries_liuxueyang joined, rudi_s joined 19:21 [ptc] joined, bhm joined 19:23 Woodi joined, zoosha joined, Ulti joined, Jonis joined, crucialrhyme joined, nemo joined, ranguard joined, shadowpaste joined, broquaint joined, awwaiid joined, lizmat joined, ft joined, ufobat joined, Gothmog_ joined, matt joined, cosimo joined, solarbunny joined, markk joined, f3ew joined, Guest68452 joined, domidumont joined, pyrimidine joined, ribasushi joined, robinsmidsrod joined, Celelibi joined, andrewalker joined, xxpor joined, vytas joined, clkao joined, akiym joined, avuserow joined, vcv joined, krakan_ joined, jferrero joined, nightfrog joined, eythian joined, charsbar_____ joined, Bucciarati joined, felher joined, luis joined, esh joined, abruanese joined, Unavowed_ joined, grondilu joined, salva joined, bjz_ joined, mcmillhj joined, kaare__ joined, perlpilot joined, djbkd joined, FROGGS joined, Util_ joined, cxreg2 joined, hcit joined, sjohnsen- joined, woodruffw joined, go|dfish joined, skaji joined, simcop2387 joined, araujo joined, Hotkeys joined, [Coke] joined, erdic joined, raydiak joined, atacama_ joined, mephinet joined, krunen_ joined, DrParis joined, gabiruh joined, damnlie joined, autarch joined, chris2 joined, mspo joined, edenc joined, ggoebel joined, dj_goku joined, user9 joined, ilmari[m] joined, richi235 joined, revdiablo joined, arnsholt joined, RabidGravy joined, gensym joined, Guest78798 joined, ambs joined, DarthGandalf joined, SmokeMachine____ joined, mithaldu_ joined, pmichaud joined, perigrin joined, zostay joined, Lucas_One joined, JimmyZ joined, jnap_ joined, dylanwh joined, avar joined, bartolin joined, daxim joined, NEveD joined, geekosaur joined, sivoais joined, committable6 joined, ShimmerFairy joined, luiz_lha_ joined, apejens joined, benchable6 joined, stigo joined, cdc joined, telex joined, aindilis joined, woolfy joined, cpage_ joined, pullphinger joined, _slade_ joined, sili_ joined, ilmari joined, albongo joined, rjt_pl joined, mohae joined, remmie joined, adrusi joined, inokenty joined, Roamer` joined, synopsebot6 joined, KotH joined, garu_ joined, labster joined, jnthn joined, amalia_ joined, cpage joined, SourceBaby joined, dataangel joined, bisectable6 joined, sftp joined, dalek joined, masak joined, sunnavy joined, ssm joined, mst joined, mrf joined, dsp_ joined, hitchcock.freenode.net sets mode: +v dalek, camelia joined, mls joined, jcallen joined, tailgate joined, konobi joined, lostinfog joined, Matthew[m] joined, MilkmanDan joined, zengargoyle joined, canopus_ joined, girafe joined, TEttinger joined, cog_ joined, Zoffix joined, krunen joined, ringer1 joined, Praise joined, pochi_ joined, sammers_ joined, chee joined, sergot joined, zhmylove_ joined, Hor|zon joined, m0ltar joined, emdashcomma joined, tinita joined, mattp_ joined, ingy joined, Grrrr joined, saaki joined, tony-o joined, Guest28805 joined, bitmap joined, musca joined, dustinm` joined, Guest62980 joined, hobbs joined, imcsk8 joined, decent joined, ab5tract_ joined, silug_ joined, optikalmouse joined, Actualeyes joined, sQuEE joined, khw joined, zacts joined, xfix joined, hitchcock.freenode.net sets mode: +v camelia, pdcawley joined, salparadise joined, roguelazer joined, Kaffe joined, buggable joined, atta joined, Glitchy joined, rmmm joined, DrForr joined, isacloud joined, cooper joined, chansen_ joined, jkva joined, NeuralAnomaly joined, rodarmor joined, huggable joined, ugexe joined, exodist_ joined, jonadab joined, [particle]1 joined, riatre joined, ilbelkyr joined, leego joined, maddingue joined, hoelzro joined, protium joined, jsimonet joined, domm joined, risou_ joined, timotimo joined, jstimpfle joined, TeamBlast joined, b^_^d joined, freeze joined, dg joined, integral joined, rblackwe joined, SHODAN joined, Juerd joined, firstdayonthejob joined, tomaw joined, dg is now known as 1JTAAJ4WM, stux|RC-only joined, petercommand joined, alnewkirk joined, sjn_ joined, nowan joined, eyck joined, captain-adequate joined, smls joined, wtw joined, obfusk joined, M-Illandan joined, Xliff joined, stmuk_ joined, yoleaux joined, doublec joined, melezhik joined, k-man joined, diego_k joined, El_Che joined, huf joined, yeltzooo9 joined, hahainternet joined, hitchcock.freenode.net sets mode: +v yoleaux, a3r0 joined, cibs joined, john51 joined, japhb joined, infina joined, Possum joined, itaipu joined, mtj_ joined, literal_ joined, smash_ joined, spider-mario joined, rindolf joined, xinming joined, Upasaka_ joined, keix joined, mniip joined, lucs joined, kalkin- joined, mr-foobar joined, shmibs joined, ruoso joined, jervo joined, kshannon joined, nine joined, jdv79 joined, xdbr joined, TheDir_ joined, jeek joined, gypsydave5 joined, jast joined, breinbaas joined, b2gills joined, Peter_R joined, notbenh joined, dogbert2 joined, baest joined, TimToady joined, BinGOs joined, rjbs joined, avalenn joined, ptolemarch joined, cgfbee joined, noganex joined, tadzik joined, ilbot3 joined, go|dfish left, go|dfish joined, Guest68452 left, Guest68452 joined, rgrinberg joined, geraud joined, isacloud left, Cabanossi joined, cgfbee left 19:24 b2gills is now known as Guest98488, acrussell joined, cyphase joined, lostinfog left, matt is now known as Guest60789, Possum is now known as Guest16587, john51 left, shadowpaste left, domidumont left 19:25 BinGOs left, BinGOs joined, shadowpaste joined 19:26 john51 joined 19:27 setty1 joined 19:28 dogbert2 left, dogbert2 joined 19:29 itaipu left, xiaomiao joined, jmark joined 19:30 itaipu joined 19:32 ZoffixW joined, Actualeyes left, FROGGS left 19:33 pnu_ joined, labster left, cgfbee joined 19:34 Neural42 joined 19:35 _slade_ left 19:36 rgrinberg left 19:39 rgrinberg joined 19:41 rgrinberg left, labster joined, canopus_ is now known as canopus 19:42 rgrinberg joined 19:44 rgrinberg left, rgrinberg joined 19:46 ZoffixW left, Neural42 left, calopter joined 19:47 rgrinberg left, olinkl joined 19:48 rgrinberg joined 19:50 zakharyas joined 19:55 itaipu left 19:57 itaipu joined 19:58 Actualeyes joined 19:59 peteretep joined 20:00 cdg joined, ggherdov joined 20:01 Celelibi left, ggherdov left
TimToady that was...quite the netsplit... 20:01
20:02 mindos joined, Celelibi joined 20:03 BuildTheRobots joined 20:04 kipd joined, ufobat left 20:05 isacloud joined 20:06 dogbert2 left
geekosaur netsplat 20:06
calopter Hello! I have a list of objects and I would like a simple way to spurt them to a file and then later slurp and parse them back into a list of objects. Is there a way to do this without getting into grammars?
20:06 dogbert17 joined 20:07 notbenh_ joined
timotimo there's probably modules for that 20:08
20:09 Spot__ joined 20:10 w4and0er96 joined 20:11 pierrot joined 20:12 Celelibi left
ShimmerFairy
.oO( $*NET.split() )
20:13
20:13 ggherdov joined, mrsolo joined, ggherdov left
ShimmerFairy calopter: simplest possible way would be to use @list.join("\n") and $filestring.split("\n"), and hope your data doesn't include a literal "\n" in any of the array items (obviously you can choose the delimiter as it suits you). 20:14
20:14 espadrine joined, ggherdov joined 20:15 smash_ is now known as smash, Celelibi joined
avuserow calopter: there are a few options on modules.perl6.org searching for "serial" that seem like they have potential.. 20:16
20:16 timeless joined 20:17 tbrowder joined 20:18 PotatoGim joined
calopter avuserow: thanks for the tip 20:19
ShimmerFairy: I think this will give me a list of string representations of the objects 20:20
20:21 smls left
ShimmerFairy calopter: right, if you want a more binary file, then you'd likely want to take a look at any existing modules, like avuserow & timotimo mentioned. 20:21
calopter Ok Thanks 20:22
avuserow if your objects are fairly Array and Hash-like, it might be simple enough to use JSON::Tiny or whichever module
20:23 Guest62980 is now known as ponbiki 20:24 Timbus left 20:28 Timbus joined 20:30 rindolf left 20:31 atweiden joined, w4and0er96 left 20:32 infina left, infina joined 20:33 w4and0er96 joined
atweiden are object variants possible in p6? 20:40
e.g. a class with attr C<$.a> given EnumTypeA is passed to its C<method new>, or attr C<$.b> if EnumTypeB is passed to new
mst I think I might have a multimethod that builds one of two concrete classes implementing a role? 20:43
20:44 calopter left 20:45 bartolin left, bartolin joined 20:46 pullphinger left
hoelzro you could probably whip something up using parameterized roles 20:46
whether you *should* is another question entirely =)
atweiden is it possible to add a role to a class dynamically at runtime? 20:49
e.g. from within C<method new>, specify that the class C<does Something> 20:50
20:50 dogbert17 left 20:51 acrussell left
avuserow m: role Bar {has $.b = 2;}; role Qux {has $.c = 3}; class Foo {has $.a; multi method new(0) {self.bless does Bar}; multi method new(1) {self.bless does Qux}}; say Foo.new(0); say Foo.new(1); 20:52
camelia rakudo-moar 626a22: OUTPUT«Foo+{Bar}.new(b => 2, a => Any)␤Foo+{Qux}.new(c => 3, a => Any)␤»
perlpilot atweiden: you might want to reconsider why you want to do this :) 20:53
avuserow this probably tortures both the optimizer and anyone maintaining the code though :)
20:54 rightfold joined 20:55 dogbert17 joined
perlpilot atweiden: you can also do something like ... 20:55
20:55 zakharyas left
perlpilot m: class A { }; A.^add_role( role { method foo { say "hi" } } ); A.^compose; A.new.foo 20:55
camelia rakudo-moar 626a22: OUTPUT«hi␤»
atweiden avuserow: cool
20:55 skids left
atweiden perlpilot may try that 20:56
avuserow you could also just have Foo.new return an instance of private classes Foo::A or Foo::B depending on the arguments
20:59 kaare__ left
atweiden avuserow: that sounds better, code example? 20:59
am trying it but getting error `Default constructor ...` 21:00
avuserow m: my class Bar {...}; my class Qux {...}; class Foo {has $.a; multi method new(0) {Bar.new}; multi method new(1) {Qux.new}}; class Bar is Foo {has $.b = 2;}; class Qux is Foo {has $.c = 3}; say Foo.new(0); say Foo.new(1); # something like this?
camelia rakudo-moar 626a22: OUTPUT«Bar.new(b => 2, a => Any)␤Qux.new(c => 3, a => Any)␤»
perlpilot atweiden: Why do you want this? 21:01
21:02 jmark left
rightfold I'm going to developer hell lpaste.net/7624043094769401856 21:02
atweiden perlpilot: parsing a source that differs, it is either parsed directly from a file or extracted from a tarball and then parsed from JSON 21:03
mst < mauke> you should write a patch that makes perl -π work like perl -pi
ISAGN for the rakudo binary
atweiden so i wanted a class that could either have C<$.file> or C<$.pkginfo>
geekosaur better written .subst('"', '""') 21:04
rightfold Atom's syntax highlighting breaks on '"' :P 21:05
avuserow atweiden: keep in mind, with both of the examples I gave, you'll need to check `$obj ~~ Bar` before accessing `$.file`... kind of annoying. hard to say more without more knowledge of the object structure overall
geekosaur will try atom again in a couple years when they find their butts >.> 21:06
21:07 itaipu left
rightfold I should link libpq and use its escape function 21:07
that's much safer 21:08
avuserow atweiden: also, the examples I gave both give you two different classes, they just all match Foo (plus some role or subclass)
21:09 mcmillhj left 21:10 _slade_ joined
rightfold are you kidding me PQescapeIdentifier requires a connection -_- 21:11
21:11 Zoffix left 21:13 Actualeyes left 21:14 Ven_ joined 21:15 optikalmouse left
geekosaur the engine knows what the engine requires for safe quoting... 21:20
rightfold p6: say('å' ~~ /<[a .. z A .. Z _]>/) 21:21
camelia rakudo-moar 626a22: OUTPUT«Nil␤»
rightfold p6: say('abc_DEF' ~~ /<[a .. z A .. Z _]>/)
camelia rakudo-moar 626a22: OUTPUT«「a」␤»
21:21 Ven_ left 21:22 Ven_ joined, rgrinberg left 21:23 sjn_ is now known as sjn
rightfold nice 21:23
atweiden m: class LedgerFromFile {...}; class LedgerFromPkg {...}; class Ledger { multi method new('File', :$file!) { LedgerFromFile.new(:$file) }; multi method new('Pkg', :$pkg!) { LedgerFromPkg.new(:$pkg) } }; class LedgerFromFile is Ledger { has Str $.file is required }; class LedgerFromPkg is Ledger { has Str $.pkg is required }; my Ledger $l = Ledger.new('File', :file<mario>).say 21:24
camelia rakudo-moar 626a22: OUTPUT«LedgerFromFile.new(file => "mario")␤Type check failed in assignment to $l; expected Ledger but got Bool (Bool::True)␤ in block <unit> at <tmp> line 1␤␤»
timotimo atweiden: that's because you used .say ta the very end
atweiden oops that wasn't my question
so this works 21:25
m: class LedgerFromFile {...}; class LedgerFromPkg {...}; class Ledger { multi method new('File', :$file!) { LedgerFromFile.new(:$file) }; multi method new('Pkg', :$pkg!) { LedgerFromPkg.new(:$pkg) } }; class LedgerFromFile is Ledger { has Str $.file is required }; class LedgerFromPkg is Ledger { has Str $.pkg is required }; Ledger.new('File', :file<mario>).say
camelia rakudo-moar 626a22: OUTPUT«LedgerFromFile.new(file => "mario")␤»
atweiden but this
m: class LedgerFromFile {...}; class LedgerFromPkg {...}; class Ledger { multi method new(:$file!) { LedgerFromFile.new(:$file) }; multi method new(:$pkg!) { LedgerFromPkg.new(:$pkg) } }; class LedgerFromFile is Ledger { has Str $.file is required }; class LedgerFromPkg is Ledger { has Str $.pkg is required }; Ledger.new(:file<mario>).say
camelia rakudo-moar 626a22: OUTPUT«Memory allocation failed; could not allocate 131072 bytes␤»
atweiden could be unrelated
timotimo looks like an infinite recursion 21:26
atweiden is the signature not specific enough? 21:27
timotimo because the From* classes get the method new that you declared
21:27 timeless left, espadrine left, mindos left, xiaomiao left, breinbaas left, Guest98488 left, notbenh left, TimToady left, baest left, rjbs left, Peter_R left, BinGOs left, avalenn left, ptolemarch left, noganex left, tadzik left, ilbot3 left, BinGOs_ joined, xiaomiao joined 21:28 breinbaas joined, rjbs joined, baest joined
timotimo and the new methods on Ledger will infinitely recurse into the same method over and over 21:28
21:28 espadrine joined, notbenh joined, ptolemarch joined, noganex joined, tadzik joined, b2gills joined, Peter_R joined, avalenn joined 21:29 ilbot3 joined, Guest28805 left
atweiden timotimo: but then why does it work with arity 2? 21:30
21:30 BinGOs_ is now known as BinGOs, BinGOs left, BinGOs joined, mcmillhj joined 21:31 kent\n joined, kent\n left, kent\n joined
timotimo because LedgerFromFile.new(:$file) won't trigger a "new" candidate from Ledger 21:31
because you're not passing 'File' as the first argument any more
21:31 ggherdov left 21:33 TimToady joined, Ven_ left, Actualeyes joined 21:34 mindos joined, mcmillhj left 21:35 kst` is now known as kst 21:36 timeless joined, Ven_ joined 21:37 ggherdov joined
avuserow S12 says 21:37
"Perl 6.0.0 is not required to support multiple dispatch on named parameters, only on positional parameters."
atweiden: ^
atweiden TIL
kind of a miracle that some of my code works in that case
rightfold just make positional parameters named parameters with numeric names! 21:38
21:38 ggherdov left 21:39 ggherdov joined
mst atweiden: bugger. sorry. didn't realise that. 21:39
21:39 Ven_ left, trnh joined
avuserow you might be able to use proto methods to do what you want, but at this point, I think the best option is just to conditionally create the correct subclass 21:40
e.g. my $ledger = $file ?? LedgerFromFile.new(:$file) !! LedgerFromPkg(:$pkg)
mst atweiden: I think in that case I'd have new_from_file and new_from_pkg methods or something 21:41
avuserow or that ^^
21:44 trnh left 21:47 Sgeo joined 21:56 Zoffix joined
Zoffix m: multi foo (:$foo!) { say "this one" }; multi foo (:$bar!) { say "that one" }; foo :foo; foo :bar 21:56
camelia rakudo-moar 626a22: OUTPUT«this one␤that one␤»
Zoffix avuserow, speculations are historical documents. It's not wise to use them to suggest Perl 6's behaviour. The test suite is the specification: github.com/perl6/roast 21:57
22:01 mcmillhj joined
Zoffix m: gist.github.com/zoffixznet/bc98465...69ca0428b0 22:01
camelia rakudo-moar 626a22: OUTPUT«LedgerFromFile.new(file => "mario")␤»
22:02 spider-mario left
atweiden Zoffix: that's all it took? a proto method 22:03
i've never used those on multis before
Zoffix atweiden, not really. I also removed the is Ledger, so it's an LTA solution
atweiden right
avuserow wonder if you could re-add `is Ledger` if you gave the subclasses a `method new` of their own. 22:04
Zoffix meh, best to just use a different method name
22:05 labster left
Zoffix Ah, here we go 22:05
m: gist.github.com/zoffixznet/c5d602e...737a0774fa 22:06
camelia rakudo-moar 626a22: OUTPUT«LedgerFromFile.new(file => "mario")␤LedgerFromPkg.new(pkg => "meow")␤»
avuserow anyway, yes, specs are deprecated, and it looks like roast/S06-multi/positional-vs-named.t has the sub version of this covered
Zoffix atweiden, ^ basically I'm bypassing what .new does, so the iniloop never occurs 22:07
s/bypassing/doing directly/;
atweiden i like this solution, ty 22:08
22:08 mcmillhj left 22:12 Zoffix left 22:16 rgrinberg joined 22:21 mcmillhj joined 22:25 mcmillhj left 22:30 firstdayonthejob left, firstdayonthejob joined 22:36 firstdayonthejob left, sufrostico joined 22:38 mcmillhj joined 22:40 RabidGravy left 22:42 mcmillhj left 22:45 rgrinberg left, rgrinberg joined 22:49 skids joined, AlexDaniel joined 22:50 ptolemarch left, mcmillhj joined 22:55 mcmillhj left 23:01 rgrinberg left 23:04 rgrinberg joined, baest left 23:09 mcmillhj joined 23:13 bjz_ left, mcmillhj left 23:14 baest joined 23:20 mcmillhj joined 23:22 Zoffix joined
Zoffix tbrowder and others. GitHub replied vis-a-vis getting GitHub rendering Perl 6 POD: github.com/github/markup/issues/90...-246855769 23:23
"You're certainly more than welcome to perform a PR with tests, and update the .travis.yml file so that our CI test suite verifies that Perl6 documentation is being generated."
Zoffix won't have time to do any of that
.tell tbrowder GitHub replied about the pod: github.com/github/markup/issues/90...-246855769 23:24
yoleaux Zoffix: I'll pass your message to tbrowder.
tbrowder Zoffix: thanks
yoleaux 23:24Z <Zoffix> tbrowder: GitHub replied about the pod: github.com/github/markup/issues/90...-246855769
23:24 labster joined 23:25 mcmillhj left 23:28 DoverMo joined
tbrowder Zoffix: What repo is all the tooling in? 23:30
23:36 bjz joined, canopus left 23:38 canopus joined 23:40 mcmillhj joined 23:44 atweiden left 23:45 mcmillhj left 23:49 bjz left 23:53 mcmillhj joined 23:59 mcmillhj left