Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2017-06-16

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:12 BenGoldberg joined #perl6
00:18 kurahaupo joined #perl6
00:34 lookatme joined #perl6
00:35 lookatme morning
00:49 aborazmeh joined #perl6
00:49 aborazmeh joined #perl6
00:51 Cabanossi joined #perl6
00:56 mr-foobar joined #perl6
01:25 mr-foobar joined #perl6
01:31 astj joined #perl6
01:56 mr-foobar joined #perl6
02:05 cdg joined #perl6
02:06 Cabanossi joined #perl6
02:18 raiph .tell samcv I suggest you ping rjbs (Pumpking before sawyerx) and novapatch (Unicode focused Perl dev) re ideas about where they think P6 needs to go Unicode wise, then talk about that
02:18 yoleaux raiph: I'll pass your message to samcv.
02:18 samcv thanks raiph
02:18 yoleaux 02:18Z <raiph> samcv: I suggest you ping rjbs (Pumpking before sawyerx) and novapatch (Unicode focused Perl dev) re ideas about where they think P6 needs to go Unicode wise, then talk about that
02:19 raiph yw
02:19 samcv i have a headache. gonna take a nap for a bit
02:20 raiph sweet dreams, gnite #perl6
02:24 mr-foobar joined #perl6
02:30 lucs joined #perl6
02:32 noganex_ joined #perl6
02:34 lucs joined #perl6
02:36 Cabanossi joined #perl6
03:00 kurahaupo joined #perl6
03:04 Sense8 joined #perl6
03:06 raschipi joined #perl6
03:09 mr-foobar joined #perl6
03:12 kurahaupo_ joined #perl6
03:19 BenGoldberg m: https://gist.github.com/BenGoldberg1/d0764293ed61d1635056ed549f4bc359
03:19 camelia rakudo-moar cc4d90: OUTPUT: «13␤15␤4␤17␤5===SORRY!5=== Error while compiling <tmp>␤Invalid name␤at <tmp>:41␤------> 3sub my_sort ( Any, Any --> int ) is7⏏5 :callback {...};␤»
03:20 * BenGoldberg doesn't comprehend why it's failing there.
03:22 aborazmeh joined #perl6
03:22 aborazmeh joined #perl6
03:22 geekosaur shouldn't it be 'is callback'?
03:24 geekosaur remember that :$callback! in the declaration is shorthand for (callback => $callback!), the first part being the name used when invoking it
03:27 BenGoldberg Without the colon, I get Can't use unknown trait 'is callback' in a sub+{callable[int]} declaration.
03:30 lizmat joined #perl6
03:33 geekosaur I wonder if it has to be more specific (Sub instead of Callable)
03:33 geekosaur iirc the grammar's handling of traits is a bit 'special'
03:35 BenGoldberg Nope, even with Sub it's a no go.
03:36 Cabanossi joined #perl6
03:42 * BenGoldberg wonders where the (lowercase) "callable[int]" comes from in that declaration.
03:46 llfourn joined #perl6
03:46 lookatme BenGoldberg, The sub need signature like this `(Sub \c, :$callback!)`
03:47 lookatme I dont' know why
03:50 Cabanossi joined #perl6
03:52 BenGoldberg lookatme++
03:52 BenGoldberg Routine also works.  I guess Callable is too vague? ;)
03:53 geekosaur that was what I tried to tell you earlier
03:53 geekosaur so I have no idea what you understood me to mean
03:58 BenGoldberg Sorry, I was confused
04:35 lucs_ joined #perl6
04:37 curan joined #perl6
04:37 lookatme m: say Sub ~~ Callable;
04:37 camelia rakudo-moar cc4d90: OUTPUT: «True␤»
04:40 |oLa| joined #perl6
04:41 geekosaur like I said earlier, the grammar's handling of traits is a bit 'special'
04:42 geekosaur in particular, it is *not* blindly making a call and selecting the right trait by multi candidate
04:48 lookatme geekosaur, em, thanks
04:54 stmuk joined #perl6
04:58 stmuk_ joined #perl6
05:05 Cabanossi joined #perl6
05:14 anon joined #perl6
05:17 Geth ¦ ecosystem: b2f31fdf10 | (Nick Logan)++ (committed using GitHub Web editor) | META.list
05:17 Geth ¦ ecosystem: App::ecogen
05:17 Geth ¦ ecosystem:
05:17 Geth ¦ ecosystem: https://github.com/ugexe/Perl6-App--ecogen
05:17 Geth ¦ ecosystem: review: https://github.com/perl6/ecosystem/commit/b2f31fdf10
05:30 xtreak joined #perl6
05:35 Cabanossi joined #perl6
05:38 anon_ joined #perl6
05:38 |oLa| joined #perl6
05:43 domidumont joined #perl6
05:44 lowbro joined #perl6
05:46 wamba joined #perl6
05:50 domidumont joined #perl6
06:23 ChoHag joined #perl6
06:32 tipdbmp joined #perl6
06:34 tipdbmp How can I lookup custom traits on attributes: http://sprunge.us/HGSB
06:36 domidumont joined #perl6
06:46 salv0 joined #perl6
06:50 timotimo inspect its .^roles
06:50 tipdbmp Why does the SetHash reports not having any keys: http://sprunge.us/aJJL
06:50 timotimo hm though many traits really just set an attribute on the thing at the right time
06:52 tipdbmp m: multi sub trait_mod:<is>(Attribute $a, :$no-serialize) { }; class Foo { has uint32 $.bar is no-serialize }; say Foo.^attributes[0].roles;
06:52 camelia rakudo-moar cc4d90: OUTPUT: «No such method 'roles' for invocant of type 'Attribute'. Did you mean any of these?␤    does␤    roll␤␤  in block <unit> at <tmp> line 1␤␤»
06:52 timotimo im on a smartphone touchscreen keyboard so cant experiment rn
06:52 tipdbmp Okay.
06:53 timotimo you need .^roles
06:53 tipdbmp m: multi sub trait_mod:<is>(Attribute $a, :$no-serialize) { }; class Foo { has uint32 $.bar is no-serialize }; say Foo.^attributes[0].^roles;
06:53 camelia rakudo-moar cc4d90: OUTPUT: «()␤»
06:53 timotimo but that would only help you if you actually mixed something into the attribute obj
06:54 tipdbmp I am just storing the attribute's WHICH.Str into a hash, but when using a SetHash it doesn't seem to work?
06:55 tipdbmp The keys seem to disappear or something.
06:55 timotimo m: my SetHash $a .= new; $a{"FooBar"} = True; say $a.keys
06:55 camelia rakudo-moar cc4d90: OUTPUT: «(FooBar)␤»
06:57 timotimo oh, hah
06:57 timotimo traits are compile-time-applied, aren't they
06:57 tipdbmp m: multi sub trait_mod:<is>(Attribute $a, :$no-serialize) { $foo{$a.WHICH.Str} = True; }; class Foo { has u64 $.bar is no-serialize; }; say $foo.keys;
06:57 camelia rakudo-moar cc4d90: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Variable '$foo' is not declared␤at <tmp>:1␤------> 3od:<is>(Attribute $a, :$no-serialize) { 7⏏5$foo{$a.WHICH.Str} = True; }; class Foo ␤»
06:58 tipdbmp m: my SetHash $foo .= new; multi sub trait_mod:<is>(Attribute $a, :$no-serialize) { $foo{$a.WHICH.Str} = True; }; class Foo { has u64 $.bar is no-serialize; }; say $foo.keys;
06:58 camelia rakudo-moar cc4d90: OUTPUT: «5===SORRY!5===␤Type 'u64' is not declared␤at <tmp>:1␤------> 3HICH.Str} = True; }; class Foo { has u647⏏5 $.bar is no-serialize; }; say $foo.keys␤Malformed has␤at <tmp>:1␤------> 3$a.WHICH.Str} = True; }; class Foo { has7⏏5 u64…»
06:58 timotimo so you'll be storing stuff into that hash, and at run time you're assigning .= new to it
06:58 tipdbmp m: my SetHash $foo .= new; multi sub trait_mod:<is>(Attribute $a, :$no-serialize) { $foo{$a.WHICH.Str} = True; }; class Foo { has uint64 $.bar is no-serialize; }; say $foo.keys;
06:58 camelia rakudo-moar cc4d90: OUTPUT: «()␤»
06:58 timotimo it works if you leave out the .= new
06:59 tipdbmp Huh but why? =)
06:59 tipdbmp It overwrites the old one...
07:00 timotimo simple ordering of execution
07:00 timotimo the .= new is one of the first things the code does at run time, but it had been putting values in during compile time, which is earlier
07:01 tipdbmp Right.
07:01 tipdbmp Isn't my SetHash $foo; uninitialized though?
07:01 timotimo to test you can also BEGIN set $is-no-serialize.keys
07:01 timotimo yep, but we have autovivification
07:01 tipdbmp ;)
07:01 timotimo hash access on an undefined variable will initialize the right type for you
07:02 timotimo observe autovivification of hashes inside a list:
07:02 timotimo m: my @the-list; @the-list[0]{"hi"} = "yup"; say @the-list.perl
07:02 camelia rakudo-moar cc4d90: OUTPUT: «[{:hi("yup")},]␤»
07:03 tipdbmp I think I'll use: my SetHash $is-no-serialize; BEGIN { $is-no-serialize = SetHash.new; }, as a reminder though.
07:05 * timotimo bbl
07:05 abraxxa joined #perl6
07:09 nadim_ joined #perl6
07:21 astj joined #perl6
07:23 tipdbmp How would one implement support for reading of/working with older versions (different number of attributes and/or in different order) of Foo?: http://sprunge.us/gBUO
07:23 astj joined #perl6
07:51 timotimo m: use NativeCall; say nativecast(uint64, 10e1)
07:51 camelia rakudo-moar cc4d90: OUTPUT: «Native call expected return type with CPointer, CStruct, CArray, or VMArray representation, but got a P6opaque (Num)␤  in sub nativecast at /home/camelia/rakudo-m-inst-1/share/perl6/sources/24DD121B5B4774C04A7084827BFAD92199756E03 (NativeCall) line 417…»
07:52 timotimo m: use NativeCall; my $b = CArray[num64].new(10e2); say nativecast(CArray[uint64], $b)[0]
07:52 camelia rakudo-moar cc4d90: OUTPUT: «4652007308841189376␤»
07:52 timotimo m: use NativeCall; my $b = CArray[num64].new(10e2); say nativecast(CArray[uint64], $b)[0].base(16)
07:52 camelia rakudo-moar cc4d90: OUTPUT: «408F400000000000␤»
07:52 timotimo ^- very much not optimal, but does work
07:53 timotimo bbl
08:04 wamba joined #perl6
08:07 kyan joined #perl6
08:17 ufobat joined #perl6
08:20 ufobat when there are multi sub MAIN()'s, is there a way to force priting the "usage" the same as if i would not match the MAIN's prottypes with my invokation parameters
08:30 |oLa| joined #perl6
08:30 rindolf joined #perl6
08:32 sacomo ufobat, what happens when you use sub USAGE {} ? and just manually define the desired usage message?
08:33 ufobat a empty USAGE results in no usage
08:34 ufobat but i wanted to avoid having a manual USAGE because i'd could forget to change the USAGE if i modify the MAIN's
08:34 ufobat but, i'd like to have binary --help or something
08:35 sacomo yeah, the generated MAIN usage is much more convenient. I was having similar issues and ended up just manually defining USAGE. Maybe there is some better solution that I am not yet aware of.
08:36 ufobat okay :)
08:36 sacomo I have tested though,
08:37 sacomo defining USAGE does solve the problem you are having.
08:37 sacomo Also, now that I think of it, there is a way to print the dynamic usage in sub USAGE....
08:37 sacomo let me see if I can find it...
08:38 sacomo sub USAGE { say $?USAGE }
08:41 ufobat oh!
08:41 sacomo that might not work..
08:42 ufobat it does not
08:43 sacomo sub USAGE { usage }
08:44 sacomo but not dynamic
08:47 nowan_ joined #perl6
08:54 parv joined #perl6
08:59 sacomo not sure how to get $?USAGE to work anywhere
09:01 rindolf joined #perl6
09:03 tipdbmp timotimo, how would one implement versioning?: http://sprunge.us/difE
09:07 jonas2 joined #perl6
09:13 astj joined #perl6
09:21 timotimo tipdbmp: hmm, depends on how you want to access it in code in general
09:21 timotimo you definitely can't do it the way you've got there, because you can only declare one class of the same name in the same scope
09:23 timotimo if your versions are strictly linear, you can put a Foo inside Foo and another Foo inside that
09:23 xtreak joined #perl6
09:23 timotimo so Foo would be the "current" version, Foo::Foo would be current - 1 and Foo::Foo::Foo would be current - 2
09:23 timotimo i.e. peano integers in backwards :D
09:23 timotimo gotta go again
09:28 astj joined #perl6
09:35 Cabanossi joined #perl6
09:39 parv joined #perl6
09:39 xtreak joined #perl6
09:57 ChoHag joined #perl6
09:59 astj joined #perl6
10:06 xtreak joined #perl6
10:18 geekosaur joined #perl6
10:21 geekosaur joined #perl6
10:27 astj joined #perl6
10:28 tipdbmp m: class FooBase {}; class Foo is FooBase {}; my Foo $foo = FooBase.new;
10:28 camelia rakudo-moar 5facb2: OUTPUT: «Type check failed in assignment to $foo; expected Foo but got FooBase (FooBase.new)␤  in block <unit> at <tmp> line 1␤␤»
10:29 geekosaur aren't you doing that backwards?
10:29 geekosaur all Foo-s are Foobase-s, not all FooBase-s are Foo-s
10:29 tipdbmp Yeah, I don't inheritance...
10:29 tipdbmp know*
10:30 geekosaur m: class FooBase {}; class Foo is FooBase {}; my FooBase $foo = Foo.new;
10:30 camelia rakudo-moar 5facb2: ( no output )
10:32 geekosaur so, a Foo is a FooBase plus something else (although in this case, that something is nothing :). So a Foo can be used anywhere a FooBase can be used, but there is no guarantee that an arbitrary FooBase or another class derived from FooBase (but not Foo) can be used like a Foo
10:35 Cabanossi joined #perl6
10:44 moritz that's where common sense enters the picture
10:47 sacomo hi all, I am writing a test that uses Proc::Async, but I can't kill the process at the end. .kill(9) isn't working... any suggestions?
10:49 sacomo .kill(SIGKILL) not working either
10:58 eveo joined #perl6
10:58 eveo sacomo: what's your perl6 version?
10:58 sacomo eveo, 2017.05
10:59 eveo sacomo: and you're using multiple .kills or something?
10:59 sacomo no, just a single kill right now
10:59 eveo sacomo: re $?USAGE, I don't think it's implemented yet. The var is there but it's not available or something
10:59 eveo sacomo: got code you could show?
10:59 sacomo it doesn't error, but when the test ends I have a process still running
11:00 sacomo yeah, let me commit
11:07 sacomo eveo, https://github.com/scmorrison/Bailador/blob/dev/t/20-cli.t#L59
11:08 zengargoyle are there any modules in the ecosystem yet that are same name but different :ver and :auth ?
11:08 eveo buggable: eco Foo
11:08 buggable eveo, Foo 'Test for installation of same named dists': https://github.com/ugexe/Perl6-Foo 6 other matching results: https://modules.perl6.org/#q=Foo
11:09 eveo There should be two of them
11:09 zengargoyle cool, next Q about toast, it doesn't have :auth or :ver fields (even in sqlite db).  is that a future thing?
11:10 mls_ joined #perl6
11:10 eveo Probably
11:11 zengargoyle cool.  i was just looking at my modules and wonering about what happens when there are duplicates of the same name.
11:12 eveo sacomo: one sec, I'm just installing all the prereqs to run the test
11:12 sacomo ok, thanks. I am going to test with Proc.new inside of a promise...
11:13 eveo sacomo: don't think Proc has a .kill
11:13 eveo Which we should probably add now that it's implemented in terms of Proc::Async
11:13 sacomo hmm
11:13 eveo It's too sync to need it, I think.
11:14 sacomo ok
11:15 eveo sacomo: "127.0.0.1:5005 doesn't open in 10 sec." is that supposed to happen?
11:15 sacomo hmm
11:15 sacomo no, maybe something is blocking that port?
11:16 eveo [Coke]: was it you who complained Bailador requires config file for port now? Looks like there's a command line option: --config=host:0.0.0.0,port:5005
11:17 sacomo you can also use a BAILADOR=port:5005 bailador ...
11:19 eveo Weird. If I type the Proc::Async's command in shell, the process starts up just fine :/
11:22 sacomo ok, I just committed a change to have the test check against 0.0.0.0
11:23 sacomo maybe that will work
11:24 eveo nope. still getting "Could not connect socket: Connection refused" in wait_port
11:24 eveo and if I start the command manually, then wait_port succeeds on first try
11:29 tipdbmp timotimo, this seems to work but seems kind of hacky and error prone?: http://sprunge.us/FIdS
11:30 eveo gonna try upgrading my perl6 (I'm on a dev commit)
11:35 sacomo thanks
11:36 xtreak joined #perl6
11:40 cpage joined #perl6
11:42 AlexDaniel joined #perl6
11:43 eveo nope still the same issue... Building 2017.05 now
11:50 Cabanossi joined #perl6
11:52 xtreak joined #perl6
11:55 eveo Crap
11:55 eveo It works on 2017.05
11:55 timotimo tipdbmp: i have a litle tip for you
11:56 timotimo say 0xff11223344.polymod(0x100 xx *).reverse.fmt("%x")
11:56 evalable6 timotimo, rakudo-moar 5facb268e: OUTPUT: «ff 11 22 33 44»
11:56 eveo jnthn: looks like something's gone awry with socks and/or Proc::Async since 2017.05 :/ Proc::Async-started app doesn't wanna accept connections. Gonna try golf it after work today
12:00 timotimo tipdbmp: we also have something for the other direction
12:00 sacomo eveo, I just tested it on 2016.11 and the tests pass
12:00 araraloren joined #perl6
12:00 timotimo m: say :16[1, 2, 3, 4].base(16)
12:00 camelia rakudo-moar 5facb2: OUTPUT: «1234␤»
12:00 timotimo er, huh?
12:01 timotimo oh, duh, base 16 %)
12:01 timotimo m: say :255[1, 2, 3, 4].base(16)
12:01 camelia rakudo-moar 5facb2: OUTPUT: «FF0202␤»
12:01 timotimo m: say :256[1, 2, 3, 4].base(16)
12:01 camelia rakudo-moar 5facb2: OUTPUT: «1020304␤»
12:01 timotimo this is the one i was trying for
12:02 eveo sacomo: they pass on 2017.05 too. I first thought it might've been the .kill bug that got fixed after 2017.05, but nope. It's not that bug and yeah, I see the bailador process still running after the tests finish.
12:03 sacomo hmm
12:03 eveo sacomo: I'm not exactly sure how that works. Because you await $proc.start, so that means by the time you connect, the proc you started already finished and so .kill()ing it is pointless. And it spawns something that actually accepts connections and still lives after tests end.
12:03 sacomo on the 2016.11 the process does go away
12:03 eveo really
12:04 eveo sacomo: well, if you figure it out, let me know how. I have exact same problem in one of my apps.
12:04 sacomo it is a persistant process
12:04 * eveo leaves to work
12:04 sacomo starts a web server
12:04 sacomo ok, will do, thanks for looking into this
12:05 jnthn eveo: I strugle to imagine how those would interact...I mean, it's a completely separate process, and the way we're spawning it boils down to the same libuv functions as before. :S
12:09 MasterDuke timotimo: for coverable, would you want all the possible files+lines reported (e.g., NQP files, Rakudo's NQP files), or just Rakudo's src/* files, or just Rakudo's src/core/* files?
12:10 timotimo MasterDuke: i expect it'd be enough for src/core/*, but maybe we could parse a FILTER=foobar at the beginning to override this?
12:11 MasterDuke sure, default to FILTER='SETTING::'
12:35 Cabanossi joined #perl6
12:36 wamba joined #perl6
12:37 mcmillhj joined #perl6
12:42 xtreak joined #perl6
12:51 tipdbmp Is there another way to turn a string into a type other tan EVAL?
12:51 tipdbmp m: use use MONKEY-SEE-NO-EVAL; say EVAL('Int');
12:51 camelia rakudo-moar 5facb2: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Undeclared name:␤    MONKEY-SEE-NO-EVAL used at line 1␤␤»
12:51 tipdbmp m: use MONKEY-SEE-NO-EVAL; say EVAL('Int');
12:51 camelia rakudo-moar 5facb2: OUTPUT: «(Int)␤»
12:52 timotimo m: say ::('Int').perl
12:52 camelia rakudo-moar 5facb2: OUTPUT: «Int␤»
12:52 timotimo m: say ::('List').new(1, 2, 3).perl
12:52 camelia rakudo-moar 5facb2: OUTPUT: «(1, 2, 3)␤»
12:55 perlpilot joined #perl6
12:55 tipdbmp Okay, thanks.
12:57 timotimo you can get at all lexical symbols like this
13:01 tipdbmp Is there a way to declare a class attribute/static field such that class Foo { class-field $foo = 1; }; class Bar is Foo { }; Bar.$foo == 1?
13:02 tipdbmp Right now I'm using our and looking it up from the child class with: Bar.^parents()[0].WHO.{'$foo};
13:05 lizmat tipdbmp: class A { my $foo = 1; method foo() { $foo } }; class Bar is Foo { $.foo == 1 }
13:06 lizmat note: $.foo is just another way of writing self.foo
13:06 robertle joined #perl6
13:08 jnthn You can declare it my $.foo = 1
13:08 jnthn And that method foo is written for you
13:08 lizmat TIL  :-)
13:12 mr-fooba_ joined #perl6
13:18 curan joined #perl6
13:20 Cabanossi joined #perl6
13:22 kyan joined #perl6
13:28 xtreak joined #perl6
13:40 [Coke] bailador --config host:10.234.125.244 bin/sample.p6   # dies and gives me the usage statement for bailador.
13:40 [Coke] ah, found it.
13:40 [Coke] the ole, "let me complain in chat so I can immediate find my problem" tricl.
13:41 [Coke] *trick
13:41 timotimo yes!
13:42 [Coke] *immediately
13:42 [Coke] and then type fast so I scwre pu lal teh wrd0s
13:43 timotimo lal
13:45 moritz m: class Parent { our $.x = 1 }; class Child is Parent { }; child.x
13:45 camelia rakudo-moar 5facb2: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤    child used at line 1. Did you mean 'chmod'?␤␤»
13:45 moritz m: class Parent { our $.x = 1 }; class Child is Parent { }; Child.x
13:45 camelia rakudo-moar 5facb2: ( no output )
13:45 moritz m: class Parent { our $.x = 1 }; class Child is Parent { }; say Child.x
13:45 camelia rakudo-moar 5facb2: OUTPUT: «1␤»
13:45 moritz hm, tipdbmp is gone
13:59 khw joined #perl6
14:01 cognominal joined #perl6
14:05 kurahaupo joined #perl6
14:07 kurahaupo joined #perl6
14:09 kurahaupo_ joined #perl6
14:19 kurahaupo joined #perl6
14:23 kurahaupo joined #perl6
14:23 tbrowder MasterDuke: i don't see those packages listed on rakudo.org. are they regularly built? sounds like a great resource for noobs.
14:26 ufobat joined #perl6
14:26 alimon joined #perl6
14:36 tipdbmp joined #perl6
14:36 tipdbmp m: class Foo { has uint16 $.bar = 0x8000; }; my $foo = Foo.new; say $foo.bar;
14:36 camelia rakudo-moar aa5d6f: OUTPUT: «-32768␤»
14:36 tipdbmp Why negative?
14:38 timotimo our uint handling isn't very good yet
14:38 tipdbmp Okay.
14:42 araraloren m: class Foo { has uint16 $.bar = 0x8000; }; my $foo = Foo.new; say $foo.bar.WHAT;
14:42 camelia rakudo-moar aa5d6f: OUTPUT: «(Int)␤»
14:48 robertle what's the idiomatic way to check that a variable contains something that can be interpreted as a number?
14:49 timotimo try +$thing
14:49 timotimo m: with try +"hello" { say "hello is a number" }; with try +"99" { say "99 is a number" }
14:49 camelia rakudo-moar aa5d6f: OUTPUT: «99 is a number␤»
14:50 eveo m: with +"hello" { say "hello is a number" }; with +"99" { say "99 is a number" }
14:50 camelia rakudo-moar aa5d6f: OUTPUT: «99 is a number␤»
14:50 wamba joined #perl6
14:50 robertle thanks!
14:51 robertle "with try ...." is a nice pattern, usefulk for others stuff!
14:51 eveo m: +"99" andthen "99 is a number".say
14:51 camelia rakudo-moar aa5d6f: OUTPUT: «99 is a number␤»
14:51 eveo m: +"99" andthen "$_ is a number".say
14:51 camelia rakudo-moar aa5d6f: OUTPUT: «99 is a number␤»
14:52 eveo m: +"١١" andthen "$_ is a number".say
14:52 camelia rakudo-moar aa5d6f: OUTPUT: «11 is a number␤»
14:52 eveo robertle: you don't need `try` in this case. The failed coersion results in Failure
14:52 eveo huggable: Failure
14:52 huggable eveo, Delayed exception: https://docs.perl6.org/type/Failure
14:52 eveo \o
14:52 eveo left #perl6
14:55 timotimo oh, nice
14:56 Juerd "try +$thing". Wow. I'd have assumed val($thing) ~~ Numeric
14:57 Juerd timtowtdi, I guess. We should now fight over which is "better"! :P
14:58 ThomasWall joined #perl6
14:58 ThomasWall Just here to say that I got my degree in sound engineering, but I'm focusing on a career in IT. I began learning JS last year. I've chosen Perl 6 as my second language. Thanks to Larry Wall & the Perl community for this excellent language!
15:00 timotimo cool \o/
15:02 [Coke] glad to hear it.
15:02 eveo joined #perl6
15:04 eveo Juerd: they're not equivalent. +'42' returns Int, val('42') ~~ Numeric returns Bool, and even val('42') returns an IntStr, not an Int.
15:06 araraloren The val has documentation: https://docs.perl6.org/routine/val
15:06 Geth ¦ perl6.org: 8a38dd2867 | (Tom Browder)++ (committed using GitHub Web editor) | source/downloads/index.html
15:06 Geth ¦ perl6.org: add link to Linux binary packages
15:06 Geth ¦ perl6.org: review: https://github.com/perl6/perl6.org/commit/8a38dd2867
15:07 eveo tbrowder: it's a bit confusing to list Rakudo *compiler* packages in the section for Rakudo *Star*
15:13 tbrowder sorry, i guess i don't understand the purpose of the packages. what is the real difference now? should the debs be in a different category? another place? don't they provide perl6?
15:14 perlpilot tbrowder: I'd make another subsection that mentions compiler packages and how they differ from Rakudo Star
15:16 eveo tbrowder: yeah, subsection would be good. The difference is they include compiler-only. No package managers (though the packages page lists instructions for how to get one) or any of the modules included in Rakudo Star.
15:16 cdg joined #perl6
15:17 araraloren_ joined #perl6
15:17 tbrowder i know there has been some discussion about star here, but the page in question doesn't say anything about it except it's "a useful and usable production distribution of Perl 6" (sounds like something from Thomas the Tank Engine).
15:17 eveo tbrowder: and such confusion is why we've kinda avoided publicizing the monthly compiler releases on anything but perl6-compiler mailing list.
15:18 eveo tbrowder: as far as the end user is concerned, Rakudo Star is the One and Only way to get Perl 6
15:18 perlpilot btw ... do we really want to say "...supports the latest Christmas Perl 6"?  Aren't the 6.c, 6.d, etc. the "offical" versions ?
15:18 tbrowder ok, but, as a deb 8 user, i think it would be useful for such users who don't want to compile from source.
15:18 eveo Don't distros package rakudo star anyway?
15:21 araraloren_ perlpilot, yeah, like perl6 -v output: implementing Perl 6.c
15:26 tipdbmp left #perl6
15:31 Sabotender joined #perl6
15:33 Sabotender joined #perl6
15:38 Sabotender joined #perl6
15:38 [Coke] "the c stands for Christmas"
15:38 [Coke] (seriously)
15:42 tbrowder eveo: problem with debian users is old packages, not current enough for rapidly developing perl 6
15:44 tbrowder so, given the comments, i shall just remove the entry for now...
15:44 eveo tbrowder: shoving links to a wrong software package isn't a solution.
15:44 cdg_ joined #perl6
15:44 eveo IMO this ultimately goes into star being non-ideal in its current state
15:45 eveo And I plan to make https://perl6.vip thing as a possibile solution, but ATM my time has been used in improving compiler release quality.
15:48 Geth ¦ perl6.org: 4a3a9596f8 | (Tom Browder)++ (committed using GitHub Web editor) | source/downloads/index.html
15:48 Geth ¦ perl6.org: remove reference to compiler-only packages
15:48 Geth ¦ perl6.org: review: https://github.com/perl6/perl6.org/commit/4a3a9596f8
15:48 * eveo reads description on perl6.vip
15:49 eveo Don't think there'd be "camelion" thing any more, but rather a zef plugin
15:49 eveo and instead of adding all these Task:: dummy packages into ecosystem you'd use that plugin to install collections of modules
15:50 eveo (including making your own, personalized collections you could install on, say, multiple boxes using a short ID)
15:50 eveo buggable: eco Task::
15:50 buggable eveo, Found 3 results: Task::Galaxy, Task::Noise, Task::Popular. See https://modules.perl6.org/#q=Task%3A%3A
15:50 eveo left #perl6
16:41 espadrine joined #perl6
16:43 kurahaupo left #perl6
16:44 stmuk_ isn't the current ecosystem use of Task:: more general and better than making it all dependent on a particular plugin for a particular installer?
17:00 mcmillhj joined #perl6
17:02 buggable joined #perl6
17:03 NeuralAnomaly joined #perl6
17:04 roguelazer joined #perl6
17:04 adrusi joined #perl6
17:08 llfourn joined #perl6
17:12 eveo joined #perl6
17:14 ugexe anyone looking for a fairly cross-platform way to slurp an http request body into a var - https://github.com/ugexe/Perl6-App--ecogen/blob/master/lib/App/ecogen.pm6#L9-L28 + `return powershell-webrequest($uri) // curl($uri) // wget($uri)` - this works now (would deadlock prior to proc rework)
17:16 eveo stmuk_: it's no different than depending on a zef plugin to get CPAN modules.
17:19 eveo And releasing a whole dist into the ecosystem just to create a collection of modules is like using a rusty bazooka to kill a fly.
17:21 eveo Much better to have a dynamic system where it's easy to create new meta packages
17:21 stmuk_ I think it's more like the right tool for the job (a metafile) rather than hammering a screw in with a plugin
17:22 eveo It's not a metafile tho
17:22 eveo It's a distro released to p6c ecosystem that requires a p6c zef plugin
17:22 javan joined #perl6
17:22 eveo And instead it will be a dynamically generated metadata that requires whatever zef plugin
17:23 eveo Pointless naysaying like this is precisely why I plan to make PVIP my own distro and not under the perl6 umbrella
17:23 mst the Task:: system on CPAN was basically a hack
17:23 eveo left #perl6
17:23 mst useful hack, but still a hack
17:23 stmuk_ go ahead .. let a thousand flowers bloon
17:24 stmuk_ bloom even .. but I really don't see the problem with the current system
17:24 stmuk_ technical problem I mean
17:25 ugexe its not a technical problem. but it can be useful to know which packages provide nothing (which can't be done because meta data does not include bin/ files)
17:26 pilne joined #perl6
17:27 ugexe and fwiw the plugins being spoke of are all the same plugin - p6c/cpan are essentially a plugin for a json array of hash from some url
17:28 ugexe but that also just provides a list of meta data... there is not yet a "install everything from this ecosystem" like command
17:29 ugexe i'm open to suggestions
17:29 robertle joined #perl6
17:45 perlpilot joined #perl6
17:46 Geth joined #perl6
17:55 Actualeyes joined #perl6
18:01 wamba joined #perl6
18:04 SCHAPiE joined #perl6
18:07 user3 joined #perl6
18:07 user3 m: my Bool $a = 0;
18:07 camelia rakudo-moar aa5d6f: OUTPUT: «Type check failed in assignment to $a; expected Bool but got Int (0)␤  in block <unit> at <tmp> line 1␤␤»
18:07 zengargoyle ugexe: one thing i looked for in zef this morning was some sort of '--skip' option.  where it doesn't' just stop on a failure but skips to the next.
18:07 user3 why is it that the compiler can't convert automatically 0 to false?
18:08 user3 is there a type "bool"?
18:08 travis-ci joined #perl6
18:08 travis-ci Doc build errored. Jan-Olof Hendig 'Changed formatting of some code examples'
18:08 travis-ci https://travis-ci.org/perl6/doc/builds/243752067 https://github.com/perl6/doc/compare/b8cf104d57b7...2ec5af972173
18:08 travis-ci left #perl6
18:08 moritz there is a Bool
18:08 user3 is Bool an object or is it one byte (or one bit)?
18:09 moritz user3: and if you want the compiler to automatically coerce stuff for you, you have to tell it to do so
18:09 user3 m: my Bool $a = Bool(0);
18:09 camelia rakudo-moar aa5d6f: ( no output )
18:09 moritz (but it only works in signatures right now)
18:09 moritz m: sub f(Bool() $x) { say $x }; f 0
18:09 camelia rakudo-moar aa5d6f: OUTPUT: «False␤»
18:09 user3 yes. how do itell it to convert automatically?
18:09 moritz also, you can use prefix ? to coerce to bool
18:10 moritz m: say ?0, ?1
18:10 camelia rakudo-moar aa5d6f: OUTPUT: «FalseTrue␤»
18:10 TimToady my Bool() $x = 0;  # but Not Yet Implemented
18:10 user3 ok
18:11 robertle joined #perl6
18:29 travis-ci joined #perl6
18:29 travis-ci Doc build errored. Jan-Olof Hendig 'More formatting fixes'
18:29 travis-ci https://travis-ci.org/perl6/doc/builds/243754286 https://github.com/perl6/doc/compare/2ec5af972173...cc5db60dcd64
18:29 travis-ci left #perl6
18:32 cdg joined #perl6
18:33 |oLa| joined #perl6
18:37 ugexe zengargoyle: they exist as `--force-*` flags... --force-test --force-build etc
18:38 ugexe --force enables all that aren't explicitly disabled
18:46 setty1 joined #perl6
18:50 Cabanossi joined #perl6
18:56 uberbaud joined #perl6
18:57 javan joined #perl6
18:58 mr-foobar joined #perl6
18:59 zengargoyle ugexe: i mean just skip it if it fails, not force it to be installed.
19:04 incredible joined #perl6
19:04 zengargoyle so if you do `zef --serial install $(< /tmp/list-o-modules)` it doesn't stop on failure, it just only installs the modules that tested ok.
19:06 ugexe optional dependencies should be handled by authors, not users
19:10 moritz man, looking for technical publishers is frustrating
19:10 moritz I have some contact at O'Reilly, but they don't answer my emails
19:11 moritz then there are publishes that have official email addresses for submitting book ideas, and they don't answer either
19:12 cdg joined #perl6
19:14 hythm joined #perl6
19:17 ChoHag joined #perl6
19:24 zengargoyle ugexe: i don't think i'm explaining it right.  if i do `zef install A B C D` (all unrelated) and zef decides to install them in that order, and if C fails, skip it and keep on installing D.
19:26 ugexe if C fails at some step it potentially changes the dependency graph
19:26 zengargoyle it currently will not try to install D if C fails, and you have to edit out C from the command line and try again.
19:27 zengargoyle so it can't just skip and modules that needed C and do the rest that don't depend on C?
19:27 zengargoyle *any
19:28 ugexe version ranges?
19:29 Geth joined #perl6
19:29 ugexe emulates/excludes/superceded_by (when/if ever they get implemented)?
19:30 zengargoyle 'cause with any large enough list of desired modules, one of them is going to fail (like p6doc or LWP::Simple)
19:31 ugexe a requirement is required. if its optional / can-be-skipped then why is it a requirement?
19:31 zengargoyle but that doesn't mean you can't skip the failures and still install DOM::Tiny and DBIish.
19:32 zengargoyle because it's a list of random modules.  not a module and it's dependencies.  did you ever use p5's cpan-outdated program?
19:33 zengargoyle `cpan-outdated | cpanm`  - list all installed modules that have a newer version and install them.
19:38 Geth joined #perl6
19:39 zengargoyle np, i guess i can just do `for mod in $(< list-o-modules); do zef install $mod; done and call it a day. :)
19:44 ugexe the problem i have with declaring this as just `--skip` is it would get to take precedence over --force-* flags and I want to avoid that type of confusing interface
19:44 AlexDaniel joined #perl6
19:44 cdg_ joined #perl6
19:45 zengargoyle cool, the for loop will do what i want just a bit slower. :)
19:46 colomon joined #perl6
19:47 zengargoyle but it's also going to make Task::Whatever types of collection of modules fail if any single module fails.  (or you --force it and get possibly broken module)
19:47 ugexe im open to the option if it can be expressed in a better way
19:48 Geth joined #perl6
19:51 ZofBot joined #perl6
19:57 salv0 joined #perl6
20:05 Cabanossi joined #perl6
20:14 travis-ci joined #perl6
20:14 travis-ci Doc build errored. Jan-Olof Hendig 'Make text more explicit. lizmat++'
20:14 travis-ci https://travis-ci.org/perl6/doc/builds/243795659 https://github.com/perl6/doc/compare/cc5db60dcd64...1ca0487fece0
20:14 travis-ci left #perl6
20:15 perlawhirl hi perlers
20:17 perlpilot ugexe: maybe "zef install-each A B C D" ?  (just to have zef do the loop that zengargoyle is talking about with independent dependency graphs)  at least then it's clear that something different is happening
20:22 * geekosaur wonders if a better idea is a global '--transaction' option
20:22 geekosaur or even a grouped option:  zef install foo bar --transaction baz quux --/transaction meef
20:23 geekosaur foo, bar, and meef are independent, but both baz and quuz must install or neither does
20:24 * perlawhirl clickbaits http://www.0racle.info/articles/perl_6_on_rails
20:26 perlpilot geekosaur: oh!  I like that
20:27 zengargoyle there's already --serial which installs each module after testing (default --/noserial only installs once everything is done).
20:28 geekosaur right, but that doesn't mean quite the same thing
20:29 zengargoyle but --transaction and install-each don't seem to help with the Task::Whatever module case.
20:31 geekosaur what exactly is that case?
20:32 zengargoyle Task::Star, Task::Popular, etc.  just lists of cool useful modules that aren't really interdependent, just collected together in one 'package'
20:34 zengargoyle it is a failure if they don't all install, but it's also a "meh, do your best and let me deal with the fallout"
20:36 geekosaur right, that's what the default mode would be
20:36 geekosaur --transaction is for when you need stuff to install together or not at all
20:37 perlpilot sounds like a failure of Task::Whatever, in general.
20:37 geekosaur Task::Whatever as a concept is somewhat broken
20:37 geekosaur as Task::Star demonstrated
20:38 geekosaur one could argue it's a hackaround for inadequate tooling
20:38 mst perhaps the answer would be for Tasks to provide their stuff as recommends
20:38 geekosaur so I'm suggsting mroe adequate tooling instead :)
20:38 mst since generally requires failures are a failure, but recommends failures are not
20:40 zengargoyle do we have a recommends in META6?
20:41 perlpilot I don't see it in S22
20:42 mst I'm not sure the META6 process ever really paid attention to the version 2 of the perl5 META spec
20:42 mst but that's presumably fixable
20:42 zengargoyle but i think zef would still have to change...  it stops on first thing that fails.  so it still boils down to keep going after one thing fails.
20:43 geekosaur right, that was the proposed install-each
20:45 perlpilot 'recommends' seems to be deprecated according to CPAN::Meta::Spec
20:45 zengargoyle geekosaur: yeah, just applied over the depends/reccomends of a single `zef install-each A`  which may be exactly what you meant and i missed it.
20:46 geekosaur well, the point was more that a Task::Foo would boil down to zef install-each [each dependency here] so if one fails it continues
20:46 geekosaur my suggestion was make that the default and provide --transaction to get the current behavior, possibly with some granularity
20:47 geekosaur (Task modules might even want that granularity sometimes)
20:47 zengargoyle but --static sorta already does that, depending on how the dependencies get sorted.  the ones that complete before the first failure get installed.  the ones after the fist failure don't (even if they could be).
20:48 TEttinger joined #perl6
20:48 zengargoyle d'oh --serial
20:49 zengargoyle without --serial, it's already one big transactional.  i think it installs to a temp CUR and then moves them all at once.
20:52 stmuk joined #perl6
20:53 geekosaur right, it's the each/independent case that is currently missing
20:54 geekosaur so one proposal is to add it, and mine is to make the independent one the default and optionally add some extra flexibility
20:55 * zengargoyle just sorta wants it to work like cpanm :P
20:55 geekosaur and part of the problem here is that end users want one thing, system integrators/packagers want another, etc.
20:56 geekosaur satisfy one and piss off the other
20:56 zengargoyle but the transaction bit is really handy so you don't get a lot of cruft in your repo if the thing you actually asked for doesn't build.
20:57 zengargoyle i did a lot of installing to a local::lib first and then rsync if it actually worked.
20:59 rumble joined #perl6
20:59 zengargoyle --pretend-recommended
20:59 sufrostico joined #perl6
21:00 zengargoyle but prune things missing dependencies
21:03 Skarsnik joined #perl6
21:05 Cabanossi joined #perl6
21:05 mcmillhj joined #perl6
21:14 ugexe the reason for --/serial being default is because from a concurrency point of view it would be faster since it can group all the dependencies of things together, and so that the next time you run the zef command you'll get the same results (e.g. an optional requirement getting installed now allows some test for a different module)
21:16 timotimo perlawhirl: did you know that you can always return a Nil or Failure regardless of the return type signature?
21:17 mr-foobar joined #perl6
21:19 sufrostico joined #perl6
21:20 ugexe but it could be as simple as `zef install Foo Bar Baz,XXX,YYY ZZZ` - or any delimiter that isn't allowed in a module name
21:20 timotimo well, can't be & because shell
21:20 mcmillhj joined #perl6
21:20 timotimo what even do we forbid in module names?
21:21 timotimo are + allowed?
21:22 perlpilot + shouldn't be allowed
21:22 ugexe I doubt it... I think its the same as methods/subs
21:22 perlpilot just alphanumeric and "-" and "'"
21:22 perlpilot (I think)
21:22 ugexe ::
21:23 ugexe but *not* :
21:23 perlpilot yes, of course that too :)
21:24 ugexe m: package 1a { }; # must start with alpha
21:24 camelia rakudo-moar 6e2e4f: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Unable to parse package definition␤at <tmp>:1␤------> 3package7⏏5 1a { }; # must start with alpha␤    expecting any of:␤        generic role␤»
21:24 perlpilot yeah, same rules as any identifier
21:25 timotimo so we put digits in front to signify "groups" :P
21:25 perlpilot m: package foo123-bar;
21:25 camelia rakudo-moar 6e2e4f: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤This appears to be Perl 5 code. If you intended it to be Perl 6 code, please use a Perl 6 style declaration like "unit package Foo;" or "unit module Foo;", or use the block form instead of the semicolon fo…»
21:25 perlpilot m: package foo123-bar { }
21:25 camelia rakudo-moar 6e2e4f: ( no output )
21:25 perlpilot m: package foo123-123bar { }
21:25 camelia rakudo-moar 6e2e4f: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Unable to parse package definition␤at <tmp>:1␤------> 3package foo1237⏏5-123bar { }␤    expecting any of:␤        generic role␤»
21:25 perlpilot yep
21:25 timotimo that error message could be better
21:25 perlpilot yeah, that message is quite LTA
21:25 ugexe m: package A::1 { }
21:25 camelia rakudo-moar 6e2e4f: OUTPUT: «===SORRY!===␤Name A:: ends with '::' and cannot be used as a package name␤»
21:26 Skarsnik this is wrong lol
21:26 Skarsnik Hello there btw ^^
21:26 perlpilot m: package I-can't-help::myself { }
21:26 camelia rakudo-moar 6e2e4f: ( no output )
21:26 jnthn Well, it's correct in so far as 1 isn't a valid part of a package name, so it isn't even considered :)
21:27 jnthn But we could always peak ahead a bit
21:27 jnthn *peek
21:27 ugexe we're trying to figure out delimiters for parsing CLI arguments of module names
21:28 jnthn ugexe: Well, you could use numbers :P
21:28 ugexe \0 naturally
21:30 mienaikage joined #perl6
21:32 hythm joined #perl6
21:35 * zengargoyle just want like --go and --gogo.  `zef --go install A B C` -- basically the for loop, just try to install A, B, and C.  `zef --gogo Task::Handy Task::Math` -- same as --go, but also treat the depends of each module as --go (just so you can keep a list of modules in a Task and put it on github or something).
21:36 zengargoyle seems the module modifier should be Foo:optional
21:36 mcmillhj joined #perl6
21:36 zengargoyle Foo:ver<*>:auth<github:zengargoyle>:optional
21:37 zengargoyle or some such...
21:40 zengargoyle :depend<build-depends> :depend<test-depends> :depend<recommends>  matching whatever is in META6
21:42 zengargoyle then you could invert things and in the META say: "auth" : { "zengargoyle" : [ "Foo", "Bar" ], "ugexe" : [ "zef" ] } :P
21:43 ugexe well whatever you put on the command line should also work in the META6 fields
21:43 zengargoyle and everybody could specify a module in a myriad of ways and chaos ensues. :)
21:45 ugexe but you also have urls
21:45 ugexe local file paths
21:46 zengargoyle ah, never thought of trying to put a url or file path in a META like that.
21:46 ugexe and you probably want local file paths to fulfil dependencies for anything else asked for with it
21:47 ugexe if you `zef install Foo::Bar ./foo-bar/dependency/Baz/v2` you dont want it to install whatever Baz it finds on the internet you want it to use the one in the path
21:50 unclechu joined #perl6
21:50 ilmari[m] joined #perl6
21:50 dp[m] joined #perl6
21:50 CIAvash[m] joined #perl6
21:50 tadzik joined #perl6
21:50 Matthew[m] joined #perl6
21:50 xui_nya[m] joined #perl6
21:50 zengargoyle i'd probably be happy with `zef install ./foo-bar/dependency/Baz/v2 Foo::Bar` and accept that there's an order to installation and Baz will be installed first and found by Foo::Bar.
21:51 ugexe that makes concurrency less appealing
21:51 zengargoyle ah. *nods*
21:52 mcmillhj joined #perl6
21:54 ugexe a solution will probably manifest itself for the `smoke` command though
21:54 * zengargoyle isn't used to expecting concurrency without a lot of effort on myself.
22:05 Cabanossi joined #perl6
22:08 perlawhirl timotimo: ahh yes, i did know that. i might edit to make some mention of it
22:08 mcmillhj joined #perl6
22:08 timotimo did you also know you can call any method on Nil and get back self?
22:09 timotimo these semantics probably don't work with .&foo syntax, because that's not an actual method call
22:15 perlawhirl can you give an example. I tried calling a method on a Nil variable and it just tells me no such method
22:17 timotimo oh?
22:17 timotimo maybe only for failure, ten
22:17 timotimo then*
22:17 timotimo m: Nil.foobar.say
22:17 camelia rakudo-moar a38cb6: OUTPUT: «Nil␤»
22:17 timotimo no, you probably assigned a Nil to a $foo?
22:17 timotimo because assigning Nil to a variable resets it to its default value
22:18 timotimo that'd usually be Any, which doesn't have the "every unknown method gives you Nil back" behaviour
22:21 konsolebox joined #perl6
22:21 * timotimo heads to bed
22:22 beginner joined #perl6
22:22 lizmat good night, timotimo
22:23 beginner is there a suspend statement in perl6...or any equivalents that suspends the current task in execution
22:24 mcmillhj joined #perl6
22:24 timotimo do we have sleep() for that? (that'd freeze an operating-system-level thread)
22:24 timotimo otherwise if you are using v6.d.PREVIEW, you can "await Promise.in(9999999999999)" or something
22:25 timotimo or await a promise that nobody will ever resolve/reject
22:26 Skarsnik timotimo.sleep
22:26 beginner timotimo : i guess await over the promise will help....and is there any skip statement?
22:28 timotimo what does "skip" mean?
22:29 timotimo you can skip to the next iteration of a loop using "next"
22:30 beginner terminating the current loop and resuming execution at next statement
22:31 jnthn last
22:31 jnthn Presuming you mean "next statement after the loop" :)
22:32 beginner will try that
22:33 mcmillhj joined #perl6
22:34 dolmen joined #perl6
22:50 ChoHag joined #perl6
23:01 araralonre__ joined #perl6
23:16 pochi joined #perl6
23:17 araraloren_ joined #perl6
23:17 Geth ¦ doc: f48a1b3198 | (Elizabeth Mattijsen)++ | doc/Language/5to6-perlfunc.pod6
23:17 Geth ¦ doc: Rewrite the alarm section
23:17 Geth ¦ doc: review: https://github.com/perl6/doc/commit/f48a1b3198
23:19 esh_ joined #perl6
23:20 Praise- joined #perl6
23:20 Praise- joined #perl6
23:21 lucs joined #perl6
23:21 leedo_ joined #perl6
23:21 smash_ joined #perl6
23:21 literal_ joined #perl6
23:21 sunnavy_ joined #perl6
23:21 mst_ joined #perl6
23:22 BooK_ joined #perl6
23:22 broquain1 joined #perl6
23:25 mniip_ joined #perl6
23:25 tomaw| joined #perl6
23:25 eythian_ joined #perl6
23:26 musca` joined #perl6
23:27 emeric joined #perl6
23:28 jnthn joined #perl6
23:29 jferrero joined #perl6
23:29 ranguard joined #perl6
23:30 silug joined #perl6
23:31 notbenh joined #perl6
23:33 javan joined #perl6
23:43 kurahaupo joined #perl6
23:50 javan joined #perl6
23:54 lucs Heredoc with  q:c/foo/  expands "abc {2+2} def \{3+3}" to "abc 4 def \{3+3}"
23:54 lucs How do I get "abc 4 def {3+3}"
23:54 lucs Better yet, why can't I specify the closure character? (I'm heredocing LaTeX, I'd have to escape tons of '{')
23:55 lucs (and also escape tons of '\')
23:59 lucs ( q:c:to/foo/ actually)

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

Perl 6 | Reference Documentation | Rakudo