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