»ö« 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
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
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 BEGIN␤at <tmp>:1␤Exception 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 BEGIN␤at <tmp>:1␤Exception 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
.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
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
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::Bar␤at <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`
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«hi␤False␤»
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«hi␤True␤»
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
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 method␤at <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 method␤at <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
Tests in github.com/perl6/roast/commit/fea29a3902
synopsebot6 Link: doc.perl6.org/type/Rational
c: f4aa4a2 | kalkin++ | bin/p6doc:
p6doc -h|--help shows a useful USAGE message
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.
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.
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, 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
moritz four testneeded down 15:34
notviki moritz++
AlexDaniel m: my $x = 3; say $x !=3; say $x
camelia rakudo-moar 1dc0c0: OUTPUT«False␤3␤»
notviki it's $x += 3, except with ! metaop instead of + 15:35
.oO( I think... )
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
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 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
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>␤Confused␤at <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«42␤1␤»
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«True␤False␤»
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
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