»ö« 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
|