»ö« 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.
sacomo is there anyway to re-export an imported module symboles similar to S11's :EXPORT design.perl6.org/S11.html. 01:39
sacomo nm, www.nntp.perl.org/group/perl.perl6...g3118.html 02:05
ZzZombo m: sub x{say CALLER.WHO};x 03:48
camelia PseudoStash.new((!UNIT_MARKER => (!UNIT_MARKER), $! => Nil, $/ => Nil, $=finish => (Mu), $=pod => [], $?PACKAGE => (GLOBAL), $_ => (Any), $¢ => Nil, &x => sub x () { #`(Sub|58496384) ... }, ::?PACKAGE => (GLOBAL), EXPORT => (EXPORT), GLOBALish => (GL…
ZzZombo m: sub x{say CALLER.WHO};class A{our $a=1;my $b=2;has $!a='a';method m{x}};A.x;A.new.x 03:49
camelia No such method 'x' for invocant of type 'A'. Did you mean 'm'?
in block <unit> at <tmp> line 1
ZzZombo m: sub x{say CALLER.WHO};class A{our $a=1;my $b=2;has $!a='a';method m{x}};A.m;A.new.m
camelia PseudoStash.new(($! => Nil, $*DISPATCHER => (MethodDispatcher), $/ => Nil, $_ => (Any), $¢ => Nil, %_ => (Mu), self => (Mu)))
PseudoStash.new(($! => Nil, $*DISPATCHER => (MethodDispatcher), $/ => Nil, $_ => (Any), $¢ => Nil, %_ => (Mu), self => (M…
ZzZombo m: sub x{say CALLER.WHO};class A{our $a=1;my $b=2;has $!a='a';method m{x}};A.new.m
camelia PseudoStash.new(($! => Nil, $*DISPATCHER => (MethodDispatcher), $/ => Nil, $_ => (Any), $¢ => Nil, %_ => (Mu), self => (Mu)))
Xliff Off the cuff, does anyone know if Markdown can handle MathML? 05:44
Geth doc: 07a53bd4af | (JJ Merelo)++ | doc/Language/syntax.pod6
Fixes grammar

Closes 1769
06:23
synopsebot Link: doc.perl6.org/language/syntax
doc: d905dfbc0e | (JJ Merelo)++ | doc/Type/Seq.pod6
Fixes error closes #1768
synopsebot Link: doc.perl6.org/type/Seq
Geth doc: 48677e0524 | (JJ Merelo)++ | doc/Language/syntax.pod6
Fixes some grammar around error

Mainly to close #1769; also closes #1776 which was a duplicate.
06:51
synopsebot Link: doc.perl6.org/language/syntax
Geth doc: 3af55c6c9a | (JJ Merelo)++ | doc/Type/Seq.pod6
Fixes grammar

Fixes #1775
06:53
synopsebot Link: doc.perl6.org/type/Seq
wolfshield I have a function which gets an object from a factory method. The factory loads the class at runtime. When the object is eventually garbage collected, DESTROY can no longer find the symbol. How do I suppress the WARNING from this Failure? 08:01
WARNING: unhandled Failure detected in DESTROY. If you meant to ignore it, you can mark it as handled by calling .Bool, .so, .not, or .defined methods. The Failure was: No such symbol 'Source3::Exporter::VetSuccessExporter'
moritz wolfshield: after you do a lookup of the symbol, type-check it against Failure, and only do your thing if it's not Failure 08:11
wolfshield thanks, moritz. added a check for ~~ Failure, but still get the WARNING from the gc. It's not when the object is created that there is a problem, but when it eventually gets collected. Somehow the module required in the factory is not available to the gc. 08:39
Xliff wolfshield: Can you pastebin some code?
daviddavis_ Hey there! I've been messing around with IO::Socket::Async and was taking a look at how to test it. I was trying to test it using a single tes script with something like the example within the perl6 docs but using a promise to start the listener and then have an IO::Socket::Async connect to it afterwards. Although it seems when I try and do this in one script I get connection refused. Can someone tell my what I am missing here? 08:45
This is what I have written looks like pastebin.com/ZqxBPFCM
moritz daviddavis_: the mock server starts one second after you try to connect to it 08:46
daviddavis_: because you delay it with Promise.in(1)
the proper way would be to have a Promise that is fulfilled when the Mock server has started 08:47
await that
and only then run the test code
disclaimer: Async is not my strength :-)
I'm more into regexes and grammars and that stuff 08:48
tchala hello 09:35
jnthn daviddavis_: github.com/jnthn/p6-test-io-socket-async may be of interest 10:04
stmuk www.reddit.com/r/perl6/comments/7x...ws_64_bit/ 10:40
yoleaux 12 Feb 2018 02:54Z <AlexDaniel> stmuk: fwiw irclog.perlgeek.de/perl6/2018-02-12#i_15806100
stmuk hmmm github.com/zostay/perl6-IO-Glob/issues/7 10:42
Geth doc: cc6dd340d9 | (JJ Merelo)++ | doc/Type/Exception.pod6
Use print (converts to String) not say (uses gist)

Here's [the explanation](docs.perl6.org/language/faq#How_an...t_differ?) Refs #1770
11:35
synopsebot Link: doc.perl6.org/type/Exception
doc: 3c5b5c0799 | (JJ Merelo)++ | doc/Type/X/AdHoc.pod6
Changes say to print

Closes #1770
synopsebot Link: doc.perl6.org/type/X::AdHoc
Xliff Any suggestions? Please feel free to comment -- gist.github.com/Xliff/5b8f8a7bd2ca...95ee9630b6 12:24
moritz Xliff: are you aware of "rule" instead of "token" automatically inserting <.ws> for you? 12:25
Xliff moritz++: YES! I knew I was missing something! 12:38
Ah! But I don't necessarily want :sigspace 12:40
Mainly because my coding style is more vertical. 12:41
I hate having to hori-scroll.
Xliff So if this was in a rule: "[ 'UNIQUE' ]? 'INDEX'" would it match any of the following - "UNIQUE INDEX", "UNIQUE INDEX", "INDEX" 12:42
I guess I could try.... :P
moritz it would be equivalent to [ 'UNIQUE' <.ws>]? 'INDEX' 12:43
afaict
Xliff m: my rule ui { [ 'UNIQUE' ]? 'INDEX' }; my @a = ("UNIQUE INDEX", "UNIQUE INDEX", "INDEX"); say @a.any ~~ &ui; 12:44
camelia 「UNIQUE INDEX」
「UNIQUE INDEX」
「INDEX」
Xliff m: my rule ui { [ 'UNIQUE' ]? 'INDEX' }; my @a = ("UNIQUE INDEX", "UNIQUE INDEX", "INDEX"); say @a.all ~~ &ui;
camelia 「UNIQUE INDEX」
「UNIQUE INDEX」
「INDEX」
Xliff \o/
ZzZombo m: class C { COMPOSE { say '???' } } 12:48
camelia ( no output )
ZzZombo m: class C { BLA { say '???' } }
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared name:
BLA used at line 1
Xliff moritz: What is your github name?
m: class C { COMPOSE { say '???' } }; C.new 12:49
camelia ( no output )
Xliff *shrug*
moritz Xliff: moritz 12:50
Xliff Cool. Credit where credit is due. I am kinda doing this as a step by step tutorial, at least for the CREATE part. 12:52
Zoffix There used to be a listing of available Rakudo env vars in the docs here: docs.perl6.org/programs.html Anyone know what happend to them 13:12
El_Che docs.perl6.org/language/variables#..._variables ? 13:14
Zoffix So now they've been moved to TWO pages on the Wiki github.com/rakudo/rakudo/wiki/dev-env-vars and github.com/rakudo/rakudo/wiki/Runn...mmand-line and the latter lists the PERL6_ env vars too, not just rakudo once. 13:18
I don't see how exactly this helps our users.
moritz ask jjmerelo on github, on commit 7cd9320474dfa266a6ac26a10020e078cae83314 ? 13:22
Zoffix I'm writing a comment on the Issue that commit references./ 13:23
Xliff wishes there was a way to use given/when in a rule {}... 13:27
Zoffix moritz: is there a version of method-call form for doing `token foo { <bar> }` ? The other day I was trying to make a match inside a block and while `token foo { { 42 ?? self.bar !! self.ber } }` worked, it doesn't set the capture in `$/`. Is there a way to set it? (IIRC I tried doing `$/<foo> = self.foo` but that didn't work out) 13:30
jnthn [ <?{ 42 }> <bar> || <ber> ] 13:34
Zoffix jnthn: hmm.. I want to call stuff from inside the block. Basically, was trying to modify the value of a dynvar, but only if another var had a specific value. Ended up doing it like this: github.com/rakudo/rakudo/commit/1c...438f8dba19 13:36
I imagined something like ... { if $*SCOPE eq 'has' { my $*HAS_SELF; self.match-stuff } else { self.match-stuff } } ... 13:37
Zoffix ahhh 13:39
m: grammar { token TOP($v) { <m={ $v ?? self.foo !! self.bar }> }; token foo { {say "matching foo" } \d+ }; token bar { {say "matching bar"} a+ } }.parse("42", :args[42]).say 13:40
camelia matching foo
「42」
m => 「42」
Zoffix This does the trick, I guess
m: grammar { token TOP($v) { <m={ $v ?? self.foo !! self.bar }> }; token foo { {say "matching foo" } \d+ }; token bar { {say "matching bar"} a+ } }.parse("42", :args[0]).say
camelia matching bar
5===SORRY!5=== Error while compiling /home/camelia/EVAL_0
Null regex not allowed
at /home/camelia/EVAL_0:1
------> 3anon regex { 7⏏5}
Zoffix m: grammar { token TOP($v) { <m={ $v ?? self.foo !! self.bar }> }; token foo { {say "matching foo" } \d+ }; token bar { {say "matching bar"} a+ } }.parse("aaa", :args[0]).say
camelia matching bar
「aaa」
m => 「aaa」
Zoffix
.oO( except for the "null regex" bit :/
Xliff m: grammar { token TOP($v) { <m={ $v ?? self.foo !! self.bar }> }; token foo { {say "matching foo" } \d+ }; token bar { {say "matching bar"} a+ } }.parse("", :args[0]).say 13:47
camelia matching bar
5===SORRY!5=== Error while compiling /home/camelia/EVAL_0
Null regex not allowed
at /home/camelia/EVAL_0:1
------> 3anon regex { 7⏏5}
13:48
Xliff m: grammar { token TOP($v) { <m={ $v ?? self.foo !! self.bar }> }; token foo { {say "matching foo" } \d+ }; token bar { {say "matching bar"} a+ } }.parse("a", :args[0]).say
camelia matching bar
「a」
m => 「a」
Xliff O_o? Why bar and not foo? 13:49
Zoffix $v is false 13:50
Xliff Oh. W8.
m: grammar { token TOP($v) { <m={ $v ?? self.foo !! self.bar }> }; token foo { {say "matching foo" } \d+ }; token bar { {say "matching bar"} a+ } }.parse("a", :args[1]).say
camelia matching foo
5===SORRY!5=== Error while compiling /home/camelia/EVAL_0
Null regex not allowed
at /home/camelia/EVAL_0:1
------> 3anon regex { 7⏏5}
Xliff m: grammar { token TOP($v) { <m={ $v ?? self.foo !! self.bar }> }; token foo { {say "matching foo" } \d+ }; token bar { {say "matching bar"} a+ } }.parse("a", :args[0]).say
camelia matching bar
「a」
m => 「a」
Xliff m: grammar { token TOP($v) { <m={ $v ?? self.foo !! self.bar }> }; token foo { {say "matching foo" } \d+ }; token bar { {say "matching bar"} a+ } }.parse("1", :args[0]).say 13:50
camelia matching bar
5===SORRY!5=== Error while compiling /home/camelia/EVAL_0
Null regex not allowed
at /home/camelia/EVAL_0:1
------> 3anon regex { 7⏏5}
Xliff m: grammar { token TOP($v) { <m={ $v ?? self.foo !! self.bar }> }; token foo { {say "matching foo" } \d+ }; token bar { {say "matching bar"} a+ } }.parse("11", :args[0]).say 13:51
camelia matching bar
5===SORRY!5=== Error while compiling /home/camelia/EVAL_0
Null regex not allowed
at /home/camelia/EVAL_0:1
------> 3anon regex { 7⏏5}
13:51
Xliff 'kaaaa
m: grammar { token TOP($v) { <m={ $v ?? self.foo !! self.bar }> }; token foo { {say "matching foo" } \d+ }; token bar { {say "matching bar"} a+ } }.parse("11", :args[1]).say
camelia matching foo
「11」
m => 「11」
Zoffix I think it's wrong and it's trying to use the Match object returned by the method as a regex or something 13:52
Xliff So yes, this is a contrived example. I have a hard time seeing how this construct would be usable in code. Too likely to crash based on the parse string and :$args
m: grammar { token TOP($v) { <m={ $v ?? /\d+/ !! /\a+/ }> }; }.parse("11", :args[1]).say 13:54
camelia 5===SORRY!5=== Error while compiling <tmp>
Unrecognized backslash sequence: '\a'
at <tmp>:1
------> 3{ token TOP($v) { <m={ $v ?? /\d+/ !! /\7⏏5a+/ }> }; }.parse("11", :args[1]).say
expecting any of:
term
Xliff m: grammar { token TOP($v) { <m={ $v ?? /\d+/ !! /a+/ }> }; }.parse("11", :args[1]).say
camelia 「11」
m => 「11」
Xliff m: grammar { token TOP($v) { <m={ $v ?? /\d+/ !! /a+/ }> }; }.parse("11", :args[0]).say
camelia Nil
Xliff m: grammar { token TOP($v) { <m={ $v ?? /\d+/ !! /a+/ }> }; }.parse("aa", :args[0]).say
camelia 「aa」
m => 「aa」
Xliff I think you are correct, sir.
^^ Zoffix
Zoffix m: grammar { token TOP($v) { <m=( $v ?? self.foo !! self.bar )> }; token foo { {say "matching foo" } \d+ }; token bar { {say "matching bar"} a+ } }.parse("42", :args[0]).say 13:56
camelia 5===SORRY!5=== Error while compiling <tmp>
Unable to parse expression in metachar:sym<assert>; couldn't find final '>' (corresponding starter was at line 1)
at <tmp>:1
------> 3grammar { token TOP($v) { <m=7⏏5( $v ?? self.foo !! self.ba…»
Geth doc: 177013b1d6 | (Curt Tilmes)++ | doc/Language/nativecall.pod6
Rename 'null' to NULL to make clear that they are C NULL pointers, Issue #1774.
14:02
synopsebot Link: doc.perl6.org/language/nativecall
Geth doc: 2ba42245ab | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Type/Backtrace.pod6
Document Backtrace.gist

Rakudo impl: github.com/rakudo/rakudo/commit/555db42a37 Spec: github.com/perl6/roast/commit/ca8c23ae77
14:18
synopsebot Link: doc.perl6.org/type/Backtrace
doc: fc2a944003 | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Type/Backtrace.pod6
Document Backtrace.list
14:19
Geth doc: 72be743d07 | (Curt Tilmes)++ | doc/Language/nativecall.pod6
Use strdup() instead of strcpy() to allocate memory, address issue #1773
14:20
synopsebot Link: doc.perl6.org/language/nativecall
buggable New CPAN upload: IRC-Client-Plugin-Ignore-0.1.0.tar.gz by TYIL cpan.metacpan.org/authors/id/T/TY/...1.0.tar.gz 14:22
travis-ci Doc build errored. Zoffix Znet 'Document Backtrace.gist 14:23
travis-ci.org/perl6/doc/builds/340965834 github.com/perl6/doc/compare/17701...a42245ab01
buggable [travis build above] ☠ Did not recognize some failures. Check results manually. 14:23
travis-ci Doc build errored. Curt Tilmes 'Use strdup() instead of strcpy() to allocate memory, address issue #1773' 14:23
travis-ci.org/perl6/doc/builds/340966955 github.com/perl6/doc/compare/fc2a9...be743d0742
buggable [travis build above] ☠ Did not recognize some failures. Check results manually. 14:23
travis-ci Doc build errored. Zoffix Znet 'Document Backtrace.list' 14:24
travis-ci.org/perl6/doc/builds/340966503 github.com/perl6/doc/compare/2ba42...2a944003c0
buggable [travis build above] ☠ Did not recognize some failures. Check results manually. 14:24
Geth doc: c7d95fad40 | (Curt Tilmes)++ | doc/Language/nativecall.pod6
Call init() with named parameters
14:40
synopsebot Link: doc.perl6.org/language/nativecall
Geth doc: 98b1f499f8 | (Curt Tilmes)++ | doc/Language/nativecall.pod6
Clarify int32_t, not just int, issue #1772
14:52
synopsebot Link: doc.perl6.org/language/nativecall
Kaiepi what vim plugins do you recommend for p6 dev? 15:00
if you use vim
moritz I use (g)vim without any plugins, fwiw 15:11
Xliff m: ("a@@bcd" ~~ /<alpha + [@ _ $]>/).say 15:13
camelia 5===SORRY!5=== Error while compiling <tmp>
Quantifier quantifies nothing
at <tmp>:1
------> 3("a@@bcd" ~~ /<alpha +7⏏5 [@ _ $]>/).say
mspo polyglot has p6 i think
Xliff m: ("abcd" ~~ /<alpha>/).say
camelia 「a」
alpha => 「a」
Xliff m: ("abcd" ~~ /<:alpha>/).say
camelia 「a」
Xliff Hrm
m: ("a@@bcd" ~~ /<:L + [@ _ $]>/).say 15:14
camelia 「a」
Xliff m: ("a@@bcd" ~~ /<:L + [@ _ $]>+/).say
camelia 「a@@bcd」
Xliff m: ("a@@bcd" ~~ /<alpha + [@ _ $]>+/).say
camelia 5===SORRY!5=== Error while compiling <tmp>
Quantifier quantifies nothing
at <tmp>:1
------> 3("a@@bcd" ~~ /<alpha +7⏏5 [@ _ $]>+/).say
travis-ci Doc build passed. Curt Tilmes 'Clarify int32_t, not just int, issue #1772' 15:14
travis-ci.org/perl6/doc/builds/340980702 github.com/perl6/doc/compare/c7d95...b1f499f8b3
Kaiepi polyglot? 15:14
Xliff m: ("a@@bcd" ~~ /<:L + [@ _ $]>+/).say 15:17
camelia 「a@@bcd」
Xliff m: ("a@@bc\$" ~~ /<:L + [@ _ $]>+/).say
camelia 「a@@bc$」
kybr FYI: rosettacode.org/wiki/Wireworld#Perl_6 -- is broken for me on Rakudo Star version 2018.01 built on MoarVM version 2018.01 implementing Perl 6.c. 15:23
lizmat method postcircumfix:<[ ]>($i) { @.line[$i].comb } # looks suspect to me? 15:26
moritz it hasn't been a method for years 15:43
b2gills There are other problems with that entry 15:48
I think part of the problem is it is pre-GLR 15:50
b2gills I at least get different errors when I change 「-> $i, $j {」 with 「-> ($i, $j) {」 15:53
I got it to work, will update the page now (and try and re-write it so it isn't modifying the state of other instances) 15:59
I changed to many things with the one on my computer, it was just the method postcircumfix, 「-> $i, $j {」 and 「-> \i, \j {」 16:04
kybr: Thanks for telling us, it is fixed now. I will also see about re-writing it. 16:05
kybr b2gills: sorry to not try to fix it myself; i would try if i had time. i want to show it in the class i'm teaching, so thanks for fixing it. 16:07
b2gills kybr: It isn't exactly a great example at the moment, I want to remove all instances of .pick for example 16:12
caa51h Is there any Perl6 repo good for beginner as a reading material? 16:19
MasterDuke's repo is full of nqp and I don't know what's that at all. :D 16:20
b2gills perl6intro.com/ learnxinyminutes.com/docs/perl6/ examples.perl6.org/ may be good starting points 16:23
b2gills Or really anything on perl6.org/resources/ 16:24
Geth doc: 0be3298f5b | (Will "Coke" Coleda)++ | xt/words.pws
learn new words
caa51h b2gills: ok thank you 16:36
[Coke] Grant Proposals for the current round are up at: news.perlfoundation.org/2018/02/gra...bruar.html 16:50
moritz [Coke]++ # posting grant proposals 17:51
[Coke] moritz: I was going to say no problem, but am settling on "you're welcome". :) 17:52
moritz doesn't really know what to think about news.perlfoundation.org/2018/02/gra...nd-im.html 18:03
it seem really useful
but -- there's always a "but", right ? 18:04
sena_kun >Addressing 5 doc issues per day on average, minimum 2 issues per day. Reduce the amount of open issues by at least 120.
if that's true, it'd be awesome.
moritz I don't see a really coherent vision behind it
maybe there is one, but IMHO doesn't really come through in this grant proposal 18:05
Kaiepi btw is there a stylg guide i'm missing 18:08
[Coke] github.com/perl6/doc/blob/master/STYLEGUIDE.md ? 18:10
Kaiepi i don't want mym code to end up breaking that 18:11
OH 18:12
that should've been the first thing i checked allowed
lucasb I noticed in docs.perl6.org/type.html there's a visual distinction in class vs. role subtitles. Role subtitles shows up as italics... I wonder if you people like it or not? 18:32
Kaiepi i feel like there aren't enough calls on the NativeCall api 18:36
er
not enough security flows that pop up something 18:37
lucasb m: say ($ = 42).subst-mutate('a','b').WHAT 19:23
camelia (Any)
lucasb m: say ($ = '42').subst-mutate('a','b').WHAT
camelia Nil
lucasb ^^ any reason for returning different values? 19:24
m: my $x = 42; $x ~~ s/a/b/; say $x.WHAT 19:26
camelia (Int)
lucasb m: my $x = 42; $x.subst-mutate('a','b'); say $x.WHAT
camelia (Str)
lucasb ^^ if s/// is implemented in terms of subst-mutate, how come they differ in behavior with regard a failed match? 19:27
Can .subst-mutate be made to *not* change de type of the variable to Str if the match failed?
s/de/the/ 19:28
lizmat hmmm.... 19:32
looking at that now, trying a fix
looks like the fix is ok, spectesting just to be sure 19:34
lucasb thanks lizmat. Are you talking about issue #1, #2 or both? :) 19:36
lizmat m: say ($ = 42).subst-mutate('a','b').WHAT # this will return Nil after my fix
camelia (Any)
lizmat *say Nil rather :-) 19:37
lucasb: github.com/rakudo/rakudo/commit/e7af9a6a90 19:42
El_Che lizmat: back? 19:44
lucasb lizmat: thanks again 19:46
timotimo m: state %foo = <a b c d>.Set; say %foo.^name; say %foo.perl 19:49
camelia Hash
{:a, :b, :c, :d}
timotimo m: state %foo := <a b c d>.Set; say %foo.^name; say %foo.perl
camelia VMNull
Cannot call method 'perl' on a null object
in block <unit> at <tmp> line 1
timotimo ^- it's not so great we can't have it like that
AlexDaniel moritz: you're not the only one: irclog.perlgeek.de/perl6-dev/2018-...i_15813684 19:51
it would've been so much better if JJ posted a draft of the proposal here before submitting it 19:52
so that we could have given him some hints or something
lizmat El_Che: no not back yet, just killing some hours in an Irish pub in Orlando before going to the eirport
El_Che as in "the cruise is a fuzzy woodstock-like memory"? 19:53
AlexDaniel I was *very* excited when I heard that they are applying and now I no longer feel that way
El_Che lizmat: say hi to Wendy
lizmat El_Che: no, the cruise is still very vivid
El_Che AlexDaniel, moritz: maybe send your remarks to JJ? He's a very reasonable guy, probably adaptation would still be possible 19:54
El_Che lizmat: I saw a camelia on a band's amp :) 19:54
lizmat this time it was 5 days instead of 4: the 5th day was really just over the edge :-)
lizmat El_Che: yeah, cool eh? 19:55
AlexDaniel El_Che: well, you see… the proposal is already published. We will of course post our comments there, but this whole situation is kinda LTA
El_Che it was low-res, but camelia us very unique so it was quickly spotted
lizmat I just presented it to the guitar player of Baraka when he was autographing CD's
and two days later, it's on stage!
El_Che AlexDaniel: a rejection demotivates, while constructive comments can be motivating. On the other hand, he's an academic, so rejection of papers and projects is not something unknown :) 19:56
lizmat: I wonder how camelia would fare in a metal cruise :) 19:57
lizmat pretty good, I suspect: most heavy metallers I know are suckers for stuffed toys :-)
El_Che you'll have to tell them camelia is a vampire 19:58
lizmat hmmmm :-)
DrForr Two minutes with a marker and it's got fangs. 19:59
yoleaux 12 Feb 2018 15:29Z <Xliff> DrForr: SQL Diagram cdn.rawgit.com/GuntherRademacher/a...yacc.xhtml
Geth doc: d6c650125f | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Type/Str.pod6
Fix incorrect failed-match return type for .subst-mutate
20:49
synopsebot Link: doc.perl6.org/type/Str
Kaiepi perl's module system confusses mme a little bit 20:56
Kaiepi like how our does or doesn't get add to ::PACKAGE 20:57
but our + export does
i think i need to learn more about scoping and the like since is seems pretty different in other languages 20:59
caa51h camelia the vampire imgur.com/Vg7Zr7D 21:14
timotimo that's cute 21:16
caa51h :D 21:17
Kaiepi it's great to get artists for stuff like this 21:19
jsut as long as all credit is due
don't be one of thoose guys that tries to commission for free and gets mad 21:20
timotimo "for exposure"
Kaiepi yeah 21:22
"texposure"
i.e. interning but no job offter afterward
timotimo i haven't heard that one yet 21:33
adelyne Hi, I'm reading about perl6, I've read perl6intro and the docs on concurrency, but there's something unclear for me: does each future get its own thread and has exclusive use of it, or can multiple futures run in a single thread? I've seen perl6 does not have an event loop, and doesn't have built-in coroutines according to the FAQ, hence why I'm asking this question. 22:51
Kaiepi ohh, my bad 22:57
timotimo adelyne: what you "start" gets pushed into a work queue for the scheduler you've set up, which is a ThreadPoolScheduler by default 22:58
adelyne: if you declare your script to "use v6.d.PREVIEW", an "await" in a "start"ed block (or similar places) will push the task back into the work queue and another piece of work can be done by the same thread in the thread pool
but if you just use v6.c (for example by not declaring any version) an "await" will actually block an operating system thread 22:59
if you want to have an actual thread you have full control over, you can use the Thread class 23:00
adelyne Thank you timotimo that answers my question. 23:06
SmokeMachine m: sub bla(UInt :$ble) { say $ble }; bla :ble # its a bug, right? 23:24
camelia True
SmokeMachine m: sub bla(Int :$ble) { say $ble }; bla :ble
camelia True
SmokeMachine m: sub bla(Str :$ble) { say $ble }; bla :ble
camelia Type check failed in binding to parameter '$ble'; expected Str but got Bool (Bool::True)
in sub bla at <tmp> line 1
in block <unit> at <tmp> line 1
SmokeMachine is Bool "a Int"?
s/a/an/ 23:25
jnthn Yes 23:26
m: say Bool ~~ int
camelia False
jnthn m: say Bool ~~ Int
camelia True
jnthn All integer-based enums are subtypes of Int
MasterDuke m: say Bool ~~ UInt
camelia True
SmokeMachine m: sub bla(int :$ble) { say $ble }; bla :ble 23:27
camelia 1
SmokeMachine isn't that a problem? 23:28
jnthn No
Or to the degree it is, it's an intended problem :) 23:29
But generally the thing one would care about is not getting any old integer in when a particular enumeration of values is wanted
And that won't happen (thus why you can't pass an Int where a Bool is wnated)
*wanted
SmokeMachine m: sub bla(Int :$ble where {$_ !~~ Bool}) { say $ble }; bla :ble 23:30
camelia Constraint type check failed in binding to parameter '$ble'; expected anonymous constraint to be met but got Bool (Bool::True)
in sub bla at <tmp> line 1
in block <unit> at <tmp> line 1
SmokeMachine Ill have to do something like that... ^^
jnthn Why do you have to, out of curiosity?
SmokeMachine jnthn: Im doing something like multi sql-type(Uint :$varchar) {...} and I want to :varchar(1) be different from :varchar 23:34
jnthn Ah, and named parameters don't take part in multi-dispatch 23:35
Though they are dispatched in order, do jut putting the Bool case first would perhaps do it? 23:36
SmokeMachine jnthn: thanks! Ill try... 23:39
Voldenet m: multi sub x (UInt :$y where { $y.WHAT =:= Int }){ say "is int" }; x(:y(3))
camelia is int
Voldenet m: multi sub x (UInt :$y where { $y.WHAT =:= Int }){ say "is int" }; x(:y)
camelia Cannot resolve caller x(:y); none of these signatures match:
(Int :$y where { ... })
in block <unit> at <tmp> line 1
Voldenet ┐(´~`;)┌ 23:40
it's not very elegant
but kind of works
SmokeMachine jnthn: but I think Ill do something like: multi blue-type("varchar", % (UInt :$size is copy, :$on-error is copy where Str|Code = &warn) --> Hash()) {if $size ~~ Bool { $size = UInt }; ...} 23:41
Voldenet it wouldn't work for IntStr, but meh 23:45
the only thing I'd really want from typesystem is to work painlessly with int32 23:52
multi sub x (int32 :$y){ say "is int" }; x(:y(42)) 23:53
m: multi sub x (int32 :$y){ say "is int" }; x(:y(42))
camelia Lexical with name '$y' has a different type in this frame
in sub x at <tmp> line 1
in block <unit> at <tmp> line 1
SmokeMachine is there a way to "make it work"? I mean make it run both methods: 23:56
m: class C { multi method bla(% (:$a, |)) {"a"}; multi method bla(% (:$b, |)) {"b"} }; say C.new.*bla: {a => 1, b => 2}
camelia (a)
SmokeMachine I know it shouldn't "work"... but is there some way to make what I want? 23:57
Voldenet What should this return and in what order? 23:59