»ö« 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 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
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::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`
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«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
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 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
  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«False␤3␤»
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>␤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
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
bisectable6 ufobat, Like this: bisectable6: old=2015.12 new=HEAD exit 1 if (^∞).grep({ last })[5] // 0 == 4 # RT128181
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=128181
ufobat bisectable6: old=2015.10 new=HEAD say grammar {rule TOP {<A>}; rule A { "F"+ % [ "," ]} }.parse("F , F") 16:50
bisectable6 ufobat, Problem with 8ec578e commit: Commit exists, but a perl6 executable could not be built for it
ufobat bisectable6: old=2015.12 new=HEAD say grammar {rule TOP {<A>}; rule A { "F"+ % [ "," ]} }.parse("F , F")
bisectable6 ufobat, Problem with 8ec578e commit: Commit exists, but a perl6 executable could not be built for it
ufobat uhm ./ 16:51
16:54 HNYBot left, HNYBot joined 16:56 ggoebel joined 16:58 petrutrimbitas left 17:01 Lee_ joined, Lee_ is now known as leejo
AlexDaniel old=2015.12 new=HEAD~10 say grammar {rule TOP {<A>}; rule A { "F"+ % [ "," ]} }.parse("F , F") 17:02
bisect:old=2015.12 new=HEAD~10 say grammar {rule TOP {<A>}; rule A { "F"+ % [ "," ]} }.parse("F , F")
bisectable6 AlexDaniel, On both starting points (old=2015.12 new=HEAD~10) the exit code is 0 and the output is identical as well
AlexDaniel, Output on both points: Nil
AlexDaniel ufobat: ↑
leejo hihi, what's the perl6 equivalent to: use overload '""' => sub { shift->foo }
AlexDaniel I'm not sure why it's broken on HEAD
bisect:old=2015.12 new=HEAD say grammar {rule TOP {<A>}; rule A { "F"+ % [ "," ]} }.parse("F , F") 17:03
bisectable6 AlexDaniel, On both starting points (old=2015.12 new=d7cd5df) the exit code is 0 and the output is identical as well
AlexDaniel, Output on both points: Nil
AlexDaniel ufobat: ah, it's fine
17:05 HNYBot left 17:06 petrutrimbitas joined
notviki leejo: method Str { $.foo } 17:08
leejo notviki: ta! 17:11
17:12 grumble is now known as welder 17:16 welder is now known as grumble 17:24 lukaramu left 17:28 dugword left 17:34 shayan_ joined 17:35 Wanderer68 joined 17:38 pyrimidine left 17:39 pyrimidine joined, shayan_ left 17:40 cibs left, petrutrimbitas left 17:41 cibs joined 17:43 petrutrimbitas joined 17:50 dugword joined 17:51 cibs left 17:52 itcharlie_linux joined, cibs joined 17:54 mr_ron joined 17:56 small-wolf joined 17:57 small-wolf left 17:59 cdg left 18:01 bjz joined
mr_ron Just to warn about using ℕ symbol for Int >= 0 ... the inclusion (or exclusion) of 0 from Natural Numbers seems disputed mathworld.wolfram.com/NaturalNumber.html. Maybe ℕ0 for UInt and ℕ1 for positive? Can try to explain more if anyone is interested. 18:09
18:10 dugword left 18:12 wamba joined 18:13 Ven left 18:18 Ven joined
mst huh. when I did my degree I don't recall encountering anything using the term that didn't start them at 1 18:22
18:24 itcharlie_linux left 18:25 bwisti left, pierre_ joined 18:27 tojo joined
notviki Heh... 18:30
# and this is the worst hack of them all.
# Hide your kids, hide your wife!
18:30 bjz left
notviki Rakudo's Pod parser :P 18:30
18:31 labster joined, Vynce joined 18:42 Vynce left 18:45 kyan joined
TimToady m: say grammar {rule TOP {<A>}; rule A { "F" +% "," } }.parse("F , F") 18:48
camelia rakudo-moar d7cd5d: OUTPUT«「F , F」␤ A => 「F , F」␤»
TimToady you guys are making it too hard
just pretend that +% is the combinator 18:49
that is, + does not require an absence of whitespace before it 18:50
(in P6 regex)
notviki m: say grammar {rule TOP {<A>}; rule A { "F" % [ "," ] } }.parse("F , F") 18:51
camelia rakudo-moar d7cd5d: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Missing quantifier on the left argument of %␤at <tmp>:1␤------> 3 grammar {rule TOP {<A>}; rule A { "F" %7⏏5 [ "," ] } }.parse("F , F")␤»
notviki m: say grammar {rule TOP {<A>}; rule A { "F"+ % [ "," ] } }.parse("F , F")
camelia rakudo-moar d7cd5d: OUTPUT«Nil␤»
notviki TimToady: ^ how come that doesn't work?
AlexDaniel why would it? 18:52
notviki AlexDaniel: that's not helpful
AlexDaniel ok let me put it this way 18:53
m: say grammar {rule TOP { <A> }; rule A { ‘abc’ } }.parse("abc")
camelia rakudo-moar d7cd5d: OUTPUT«「abc」␤ A => 「abc」␤»
AlexDaniel m: say grammar {rule TOP { <A> }; rule A { ‘abc’ } }.parse(" abc")
camelia rakudo-moar d7cd5d: OUTPUT«Nil␤»
AlexDaniel m: say grammar {rule TOP { <A> }; rule A { ‘abc’ } }.parse("abc ")
camelia rakudo-moar d7cd5d: OUTPUT«「abc 」␤ A => 「abc 」␤»
TimToady okay, the other thing you're missing is the the fact that <ws> is only inserted *after* matchers 18:54
[ is not a matcher
notviki TimToady: thanks.
TimToady this is force by the fact that we don't want to do transitive LTM with optional whitespacey stuff on the front 18:55
we need to sync all the alternatives up on the actual token boundaries
*forced
this is why, in a TOP rule, if you want to match leading whitespace, you need a ^ 18:56
m: say grammar {rule TOP {<A>}; rule A { "F" +% "," } }.parse(" F , F")
camelia rakudo-moar d7cd5d: OUTPUT«Nil␤»
TimToady m: say grammar {rule TOP {^ <A>}; rule A { "F" +% "," } }.parse(" F , F")
camelia rakudo-moar d7cd5d: OUTPUT«「 F , F」␤ A => 「F , F」␤»
TimToady like that
m: say grammar {rule TOP { <A>}; rule A { "F" +% "," } }.parse(" F , F") 18:57
camelia rakudo-moar d7cd5d: OUTPUT«Nil␤»
samcv o/ morning
notviki \o
TimToady samcv++ # just on general speculation :)
masak things like "we don't want to do transitive LTM with optional whitespacey stuff on the front" -- I really hope we get to codify all these little parser pro tips at some point in a book or something :) 18:58
samcv what it being morning?
18:58 cdg joined
samcv LTM? 18:58
notviki Longest Token Match
samcv oh yeah that 18:59
TimToady, in sigspace regex, the synopsis states that leading whitespace is ignored to allow for adverbs, but none of the examples or the tests say what happens with trailing space 19:00
all the examples have no trailing space though
what _should_ it actually do? ignore leading AND trailing space both? or just the trailing?
19:01 stallix joined
samcv m: say 'a b c ' ~~ m:s/b c /; 19:01
camelia rakudo-moar d7cd5d: OUTPUT«「b c 」␤»
19:02 Rogbro joined
samcv m: say "a " ~~ m:s/a / 19:02
camelia rakudo-moar d7cd5d: OUTPUT«「a 」␤»
samcv huh.
bisectable6, say "a " ~~ m:s/a /
bisectable6 samcv, On both starting points (old=2015.12 new=d7cd5df) the exit code is 0 and the output is identical as well
samcv, Output on both points: 「a 」
TimToady that's how it's supposed to work 19:03
samcv oh yeah, duh. not awake enough. the thing is trailing white space is not defined, i forgot what currently happens, currently it does match. but i wanted to know if that is intended, and if it is to codify
ok TimToady i will add spectests and update spec
since we don't test any examples of it
for whatever reason no tests have trailing space
TimToady the entire Perl 6 grammar would come crashing down if sigspace didn't work that way, which is a test of sorts :) 19:04
samcv would it?
could you not just quote it? 19:05
19:06 Rogbro left, pierre_ left 19:07 pierre_ joined, tojo left 19:10 stallix left, dugword joined 19:11 Tonik joined, pierre_ left
tadzik hehe, today on reddit is brian d foy with "indir" 19:14
which is available as part of rakudo since 2014.11 19:15
and is something I wrote for panda in feb 2011 saying "there should be a better place for this" in the commit message :P
19:17 khw joined
notviki ugh 19:18
Jesus
AlexDaniel: totally called that one: www.learningperl6.com/2016/12/30/i...its-block/
AlexDaniel well, it's not one of the quick tips! 19:19
19:20 ufobat left, tojo joined, petrutrimbitas left
AlexDaniel and it does say that it is not tested, so… okay… 19:20
19:21 Ven left
TimToady maybe we should put it a warning for "deceptively divergent closing brace style" or so, and make people who want to allow that brace style declare it :) 19:21
*put in 19:22
notviki AlexDaniel: no, it invites someone to document and test it.
AlexDaniel: and I bet someone will go ahead and do it. 19:23
AlexDaniel no
it won't get documented unless there are tests, and nobody is going to write tests, so… 19:24
dalek c: 8cb91e8 | samcv++ | util/trigger-rebuild.txt:
Add dedicated file to alter to trigger rebuilds

This will make it easier to tell the change that was made by keeping it all in one file.
samcv added assignment operator to perl 6 highlighter notviki 19:25
19:25 tojo left 19:27 Ben_Goldberg joined, BenGoldberg left, Ben_Goldberg is now known as BenGoldberg 19:33 Ven joined
notviki AlexDaniel: but it's evidently making it into LP6 19:34
As I bet many other routines.
19:35 small-wolf joined
AlexDaniel notviki: It is planned for sure, but I hope that he will get rid of stuff like this in the end 19:35
a good idea of what's going to go into the book is this ticket: rt.perl.org/Public/Bug/Display.html?id=129926 19:36
19:44 petrutrimbitas joined
notviki start { indir '/tmp', { dir».unlink } }; chdir '/' 19:44
19:44 darutoko left
pmurias m: sub foo(Str:D $arg) { say(VAR($arg).^name) }; foo('str'); sub bar($arg) {say(VAR($arg).^name)}; bar('str') 19:45
camelia rakudo-moar d7cd5d: OUTPUT«Str␤Scalar␤»
pmurias ^^ is the Str:D deconting correct?
RabidGravy what's the matter with indir such that it shouldn't be tested and documented? 19:47
mst "not officially part of 6.c" ? 19:48
RabidGravy I don't think I've felt the need to use it myself
notviki RabidGravy: well, the above race condition is one. It taking tests as predefined strings like 'r w'. Which ultimatelly is an issue with chdir and our IO in general, which needs an improvement, so it doesn't make any sense to lock into the current, unwanted API, just because some author decided to include it in his book. 19:51
19:51 Ven left
AlexDaniel I did use something like this in whateverables: github.com/perl6/whateverable/blob...#L163-L164 19:51
notviki RabidGravy: giving test as 'r w x' will work, but if you give it as 'w r x', or any other combination, it'll silently fail. 19:52
AlexDaniel which is probably a bad idea but git does not always allow you to do stuff from another directory… I guess I'll have to review this code one day 19:53
notviki (and yes, I know we can add an `else` clause that will throw, but that doesn't fix the original poor API0
19:53 Ven joined
notviki Time to make a map of all our routines.... 19:56
to have a picture of what calling form we use and how we fail. 19:58
19:58 dugword left 20:04 petrutrimbitas left 20:07 Ven left
samcv can somebody respond to what i said in #perl6-dev? really need your guys input 20:08
pmurias is not qualified to have an opinion on unicody stuff 20:11
20:12 Tonik left 20:13 Ven joined
jonadab I have an opinion on unicody stuff. My opinion is, unicody stuff can be unnervingly complicated. 20:15
tailgate Does anyone find unicode simple? 20:17
geekosaur nope 20:18
but then, it's trying to solve a Really Hard Problem
there *aren't* any simple solutions 20:19
tailgate An effort I admire, sure. An important technology, sure. But human language isn't simple either
unless we want to be a finite state automata or turing machines
20:20 zakharyas joined, Ven left
RabidGravy notviki, fair enough, I guess that those things are probably fixable, might it not be slap an 'experimental' on it for the timebeing? 20:20
notviki RabidGravy: just as a solution to brian lauding features that don't exist in Perl 6 language? I don't get the point 20:22
RabidGravy: actually, that's a good idea. Since the function exists in Rakudo and now many people will likely use it. 20:23
20:23 cdg left
RabidGravy well my point was more that someone presumably put it in there for a reason, so it is being used somewhere 20:25
the only place I've seen it is in panda however 20:26
notviki RabidGravy: it's part of the speculations.
that "somewhere" is nowhere in Rakudo or Roast
And if someone is using it, they're using an undocumented feature that's literally nor part of Perl 6 language. 20:28
pmurias tailgate: I would be surprised if we as humans weren't turing equivalent ;)
tailgate Sometimes, I wonder if I'm turing equivlent after I spend 10 minutes looking for my phone when I'm holding it 20:30
samcv i kind of like the korean Hangul characters the script they use. seems really neat 20:32
neat as in tidy not as in like neat, but that too i guess
each character is a syllable and depending on the marks in it, basically determines which consonents and vowels 20:33
and you just put them together, and visually vowels and other things are easily distinguishable from consonants and shapes depending on the type of sound
20:34 Ven joined
samcv or something like that. some emporor or king or whatever ordered it to be designed and had a bunch of scholars design a new written text and then had them continue to study it afterward becuase he wanted to improve literacy 20:34
since before that there only existed korean written in chinese characters 20:35
i think that's super awesome
20:49 shayan_ joined 20:51 Ven left 20:53 Ven joined, petrutrimbitas joined 20:57 zakharyas left, petrutrimbitas left
rindolf Happy new year all! 20:59
21:00 pyrimidine left 21:01 pyrimidine joined, shayan_ left 21:02 shayan_ joined 21:04 petrutrimbitas joined 21:07 Ven left 21:10 azertus left 21:12 azertus joined 21:13 Ven joined
pmurias any opinions if adding a Str:D on an argument should decontainerize? 21:14
tbrowder ref docs: i dont see operator ~= in search or scanning docs...i will create issue unless someone points me to it in docs 21:15
pmurias m: sub foo(Str $arg) { say(VAR($arg).^name) }; foo('str'); sub bar($arg) {say(VAR($arg).^name)}; bar('str')
camelia rakudo-moar d7cd5d: OUTPUT«Str␤Scalar␤»
pmurias tbrowder: do we document autogenerated operators? 21:16
21:18 bjz joined 21:22 Ven left 21:24 pyrimidine left
kalkin-_ How does perl6 or zef plan to encode the information mapping a version and to it's corresponding source code. like 0.3 → github/foo.0.3.tar.gz, 0.4 → git:023241 21:25
21:25 pyrimidine joined
kalkin-_ Currently zef can only parse the latest version from git:HEAD:./META6.json 21:26
21:27 kalkin-_ is now known as kalkin- 21:30 dduncan joined
masak happy new year, people 21:31
dduncan Question, is there going to be a Rakudo Star distribution for December, or are we skipping from November to January?
Or in other words, when is the next Rakudo Star?
pmurias the new years eve doesn't seem like a good day for doing a release 21:33
dduncan A Dec 17 post on rakudo.org says the next compiler release is in January. Personally what I’m looking forward to most is the release with the Lexical Module Loading Bug Fix. Might this be released early January since December was skipped, or would it wait until late January? 21:35
21:39 pyrimidi_ joined, pyrimidine left 21:40 TEttinger joined 21:41 tojo joined
tbrowder pmurias: i dont't understand the question, because i use the operator for strings in p6 code and thus expect it to be documented. 21:45
21:48 petrutrimbitas left 21:53 Ven joined
AlexDaniel tbrowder: ok, it's not a bad idea to create a section about autogenerated ops and make most common ones point to it 21:54
tbrowder: oh, here it is: docs.perl6.org/language/operators#..._Operators
tbrowder: so just add a couple of search items that would point to that link, that's it 21:56
!hny Tallinn
no bot!
masak what does `!hny` do, anyway? 21:57
AlexDaniel masak: tells how much time is left for the new year in the specified timezone 21:58
city/country whatever
but the bot is dead so… :P 21:59
55 seconds here anyway
masak exciting!
AlexDaniel: you in Tallinn?
AlexDaniel yup
masak I've been there once. nice capital.
AlexDaniel I guess so. Personally I don't like the idea of keeping the Old Town :PP let's build skyscrapers instead! 22:01
masak you monster :P 22:02
tbrowder AlexDaniel: so '~=' is a method that looks like an operator? I can add it as an example there, but how many other such items are there undocumented?
masak .oO( such talks merits a Kiek in de Kök ) 22:03
AlexDaniel tbrowder: uh? No
masak tbrowder: "method that looks like an operator" sounds wrong to me
tbrowder: operators are subs, not methods
tbrowder: maybe you mean that the sub delegates to a method?
AlexDaniel tbrowder: “Infix operators can be combined with the assignment operator to modify a value and apply the result to a container in one go” 22:04
tbrowder: meaning that any infix operator can be used like this
tbrowder: it's not like we have to document every single case
m: my $x = 15; $x gcd= 9; say $x 22:05
camelia rakudo-moar d7cd5d: OUTPUT«3␤»
tbrowder i'm just a user trying to find where ~= is, or should be, documented.
AlexDaniel tbrowder: it should be searchable, and the search item should point to docs.perl6.org/language/operators#..._Operators 22:06
22:07 Ven left
geekosaur I think I am understanding tbrowder saying that yes, every single autogenerated operator must be documented so a user can find it 22:08
masak the search should in some sense strip away the `=` and redirect to the `~`, yes
22:09 tojo left
geekosaur tbrowder, does this also include Rop? other meta-operators? 22:09
masak maybe with some comment or link to the `=` metaoperator bit
I think it's a neat idea. there aren't that many metaoperators
and they're not all that hard to parse
masak .oO( retweet this is you've ever had to use the `[]` disambiguation syntax on complex enough operators ) 22:11
22:13 Ven joined
tbrowder AlexDaniel: i'm not sure thats a complete fix. try searching for others like += and you wind up with !=. 22:13
this is all probably just part of the task of having a list of all operators (may be too hard to do for my skills and knowledge) 22:14
BenGoldberg m: my $x = True; $x .= not; dd $x 22:15
camelia rakudo-moar d7cd5d: OUTPUT«Bool $x = Bool::False␤»
AlexDaniel we don't want to list autogenerated ops
BenGoldberg m: my $x = True; [!=] $x; dd $x
camelia rakudo-moar d7cd5d: OUTPUT«Bool $x = Bool::True␤»
masak even "autogenerated" is slightly the wrong way to view them, IMHO
given that there's literally infinitely many of them
BenGoldberg wonders how he would deliberatly force != to be negation+assignment.
22:16 petrutrimbitas joined
masak BenGoldberg: it's not negation+assignment. it's the opposite of `==` 22:16
BenGoldberg: `!` would have to be an infix operator for `!=` to mean that.
BenGoldberg I know that, and you know that, but ...
Aren't many of the mutating assignment operators auto generated? 22:17
masak I maintain that "autogenerated" is not the way to think about it... :)
"inferred" is perhaps a more appropriate term
22:18 shayan_ left 22:21 Ven left 22:24 shayan_ joined
pmurias j: sub foo(Str $arg) { say(VAR($arg).^name) }; foo('str'); sub bar($arg) {say(VAR($arg).^name)}; bar('str') 22:25
camelia rakudo-jvm 8ca367: OUTPUT«Str␤Scalar␤»
pmurias really dislikes the giantic Perl 6 op periodic tables with all the "autogenerated" metaops 22:28
22:29 kalkin- left, kalkin- joined 22:30 dduncan left 22:33 Ven joined
dalek c: 76d9da6 | (Tom Browder)++ | doc/Language/operators.pod6:
add examples
22:34
synopsebot6 Link: doc.perl6.org/language/operators
22:34 Ven left 22:47 bjz left 22:48 lichtkind joined 22:49 bjz joined 22:53 Ven joined 22:55 itcharlie_linux joined
lichtkind ahhh 22:59
is ther eplanned a perl 6 d?
23:01 lichtkind_ left
moritz happy new year to everyone in UTC+1 or earlier! 23:03
23:04 Vynce joined
lichtkind cheers 23:04
23:07 Ven left
AlexDaniel lichtkind: not really, but we are writing down the proposals 23:09
lichtkind any repo for that? 23:11
AlexDaniel huggable: 6d
huggable AlexDaniel, nothing found
AlexDaniel huggable: 6.d
huggable AlexDaniel, Proposals for 6.d language: github.com/perl6/specs/blob/master/v6d.pod
lichtkind thanks didnt know huggable
23:13 Ven joined 23:14 newbie1 joined, Vynce left
BenGoldberg lichtkind, huggable is the perl6 factoid bot. 23:20
lichtkind with added niceness? :) 23:21
23:21 Ven left
BenGoldberg hugs huggable 23:21
:)
japhb huggable: hug me
huggable hugs japhb
japhb Yay! It still works. :-)
moritz huggable: hug lichtkind, twice
huggable hugs lichtkind, twice
BenGoldberg Some. Actually, he's a bit dumber than perlbot, since he doesn't have code evaluation built into him. 23:22
lichtkind q: say 5
BenGoldberg q?
camelia, help 23:23
camelia BenGoldberg: Usage: <(prof-m|nqp-jvm|nqp-js|star-m|rakudo-moar|debug-cat|p5-to-p6|rakudo-jvm|nqp-moarvm|nqp-m|m|j|r-jvm|nqp|r-j|r|rakudo|star|nqp-mvm|sm|r-m|p56|nom|rm|p6|nqp-q|rj|perl6)(?^::\s(?!OUTPUT)) $perl6_program>
moritz quantum Perl 6!
lichtkind it was once eval command in chat
BenGoldberg In which chat? #perl6?
moritz my #perl6 memories only go back to 2007 or so, but during that time, I'm pretty sure there was no q
23:24 bjz left
AlexDaniel well, we can add q, but what does it mean? 23:24
23:24 bjz joined
moritz rakudo-js 23:25
japhb John de Lancie quotes?
lichtkind i trust you moritz but it was at least in the response of the evalbot 23:26
AlexDaniel don't worry, we have a lot more commands now! 23:29
6c: say 42 23:30
committable6 AlexDaniel, ¦«2015.12,2016.02,2016.03,2016.04,2016.05,2016.06,2016.07.1,2016.08.1,2016.09,2016.10,2016.11,2016.12,HEAD»: 42
23:32 Ven joined
BenGoldberg m: my $sub = do { my proto fac(Int) { * }; my multi fac(0) { 1 }; my multi fac(\n) { n * fac(n-1) }; &fac }; $sub(20).say; 23:33
camelia rakudo-moar d7cd5d: OUTPUT«2432902008176640000␤»
BenGoldberg If I wanted to do that without the do {...}, how would I do it? 23:34
23:34 Ven left
geekosaur just dug out ancient logs and see no usage message with a bare q 23:34
23:34 rindolf left
moritz BenGoldberg: you want an anonymous multi? 23:35
BenGoldberg Basicaly, yes.
webstrand I'm getting segfaults when entering a literal tab in perl6 only when linenoise is installed. What kind of stuff should I include in the bug report? 23:47
dalek c: b93aca3 | (Tom Browder)++ | doc/Language/operators.pod6:
make searchable
23:48
synopsebot6 Link: doc.perl6.org/language/operators
moritz webstrand: ideally you start perl6-gdb-m and try to get a gdb-level backtrace 23:50
webstrand: apart from that: OS, rakudo version, platform, compiler version 23:51
webstrand Would I submit the bug to the package maintainer or rakudo?
moritz to rakudo, via email to [email@hidden.address] 23:52
kalkin- webstrand: if this error doesn't happen when you use Readline then it's probably linenoise issue
23:52 Ven joined
webstrand No issue with Readline 23:52
kalkin- try to do zef install Readline; zef uninstall Linenoise and then do what ever crashes the repl(?)
ok then I think opening an issue @github for Linenoise would be the better way 23:53
This reminds me I wanted to patch completion for the repl when using Readline 23:54
23:55 shayan_ left