»ö« 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.
00:00 ilbelkyr_ joined, pmurias joined 00:01 dalek left, chee left, d4l3k_ is now known as dalek, ilbelkyr left 00:02 chee joined 00:10 idiosyncrat joined 00:11 alpha joined, alpha is now known as Guest62948 00:14 TEttinger joined 00:28 pmurias left 00:30 samcv left 00:32 samcv joined, lookatme joined
lookatme morning .o/ 00:33
00:46 troys is now known as troys_
sammers morning 00:55
00:59 samcv left 01:01 samcv joined 01:08 alpha__ joined 01:09 astj joined 01:10 ilbelkyr_ is now known as ilbelkyr 01:11 idiosyncrat left 01:12 Guest62948 left
lookatme When I declared an attribute like `$.a is rw`. How I can check value pass by user ? 01:20
01:22 MasterDuke left 01:26 MasterDuke joined, aborazmeh joined, aborazmeh left, aborazmeh joined
MasterDuke AlexDaniel: yeah, that was fixed in NQP yesterday, but there hasn't been a version bump for Rakudo yet 01:28
AlexDaniel lookatme: like, do you want your own setter? 01:29
01:30 TimToady left, troys_ is now known as troys
lookatme AlexDaniel, I know we can check it by using Proxy, but I wonder is there more convenient way 01:31
01:32 TimToady joined
lookatme m: class A { has $.a = 10; method a is rw { my \r := $!a; return Proxy.new(FETCH => method () { $!a; }, STORE => method ($new) { if ($new > 20) { fail "TOO LARGE!!"; }; r = $new; }); }; }; my $a = A.new; $a.a = 30; say $a; 01:49
camelia A.new(a => 10)
lookatme m: class A { has $.a = 10; method a is rw { my \r := $!a; return Proxy.new(FETCH => method () { $!a; }, STORE => method ($new) { if ($new > 20) { die "TOO LARGE!!"; }; r = $new; }); }; }; my $a = A.new; $a.a = 30; say $a; 01:51
camelia TOO LARGE!!
in method <anon> at <tmp> line 1
in block <unit> at <tmp> line 1
lookatme m: class A { has $.a is rw = 10; method a is rw { my \r := $!a; return Proxy.new(FETCH => method () { $!a; }, STORE => method ($new) { if ($new > 20) { die "TOO LARGE!!"; }; r = $new; }); }; }; my $a = A.new; $a.a = 30; say $a; 01:52
camelia TOO LARGE!!
in method <anon> at <tmp> line 1
in block <unit> at <tmp> line 1
lookatme m: class A { has $.a is rw where { die "TOO LARGE" if $_ > 20; True; } = 10; }; my $a = A.new; $a.a = 30; say $a; 01:57
camelia TOO LARGE
in block <unit> at <tmp> line 1
lookatme m: class A { has $.a is rw where { die "TOO LARGE" if $_ > 20; True; } = 10; }; my $a = A.new; $a.a = 20; say $a;
camelia A.new(a => 20)
02:11 cdg joined 02:39 raiph joined 02:40 troys is now known as troys_ 02:43 xinming_ left 02:45 xinming joined 02:46 noganex_ joined 02:49 noganex left 03:00 aindilis` joined
raiph I'd appreciate feedback on my SO static vs dynamic type checking "answer" at stackoverflow.com/a/44360950/1077672 Is it somewhat helpful, or all kinds of wrong, or over the top, or what? 03:00
03:01 aindilis left 03:06 pilne left
lookatme m: subset DInt of Int where $_ >= 0 && $_ <= 32000; subset OInt of Int where $_ >= -32000 && $_ <= 32000; my DInt $d = 12;my OInt $o = -1; say $d + $o; sub myprint(Int $i) { say $i; }; myprint $d; myprint $d; 03:10
camelia 11
12
12
lookatme m: subset DInt of Int where $_ >= 0 && $_ <= 32000; subset OInt of Int where $_ >= -32000 && $_ <= 32000; my DInt $d = 12;my OInt $o = -1; say $d + $o; sub myprint(Int $i) { say $i; }; myprint $d; myprint Int($d);
camelia 11
12
12
03:15 skids joined 03:24 cdg left 03:46 khw left, kyan left 03:50 wamba joined 03:58 kyan joined, Cabanoss- joined 04:02 Cabanossi left, Cabanoss- is now known as Cabanossi
Geth doc: 105e50acb2 | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Type/Iterator.pod6
Fix build failure
04:26
04:39 skids left
samcv Unicode Grant Status Update 1 is up cry.nu/perl6/grant-status-update-1/ 04:58
05:03 AlexDaniel left 05:12 travis-ci joined
travis-ci Doc build passed. Zoffix Znet 'Fix build failure' 05:12
travis-ci.org/perl6/doc/builds/239464827 github.com/perl6/doc/compare/27a9d...5e50acb2b3
05:12 travis-ci left 05:20 aborazmeh left 05:24 BenGoldberg left 05:48 bioexpress joined
bioexpress use NCurses; my $win = initscr() or die "Failed to initialize ncurses\n"; 05:49
Hello! Does adding "or die ... " to "initscr" overwrite a possible original errormessage from "initscr"?
05:52 xtreak joined, troys_ is now known as troys 05:57 parv joined 06:00 mrons joined, troys left 06:01 astj left, astj joined 06:02 Cabanossi left, astj left, astj joined 06:03 Cabanossi joined 06:08 Zoffix joined
Zoffix m: class Foo { has Int:D $!x = 1; method foo is rw { Proxy.new: :FETCH{ $!x<> }, :STORE(-> $, $!x { $!x<> }) } }; my $f = Foo.new; dd <a b c>.map: { $f.foo++; (1, $f.foo) } 06:08
camelia ((1, 4), (1, 4), (1, 4)).Seq
Zoffix How come deconting don't work here?
Or to nip the xy problem: 06:09
m: class Foo { has Int:D $.foo is rw = 1 }; my $f = Foo.new; dd <a b c>.map: { $f.foo++; (1, $f.foo<>) }
camelia ((1, 2), (1, 3), (1, 4)).Seq
Zoffix How can I move that decont to my class instead of forcing user to do it?
(I see now why first one don't work) 06:10
bioexpress: only if initscr() returns a Failure, then yes, it won't explode 06:11
m: class Foo { has Int:D $!x = 1; multi method foo { $!x<> }; multi method foo is rw is default { $!x } }; my $f = Foo.new; dd <a b c>.map: { $f.foo++; (1, $f.foo) } 06:15
camelia ((1, 4), (1, 4), (1, 4)).Seq
Zoffix If only this somehow worked without `is default`, then it'd work... I guess I'll give up 06:16
bioexpress zoffix: thanks! 06:23
06:33 xtreak left 06:40 mrons left 06:49 Circlepuller joined 06:50 perigrin_ joined, Cabanossi left, parv left, raiph left, lookatme left, chee left, dalek left, TeamBlast left, M-Illandan left, ilmari[m] left, perigrin left, Khisanth left, mrsolo left, NeuralAnomaly left, SmokeMachine left, isacloud left, lookatme joined, isacloud_ joined, Circlepuller is now known as TeamBlast, parv joined, chee joined, mrsolo joined, dalek joined, ChanServ sets mode: +v dalek, khisanth_ joined 06:51 SmokeMachine joined 06:53 Cabanossi joined 06:54 domidumont joined 06:55 M-Illandan joined 06:56 ilmari[m] joined 06:58 domidumont left 06:59 domidumont joined 07:04 darutoko joined 07:14 Zoffix left, rindolf joined 07:17 vetmaster joined
vetmaster how to get count of substrings matched by a grammar token? 07:18
07:19 notostraca joined 07:21 AndroUser joined 07:22 notostraca left 07:23 vetmaster left 07:24 darutoko- joined 07:25 rindolf left 07:27 darutoko left
zengargoyle_ m: "foo" ~~ /(.)+/; say $/.[0].elems; say $/.[0]; 07:41
camelia 3
[「f」 「o」 「o」]
zengargoyle_ sorta like that i think.
07:44 xtreak joined 07:46 xtreak left 07:52 domidumont left 07:53 domidumont joined 08:01 domidumont left, Cabanossi left, dogbert17 left 08:02 jonas2 joined 08:03 nadim joined, wamba left, Cabanossi joined 08:04 lookatme left 08:06 lookatme joined 08:07 dakkar joined 08:10 jonas2 left 08:11 jonas2 joined 08:12 pminten joined
AndroUser zengargoyle_: thnx 08:13
08:14 AndroUser is now known as vetmaster 08:17 zakharyas joined 08:30 robertle left 08:38 bbkr joined 08:39 bioexpress left
bbkr Hi. I have some mysterious zef issue. It installs GeoIP::City (github.com/bbkr/GeoIPerl6), tests are passing. But after trying to use it later from perl6 I get: "Could not find GeoIP:ver<1.0.0>:auth<github:bbkr> at line 1" 08:43
08:44 LeCamarade joined
bbkr META looks fine to me (should ver and auth be specified in "provides"?), module works fine after manual git clone. zef install somehow breaks it. 08:45
08:45 vetmasters joined 08:46 vetmasters left, vetmaster_ joined 08:48 lizmat left
lookatme Don't add :ver and :auth 08:51
bbkr,
bbkr are they gone/deprecated from spec or just NYI in zef? 08:52
08:55 lasse joined
lookatme I don't know, they would be available if you declare your class like `class GeoIP:ver<1.0.0>:auth<github:bbkr> { }` 08:55
bbkr it is declared this way
github.com/bbkr/GeoIPerl6/blob/mas...eoIP.pm#L5
lookatme bbkr, refer this: docs.perl6.org/language/modules#is_export and docs.perl6.org/language/typesystem...Aver%3C%3E 08:56
vetmaster_ what is the good way to generate a string of n symbols 08:57
i. e. 5 "a" symbols -> aaaaa
?
lookatme m: "a" x 5
camelia WARNINGS for <tmp>:
Useless use of "x" in expression "\"a\" x 5" in sink context (line 1)
lookatme m: say "a" x 5
camelia aaaaa
vetmaster_ wow! :o 08:58
thanks
lookatme m: say "a" x 5
camelia aaaaa
parv m: say 'x' x5
camelia 5===SORRY!5=== Error while compiling <tmp>
Two terms in a row
at <tmp>:1
------> 3say 'x'7⏏5 x5
expecting any of:
infix
infix stopper
postfix
statement end
statement modifier
08:59
vetmaster_ m: say 0 x 5
camelia 00000
08:59 tardisx left
lookatme bbkr, How about `GeoIP:ver<1.0.0>` or `GeoIP:auth...` ? 08:59
vetmaster_ m: say 0 x 5
camelia 00000
vetmaster_ m: say 3 ~ 0 x 5;
camelia 300000
parv hunh. needs a space.
lookatme vetmaster_, $c x n, repeat $c n times 09:00
And if you want a list use xx
m: say "x" xx 5
camelia (x x x x x)
parv m: say 'x' xx5
camelia 5===SORRY!5=== Error while compiling <tmp>
Two terms in a row
at <tmp>:1
------> 3say 'x'7⏏5 xx5
expecting any of:
infix
infix stopper
postfix
statement end
statement modifier
parv ok then 09:01
m: 3+5 09:02
camelia WARNINGS for <tmp>:
Useless use of "+" in expression "3+5" in sink context (line 1)
09:02 lizmat joined
parv m: say 3+5 09:02
camelia 8
09:03 xtreak joined
pminten if I have a bunch of classes (Entry, Answer, Grammar) all in logical namespace Quiz (e.g. Quiz::Entry) is there a way to say in such files to avoid typing Quiz::this, Quiz::that all the time? 09:05
09:05 xtreak left, xtreak joined
lookatme pminten, No, I think 09:10
zengargoyle_ parv: i've come the the conclusion that you usually need a space when it's like '<term> <op> <term>'
09:11 vetmaster left
zengargoyle_ but there are some prefix/postfix/circumfix things where you don't. :) 09:11
lookatme m: module F { class A { }; class B { }; }; say F::.keys
camelia (B A)
lookatme m: module F { class A { }; class B { }; }; say F::A.new;
camelia F::A.new
09:11 vetmaster joined
parv zengargoyle_, it's not consistent. see (3+5); i don't see where is ambiguity in 'x' x<n> 09:11
lookatme m: module F { class A { }; class B { }; }; say F::A.new; import F; say A.new; 09:12
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared name:
A used at line 1
pminten lookatme: ok, thanks, I found :: prefix (as opposed to Quiz::) seems to work so I guess I'll use that
lookatme m: module F { class A { }; class B { }; }; say F::A.new; import F; say ::A.new;
camelia 5===SORRY!5=== Error while compiling <tmp>
No such symbol 'A'
at <tmp>:1
------> 3 { }; }; say F::A.new; import F; say ::A7⏏5.new;
lookatme m: module F { class A is export { }; class B { }; }; say F::A.new; import F; say A.new;
camelia F::A.new
F::A.new
zengargoyle_ x is a word character that could be a name, + is not a word character and has to be an op
lookatme pminten, There you go. Declare a module like above, and class declare with `is export` 09:13
zengargoyle_ m: my \x5 = 1; say x5; say 'a' x5;
camelia 5===SORRY!5=== Error while compiling <tmp>
Two terms in a row
at <tmp>:1
------> 3my \x5 = 1; say x5; say 'a'7⏏5 x5;
expecting any of:
infix
infix stopper
postfix
statement end
state…
pminten lookatme: unfortunately that only works on a single file, if I do 'module F { ... }' in multiple files it complains about redeclaration of module F 09:15
zengargoyle_ and there's a bit of p6 only does one pass through the code. so things have to be one-pass decideable and it matches individual tokens often on just unicode properties so ... some things need that space around them to make it work.
09:17 xtreak left
lookatme pminten, Em 09:17
zengargoyle_ it sorta bugs me coming from a p5 background of squishing everything togeter in one line. :) but not as much as: 09:18
m: say ²²;
camelia 4
parv zengargoyle_, what did you write there (i see "2 2" as superscript)? 09:20
zengargoyle_ m: say 'a'x 5
camelia aaaaa
zengargoyle_ hehe
parv: it is a superscript 22 :)
parv um ... how does that make 4? 09:21
zengargoyle_ but the first superscript two is a unicode number so it's value is just 2 and the second is an op that is **2.
rightfold parv: two to the power of two
m: say 2²²; 09:22
camelia 4194304
zengargoyle_ because it is looking for a term and a number is a term, but two numbers aren't a term (mulitiple digits are a term) and after a term it looks for an op.
m: say ½ + ½; 09:23
camelia 1
zengargoyle_ it's the same thing that makes that work. in unicode, the ½ has a numeric value of 0.5.
09:23 pmurias joined
vetmaster_ are there any multiline quotes 09:24
like ''' in pyhton
* python
?
zengargoyle_ docs.perl6.org/syntax/heredocs%20:to
parv zengargoyle_, hope we won't be working together; certainly not while debugging. ;-J 09:25
zengargoyle_ vetmaster_: multiline stuff is knows as 'heredoc' and there are a variety of methods.
vetmaster_ now I see, it's similar to p5 09:26
pminten vetmaster_: in general regarding quoting the overview docs are at docs.perl6.org/language/quoting
zengargoyle_ parv: it bugs me, but i see the logic in just having things work by looking at unicode tables. it gives us so much more usefull things in return that a little bit of suffering for the weird things it implies is worth it. 09:27
parv wonders if all electronic music (currently listening to parov stelar) eventually degenrates^Wconverges to electronica house dance music ... 09:28
rightfold How does dynamic scoping work with asynchronity? 09:29
jnthn rightfold: A start { ... } will capture the dynamic scope of the place the `start` happens, and make it so lookups inside of the `start` block look at the dynamic scope of the place it was started from. 09:31
Promise.start(...) will do the same
rightfold jnthn: thanks
Makes sense 09:32
jnthn $*SCHEDULER.cue will not do any such magic
rightfold m: say(new Rat)
camelia 5===SORRY!5=== Error while compiling <tmp>
Unsupported use of C++ constructor syntax; in Perl 6 please use method call syntax
at <tmp>:1
------> 3say(new Rat7⏏5)
09:32 wamba joined
zengargoyle_ m: say new: Rat 09:35
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared routine:
new used at line 1 (in Perl 6 please use method call syntax instead)
zengargoyle_ m: say new Rat
camelia 5===SORRY!5=== Error while compiling <tmp>
Unsupported use of C++ constructor syntax; in Perl 6 please use method call syntax
at <tmp>:1
------> 3say new Rat7⏏5<EOL>
zengargoyle_ heh
09:35 vetmaster_ left
pminten is there a way to inspect the current cursor during grammar parsing? 09:35
I'd like to figure out where the regex engine is working on to understand why a rule fails 09:36
parv zengargoyle_, i get 1/2 (in unicode) be 0.5; or 2² is calculated as 4. i expect superscipt not "raised" to a number to be fatal error.
pminten Grammar::Tracer/Debugger tell me which rule fails but not at what point in the input
zengargoyle_ well i think number or digits+
well i think number or digits+digits. 09:37
eek. that's the unicode distinction between 'number' and 'digit' some things like ½ have a 'number' and some like '0' are 'number' and 'digit'. you can't have a string of numbers turn into an actual number like a string of digits can. 09:39
09:40 rindolf joined
zengargoyle_ so i think p6 when looking for a term can either find one 'number' or a string lf 'digit'. 09:40
i do sorta wish it looked for 'number and not superscript' instead so it would throw an error because ²² == 4 is whack. 09:43
pminten nvm, found that a custom method in the grammar can access self.pos/target/orig, it's a bit clunky but it gets the job done
09:43 wamba left
zengargoyle_ but i was told to take it up with the unicode consortium last time i complained. :P 09:44
parv zengargoyle_, ah. you are alright then. <3 09:45
09:46 TEttinger left
lookatme m: grammar { TOP { <ddd> }; rule ddd { 'ddd' <?{ say $/.perl; }> }; }.parse("ddd") 09:47
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared name:
TOP used at line 1
lookatme m: grammar { rule TOP { <ddd> }; rule ddd { 'ddd' <?{ say $/.perl; }> }; }.parse("ddd") 09:48
camelia Match.new(list => (), made => Any, pos => 3, hash => Map.new(()), orig => "ddd", from => 0)
zengargoyle_ it may just be that the unicode tables don't have the properties that would be needed to check against.
and no need/desire to start trying to do special cases on a one-off basis.
zengargoyle_ the needs of the many outweigh the need of the few. 09:49
09:50 xtreak joined, vetmaster left, vetmaster joined, lookatme left
parv perl6 is full of operators/punctuations. some effort could have gone toward to reject nonsensical syntax. 09:51
zengargoyle_, thanks for your time. it's time for me to go .. 09:52
09:52 parv left
zengargoyle_ and thank you too. :) 09:53
masak "some effort could have gone towards reject nonsensical syntax" :P 09:54
one person's efficient use of syntax is another person's nonsensical syntax, no? 09:55
10:06 kyan left
Geth doc: 3499fd9ff7 | (Zoffix Znet)++ | 4 files
Document allmorphic smartmatching

Rakudo impl: github.com/rakudo/rakudo/commit/8a0b7460e5 Spec: github.com/perl6/roast/commit/4f48067cc5
10:09
10:09 xtreak left, xtreak joined 10:10 xtreak left 10:13 xtreak joined 10:15 Zoffix joined
Zoffix Since it's once more a season to complain about the awesomeness of how ²² is evaluated, I invite everyone interested to comment on rt.perl.org/Ticket/Display.html?id=126732 10:20
10:20 Cabanossi left
Zoffix m: say −1² # Discuss?😽 😁 😂 10:21
camelia -1
10:23 zakharyas left, wamba joined, Cabanossi joined 10:24 astj left 10:25 astj joined, Zoffix left
lizmat m: say -1**2 # finishes any discussion for me :-) 10:28
camelia Resource temporarily unavailable
lizmat wow
m: say -1**2 # finishes any discussion for me :-)
camelia -1
lizmat ah, better
10:31 xtreak left 10:35 pminten left 10:36 domidumont joined
zengargoyle_ WTF? 10:41
10:42 darutoko- left 10:43 wamba left
zengargoyle_ meh, in 22²² the 22 and the ²² are both really a series of digits. it is 22^22 (or 22**22) and scanning a text where the 22 was magically erased shouldn't through broken magic split that ²² into 2² and give you 4 instead of going WTF? 10:57
you're already breaking things in a way by making ²² which is a series of numbers into a digits and an actual Number. 10:58
but that's OK, but not noticing that that first ² of ²² is a superscript is somehow perfectly fine. 10:59
11:00 Zoffix joined
zengargoyle_ really doesn't want to see the Javascript or Perl 5 or whatever WTF presentation a few years down the road. 11:01
Zoffix zengargoyle_: but that's not what happens. ² has Unicode property No, which means it's valid to use it as a numeric literal in Perl 6. You can also follow a term with ² to indicate you want to raise to a power. 11:02
IMO people who complain about to ²² are too hung up on looks and so have to use phrases like "magically erased" to justify their disdain
masak zengargoyle_: there are surprising aspects of having `-x**y` mean `-(x**y)`, and there are surprising aspects of having it mean `(-x)**y`
zengargoyle_ why can the ²² be a number 22 and not only the No ² plus a second No ² 11:03
Zoffix As for −1² being −1... that's just rules of basic mathematics. The power has tighter precedence than negation
zengargoyle_: that's a very good question! You're not allowed to chain two No characters, because, well, they're No, not Nd chars.
zengargoyle_ ah, conceed the -1 thing. :)
Zoffix As for "WAT" and "WTF" JavaScript presentations... they're just entertainment for the ignorant. 11:04
zengargoyle_ but you do chain them in the exponent part or it would be ((22)**2)**2)
11:04 aborazmeh joined, aborazmeh left, aborazmeh joined
zengargoyle_ because those superscript things aren't digits. 11:04
Zoffix zengargoyle_: sure. Because in that context it's a superscript operator, not a numeric literal 11:05
s/superscript //;
²² is a numeric literal followed by an operator 11:06
zengargoyle_ right, why would when parsing you prefer that it's a number vs not rejecting it because it's a superscript?
you can have your circled 5 is a number because it's not a superscript. 11:07
you can have your digitizing superscripts as power ops because they are op.
why would you accept a superscript as a regular number?
Zoffix zengargoyle_: because of context. It's a term -> op -> term -> op chain in Perl 6 and in that context it expects a term, and it gets one (the No numeric literal), next it expects an op, and it gets one (the ² power operator) 11:08
zengargoyle_: because it's a No character. And we accept all No characters.
zengargoyle_ i get the parsing argument. just don't agree. :)
Zoffix Why?
11:08 mr-foobar left, Cabanossi left
zengargoyle_ because superscript trumps No 11:09
masak in Python 3, `-3 ** 2` gives -9. in JavaScript/ES7, it gives 9.
Zoffix More precicely: why change rule "can use any No" to "can use any No, unless it's a superscript which is also followed by another superscript" ?
masak I consider it a tradeoff with no clear best alternative.
zengargoyle_ i would never look at a math paper and see a tiny ²² floating about and think that it could possibly be 2² == 4 11:10
Zoffix And maintain that exception in: code, docs, tests, and any mention of the feature
11:11 Cabanossi joined
zengargoyle_ and the argument for unicode is usually along the line of "you can do it how you would expect to see it" for the most part. 11:11
maybe ₂ isn't a No? 11:12
Zoffix zengargoyle_: you're equally unlikely to see ௲² and think it could possibly be 1000² = 1000000
masak most things in the intersection between Perl 6 and Unicode in the past few years have made me think of the Jeff Goldblum quote from Jurassic Park
zengargoyle_ nah, i'm fine with weird glyphs... :)
Zoffix zengargoyle_: the "I'd feel weird if I saw it in a math paper" is too subjective and vague to clearly codify as a set of rules the language works in.
masak: what's the quote? 11:13
zengargoyle_ i was wondering if a slang could turn japanese No characters into actual Numeric digit like things.
Zoffix m: say ⅟² 11:14
camelia 1
Zoffix And if you're blacklisting ²², what about ⅟²? It looks even weirder!
zengargoyle_ really, i thought it was that unicode didn't provide a property that was suitable to make the distinction. 11:15
11:15 xtreak joined
masak Zoffix: "[they] were so preoccupied with whether or not they could they didn't stop to think if they should" 11:15
11:15 lasse left
Zoffix Or 𑁒² which looks like -2 or 𑁓² which looks like an equals sign 11:15
Yeah, the ²² ticket is a clear rejection to me. 11:16
masak I've been buying into the Unicode offerings in Perl 6 *really* slowly. I do like Unicode operators, both custom and the built-in ones.
zengargoyle_ i love the plethora of quote marks. 11:17
11:17 Zoffix left
pmurias masak: Perl 6 hand over the "if they should" part to the user, it seems a corporate coding standard would trim down the language a lot 11:18
yoleaux 4 Jun 2017 20:38Z <ggoebel> pmurias: saw the recent commits regarding building js backend... what is the full set of steps now to build it from a fresh git clone github.com/rakudo/rakudo.git?
masak pmurias: aye; and that is fair enough
pmurias: in a way, that's always been Perl's way -- fiercely defend the programmer's freedom to choose 11:19
zengargoyle_ yeah, i'm not really mad or anything, just a lot of "ewwww".
masak I'd say for me the whole ²² argument above simply means that Unicode superscripts are not (and should not be) part of Perl 6's "good parts"
zengargoyle_ and it's an easy source of mockery because it's cray-cray. :P 11:20
masak like, if TheDamian wrote a "Perl 6 Best Practices", it'd say "avoid Unicode superscripts"
11:20 xtreak left, xtreak joined
zengargoyle_ i thought is was a side-effect of bits of parsing being driven by unicode consortium tables. and it was ill advised to try and work around any flaws ATM> 11:24
11:25 grumble left
masak as far as I know, it was quite deliberate. superscript parsing has to be handled separately, after all. 11:25
zengargoyle_ and maybe unicode 10 will provide the means to make it sane.
yeah, the whole number vs digit mangling seems a bit haphazard. 11:26
11:26 grumble joined
zengargoyle_ when i *got* the difference between number and digit it just made things worse that it's OK to mangle on one side of things but not on the other side of thing. 11:27
zengargoyle_ it's just an agument i've probably lost. :P 11:31
11:38 xtreak_ joined
masak I'm sorry -- I don't have a stake in this argument because I don't use Unicode superscripts 11:38
they're just not attractive or relevant to me
zengargoyle_ before bedtime, my other gripe(s) were that POD is in a compunit and you have a hard time 'perl*doc'-ing it if there's an error. 11:40
11:40 xtreak left
zengargoyle_ the code fails to compile, sorry ... no doc for you. 11:40
11:41 xtreak joined
masak I can see how that'd be frustrating, yes 11:41
zengargoyle_ but i like the #| and other cool things so.... 11:42
masak yes, there's probably a fairly strong dependency on the (correctly parsing) code, too
11:44 xtreak_ left
zengargoyle_ and just the lack of really easy installed module introspection tools ATM. i love being able to `perldoc <TAB><TAB>` and browse things. 11:44
but that's probably just a lack of TUIT's
11:47 ctilmes joined
zengargoyle_ and that POD6 doesn't quite live up to the synopsis yet, probably a low priority to implement all of the really cool stuff that was fleshed out way back when. 11:48
zengargoyle_ not sure if ShimmerFairy is still around or did some POD tweaking since last i looked. 11:50
11:52 vetmaster left 11:54 wamba joined
masak neither, as far as I know 11:58
zengargoyle_ :( on both parts.
Geth ecosystem: 503ad8a82f | (Zoffix Znet)++ (committed using GitHub Web editor) | META.list
Add IO::CatHandle::AutoLines to the ecosystem

  "Get IO::CatHandle's current handle's line number":
  github.com/zoffixznet/perl6-IO-Cat...-AutoLines
12:02
zengargoyle_ .u 𑁓 12:03
yoleaux U+11053 BRAHMI NUMBER TWO [No] (𑁓)
zengargoyle_ heh. well played. :)
12:04 grondilu left, grondilu joined 12:06 mr-foobar joined 12:11 mr-foobar left
zengargoyle_ m: say 2**𑁓𑁓 12:12
camelia 5===SORRY!5=== Error while compiling <tmp>
Bogus postfix
at <tmp>:1
------> 3say 2**𑁓7⏏5𑁓
expecting any of:
infix
infix stopper
postfix
statement end
statement modifier
12:12 xtreak left
zengargoyle_ oh, superscript is *SPECIAL* 12:12
;) 12:13
moritz \o 12:14
12:15 xtreak_ joined, mr-foobar joined
zengargoyle_ yeah, 5 am, probably time for bed. 12:16
moritz m: 3.30
camelia WARNINGS for <tmp>:
Useless use of constant value 3.30 in sink context (line 1)
moritz m: asy 3.30
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared routine:
asy used at line 1. Did you mean 'say', 'any'?
moritz m: say 3.30 12:17
camelia 3.3
moritz m: say <3.30>
camelia 3.30
moritz m: say <3.30> ~~ Rat
camelia True
12:21 AlexDaniel joined 12:26 _kristian left 12:28 wamba left 12:32 wamba joined
[Coke] news.perlfoundation.org/2017/06/per...posal.html 12:33
This travel grant falls outside the grants committee process and is being handled directly by the board. 12:34
12:39 fatguy joined
fatguy how to do multiline comments ? 12:40
AlexDaniel m: say #`{ hello! } 42 12:41
camelia 42
yoleaux 09:18Z <Zoffix> AlexDaniel: Present: dd <00> vs. dd <00.0+0i> vs. dd <00+0i>
AlexDaniel oh not again…
12:48 mcmillhj joined 12:49 perlpilot joined
AlexDaniel fatguy: docs.perl6.org/language/syntax#Mul...d_comments 12:50
12:51 mcmillhj left, mcmillhj joined
Geth ecosystem: 7572dad302 | (Zoffix Znet)++ (committed using GitHub Web editor) | META.list
Add LN to ecosystem

  "Get $*ARGFILES with line numbers via $*LN":
  github.com/zoffixznet/perl6-LN
12:51
fatguy AlexDaniel: is there any caveat if i use pod comments? it look more useful since i can label it 12:54
12:54 Cabanossi left
AlexDaniel I have never used pod comments… can anybody answer that? :) 12:55
12:55 Cabanossi joined 13:05 lucasb joined
Geth doc: 9673377498 | (Zoffix Znet)++ | doc/Language/5to6-perlvar.pod6
Fix docs for $. replacements

Fixes #401
13:06
doc: c035e0f9ee | (Zoffix Znet)++ | doc/Language/variables.pod6
Fix $*ARGFILES description

It's no longer magical but just an IO::CatHandle
13:08
13:08 fatguy left 13:09 zakharyas joined 13:10 kaare_ left 13:11 domidumont left 13:18 xtreak_ left 13:21 raschipi joined 13:25 M-Illandan left 13:26 skids joined 13:28 NeuralAnomaly joined, ChanServ sets mode: +v NeuralAnomaly
raschipi AlexDaniel: You're supposed to always use POD comments. 13:52
A Perl file without POD isn't complete. 13:53
.tell fatguy You're supposed to always use POD comments, there's caveat. 13:54
yoleaux raschipi: I'll pass your message to fatguy.
AlexDaniel well, then all my programs are incomplete :)
raschipi Go fix them.
.tell fatguy No Caveat, I mean.
yoleaux raschipi: I'll pass your message to fatguy.
raschipi AlexDaniel: Especially if you plan on distributing them, the POD in the program becomes the CPAN front page for the module. 13:56
ugexe you can have a separate .pod file 14:04
14:06 pmurias_ joined, pmurias_ left 14:08 wamba left 14:09 Cabanossi left 14:10 Cabanossi joined 14:18 wamba joined 14:19 petercommand left 14:22 itaipu joined 14:26 gregf_ joined 14:27 petercommand joined, khw joined
pmurias ggoebel: had to fix some bitrot caused by recent IO changes in nqp to make rakudo.js work again, now trying out if a fresh checkout of rakudo.js works and will post a blog post if it works 14:30
14:37 fatguy joined
raschipi hey fatguy 14:38
fatguy raschipi: yes ? 14:39
yoleaux 13:54Z <raschipi> fatguy: You're supposed to always use POD comments, there's caveat.
13:54Z <raschipi> fatguy: No Caveat, I mean.
fatguy Thanks !
[Coke] (cpan front page) I doubt that works yet with Perl 6 cpan modules. 14:43
raschipi Hum, how am I supposed to find those modules, then? 14:48
14:50 kurahaupo left
[Coke] for now: modules.perl6.org/ 14:52
a lot of work has been done to make perl6 modules just work on CPAN, but it is not yet (as far as I know) the standard.
raschipi The new zef version is pulling from CPAN as the first option, as I understand. 15:01
rightfold m: class C { method defined() { False } }; sub f(C:D $x) { }; f(C.new) 15:03
camelia ( no output )
rightfold Ok, so definedness is separate from .defined
15:04 kaare_ joined
timotimo there's also .DEFINITE 15:04
Geth doc: ad2ccd54e2 | (Zoffix Znet)++ (committed using GitHub Web editor) | xt/code.pws
Add type to code spell

Probably fixes #1360
timotimo which is, as the uppercaseness signifies, special. in this case it's very low-level 15:05
15:05 kurahaupo joined
rightfold Ok 15:07
Thanks
15:09 Actualeyes left
raschipi moritz: You should ask google to scan your perl6 book site again, there's stale data showing in my searches. 15:18
15:18 Actualeyes joined 15:20 mspo joined
mspo should I add Racket to influenced perl6? 15:20
on wikipedia
rightfold m: say :().ACCEPTS(:()) 15:27
camelia True
rightfold m: sub f() {}; f(|:()) 15:28
camelia Too many positionals passed; expected 0 arguments but got 1
in sub f at <tmp> line 1
in block <unit> at <tmp> line 1
15:28 itaipu left 15:31 aborazmeh left
pmurias ttp://blogs.perl.org/users/pawel_murias/2017/06/rakudojs-update---builds-sanely-and-passes-some-spec-tests.html 15:34
blogs.perl.org/users/pawel_murias/2...tests.html # Rakudo.js update
raschipi pmurias: That was way faster than I previously thought as even possible! 15:36
pmurias raschipi: ? 15:39
raschipi Writing the JS backend, it was very fast. 15:40
pmurias the JS backend is not finished yet :(
15:40 araujo joined 15:41 araujo left, araujo joined
raschipi Wel, it's getting there fast. 15:42
15:43 travis-ci joined
travis-ci Doc build passed. Zoffix Znet 'Add type to code spell 15:43
travis-ci.org/perl6/doc/builds/239613849 github.com/perl6/doc/compare/c035e...2ccd54e213
15:43 travis-ci left
perlpilot pmurias: I'd add the explicit "git checkout js" command to that post. And, you have "Configure" and it should be "Configure.pl" (unless adding Configure was one of your changes :-) 15:46
pmurias++ btw (can't do that enough actually.) 15:47
pmurias perlpilot: thanks, fixed the instruction 15:48
* instructions
perlpilot pmurias: Does anything in there require node 7.10.0 or is that just the one you happened to use? 15:50
15:54 kurahaupo left, Cabanossi left 15:55 Cabanossi joined
pmurias perlpilot: that's what I use 15:56
perlpilot: I haven't really tested it with older ones
16:01 xinming left 16:02 xinming joined
pmurias perlpilot: any nodes I should particulary test it in? 16:03
raschipi Debian Jessie has 0.10.29 16:04
16:04 wamba left
raschipi Stretch will be released with 4.8.2 16:04
16:10 cioran89 joined 16:11 kurahaupo joined 16:13 cdg joined
perlpilot pmurias: I dunno. We've had a few instances at $work where someone has used a feature that wasn't available in the version of node installed on our production boxes. That's why I even asked. 16:15
16:15 itaipu joined
raschipi pmurias: They have a lts schedule here: github.com/nodejs/LTS] 16:17
16:18 zakharyas left
perlpilot the nodejs people have a different idea of LTS that most others I've run across :) 16:18
*than
16:19 wamba joined
raschipi What's the matter with their LTS? 16:20
I don't deal with any of that... Can't be worse than ruby...
perlpilot nothing ... I'm probably just feeling curmudgeonly today. 18 months doesn't really seem "long term" though 16:21
16:23 Cabanossi left
raschipi Well, It's certainly short, but much better than nothing. Besides, they do make it possible to backport a maintained version to older distros at least... 16:23
16:23 cdg left 16:25 Cabanossi joined 16:26 setty1_ joined 16:28 setty1 left
pmurias perlpilot: node.js is exposing the V8 embedding API to extensions (which tends to have incompatible changes) which could be a part of why they aren't supporting old versions for longer 16:30
perlpilot: I can support older versions if people that need neem I just hesitate to spend time on supporting things that will be gone by the time rakudo.js is production ready if nobody needs them currently ;) 16:32
raschipi waiting for someone to ask is completely fine, of course 16:34
16:45 dakkar left
mspo do you need node or just v8? 16:47
16:55 eliasr joined, mcmillhj left 16:57 pilne joined
pmurias mspo: the code that rakudo.js emits will be usable in the browser (that's broken at the moment but worked in that past for nqp.js) 16:58
mspo: I'm using node.js for stuff such as loading up the source file and spawning a copy of rakudo.js 16:59
afk& 17:00
17:02 mullagainn joined
mullagainn does p6 support epoll or kqueue? 17:04
17:05 cdg joined
timotimo p6 has built-in async I/O based on what libuv gives us (so that'd probably be epoll on linux and kqueue on bsd?) 17:07
17:07 mcmillhj joined
timotimo but you can also NativeCall into these C functions to use them directly 17:07
mullagainn: does that help?
mullagainn yep, that helps
mspo yes libev tends to use epoll and kqueue 17:08
rightfold m: for ["A", "B", "C"] -> $x { fail $x }
camelia A
in block <unit> at <tmp> line 1
mullagainn I have been waiting for someone to port a SNMP module.. I may just have to do it myself.
rightfold m: for ["A", "B", "C"] -> $x { for ["D", "E"] { fail $x } }
camelia A
in block at <tmp> line 1
in block <unit> at <tmp> line 1
rightfold m: for ["A", "B", "C"] -> $x { for ["D", "E"] { default { fail $x } } }
camelia A
in block at <tmp> line 1
in block <unit> at <tmp> line 1
raschipi mullagainn: Why not use the Perl5 modules? 17:11
17:12 mcmillhj left 17:16 itaipu left 17:18 fatguy left, mcmillhj joined 17:23 mcmillhj left 17:27 mcmillhj joined 17:28 domidumont joined, mcmillhj left, itaipu joined, mcmillhj joined 17:38 zapwai joined 17:46 itaipu left 17:48 itaipu joined 18:06 cdg left 18:09 Cabanossi left 18:11 Cabanossi joined 18:12 wamba left, TEttinger joined 18:26 mscha joined
mscha m: say 5 ... 0; say 5 ...^ 0; # Why does this work, but ... 18:28
camelia (5 4 3 2 1 0)
(5 4 3 2 1)
mscha m: say 5 ^... 0; # ... this doesn't, and ...
camelia 5===SORRY!5=== Error while compiling <tmp>
Unsupported use of . to concatenate strings; in Perl 6 please use ~
at <tmp>:1
------> 3say 5 ^...7⏏5 0; # ... this doesn't, and ...
mscha m: ay 5 ^...^ 0; # ... neither does this?
camelia 5===SORRY!5=== Error while compiling <tmp>
Malformed postfix call
at <tmp>:1
------> 3ay 5 ^...^7⏏5 0; # ... neither does this?
18:29 Actualeyes left
mscha m: say 5 ^...^ 0; # ... neither does this? 18:29
camelia 5===SORRY!5=== Error while compiling <tmp>
Malformed postfix call
at <tmp>:1
------> 3say 5 ^...^7⏏5 0; # ... neither does this?
18:33 st_elmo joined
raschipi mscha: You should try using the .. (range) operator. 18:33
No, sorry. Doesn't work. 18:35
18:36 ilmari left 18:37 itaipu left 18:40 captain-adequate joined 18:42 SCHAPiE left 18:44 ilmari joined 18:45 SCHAPiE joined, itaipu joined
TimToady what would 1, 2, 4 ^... 8 mean? 18:48
it's easy to exclude the endpoint because there's only one of it :) 18:49
18:49 zakharyas joined
moritz I'd read it to "exclud everything left of the ^", but it seems very weird to cut out exactly the examples you provided yourself :-) 18:50
TimToady m: say ^5 .reverse 18:51
camelia (4 3 2 1 0)
rightfold Interesting, Z is the same as X if the LHS is infinite 18:52
18:55 itaipu left
mscha Ah, OK, multiple start points, now I get it. 18:55
AlexDaniel rightfold: not at all? 18:57
rightfold: what are you talking about exactly?
18:57 itaipu joined
AlexDaniel mscha: but you can use ranges instead and then you can exclude whatever you want :) 18:57
rightfold actually both must be infinite
18:58 espadrine_ joined
rightfold m: say (1 .. * Z 100 .. *)[^10] == (1 .. * X 100 .. *)[^10] 18:58
camelia True
TimToady m: say (1 .. * Z 100 .. *)[^10] eqv (1 .. * X 100 .. *)[^10] 18:59
camelia False
rightfold m: say (1 .. * Z 5 .. *)[^10] == (1 .. * X 5 .. *)[^10]
camelia True
rightfold oh
TimToady all you're testing is that both sides have 10 elements
rightfold I am idiot
TimToady it's an easy mistake 19:00
rightfold m: say (1 .. * Z 5 .. *)[^10] ~ (1 .. * X 5 .. *)[^10]
camelia 1 5 2 6 3 7 4 8 5 9 6 10 7 11 8 12 9 13 10 141 5 1 6 1 7 1 8 1 9 1 10 1 11 1 12 1 13 1 14
TimToady m: say (1 .. * Z 100 .. *)[^10] ~~ (1 .. * X 100 .. *)[^10] 19:01
camelia False
rightfold m: say (1 .. * Z=> 5 .. *)[^10] eqv (1 .. * RXR=> 5 .. *)[^10]
camelia False
19:02 alpha__ left
TimToady Z is always going to iterate both lists, while X will never get to the second element of the second list 19:02
19:02 mcmillhj left
TimToady er, of the first list, I mean 19:04
since the right one varies faster 19:05
19:06 kyan joined
rightfold m: say 1, 2, 3 X& 4, 5, 6 19:06
camelia (all(1, 4) all(1, 5) all(1, 6) all(2, 4) all(2, 5) all(2, 6) all(3, 4) all(3, 5) all(3, 6))
rightfold how much backtracking is there in the grammar?
TimToady very little 19:07
only two places that I know of
m: say [1]
camelia [1]
rightfold For example in "say 1, 2, 3 X& 4, 5, 6" you don't know it's not an argument list until you see X
TimToady m: say [+]
camelia 0
TimToady there's one of them
that's more like delayed interpretation of the comma, I think 19:09
so more of a semantic distinction
the other place that officially backtracks is variable interpolation with trailing subscripts 19:10
"$foo.bar.baz()" vs "$foo.bar.baz" for instance 19:11
m: my $foo = "FOO'; say "$foo.bar.baz"
camelia 5===SORRY!5=== Error while compiling <tmp>
Two terms in a row
at <tmp>:1
------> 3my $foo = "FOO'; say "7⏏5$foo.bar.baz"
expecting any of:
infix
infix stopper
postfix
statement end
s…
TimToady m: my $foo = 'FOO'; say "$foo.bar.baz" 19:12
camelia FOO.bar.baz
TimToady m: my $foo = 'FOO'; say "$foo.bar.baz()"
camelia No such method 'bar' for invocant of type 'Str'
in block <unit> at <tmp> line 1
rightfold :{
moritz FYI, github has a "Major service outage" 19:14
19:15 cioran89 left
nadim works for me in Spain 19:15
moritz I just had a 404 for one of my own repos, and a 500 for Config::INI by tadzik++ 19:16
19:16 wamba joined
rightfold nadim: repos don't work 19:16
tadzik :o
rightfold some do 19:17
*
tadzik I should put more of my stuff on CPAN
it has mirrors and all :)
19:17 kyan left
lizmat ++tadzik 19:18
moritz
.oO( tadzik broke github! )
tadzik ...but I'm sitting here writing Python material *grumble*
rightfold do we have 6PAN yet?
is ecosystem still on GH?
moritz rightfold: it is 19:19
rightfold ok
19:19 domidumont left
rightfold I should publish a library 19:19
19:19 st_elmo left 19:21 st_elmo joined, st_elmo left, mscha left
ugexe we can use cpan 19:21
raschipi c6an 19:24
19:24 zakharyas left
raschipi With the p upside-down 19:24
rightfold peterpan
19:25 st_elmo joined, nowan left
raschipi cpan is missing pages for Perl6 modules and also a good search engine. 19:26
TEttinger NAP6
everybody likes naps 19:27
when it goes down for maintenance, you could have a logo of camellia getting some beauty rest
raschipi I suggested yondercpan to be P6's metacpan the other day 19:28
TEttinger cpot and cpan
19:28 nowan joined
TEttinger cpot is not perhaps the best name, or perhaps the best name 19:28
raschipi The symbol could be Camelia with a pan over her head. 19:29
TEttinger trye
true
putting the C in CPAN
ah right, camelia is one l, camellia is either the flower, the electronica musician, or mayeb both? 19:30
19:30 kyan joined
rightfold I made a documentation site generator for Perl 6 once 19:30
Like two years ago 19:31
TEttinger nice
lizmat CameliaPAN ?
raschipi It's a traditional symbol for playful children in Brazil: i.ytimg.com/vi/dn576g_05NU/hqdefault.jpg 19:32
rightfold That's a pastafarian
TEttinger I mean, a butterfly's head is not going to hold a pot or pan well 19:34
you could have camelia perch on a pan handle (to distinguish from being cooked)
or be holding a tiny pan
which is especially cute 19:35
alternately, 6 pans, in 6 legs, for perl 6
rightfold I could reboot the documentation site project 19:36
moritz rightfold: what do you mean by reboot? 19:37
rightfold Make it work with the latest version of Rakudo and develop it further
> Last updated 2016-02-07 19:38
lol it was written in PHP
moritz which site are yyou talking about?
rightfold Yeah this has to be completely rewritten lol 19:39
moritz s/yy//
rightfold bitbucket.org/rightfold/sixdoc/src...?at=master
moritz ah
19:40 Bucciarati_ is now known as Bucciarati
rightfold I much like the docs.perl6.org/ format 19:42
19:47 dogbert17 joined 19:53 dwarring joined 19:54 itaipu left, Cabanossi left
moritz github is back, fwiw 19:55
19:55 Cabanossi joined 20:01 itaipu joined 20:07 raschipi left 20:08 raschipi joined 20:10 vetmaster joined
raschipi We need the gan, github archive network. 20:12
tadzik Github Guaranteed Unaccessibility Defense, or GIT GUD for short 20:15
vetmaster what is the best way to set simple strings (not regex) in grammar tokens? 20:20
moritz vetmaster: do you want to assign to a variable? or do you want to match a string literally? 20:22
Xliff vetmaster: Use quoted text for that
20:22 kyan left
vetmaster to match a string literally 20:23
moritz $string ~~ /'weird shit here!?§$'/
Xliff Grammar A { rule TOP { "abcd" } }; say A.parse('abcd')
m: Grammar A { rule TOP { "abcd" } }; say A.parse('abcd')
camelia 5===SORRY!5=== Error while compiling <tmp>
Two terms in a row
at <tmp>:1
------> 3Grammar7⏏5 A { rule TOP { "abcd" } }; say A.parse(
expecting any of:
infix
infix stopper
statement end
stateme…
Xliff m: Grammar A { rule TOP { "abcd"; }; }; say A.parse('abcd');
camelia 5===SORRY!5=== Error while compiling <tmp>
Two terms in a row
at <tmp>:1
------> 3Grammar7⏏5 A { rule TOP { "abcd"; }; }; say A.pars
expecting any of:
infix
infix stopper
statement end
stateme…
Xliff m: grammar A { rule TOP { "abcd"; }; }; say A.parse('abcd'); 20:24
camelia 5===SORRY!5=== Error while compiling <tmp>
Unrecognized regex metacharacter ; (must be quoted to match literally)
at <tmp>:1
------> 3grammar A { rule TOP { "abcd"7⏏5; }; }; say A.parse('abcd');
expecting any of:
double qu…
Xliff m: grammar A { rule TOP { "abcd" }; }; say A.parse('abcd');
camelia 「abcd」
20:24 Cabanossi left
Xliff vetmaster: So you can use that text in any rule or token. 20:25
20:25 Cabanossi joined
Xliff And you can also use metacharacters outside the quoted text. 20:25
m: grammar A { rule TOP { "abcd" ..? }; }; say A.parse('abcdef'); 20:26
camelia Nil
AlexDaniel well yeah, "", '', ‘’, “”, 「」… anything should work
20:27 Cabanossi left
Xliff m: grammar A { rule TOP { "abcd" (<..>) ? }; }; say A.parse('abcdef'); 20:27
camelia 5===SORRY!5===
Unrecognized regex metacharacter < (must be quoted to match literally)
at <tmp>:1
------> 3grammar A { rule TOP { "abcd" (<..7⏏5>) ? }; }; say A.parse('abcdef');
Unrecognized regex metacharacter . (must be quoted to match…
20:27 Cabanossi joined
Xliff m: grammar A { rule TOP { "abcd" <(..)> ? }; }; say A.parse('abcdef'); 20:28
camelia Nil
Xliff m: grammar A { rule TOP { "abcd" <(..)> ? }; }; say A.parse('abcde');
camelia Resource temporarily unavailable
Xliff Ouch. Didn't like that.
raschipi Camelia is tired, give her a rest. 20:29
m: grammar A { rule TOP { "abcd" <(..)> ? }; }; say A.parse('abcde');
camelia Nil
TimToady m: grammar A { token TOP { "abcd" ..? }; }; say A.parse('abcdef'); 20:31
camelia 「abcdef」
TimToady note the whitespace is signficiant in 'rule' 20:32
20:32 itaipu left 20:36 kyan joined 20:37 cyphase left 20:41 khw left 20:48 khw joined 20:56 ceevusee joined
vetmaster m: say 'string\n'; 21:02
camelia string\n
vetmaster m: say "string\n" 21:06
camelia string
21:06 skids left
raschipi m: say "string␤" 21:06
camelia string
raschipi m: say 'string␤'
camelia string
vetmaster could you please suggest a solution like [^abcd] in PCRE
?
<-[abcd]> ?
jnthn Yes, that
vetmaster why it does not work? 21:07
ideone.com/fDQ7iW
maybe there is a mistake on the line 12 21:08
but I'm not sure
21:08 ceevusee left, ceevusee joined 21:09 st_elmo left
jnthn What if 11 is token, not rule? 21:09
vetmaster is now 'token', but says Nil anyway 21:10
21:12 setty1_ left
jnthn Oh...I think it's 'cus the leading whitespace before the first element isn't matched anywhere 21:12
Yah, that's it
If TOP is <[\n\t]>* <element>+ it works 21:13
Or <?> <element>+ to let sigspace to it
21:14 ceevusee left, ceevusee joined, raschipi left
TimToady ^ <element>+ is shorter :) 21:18
21:18 ceevusee left, cdg joined 21:22 ceevusee joined 21:24 Cabanossi left 21:25 Cabanossi joined 21:31 ceevusee left
geekosaur .u – 21:35
yoleaux U+2013 EN DASH [Pd] (–)
lucasb m: role {} but role {} 21:37
camelia No such method 'mixin' for invocant of type 'Perl6::Metamodel::ParametricRoleHOW'. Did you mean 'min'?
in block <unit> at <tmp> line 1
lucasb ^^ idk if that makes any sense at all; was just testing 21:38
RT #131492
hmm, no link bot
jnthn No, it makes no sense at all
lucasb hehe, thanks :) 21:39
21:39 mr-foobar left
jnthn A "Cannot mix in to a blah" message could be an improvement. 21:40
lizmat and another Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2017/06/05/...illed-tap/
21:41 mr-foobar joined 21:43 lichtkind joined 21:46 Skarsnik joined 21:50 cyphase joined
rindolf hi all 21:52
sup?
21:53 ctilmes left
lichtkind hai 21:54
rindolf lichtkind: meow 21:55
21:56 zapwai left 21:57 vetmaster left
pilne ridolf! 21:58
how are you my ##programming friend? (:
rindolf pilne: I'm fine - having too many parameters in the equation of benchmarking freecell solver 22:01
rindolf blames it on the compiler
;-)
pilne lol, are you rewriting it in perl6? 22:02
rindolf pilne: no
pilne: i played with github.com/dropbox/lepton earlier - it was kinda slow and the space saving was not dramatic 22:04
22:05 khw left
pilne the claimed 22% is a bit optimistic you'd say? 22:06
rindolf pilne: no, it was roughly that 22:07
22:07 ceevusee joined, bbkr_ joined 22:08 cdg left, lucasb left 22:09 mr-foobar left, pmurias left 22:10 bbkr left 22:12 mr-foobar joined 22:23 rindolf left
pilne not terrible considering jpgs are already pretty compressed 22:23
22:38 mr-foobar left, Cabanossi left 22:40 Cabanossi joined 22:48 mr-foobar joined 22:58 BenGoldberg joined 23:01 eliasr left
tinita we have a problem with running prove and using PERL6LIB 23:05
is PERL6LIB supposed to work like in p5?
23:08 mr-foobar left
geekosaur sort of? I think it has to use comprepo ids though, not paths 23:09
23:11 notbenh_ joined, TEttinger left 23:12 mr-foobar joined
tinita hm. we're using prove --exec='perl6 -I...' now as a workaround 23:15
geekosaur: what's a comprepo?
23:16 raschipi joined
timotimo comprepo embodies the fact that stuff in perl6 doesn't have to come from files on disk 23:17
i used to have a gist open that let you use modules directly off of github via http requests 23:18
like, you'd just use blah:from<github:username/repo> or something like that
gist.github.com/ugexe/23026e421b6b3a9c697b - what do you know, there it is!
actually, that might not be it
geekosaur sorry, was trying to find docs for it and it sent me to S11 which says nothing about how you specify them in include paths :/ 23:19
23:20 skids joined
timotimo actually the docs say you just put a list of paths into PERL6LIB 23:21
23:22 mcmillhj joined
geekosaur interesting, I thought it had to be something like inst:/path, inst:., ... 23:22
timotimo docs.perl6.org/language/modules#compunit_use - this could well be out of date; the "the future of the ecosystem" part just got made semi-outdated recently
geekosaur or rather, inst for something in a CUR and various other types for raw paths etc. 23:23
pilne how much will i hate myself if i try to get moarvm running on windows8 and window10? as well as os-x?
23:23 DesertJellyfish joined
pilne without being able to touch said boxes, with only instructions given to someone who is relatively computer savvy. 23:23
raschipi depends on how much booze you have 23:25
pilne said computer savvy person does work at a local microbrewery 23:26
raschipi and if you are a sucker for punishment
pilne no, i'm far more of a sadist than a masochist
k, that guts that idea
timotimo well, you can actually install rakudo star from a .msi
23:26 mcmillhj left
raschipi why do they need it for? 23:27
pilne i'm still not convinced of the answer i got in programming that c++ would be my best option to make a basic inventory solution that runs on those....
raschipi Yeah, I was just kidding, there's an easy-to-use installer
pilne i.... volunteerd to make an inventory system for my girlfriend's employer.
timotimo don't forget you won't be done after you're done "building" it ;)
pilne oh, i know, but if it helps her bring less work back home... i'm kinda ok with it. 23:28
raschipi Are you sure doing from scratch is a good isea? 23:29
pilne it's not going to be real-time, it will be running at two locations, and they only need to be "sync'd" once a day.
no, but it seems to be the only option i could think of off the top of my head that wouldn't involve any initial cost for them
other than a case of beer 23:30
timotimo if syncing is just a one-way copy, that's fine
if you need to take into account changes from two sources .. have fun :)
raschipi There are open-source options available, get something you just need to customize for their needs.
pilne i figured i'd have a master copy of the inventory, that both locations would update to at closing time, and in the morning, each would get a fresh copy.
23:31 sftp left
pilne rasch: ty, i'll google harder (: 23:31
timotimo oh, if each location just changes "its own" data, and there's like an aggregate over both locations, that'll be doable
raschipi Of course every ERP solution needs a bit of business logic programming, but no need to do it from sscratch 23:33
pilne yeah, there might be a 3rd location in the next year, but that's still only about a 10% chance at this time.
for someone not on the books, i know a lot about the books, granted, she knows a lot about the morning shift at UPS too for never having been on payroll lol.
23:33 sftp joined 23:37 Cabanossi left 23:40 Cabanossi joined 23:41 khw joined, nadim left 23:44 idiosyncrat joined
raschipi Zoffix: chdir doesn't recognize '-', do you think it should? 23:45
23:51 espadrine_ left, Herby_ left
timotimo huh, where do you land when you chdir -? 23:51
23:51 idiosyncrat left
Skarsnik - is valid file name 23:51
timotimo yeah
why would chdir "recognize" -?
Skarsnik and hello ^^
timotimo yo snik
how have you been?
Skarsnik fine, doing other stuff, like freaking snes romhacking related stuff :( 23:52
raschipi Try to do it in the shell, the chdir program goes back to the last directory.
Not a program, the shell itself does that.
timotimo why would you frown at snes romhacking?
ah. yeah, it's quite unlikely that we'd support that 23:53
Skarsnik well lot of low level and weird stuff
It's just it can be very time consuming when you are trying to figure the code of some games 23:54
timotimo ah
wanna share anything? :)
23:55 wamba left
Skarsnik and even with most of the dissambly, thing can still be very confusing. Like how Zelda 3 store map data 23:55
timotimo yeah, i can't imagine it'd be easy all the time :)
23:56 Actualeyes joined 23:57 mcmillhj joined
Skarsnik One of the worse thing is the mentality of lot/most romhacker. They hide their work because "People will steal my work" 23:57
But anyway, it's kinda late. time to sleep x) 23:58
timotimo have a good one!
pilne i read something somewhere a long while ago about hacking ff7's rom... they did some wacky ass shit
Skarsnik well at least the playstation does not have a CPU with only one accumulator 23:59
23:59 lichtkind left