»ö« 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. |
|||
clasclin | Hi, I have some trouble with actions in grammars. The perl6 version is 2016.11 on ubuntu 16.04 x86_64 | 00:01 | |
The error is: This type cannot unbox to a native integer: P6opaque, Failure | |||
Here is some code I'm working pastebin.com/V2QycXMj | |||
It's not pretty, sorry for that | 00:02 | ||
notviki | eh | ||
clasclin: can you run it with --ll-exception switch and pastebin the output? | |||
perl6 --ll-exception the-file-with-code.p6 | 00:03 | ||
I guess unlike Perl 5 we don't immediatelly shout about parsing HTML with regexes? :P | |||
s/Perl5/#perl/; | 00:04 | ||
Ahhh | 00:05 | ||
haha | |||
clasclin: I have a hint of what it is | |||
m: say grammar { token TOP { <head> }; token head { .+ } }.parse: "xxxx", :actions(class {}) | 00:06 | ||
camelia | rakudo-moar 87fefa: OUTPUT«Cannot resolve caller head(<anon|57551216>: Match); none of these signatures match: (Any:D $: *%_) (Any:D $: Cool $n, *%_) in any !reduce at /home/camelia/rakudo-m-inst-1/share/nqp/lib/QRegex.moarvm line 1 in regex head at <tmp> line 1…» | ||
notviki | hm, no, fails with different error | ||
m: Any.^lookup('link').say | |||
camelia | rakudo-moar 87fefa: OUTPUT«(Mu)» | ||
notviki | m: Any.^lookup('div').say | 00:07 | |
camelia | rakudo-moar 87fefa: OUTPUT«(Mu)» | ||
clasclin | Here is the output pastebin.com/KMV63RR4 | ||
notviki | oh heh, I *did* guess it right! | ||
cognominal: 2016.11 say grammar { token TOP { <head> }; token head { .+ } }.parse: "xxxx", :actions(class {}) | 00:08 | ||
cognominal: sorry | |||
committable6: 2016.11 say grammar { token TOP { <head> }; token head { .+ } }.parse: "xxxx", :actions(class {}) | |||
committable6 | notviki, gist.github.com/56cf80a12f3b3799f0...efa251add0 | ||
notviki | m: say Match ~~ Cool | 00:09 | |
camelia | rakudo-moar 87fefa: OUTPUT«True» | ||
clasclin | well I also try with perl6-debug-m and it just stop in the '</head>' part of my code but don't know what that means | ||
notviki | m: say grammar { token TOP { <head> }; token head { .+ } }.parse: "xxxx", :actions(class { method head ($) {} }) | ||
camelia | rakudo-moar 87fefa: OUTPUT«「xxxx」 head => 「xxxx」» | ||
notviki | clasclin: basically all classes inherit from Any and Mu. This means your Actions class has all of these "extra" methods by default. One of them is .head() and because it's absent in your Actions class definition it's handled by Any.head() | 00:10 | |
for the <head> token, because there's .head() method | |||
clasclin: so just add method head($) {} into your actions class as a no-op or define a proper actions method for that token | 00:11 | ||
m: class {}.^methods(:all)».name.sort.say | |||
camelia | rakudo-moar 87fefa: OUTPUT«(ACCEPTS ACCEPTS ASSIGN-KEY ASSIGN-POS AT-KEY AT-POS Array BIND-KEY BIND-POS BUILDALL BUILD_LEAST_DERIVED Bag BagHash Bool CREATE Capture DELETE-KEY DELETE-POS DUMP DUMP-OBJECT-ATTRS DUMP-PIECES EXISTS-KEY EXISTS-POS FLATTENABLE_HASH FLATTENABLE_LIST Hash …» | ||
notviki | ^ if you run that you'll see all the methods that would conflict like that | ||
00:12
cdg left
|
|||
notviki | m: class {}.^methods(:all).elems.say | 00:12 | |
camelia | rakudo-moar 87fefa: OUTPUT«137» | ||
notviki | sheesh | ||
clasclin: that's also a gotcha even when you don't specify an Actions class, because then you end up with Mu as "default" actions and that still has a few methods | 00:13 | ||
m: Mu.^methods(:all).elems.say | |||
camelia | rakudo-moar 87fefa: OUTPUT«52» | ||
notviki | Or "few" I should say | ||
m: say grammar { token TOP { <head> }; token head { .+ } }.parse: "xxxx", :actions(class { BEGIN { ?::CLASS.^method_add(.name, {}) for Any.^methods(:all) }}) | 00:15 | ||
camelia | rakudo-moar 87fefa: OUTPUT«5===SORRY!5=== Error while compiling <tmp>No such symbol 'CLASS'at <tmp>:1------> 3xxxx", :actions(class { BEGIN { ?::CLASS7⏏5.^method_add(.name, {}) for Any.^methods» | ||
00:15
pierre_ joined
|
|||
notviki | m: say grammar { token TOP { <head> }; token head { .+ } }.parse: "xxxx", :actions(class { BEGIN { ::?CLASS.^method_add(.name, {}) for Any.^methods(:all) }}) | 00:15 | |
camelia | rakudo-moar 87fefa: OUTPUT«5===SORRY!5=== Error while compiling <tmp>An exception occurred while evaluating a BEGINat <tmp>:1Exception details: No such method 'method_add' for invocant of type 'Perl6::Metamodel::ClassHOW' in block at <tmp> line 1» | ||
notviki | m: say grammar { token TOP { <head> }; token head { .+ } }.parse: "xxxx", :actions(class { BEGIN { ::?CLASS.^add_method(.name, {}) for Any.^methods(:all) }}) | ||
camelia | rakudo-moar 87fefa: OUTPUT«5===SORRY!5=== Error while compiling <tmp>An exception occurred while evaluating a BEGINat <tmp>:1Exception details: 5===SORRY!5=== Error while compiling  Package '<anon|60644224>' already has a hash 'ACCEPTS' (did you mean to decl…» | ||
notviki | screw you, robot | ||
clasclin | Let me see if I get ir right. So what if I just change the token head for other name it still will conflict with Mu or Any ? | 00:18 | |
notviki | clasclin: yeah, you can just change the name of the token to some other name that isn't the same as the name of the Any/Mu methods | 00:19 | |
00:20
pierre_ left
00:21
mscha joined
|
|||
clasclin | Oh I see. I will try any of your suggestions, the ^methods and everything else. Sorry for the bad english and thanks for the help :) | 00:22 | |
mscha | Quick question: what is the Perl 6 equivalent of Perl 5's grep(!/foo/, @list)? | ||
@list.grep(* !~~ /foo/) works, but is there a more elegant way? | |||
notviki | well, ({!/foo/}) | 00:25 | |
mscha | OK, that works. Thanks. | 00:26 | |
00:33
lukaramu left
|
|||
mscha | Interesting: @list.grep({!/foo/}) is much slower than @list.grep(* !~~ /foo/) ... | 00:33 | |
notviki | m: say &infix:<!~~> | 00:34 | |
camelia | rakudo-moar 87fefa: OUTPUT«sub infix:<!~~> (Mu \topic, Mu \matcher) { #`(Sub|47056368) ... }» | ||
notviki | mscha: I guess it has shortcuruiting for when it knows it won't be able to match | ||
FWIW, if it *is* just a simple string, use grep(*.contains('foo').not) | 00:35 | ||
prolly be much faster still | |||
00:35
kurahaupo joined
00:41
kalkin- joined
00:42
kurahaupo left
00:58
newbie1 left
01:12
aborazmeh joined,
aborazmeh left,
aborazmeh joined
01:15
njmurphy_ joined,
njmurphy_ left
01:16
njmurphy joined
|
|||
samcv | heh. on the unicode mailing list. some people having a hearty discussion on what character to use for an unknown numerical character | 01:17 | |
for use in transcribing historical documents | |||
01:17
njmurphy left
|
|||
samcv | cause you have to put something down to properly transcibe it | 01:17 | |
most of the stuff people post about isn't really relevant to perl 6 implementation, but there seems to be lots of things people need to properly transcribe things | 01:18 | ||
notviki | .oO( clearly it'd be a ZWS sequence with the shrug emoji ) |
||
samcv | heh | 01:20 | |
curious what the properties of � (replacement character) is | |||
the visual of that character is undefined but for me renders as a ? and box | |||
but it has no actual meaning other than replacement character | |||
notviki | for me a ? in a diamond | ||
samcv | One Unicode character specifically for this purpose is U+3013 GETA MARK. It | 01:21 | |
is a Japanese symbol used to replace characters that cannot be read during | |||
transcription of manuscripts (source: Japanese Wikipedia). It looks like a | |||
bold equals sign: 〓. | |||
wow that is pretty neat | |||
doesn't really look like an euals sign though, more like just two thick horizontal bars | 01:22 | ||
geekosaur | depends on the font | 01:23 | |
(it does here) | |||
01:24
mscha left
|
|||
samcv | u: INVISIBLE LETTER | 01:24 | |
unicodable6 | samcv, Found nothing! | ||
samcv | sad! | ||
well it's only proposed | |||
invisible letter | |||
and you can put combining marks on it | 01:25 | ||
cause combining marks have to go on something | |||
u: U+2427 | |||
unicodable6 | samcv, U+2427 <reserved> [Cn] () | ||
01:26
espadrine left
|
|||
samcv | Could not read all of this word: Able〓r〓t | 01:28 | |
kinda nice | |||
kalkin- | What does the word docee—used by p6doc—mean? Is it somehow defined? Because as far as i see it can bee a module, an method/routine or even be a Type::Str.foo form | 01:32 | |
or is it just short for documentation entry? | |||
notviki | a wild guess would be a.. umm.. documentable item... Like chatter/chattee, and other nouns formed that way | 01:34 | |
AlexDaniel | [Coke]: shouldn't we turn it into NYI ticket instead? | 01:36 | |
dalek | c: e88d06f | rightfold++ | doc/Language/list.pod6: Remove pre-GLR @-sigil LoL assignment note |
01:42 | |
c: 87a2e59 | (Zoffix Znet)++ | doc/Language/list.pod6: Merge pull request #1080 from rightfold/patch-1 Remove pre-GLR @-sigil LoL assignment note |
|||
synopsebot6 | Link: doc.perl6.org/language/list | ||
notviki | There are seem to be some unreviewed doc PRs: github.com/perl6/doc/pulls | ||
01:47
teksteiner left
|
|||
dalek | c: b334ef7 | coke++ | doc/Language/regexes.pod6: Remove docs for non-existent feature. Closes #1093 |
01:52 | |
c: bb8e1eb | coke++ | xt/words.pws: learn new words |
|||
synopsebot6 | Link: doc.perl6.org/language/regexes | ||
01:54
cibs left
01:56
cibs joined
|
|||
[Coke] | . | 01:56 | |
notviki | : | 01:57 | |
AlexDaniel | ⁝ | 02:03 | |
02:04
cibs left
02:06
cibs joined
02:08
clasclin left
02:11
pyrimidi_ joined,
pyrimidine left
|
|||
facetious | ⡇ | 02:16 | |
02:16
facetious left,
tailgate joined
02:21
curt_ joined
02:40
kalkin-_ joined,
kalkin- left
02:45
ilbot3 left
02:47
ilbot3 joined
02:48
pyrimidi_ left,
pyrimidine joined
|
|||
[Coke] | AlexDaniel: turn which? bdf's RT? | 02:48 | |
about regex char classes? | |||
AlexDaniel | yea | ||
[Coke] | no. there's no intent to implement it. | 02:49 | |
AlexDaniel | why does the book depend on this shit by the way | 02:51 | |
curt_ | If I want to make my own multi sub infix:<eqv>() and have others who don't use my module call it when eqv-ing my objects, how do I make it 'global' | 02:57 | |
notviki | curt_: you can't make it global, but you can mark is as `is export` to export it into the scope of the used module | 02:59 | |
02:59
pyrimidine left
|
|||
notviki | m: package Foo { multi sub infix:<eqv>(Bar, Bar) is export { say "hi" } }; import Foo; class Bar {}; Bar eqv Bar | 03:00 | |
camelia | rakudo-moar 73182d: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Invalid typename 'Bar' in parameter declaration. Did you mean 'Bag'?at <tmp>:1------> 3package Foo { multi sub infix:<eqv>(Bar7⏏5, Bar) is export { say "hi" } }; import » | ||
notviki | m: package Foo { class Bar {…}; multi sub infix:<eqv>(Bar, Bar) is export { say "hi" } }; import Foo; class Bar {}; Bar eqv Bar | ||
camelia | rakudo-moar 73182d: OUTPUT«5===SORRY!5=== Error while compiling <tmp>The following packages were stubbed but not defined: Foo::Barat <tmp>:1------> 3}; import Foo; class Bar {}; Bar eqv Bar7⏏5<EOL> expecting any of: statement end st…» | ||
notviki sighs | |||
03:01
pyrimidine joined
|
|||
notviki | m: package Foo { class Bar {}; multi sub infix:<eqv>(Bar, Bar) is export { say "hi" } }; import Foo; Bar eqv Bar | 03:01 | |
camelia | rakudo-moar 73182d: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Undeclared name: Bar used at line 1. Did you mean 'Bag'?Undeclared routine: eqv used at line 1» | ||
notviki | Well, you get the idea | ||
[Coke] | AlexDaniel: ? he noticed an issue and reported it. | 03:04 | |
AlexDaniel | [Coke]: I was referring to the ticket that depends on this issue, but nevermind… | ||
dalek | c: 1a9df19 | (Zoffix Znet)++ | doc/Language/variables.pod6: Unset $*HOME is `Any`, not `Nil` |
03:05 | |
synopsebot6 | Link: doc.perl6.org/language/variables | ||
03:08
xinming left
|
|||
curt_ | Yeah, I did that. If I export, then $a eqv $b will call my eqv, but if I @alist = ($a), @blist = ($b), then @alist eqv @blist, it won't call my eqv | 03:08 | |
03:09
xinming joined
|
|||
notviki | curt_: yeah, because that'll use the eqv for comparing Arrays that isn't in scope of your exported candidate | 03:09 | |
curt_ | I'm really trying to make Test is-deeply() eqv compare my objects deep inside another class use my eqv for that class | ||
03:10
zacts left
|
|||
notviki | * I mean the Array multi will descend and compare guts with eqv and yours isn't in scope | 03:10 | |
curt_ | right, how can I export mine so it will get found by others | ||
03:17
noganex joined
|
|||
notviki | Don't know. | 03:17 | |
Let me know if you find out. | |||
03:18
rburkholder left
|
|||
curt_ | notviki: it seems like the default for sub is lexical scope, but perhaps I could "our" it? If "our multi sub infix:<eqv>...", I get Cannot use 'our' with individual multi candidates. Please declare an our-scoped proto instead. I tried some "our proto infix:<eqv> ..." but couldn't get it to work | 03:20 | |
03:20
noganex_ left
|
|||
notviki | our is also lexical | 03:20 | |
curt_ | I thought our would add it to the symbol table where others would find mine | 03:21 | |
03:21
zacts joined
|
|||
notviki | m: class Bar {}; our proto infix:<eqv> (|) {*}; multi infix:<eqv> (Bar, Bar) { say "hi" }; multi infix:<eqv> (|c) { &CORE::infix:<eqv>(|c) }; Bar eqv Bar; say 42 eqv 5 | 03:24 | |
camelia | rakudo-moar 73182d: OUTPUT«hiFalse» | ||
notviki | m: class Bar {}; our proto infix:<eqv> (|) {*}; multi infix:<eqv> (Bar, Bar) { say "hi" }; multi infix:<eqv> (|c) { &CORE::infix:<eqv>(|c) }; Bar eqv Bar; say 42 eqv 42 | ||
camelia | rakudo-moar 73182d: OUTPUT«hiTrue» | ||
notviki | curt_: try with that ^ but I doubt it will work | ||
I guess I can try with the bot | 03:25 | ||
m: use Test; class Bar {}; our proto infix:<eqv> (|) {*}; multi infix:<eqv> (Bar, Bar) { say "hi" }; multi infix:<eqv> (|c) { &CORE::infix:<eqv>(|c) }; is-deeply Bar, Bar; | |||
camelia | rakudo-moar 73182d: OUTPUT«ok 1 - » | ||
notviki | m: use Test; class Bar {}; our proto infix:<eqv> (|) {*}; multi infix:<eqv> (Bar, Bar) { say "hi" }; multi infix:<eqv> (|c) { &CORE::infix:<eqv>(|c) }; is-deeply Bar.new, Bar.new; | ||
camelia | rakudo-moar 73182d: OUTPUT«ok 1 - » | ||
dugword | Should I be able to separate sub signature parameters with semi-colons? | ||
m: sub ($bar;$baz){say "$bar;$baz"}("bar","baz") | |||
camelia | rakudo-moar 73182d: OUTPUT«bar;baz» | ||
notviki | Yeah, doesn't work. | 03:26 | |
dugword | That does work | ||
notviki | I meant eqv thing | 03:27 | |
dugword | oh, :) | ||
notviki | dugword: well, `;;` is to demarkate stuf you don't want to be considered for MMD. No idea what one ; is | ||
dugword | I saw ;; in the docs, but nothing about ';' | ||
it was a typo in my code, but I noticed it still worked | 03:28 | ||
notviki | Was gonna try --target=parse on it but it hangs >_< | ||
hm, don't see anything for it in token signature :S | 03:29 | ||
oh | |||
weird | 03:30 | ||
m: sub ($bar:$baz){say "$bar;$baz"}("bar","baz") | |||
camelia | rakudo-moar 73182d: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Can only use the : invocant marker in the signature for a methodat <tmp>:1------> 3sub ($bar:$baz7⏏5){say "$bar;$baz"}("bar","baz") expecting any of: constraint» | ||
notviki | m: sub ($bar:$baz:$ber){say "$bar;$baz"}("bar","baz", 42) | ||
camelia | rakudo-moar 73182d: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Can only use the : invocant marker in the signature for a methodat <tmp>:1------> 3sub ($bar:$baz:$ber7⏏5){say "$bar;$baz"}("bar","baz", 42) expecting any of: constraint» | ||
notviki | dugword: from what I see in the grammar it's just an alternative to `,` param separator :S | 03:31 | |
dugword | Interesting. Thanks! | 03:33 | |
m: sub ($bar;$baz){say "$bar;$baz"}("bar";"baz") | 03:36 | ||
camelia | rakudo-moar 73182d: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Unable to parse expression in argument list; couldn't find final ')' at <tmp>:1------> 3sub ($bar;$baz){say "$bar;$baz"}("bar"7⏏5;"baz")» | ||
dalek | c: b60bd51 | (Zoffix Znet)++ | doc/Type/Rational.pod6: Document Rational.isNaN Implemented in Rakudo in github.com/rakudo/rakudo/commit/7434a8f73e Tests in github.com/perl6/roast/commit/fea29a3902 |
03:43 | |
synopsebot6 | Link: doc.perl6.org/type/Rational | ||
c: f4aa4a2 | kalkin++ | bin/p6doc: p6doc -h|--help shows a useful USAGE message |
03:44 | ||
c: 3dc045c | kalkin++ | bin/p6doc: p6doc add local file usage example |
|||
c: 54cdd80 | (Will Coleda)++ | bin/p6doc: Merge pull request #1094 from kalkin/master Unify output of p6doc & p6doc -h |
|||
c: 9a963ae | (Nic Q)++ | doc/Type/Sub.pod6: Document `is deafult` for Subs for Subs. |
03:45 | ||
c: fe8f130 | (Will Coleda)++ | doc/Type/Sub.pod6: Merge pull request #1052 from nicqrocks/master Document `is deafult` for Subs |
|||
synopsebot6 | Link: doc.perl6.org/type/Sub | ||
03:48
lichtkind_ joined
03:52
lichtkind__ left
03:54
Sgeo joined
03:57
Actualeyes1 joined,
Actualeyes left
04:08
bjz joined
04:09
bjz_ left
04:11
pyrimidine left
04:12
pyrimidine joined,
curt_ left
|
|||
notviki | woot... #freenode-newyears is open. Let the party begin \o/ | 04:16 | |
04:19
aborazmeh left
04:22
HNYBot joined,
HNYBot left
04:23
HNYBot joined,
HNYBot left
04:26
HNYBot joined,
HNYBot left
04:27
Zoffix_ joined,
Zoffix_ left
04:29
HNYBot joined
04:30
HNYBot left,
HNYBot joined
04:31
HNYBot left
|
|||
Woodi | it's 24h long party ? :) | 04:34 | |
04:38
bjz left
04:39
bjz_ joined
04:40
HNYBot joined,
HNYBot left,
HNYBot joined
|
|||
notviki | Woodi: more, I think it's like 28-hour | 04:42 | |
or 26 | |||
HNYBot: hny Samoa | 04:43 | ||
HNYBot | notviki, New Year will happen in Samoa in 5 hours, 16 minutes, and 51 seconds | ||
04:47
xinming left,
xinming joined
04:52
HNYBot left,
HNYBot joined
04:54
xinming left
04:55
xinming joined
05:02
AlexDaniel left
05:04
holli joined
05:08
kaare_ joined
05:11
pyrimidine left
05:12
pyrimidine joined
|
|||
notviki | whoa... fire in the adjacent building :o | 05:27 | |
05:37
bjz_ left
|
|||
Woodi | that's always not nice... | 05:47 | |
not good even... | 05:48 | ||
05:53
bjz joined
05:54
forkbomb joined
05:56
Cabanossi left
05:58
Cabanossi joined
06:09
shayan_ joined
06:11
labster left
06:14
rburkholder joined
06:20
xinming left,
xinming joined
06:27
xinming left,
xinming joined
06:34
khw left
06:36
shayan_ left
06:37
Wanderer68 joined
06:52
pyrimidine left,
pyrimidine joined
07:07
labster joined
07:08
labster left
07:10
bjz left
07:11
darutoko joined
07:27
CIAvash joined
07:31
dugword left
07:37
bjz joined
07:41
ggoebel left
07:44
domidumont joined
07:48
domidumont left
07:49
domidumont joined
07:54
ggoebel joined
07:55
Tonik joined
08:01
bjz left
08:04
petrutrimbitas joined
08:06
thalunil joined
08:07
bjz joined,
petrutrimbitas left,
bjz left
08:11
labster joined
08:13
bwisti left
08:15
skids left
08:16
bjz joined,
xiaomiao left
08:19
rburkholder left
08:22
xiaomiao joined
08:29
Actualeyes1 left
08:42
rindolf joined
08:52
grondilu_ joined
08:55
grondilu left
08:58
RabidGravy joined
09:05
kyan left
09:06
xinming_ joined
09:09
xinming left
09:13
hartenfels joined
09:17
hartenfels1 joined
09:20
hartenfels left,
hartenfels1 is now known as hartenfels
09:24
pyrimidine left
09:25
pyrimidine joined
09:41
wamba joined
09:44
small-wolf left
09:48
xinming_ is now known as xinming
09:49
RabidGravy left
09:50
hankache joined
09:52
hankache left
09:53
RabidGravy joined
10:03
labster left
10:06
labster joined
10:10
jabowery left
10:26
rindolf left
10:30
Wanderer68 left
10:33
rindolf joined,
FROGGS joined
10:50
rburkholder joined
11:01
espadrine joined
11:14
labster left,
pmurias joined
11:19
thalunil left
11:27
Actualeyes joined
11:31
Tonik left
11:34
pyrimidine left
11:35
pyrimidine joined
12:02
grondilu_ left
12:03
small-wolf joined
12:04
small-wolf left
12:09
PapaChub left
12:15
susmus left
12:16
susmus joined
12:20
bjz left
12:21
cdg joined
12:22
petrutrimbitas joined
12:25
Actualeyes left
12:32
effbiai left
12:46
pyrimidi_ joined
12:47
pyrimidine left
12:50
lukaramu joined
12:51
petrutrimbitas left
12:53
Actualeyes joined
13:13
aborazmeh joined,
aborazmeh left,
aborazmeh joined,
TEttinger left
|
|||
dalek | on: d8b3e13 | moritz++ | / (4 files): Fix parsing of string literals with a leading combining character. Closes #25. |
13:14 | |
moritz | finally. That one was hard work. | ||
13:31
bjz joined,
xinming left
13:32
effbiai joined,
effbiai left,
effbiai joined
13:33
Ven left
13:36
Tonik joined
13:37
Ven joined
13:41
Tonik left
13:43
petrutrimbitas joined
13:44
xinming joined
13:50
effbiai left
13:51
xinming left,
pyrimidi_ left,
pyrimidine joined,
Actualeyes left
13:53
aborazmeh left
14:00
xinming joined
14:12
MasterDukeLaptop joined
14:15
wamba left,
Zoffix joined
|
|||
Zoffix | \o | 14:16 | |
yoleaux | 20 Dec 2016 06:35Z <nige1> Zoffix: thanks for the tip to turn on JSON output for perl6 -> RAKUDO_EXCEPTION_HANDLER=JSON | ||
20 Dec 2016 06:36Z <nige1> Zoffix: I've update the code to use JSON instead github.com/nige123/perl6fix/blob/m...r/perl6fix | |||
20 Dec 2016 06:54Z <nige1> Zoffix: also fixed the advent entry on fixing flow perl6advent.wordpress.com/2016/12/...xing-flow/ to use JSON instead | |||
14:25
effbiai joined,
effbiai left,
effbiai joined
14:30
bjz left
14:36
Zoffix left
14:37
CIAvash left
14:38
dalek left
14:39
dalek joined,
ChanServ sets mode: +v dalek
14:41
AlexDaniel joined
|
|||
AlexDaniel | !hny * | 14:41 | |
HNYBot | AlexDaniel, New Year will happen in Brampton, ON L6Y in 14 hours, 18 minutes, and 13 seconds | ||
14:43
small-wolf joined,
tojo joined
14:45
small-wolf left
|
|||
hartenfels | fg | 14:45 | |
14:46
hartenfels left
|
|||
notviki | bg | 14:49 | |
14:55
pyrimidine left
14:56
pyrimidine joined
14:59
MasterDukeLaptop left
15:00
Actualeyes joined
|
|||
AlexDaniel | !hny UGT | 15:00 | |
HNYBot | AlexDaniel, Never heard of that place… | ||
AlexDaniel | !hny EST | 15:01 | |
HNYBot | AlexDaniel, New Year will happen in Eastern Time in 13 hours, 58 minutes, and 45 seconds | ||
AlexDaniel | notviki: why UGT not supported?? | ||
!hny | 15:02 | ||
HNYBot: hny | |||
notviki | AlexDaniel: 'cause google: www.google.ca/#q=time+in+ugt | ||
AlexDaniel | just slap it on top! | ||
notviki | Slap what on top? | 15:03 | |
The bot uses google to find the time | |||
AlexDaniel | I mean check for UGT before passing it to google | ||
notviki | meh | ||
New result from searching for tickets matching /\btest.*need|\bneed.*test\b/i 113: gist.github.com/zoffixznet/3232918...640a5adb0e | 15:05 | ||
better than 500+ for just "test" | 15:06 | ||
AlexDaniel | notviki: wait, why? | ||
if there's a tag for this | |||
buggable: tag testneeded | 15:07 | ||
buggable | AlexDaniel, There are 13 tickets tagged with TESTNEEDED; See perl6.fail/t/TESTNEEDED for details | ||
notviki | AlexDaniel: because not all of them are tagged | ||
AlexDaniel | :/ | ||
notviki | 2 out of 5 so far weren't tagged. | 15:08 | |
3 out of 6 | 15:09 | ||
Looks like this heuristic will do | |||
15:09
pyrimidine left
|
|||
moritz | m: "7\x[308]".NFD ~~ /^ \d+ $/ | 15:09 | |
camelia | ( no output ) | ||
moritz | m: say so "7\x[308]".NFD ~~ /^ \d+ $/ | ||
camelia | rakudo-moar 1dc0c0: OUTPUT«True» | ||
15:09
tojo left
|
|||
AlexDaniel | m: say "7\x[308]".NFD ~~ /^ \d+ $/ | 15:10 | |
camelia | rakudo-moar 1dc0c0: OUTPUT«「7̈」» | ||
AlexDaniel | m: say "7\x[308]".NFD ~~ m/^ \d+ $/ | ||
camelia | rakudo-moar 1dc0c0: OUTPUT«Cannot resolve caller match(NFD: Regex); none of these signatures match: (Any:U $: | is raw) in block <unit> at <tmp> line 1» | ||
AlexDaniel | :o | ||
notviki | god | ||
15:10
pyrimidine joined
|
|||
AlexDaniel | it's not the first time I see this | 15:10 | |
notviki wishes people would /msg with all these combiners | |||
AlexDaniel | notviki: fix… your… client! ;) | 15:11 | |
notviki | I couldn't even backlog this morning the terminal was so messed up | ||
AlexDaniel | does anybody know if this difference between m// and // should exist? | ||
moritz | AlexDaniel: sounds like a bug to me | ||
notviki: you can backlog using the public logs | |||
AlexDaniel | or using a better irc client that does not blow up on combiners… | 15:12 | |
notviki | moritz: but there I don't see highlights | ||
moritz | notviki: can't your browser hilight for you (ctrl+f, show all matches) | 15:13 | |
AlexDaniel | u: { (‘a’ ~ .char).NFC.elems == 0 } | 15:17 | |
unicodable6 | AlexDaniel, gist.github.com/3c4b480638ae17ebba...86f1cbede0 | ||
AlexDaniel | oops | ||
u: { (‘a’ ~ .chr).NFC.elems == 1 } | |||
unicodable6 | AlexDaniel, U+0300 COMBINING GRAVE ACCENT [Mn] (◌̀) | 15:18 | |
AlexDaniel, U+0301 COMBINING ACUTE ACCENT [Mn] (◌́) | |||
AlexDaniel, U+0302 COMBINING CIRCUMFLEX ACCENT [Mn] (◌̂) | |||
AlexDaniel, gist.github.com/dce8f95aa8a7d93abe...25fdc26727 | |||
AlexDaniel | u: { (‘"’ ~ .chr).NFC.elems == 1 } | 15:19 | |
unicodable6 | AlexDaniel, Found nothing! | ||
AlexDaniel | ok | ||
notviki | "<ilbelkyr> Zoffix, mniip: see, that's what i like about Perl 6 - when someone says "but that could be better", the reaction is actually "hmm, will consider it!" instead of immediately going "yeah but that wouldn't fit in ..."" | 15:20 | |
15:25
bwisti joined
|
|||
notviki | right. this got boring fast. Still 84 to review to see if they need the testneeded tag: gist.github.com/zoffixznet/6563435...e8d0453c10 | 15:26 | |
notviki goes for a Pod parsing bug | |||
AlexDaniel | notviki: 70-84 are ok | 15:32 | |
added two tags I think | |||
notviki | the bottom ones, right? | 15:33 | |
AlexDaniel | yes | ||
notviki | k | ||
AlexDaniel | m: say 3 !=3 | ||
camelia | rakudo-moar 1dc0c0: OUTPUT«Cannot modify an immutable Int in block <unit> at <tmp> line 1» | ||
AlexDaniel | :o | ||
bwahahahahaha | |||
moritz | four testneeded down | 15:34 | |
notviki | moritz++ | ||
AlexDaniel | m: my $x = 3; say $x !=3; say $x | ||
camelia | rakudo-moar 1dc0c0: OUTPUT«False3» | ||
notviki | it's $x += 3, except with ! metaop instead of + | 15:35 | |
.oO( I think... ) |
15:36 | ||
15:40
domidumont left,
small-wolf joined
15:41
small-wolf left
|
|||
arnsholt | notviki: No, != is special-cased to !==, isn't it? | 15:41 | |
AlexDaniel | notviki: 50 and down are ok I think | 15:42 | |
arnsholt | Still a metaop involved, but IIRC it's special to keep the expected not-equals operator | ||
notviki | arnsholt: I'm talking about the buggy version above | 15:43 | |
arnsholt | Yeah, it's a bit odd | ||
Moo, | |||
David Kalnischkies, Metatron of the Cow | |||
Bah, fat-finger | |||
Yeah, it's weird. My initial guess was something weird going on in the metaoping | |||
15:44
domidumont joined
|
|||
arnsholt | But your intuition of a parse-fail is perhaps a better guess, I agree | 15:44 | |
notviki | infix_prefix_meta_operator: != | ||
- sym: ! | |||
AlexDaniel | notviki: okay, I haven't touche 1-39, this is indeed boring | 15:46 | |
notviki | So... who's David? :) | ||
AlexDaniel: :) OK thanks | |||
arnsholt | notviki: Author of an email that was linked to on HN =) | ||
moritz | notviki: run aptitude moo | ||
arnsholt | apt moo, no | ||
moritz | notviki: and then add -v, -vv etc. | ||
arnsholt | (According to HN at least) | ||
? | 15:47 | ||
notviki | It says "There are no Easter Eggs in this program." | ||
moritz | arnsholt: aptitude moo is better :-) | ||
notviki | haha | ||
moritz++ | |||
moritz | apt moo just prints the cow, with no changes when you add -v | ||
notviki | perl -Moo is a similar egg | 15:48 | |
If you got Moo.pm installed | |||
And perl -Mew | |||
gist.github.com/zoffixznet/9110981...7e17cd32ff | |||
15:53
geekosaur left,
geekosaur joined
|
|||
rightfold | Is ack with Perl 6 regexes a thing? | 15:55 | |
m: subset ℕ of Int where * ≥ 0; | 15:56 | ||
camelia | rakudo-moar 1dc0c0: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Confusedat <tmp>:1------> 3subset ℕ of Int where *7⏏5 ≥ 0; expecting any of: infix infix stopper postfix statement end statement modifi…» | ||
moritz | not that I'm aware of | ||
rightfold | m: subset ℕ of Int where * >= 0; | 15:58 | |
camelia | ( no output ) | ||
rightfold | Aww | 15:59 | |
How does Perl 6 decide that $x >= $y shouldn't be $x = $x > $y? | 16:02 | ||
moritz | longest token matching | 16:04 | |
>= is the a longer native token than > | |||
and the = meta-op is parsed so that it doesn't contribute as much to the "longest token" check | 16:05 | ||
16:06
BenGoldberg joined
|
|||
rightfold | Ok | 16:07 | |
16:07
rburkholder left
|
|||
rightfold | m: sub infixl:<+=>($x, $y) { 42 }; my $x = 1; say($x += 5); say $x | 16:08 | |
camelia | rakudo-moar 1dc0c0: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Cannot add tokens of category 'infixl'at <tmp>:1------> 3sub infixl:<+=>7⏏5($x, $y) { 42 }; my $x = 1; say($x += 5)» | ||
rightfold | m: sub infix:<+=>($x, $y) { 42 }; my $x = 1; say($x += 5); say $x | ||
camelia | rakudo-moar 1dc0c0: OUTPUT«421» | ||
rightfold | Interesting | ||
16:11
pyrimidine left,
pyrimidine joined
|
|||
notviki | m: my \term:<ℕ> = UInt; say 42 ~~ ℕ | 16:11 | |
camelia | rakudo-moar 1dc0c0: OUTPUT«True» | ||
notviki | m: my \term:<ℕ> = UInt; say -42 ~~ ℕ | ||
camelia | rakudo-moar 1dc0c0: OUTPUT«False» | ||
moritz | m: constant ℕ = UInt; for 42, -42 -> $x { say $x ~~ ℕ } | 16:13 | |
camelia | rakudo-moar 1dc0c0: OUTPUT«TrueFalse» | ||
notviki | rofl inflood of new partiers in #freenode-newyears :D | ||
16:17
dugword joined
|
|||
rightfold | TIL UInt | 16:20 | |
m: say UInt | |||
camelia | rakudo-moar 1dc0c0: OUTPUT«(UInt)» | ||
notviki | rightfold: it's just a subset of Int | 16:22 | |
literally | |||
And we also have UInt64 | 16:23 | ||
my Int $UINT64_UPPER = nqp::pow_I(2, 64, Num, Int); | |||
subset UInt64 of Int where { 0 <= $_ < $UINT64_UPPER } | |||
rightfold | Top kek | 16:26 | |
16:39
ufobat joined
|
|||
ufobat | hey ho :) | 16:40 | |
m: say grammar {rule TOP {<A>}; rule A { "F"+ % ","} }.parse("F,F") | |||
camelia | rakudo-moar 1dc0c0: OUTPUT«「F,F」 A => 「F,F」» | ||
ufobat | m: say grammar {rule TOP {<A>}; rule A { "F"+ % ","} }.parse("F, F") | ||
camelia | rakudo-moar 1dc0c0: OUTPUT«Nil» | ||
ufobat | shoudn't that work? | 16:41 | |
notviki | ufobat: no, because you're not letting it have whitespace | ||
16:41
domidumont left
|
|||
notviki | m: say grammar {rule TOP {<A>}; rule A { ["F" ]+ % ","} }.parse("F, F") | 16:41 | |
camelia | rakudo-moar 1dc0c0: OUTPUT«Nil» | ||
notviki | hm | 16:42 | |
m: say grammar {rule TOP {<A>}; rule A { [ "F" ]+ % ","} }.parse("F, F") | |||
camelia | rakudo-moar 1dc0c0: OUTPUT«Nil» | ||
notviki | m: say grammar {rule TOP {<A>}; rule A { [ "F"]+ % ","} }.parse("F, F") | ||
camelia | rakudo-moar 1dc0c0: OUTPUT«Nil» | ||
ufobat | but isn't that whitespacey thing because of the rule (vs token) | ||
notviki cringes | |||
ufobat: rule doesn't ignore whitespace it inserts <ws> token into places where there's whitespace in the rule (except for ^\s+) | 16:43 | ||
ufobat | oh! | ||
thank you :) | 16:44 | ||
notviki | no idea why it's failing to match with ["F" ] | ||
16:44
ggoebel left
|
|||
ufobat | m: say grammar {rule TOP {<A>}; rule A { [ "F"]+ % ","} }.parse(" F, F") | 16:45 | |
camelia | rakudo-moar 1dc0c0: OUTPUT«Nil» | ||
16:45
domidumont joined
|
|||
notviki | m: say grammar {rule TOP {<A>}; rule A { "F"+ % [ "," ]} }.parse("F, F") | 16:45 | |
camelia | rakudo-moar 1dc0c0: OUTPUT«「F, F」 A => 「F, F」» | ||
notviki | m: say grammar {rule TOP {<A>}; rule A { "F"+ % [ "," ]} }.parse("F , F") | ||
camelia | rakudo-moar 1dc0c0: OUTPUT«Nil» | ||
notviki | weird that doesn't match now | 16:46 | |
m: say grammar {rule TOP {<A>}; rule A { "F"+ % [ \s* "," ]} }.parse("F , F") | |||
camelia | rakudo-moar 1dc0c0: OUTPUT«「F , F」 A => 「F , F」» | ||
notviki | :S | ||
16:47
domidumont left
|
|||
ufobat | is this say grammar {rule TOP {<A>}; rule A { "F"+ % [ "," ]} }.parse("F , F") a bug or not? | 16:49 | |
bisectable6, help |
< |