»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend! Set by moritz on 22 December 2015. |
|||
00:00
BenGoldberg joined
|
|||
bazzaar | well simplistically I could eliminate case, and filter away 'prefixed-by-sigil' occurrences, it might be gnarly, but it could be useful, and perhaps be less of a source of frustration than the poorly populated utility tags collection is | 00:00 | |
ugexe | right, but the simplistic case is already served better by the simple regex it would require | 00:02 | |
your idea is indefinitely better, but to achieve it is much more difficult (regex idea breaks down when its not so simple to come up with and type as a query) | 00:03 | ||
00:04
kyan left
00:05
Kyo91_ left
|
|||
bazzaar | agree that it might be a poor man's egrep, but it would be a first pass summary index of coding 'examples' embedded within the modules code, where the user only need to click to get some results | 00:08 | |
00:13
Kyo91_ joined
|
|||
ugexe | you could always write a microservice (with Cro or Bailador) to proof of concept, and then simply provide the module website API access to it should you decide it is polished enough | 00:14 | |
bazzaar | was just an idea that has sprung to my mind a few times, wanted to post it, appreciated folks taking the time to consider | ||
ugexe | come up with a list of keywords, and `git grep $_` your way to a database | ||
probably less than 100 lines of code, assuming you have something to clone the repos | 00:15 | ||
00:16
wamba left
|
|||
ugexe | or write a bot to come in here and send `greppable6: $_` for all your keywords and build your database from that hehe | 00:17 | |
bazzaar | ugexe: thanks for the insight, I will pursue that line of approach :-) | ||
00:19
ryn1x joined
00:20
kyan joined
00:23
mempko left
00:24
ryn1x left,
Herby__ left
00:27
nadim left
00:40
bazzaar left
00:42
Kyo91_ left
00:44
Kyo91_ joined
00:49
Kyo91_ left
00:56
Herby__ joined
|
|||
Herby__ | Also: how can I use a variable as a regex pattern? my @list-of-patterns[0;1] = '(\w+)'; say $/ if "some string" ~~ / @list-of-patterns[0;1] /; | 01:00 | |
rather, how do i interpolate a variable in a regex pattern | 01:01 | ||
MasterDuke | Herby__: just the variable if you want it interpreted as a string, <$var> if you want it interpreted as a regex, <{ code }> to execute the code and interpolate the results into the regex | 01:03 | |
01:03
bitrauser_ joined
|
|||
MasterDuke | m: my $r = "b"; say "abc" ~~ / $r / | 01:05 | |
camelia | 「b」 | ||
MasterDuke | m: my $r = "a.c"; say "abc" ~~ / <$r> / | ||
camelia | 「abc」 | ||
Herby__ | what if you have capture groups in the variable? | ||
m: my $r = "a(.)c"; say "azc" ~~ / $r /; | 01:06 | ||
camelia | Nil | ||
Herby__ | m: my $r = "a(.)c"; say "azc" ~~ / <$r> /; | ||
01:06
bitrauser left
|
|||
camelia | 「azc」 | 01:06 | |
Herby__ | m: my $r = "a(.)c"; say $/ "azc" ~~ / <$r> /; | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Two terms in a row at <tmp>:1 ------> 3my $r = "a(.)c"; say $/7⏏5 "azc" ~~ / <$r> /; expecting any of: infix infix stopper postfix statement end… |
||
Herby__ | m: my $r = "a(.)c"; say ~$/0 if "azc" ~~ / <$r> /; | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Two terms in a row at <tmp>:1 ------> 3my $r = "a(.)c"; say ~$/7⏏050 if "azc" ~~ / <$r> /; expecting any of: infix infix stopper postfix statement… |
||
Herby__ | m: my $r = "a(.)c"; say ~$/[0] if "azc" ~~ / <$r> /; | ||
camelia | Use of Nil in string context in block <unit> at <tmp> line 1 |
||
Herby__ | sorry | 01:07 | |
MasterDuke | Herby__: you might need to use EVAL, not 100% sure | ||
Herby__ | hmmm | ||
MasterDuke | i.e., create the "regex" as a string and then EVAL that | ||
geekosaur | it is known that subcaptures are lost in that case, I don't think anyone has sorted out why yet | 01:08 | |
MasterDuke | m: my $r = "/a(.)c/".EVAL; say "abc" ~~ $r | ||
camelia | 「abc」 0 => 「b」 |
||
Herby__ | maybe there is a better way to accomplish my goal. I have a list of regex patterns (that have capture groups) and I want to apply each pattern to a string | 01:09 | |
MasterDuke: thanks | 01:12 | ||
MasterDuke | np | ||
01:15
Cabanossi left
01:28
ryn1x joined
01:30
Herby__ left
01:46
ilbot3 left
01:53
ch3ck3r joined
01:55
ilbot3 joined,
ChanServ sets mode: +v ilbot3
01:57
napo1eon left
02:02
ryn1x left
02:18
raschipi left
02:21
noganex_ joined
02:24
noganex left
02:28
Herby__ joined,
Cabanossi joined
02:30
BenGoldberg left
02:46
ryn1x joined
02:50
ryn1x left
03:10
evalable6 left
03:11
evalable6 joined
03:17
ryn1x joined
03:29
llfourn left
03:33
llfourn joined
03:39
troys_ is now known as troys,
troys is now known as troys_,
troys_ is now known as troys
03:40
troys is now known as troys_,
troys_ is now known as troys
03:41
Cabanoss- joined
03:44
Cabanossi left,
Cabanoss- is now known as Cabanossi
03:55
ryn1x left
03:56
Herby__ left
04:00
sena_kun joined
04:14
R0b0t1_ left
04:17
R0b0t1_ joined
04:22
ryn1x joined
04:23
MasterDuke left
04:26
ryn1x left
04:34
sena_kun left
04:36
Herby_ left
04:39
khw left
|
|||
Geth | doc: lefth++ created pull request #1618: Small changes: wrong link, missing :kv, grammar error |
04:39 | |
04:43
Aaronepower left
04:45
mempko joined
04:55
wamba joined,
jeek left
04:59
ryn1x joined
|
|||
zostay | m: dd \(a => 1, b => <a b c>); dd Capture.new(:hash(%(a => 1, b => <a b c>))); | 05:00 | |
camelia | \(:a(1), :b(("a", "b", "c"))) \(:a(1), :b($("a", "b", "c"))) |
||
05:00
troys left
|
|||
zostay | m: dd \(a => 1, b => <a b c>); dd Capture.new(:hash(%(a => 1, b => <a b c>.list))); | 05:00 | |
camelia | \(:a(1), :b(("a", "b", "c"))) \(:a(1), :b($("a", "b", "c"))) |
05:01 | |
zostay | I keep banging my head on this and can't figure out a way to make a Capture programmatically that behaves the same as the syntactic one. | ||
05:03
xtreak joined
05:11
ch3ck3r left
05:25
pilne left
05:33
ryn1x left
05:44
nhywyll joined
|
|||
Geth | doc: jstuder-gh++ created pull request #1619: Document List cmp infix and sorting by multiple values (via List) |
05:52 | |
06:04
evalable6 left,
evalable6 joined,
ChanServ sets mode: +v evalable6
06:16
mempko left
06:19
rba joined
06:20
konsolebox joined
06:22
rba left
06:23
rba joined
06:26
virtualsue left
06:27
virtualsue joined,
wamba left,
lowbro joined,
lowbro left,
lowbro joined
06:35
darutoko joined
06:38
ryn1x joined
06:41
cdg joined
06:44
domidumont joined
06:46
cdg left
06:47
xtreak left,
nhywyll left
06:49
xtreak joined
06:59
abraxxa joined
07:02
rba_ joined
07:05
jonas1 joined,
rba left
07:08
domidumont left
07:09
domidumont joined
07:12
ryn1x left
|
|||
lizmat clickbaits p6weekly.wordpress.com/2017/10/23/...ds-racing/ | 07:17 | ||
07:18
cdg joined
07:23
cdg left,
rindolf joined
|
|||
AlexDaniel` | that's a very nice weekly. lizmat++ | 07:26 | |
07:30
xtreak left,
xtreak joined
07:35
xtreak left,
xtreak joined
|
|||
moritz | indeed, lizmat++ | 07:43 | |
07:43
dakkar joined
07:50
ryn1x joined
07:59
xtreak left
08:19
evalable6 left,
evalable6 joined,
jc_ joined
08:20
jc_ left,
jc_atikon joined
08:21
jc_atikon left,
jc_atikon joined
08:22
jc_atikon left
08:24
jcarty joined
08:26
ryn1x left
08:35
rba_ left
08:38
rba joined
08:40
ChoHag left
08:44
bartolin left,
bartolin joined
08:46
wamba joined
08:50
sproctor joined
08:52
rba left,
nadim joined
08:54
rba joined
08:55
cpage_ left
|
|||
AlexDaniel` | oh gosh, pascal's triangle in 26 characters… I'm out :) | 08:55 | |
( code-golf.io/ ) | |||
moritz happy to see so many camels and butterflies on that site | 08:57 | ||
09:02
itaipu left,
parv joined
09:06
rba left
09:09
rba joined
09:20
zakharyas joined
09:22
rba_ joined
09:24
rba left
09:26
xtreak joined
09:28
ryn1x joined
09:34
cdg joined
09:38
rba joined
09:39
cdg left
09:41
rba_ left
09:45
cpage_ joined
09:52
Grimy joined
10:02
ryn1x left
10:03
rba left
10:10
wander joined
|
|||
wander | m: grammar G { rule TOP { <number>+ { dd $<number>; die "wrong" if $<number>[0].made !~~ /\w+/; dd $<number>; } }; rule number { \d+ { make ~$/; }} }; G.parse("1 2 3 4"); | 10:12 | |
camelia | [Match.new(list => (), made => "1 ", pos => 2, hash => Map.new(()), orig => "1 2 3 4", from => 0), Match.new(list => (), made => "2 ", pos => 4, hash => Map.new(()), orig => "1 2 3 4", from => 2), Match.new(list => (), made => "3 ", pos => 6, hash => … | ||
wander | grammar G { rule TOP { <number>+ { dd $<number>; die "wrong" if $<number>[0].made !~~ /\w+/; dd $<number>; } }; rule number { \d+ { make ~$/; }} }; G.parse("1"); | ||
m: grammar G { rule TOP { <number>+ { dd $<number>; die "wrong" if $<number>[0].made !~~ /\w+/; dd $<number>; } }; rule number { \d+ { make ~$/; }} }; G.parse("1"); | |||
camelia | [Match.new(list => (), made => "1", pos => 1, hash => Map.new(()), orig => "1", from => 0)] Nil |
||
wander | interesting | ||
mienaikage | I'm lost on this one, anyone know why every 4th test fails here? I was up until 2am scratching my head over it 😕 glot.io/snippets/euu75yqs7d | ||
wander | after a smart-match, I lose $<numver> | ||
AlexDaniel` | wander: well, matching a regex will reset $/ | 10:15 | |
wander: or set it to whatever you get from matching | 10:16 | ||
wander | aha | ||
right, I forget what $/ is | |||
AlexDaniel` | $<number> is same as $/<number> :) | 10:17 | |
docs.perl6.org/syntax/$$SOLIDUS | |||
Grimy | p6: sub infix:<!~>($a, $b) { say "$a, $b" }; 3 !~ 4 | 10:18 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Unsupported use of !~ to do negated pattern matching; in Perl 6 please use !~~ at <tmp>:1 ------> 3fix:<!~>($a, $b) { say "$a, $b" }; 3 !~ 7⏏054 |
10:19 | |
Grimy | Shouldn’t it be possible to override infix:<!~> ? After all, you can override infix:<+>. | ||
DrForr | infix:<<!~>> maybe? | 10:20 | |
Grimy | Nnope, same result. | ||
Looks like infix:<!~> is special-cased to always give this error message. | |||
DrForr | Huh. | 10:21 | |
10:28
ChoHag joined
10:31
wander left
|
|||
AlexDaniel` | Grimy: I think you should submit a bug report for that. We can definitely do better. | 10:31 | |
10:32
astj left
10:33
astj joined
|
|||
Grimy | Thanks for the suggestion AlexDaniel, I will | 10:34 | |
Just noticed that infix << and >> have the same behavior, too | |||
AlexDaniel` | and =~ also, and possibly many other things | 10:35 | |
DrForr | «..» might work around those. | ||
Though it arguably shouldn't need characters outside ASCII. | 10:36 | ||
Grimy | Don’t see how. | ||
10:36
mr-foobar left
|
|||
Grimy | p6: sub infix:«<<»($a, $b) { say "$a, $b" }; 3 << 4 | 10:36 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Unsupported use of << to do left shift; in Perl 6 please use +< or ~< at <tmp>:1 ------> 3nfix:«<<»($a, $b) { say "$a, $b" }; 3 <<7⏏5 4 |
||
10:37
mr-foobar joined
|
|||
mienaikage | re: The above snippet, even more confusingly, it works if I change Int:D, Str:D to Int, Str | 10:41 | |
10:47
ryn1x joined
10:52
ryn1x left
|
|||
timotimo | mienaikage: looks like the two Hash[Int:D,Str:D] types end up not being the same object | 10:53 | |
oh, no, that's not true | 10:54 | ||
Hash[Int,Str] also gives two distinct types, but they are considered equal | |||
mienaikage | is-deeply would be eqv and not === right? | 10:55 | |
timotimo | so something's not checking equivalence right for definite type constraint thingies | ||
not sure | |||
will be afk for a bit | |||
10:59
Actualeyes left,
Actualeyes joined,
Actualeyes left
11:00
Actualeyes joined
11:01
eliasr joined
|
|||
AlexDaniel` | m: $_ = ‘5 6 7 8’; dd «$_» Z+ 1 | 11:03 | |
camelia | (27,).Seq | ||
AlexDaniel` | why 27? | ||
I do see that it sum-ed all elements on the left, but why? | |||
Grimy | p6: slip(5, 6, 7, 8) Z+ 1 | 11:07 | |
camelia | Potential difficulties: Useless use of Z+ in sink context at <tmp>:1 ------> 3slip(5, 6, 7, 8) 7⏏5Z+ 1 |
||
Grimy | p6: dd slip(5, 6, 7, 8) Z+ 1 | ||
camelia | (27,).Seq | ||
11:07
mr-foobar left
|
|||
AlexDaniel` | hmmm huh | 11:08 | |
11:08
lowbro left,
mr-foobar joined
|
|||
Grimy | circumfix «» gives a slip, and slips do weird things in argument lists. slip(5, 6, 7, 8) Z 1 gives ((1 5 6 7 8)), not ((1 5)). The behavior of Z+ is consistent with that. | 11:10 | |
11:11
kyan left
|
|||
AlexDaniel` | ok, but why does «» give a slip in this particular case? | 11:12 | |
m: $_ = ‘5 6 7 8’; dd «$_» | |||
camelia | slip(IntStr.new(5, "5"), IntStr.new(6, "6"), IntStr.new(7, "7"), IntStr.new(8, "8")) | ||
AlexDaniel` | m: dd «5 6 7 8» | ||
camelia | (IntStr.new(5, "5"), IntStr.new(6, "6"), IntStr.new(7, "7"), IntStr.new(8, "8")) | ||
11:14
Actualey` joined
|
|||
Grimy | m: $_ = '5 6 7'; dd «$_ 8» | 11:16 | |
camelia | (IntStr.new(5, "5"), IntStr.new(6, "6"), IntStr.new(7, "7"), IntStr.new(8, "8")) | ||
11:17
Actualey` left,
Actualey` joined
11:20
Actualey` left
11:22
Zoffix joined
|
|||
Zoffix | it's 'cause the variable may contain more than one value | 11:24 | |
and with a slip it all ends up one with the rest of the things; that's my understanding of it | 11:25 | ||
11:25
ryn1x joined
|
|||
Zoffix | m: $_ = ‘5 6 7 8’; dd «"$_"» | 11:28 | |
camelia | "5 6 7 8" | ||
11:29
margeas joined
11:30
Actualey` joined
|
|||
AlexDaniel` | to me it feels like the slip should not leak outside | 11:30 | |
Zoffix | m: $_ = ‘5 6 7 8’; dd «$_ 1» | ||
camelia | (IntStr.new(5, "5"), IntStr.new(6, "6"), IntStr.new(7, "7"), IntStr.new(8, "8"), IntStr.new(1, "1")) | ||
Zoffix | Yeah, to me too | ||
mienaikage | m: $_ = ‘5 6 7 8’; dd «1$_» | ||
camelia | (IntStr.new(1, "1"), IntStr.new(5, "5"), IntStr.new(6, "6"), IntStr.new(7, "7"), IntStr.new(8, "8")) | ||
Zoffix | it's probably made to handle ^ that case and the case where it's just a variable isn't handled | 11:31 | |
AlexDaniel` | yea | ||
I'll submit a ticket then | |||
11:32
bdmatatu joined
|
|||
Zoffix | m: dd «x».^name | 11:32 | |
camelia | "Str" | ||
lizmat is running a stresstest for a fix for issue 1220 | 11:33 | ||
11:33
sena_kun joined
|
|||
lizmat | alas, the fix doesn't take away the instability completely :-( | 11:33 | |
11:33
itaipu joined
11:36
mr-foobar left,
parv left
|
|||
AlexDaniel` | lizmat: does it ever hang for you? | 11:37 | |
lizmat | no, not so far | 11:38 | |
11:38
raschipi joined,
xtreak left
11:40
nadim left,
mr-foobar joined
|
|||
timotimo | mienaikage: it turns out glot.io has version 2017.01 of rakudo installed; the bug with is-deeply with Blah:D seems to already be fixed | 11:41 | |
raschipi | Is code-golf.io not working? | 11:42 | |
11:42
xtreak joined
|
|||
lizmat | *1202 | 11:43 | |
AlexDaniel` | raschipi: opens just fine here | 11:44 | |
mienaikage | timotimo: I have the same behaviour on my machine with Rakudo version 2017.09-133-g5ad2fffed built on MoarVM version 2017.09.1-49-gb3dd812a | ||
timotimo | oh! | ||
ilmari | ls | 11:45 | |
mienaikage | I'd just put it on glot for the sake of sharing | ||
ilmari | EWIN | ||
raschipi | working now, sorry for bothering | ||
11:48
itaipu left
11:50
sena_kun left
11:51
HTTP_____GK1wmSU joined
11:52
HTTP_____GK1wmSU left
|
|||
mienaikage | Hmm, I broke it even more... If you use require instead of use it doesn't like the typing at all glot.io/snippets/euuaa6wm8p | 11:53 | |
11:54
Actualey` left
11:55
Actualey` joined
11:57
ryn1x left
11:58
lowbro joined,
lowbro left,
lowbro joined
|
|||
Zoffix | mienaikage: what's the bug? | 11:59 | |
oh /me notices the glot.io snippety | |||
mienaikage: where do I get ETL from? | 12:03 | ||
Oh, there's a second tab, nm | |||
mienaikage | :) | ||
Grimy | m: say circumfix:<[ ]>(3) | 12:04 | |
camelia | WARNINGS for <tmp>: [3] Useless use of constant value [ ] in sink context (lines 1, 1) |
||
Zoffix | :S my perl6 refuses to find it | 12:05 | |
Grimy | This warning seems wrong, isn’t it? | ||
Zoffix | Grimy: yeah. It's ticketed: rt.perl.org/Ticket/Display.html?id...et-history | ||
Grimy | Thanks! | ||
Zoffix | mienaikage: reproed the problem. Gimme a sec to golf it a bit. | 12:08 | |
mienaikage | No worries. Was trying to put together a new exercise for exercism. Wasn't sure if I broke something or was just being silly. | 12:09 | |
raschipi | But can you do it in 26 characters? | ||
Zoffix | mienaikage: there's definitely something wrong :) | 12:10 | |
12:17
synopsebot left,
synopsebot joined,
ChanServ sets mode: +v synopsebot
12:18
xtreak left
12:21
xtreak joined
|
|||
Grimy | m: $_ = 42; say $_ &= 3 | 12:22 | |
camelia | MoarVM panic: Memory allocation failed; could not allocate 108304 bytes | ||
Zoffix | heh | ||
Grimy | Should I make a ticket for this one? | ||
Zoffix | Grimy: yeah | ||
12:22
nadim joined
|
|||
Grimy | Alright | 12:22 | |
Zoffix | Grimy: you can make one here: github.com/rakudo/rakudo/issues | ||
Grimy: note that `&` is an 'all' Junction, not a bit twiddling op | 12:23 | ||
Grimy | Thanks. Is this the recommended method? I’ve been mailing to perl6-bugs | ||
Zoffix | Grimy: it's just something new we're experimenting with. Emailing is fine too. | ||
Grimy | Alright, I’ll use GH issues since it’s more convenient imo | 12:24 | |
Geth | doc: a5dee808bc | (Dan Zwell)++ (committed by Dan) | doc/Type/Hash.pod6 Document Hash's :kv adverb Also fix a small grammar error. |
12:25 | |
synopsebot | Link: doc.perl6.org/type/Hash | ||
Geth | doc: 932d9f6801 | (Dan Zwell)++ (committed by Dan) | doc/Type/Signature.pod6 Fix the destructuring docs linking to the "Capture" type instead of method. |
||
synopsebot | Link: doc.perl6.org/type/Signature | 12:26 | |
doc: e4cce1e799 | (Rafael Schipiura)++ (committed using GitHub Web editor) | 2 files Merge pull request #1618 from lefth/master Small changes: wrong link, missing :kv, grammar error |
|||
doc: 92927dfa18 | (Jeremy Studer)++ | doc/Type/List.pod6 Document the List variant of the cmp operator |
12:28 | ||
doc: 191db0bd5a | (Jeremy Studer)++ | 2 files Document sorting by multiple criteria This is a powerful way of sorting, but it's not currently apparent that it can be done this way in the documentation. Also, in this section have infix:<cmp> link to a page documenting the various instances of the cmp operator. Also, added myself to credits. |
|||
synopsebot | Link: doc.perl6.org/type/List | ||
12:29
sproctor left
|
|||
doc: 26ab76444d | (Rafael Schipiura)++ (committed using GitHub Web editor) | 2 files Merge pull request #1619 from jstuder-gh/sort_multiple Document List cmp infix and sorting by multiple values (via List) |
|||
12:30
xtreak left
12:32
sproctor joined
12:37
pmurias joined
|
|||
Zoffix | mienaikage: field an Issue for it. It's a bug in Rakudo; something's busted with hashes parametired with Int:D types: github.com/rakudo/rakudo/issues/1207 | 12:38 | |
mienaikage: you can workaround it by not using the `:D` in your types or sticking `no precompilation` at the top of your module (note that'd cause it to be re-compiled each time which can make things very much slower) | |||
.oO( you know you're too tired when you write 'parametirized' as 'parametired' ... ) |
12:39 | ||
12:39
wander joined
|
|||
Zoffix | *filed too | 12:39 | |
12:42
ryn1x joined
12:46
ryn1x left
|
|||
perlpilot | huh ... I was just reading the weekly and the code for running "once in a batch" surprised me. | 12:46 | |
lizmat | perlpilot: why ? | 12:48 | |
[Coke] | do we want doc tickets to get announced her? | ||
*here | |||
raschipi | yes | 12:49 | |
perlpilot | lizmat: because "once {...}* run only once, suppressing additional evaluations" That batching is a side-effect of .hyper/.race should factor in to that IMHO. At least not without something more explicit. | 12:50 | |
*shouldn't | 12:51 | ||
[Coke] | I would not expect once to mean "once per batch" | 12:52 | |
Zoffix | perlpilot: then which batch should it be run in? | ||
The phasers will also get special treatment | |||
12:53
mson joined
|
|||
Zoffix | [Coke]: it'd just need to add an event handler here github.com/perl6/geth/blob/master/...#L114-L121 and IRC responder here: github.com/perl6/geth/blob/master/...b.pm6#L123 AlexDaniel` probably already has code for that from the squashable6 bot | 12:54 | |
lizmat | my proposal would be to *not* handle phasers in hypers/races differently | ||
but set a $*BATCH dynamic variable indicating that it's being run in a batch | |||
perlpilot | Or put another way, if I have a .map that calls a function to do work and that function calls `once { }` somewhere down the line, will I accidentally change the semantics of the once block by adding .hyper or .race? | ||
Zoffix | lizmat: but would it be per-batch? | ||
lizmat | which could have additiional information, like batch number | ||
Zoffix | perlpilot: yes | 12:55 | |
perlpilot: same as if you have that function do something thread-unsafe | |||
lizmat | Zoffix: yes, a FIRST / LAST would be per batch | ||
Zoffix | Yeah, sounds like what I was thinking | 12:56 | |
lizmat | *and* before the very first batch | ||
(FIRST that is) | |||
and after the very last batch (LAST) | |||
those two cases would *not* have $*BATCH set | |||
Zoffix | Not that I know much about this part of language :) | ||
lizmat | NEXT/REDO/ENTER/LEAVE phasers should work as normal | 12:57 | |
12:57
piojo joined
|
|||
lizmat | well, that would be my suggestion | 12:57 | |
piojo | Is rakudo failing to build for everyone, or just me? I'm seeing this error: While looking for 'Perl6/ModuleLoader.moarvm': no such file or directory | 12:59 | |
Geth | doc: cd197c1fe6 | (Alex Chen)++ (committed using GitHub Web editor) | doc/Type/Whatever.pod6 Delete incorrect doc of Exception of Whatever-star `1 ~~ *` will return a WhateverCode instead of return true Example: ``` > map (1 ~~ *), <1 2 3> (True False False) ``` |
||
synopsebot | Link: doc.perl6.org/type/Whatever | ||
perlpilot | piojo: probably just you as I built mine just fine mere moments ago. | ||
lizmat | piojo: not seeing that | ||
piojo | The build target that's failing is blib/Perl6/World.moarvm | ||
Zoffix had no problems last night | |||
piojo | I should say it's on Windows | ||
I haven't tested Linux, though I should do that | |||
lizmat | ah, k, can't help then | ||
Zoffix had no problems a couple weeks ago | |||
piojo: is that with a fresh checkout? | 13:00 | ||
e.g. like these steps: github.com/zoffixznet/r#windows | |||
That's how I built it a couple weeks ago | |||
piojo | Zoffix: no, it's not. Thanks! I'll try that | ||
perlpilot | anyway ... let's just say that I continue to be uncomfortable with the action-at-a-distance for once (and other phasers) | 13:01 | |
mienaikage | Zoffix: Thanks. I've added a little extra info on GH re: require as well | ||
lizmat | perlpilot: what would be your suggestion? | ||
a complete new set of phasers ? | |||
or just no phasers (change the NYI into a real error) | 13:02 | ||
afk again& | |||
perlpilot | I dunno, I'm not awake enough yet :-) Maybe I'd be more comfortable if the documentation for .hyper/.race called these things out explicitly? Right now, the weekly reads like ".hyper/.race makes things faster" (and I think that's how many people will think of them too) but really it's more like ".hyper/.race will make things faster, but beware the semantic differences they impose upon certain phasers and phaser-like constructs" | 13:03 | |
13:03
ggoebel left
|
|||
Zoffix | perlpilot: my impression of watching this work from a distance is people seem to be expecting a magic "make it faster" button that will perform work on all the cores, when in reality there's gonna be a bunch of race conditions people will be struggling with or, like you point out, receiving new semantics for stuff like `once` because they expected the program to know when once has been executed already on one | 13:04 | |
of the threads. gfldex already had a bug in their code that cached a Seq twice from a hyper and it took even jnthn some time to figure out what the crash was about. I fully expect more of that stuff to turn up and possibly people eventually realizing .hyper/.race aren't a magical fire-and-forget make-it-faster solution | |||
13:05
cdg joined
|
|||
perlpilot | Zoffix: agreed. | 13:06 | |
Zoffix | m: hyper for ^4 { sleep 1 }; say now - INIT now | 13:08 | |
camelia | 4.0099630 | ||
perlpilot | I think it's just we need more words out there (in documentation, blogs, etc.) talking about the intersection of these features and I'm uncomfortable right now because I've been operating from a mindset that didn't consider this intersection. | ||
Zoffix | m: hyper for ^4 .hyper { sleep 1 }; say now - INIT now | ||
camelia | 4.00964309 | ||
Zoffix was expecting 1s in both cases :/ | |||
m: ^4 .hyper.map: { sleep 1 }; say now - INIT now | 13:09 | ||
camelia | 4.0106535 | ||
Zoffix | :/ | ||
wander | m: say (42 ~~ *) | 13:10 | |
camelia | { ... } | ||
wander | m: say (* ~~ 42) | ||
camelia | { ... } | ||
AlexDaniel` | Zoffix: isn't it ok? you didn't specify the batch size | ||
wander | m: 42.ACCEPTS(*) | 13:11 | |
camelia | ( no output ) | ||
Zoffix | AlexDaniel`: oh, duh | ||
wander | m: say 42.ACCEPTS(*) | ||
camelia | False | ||
AlexDaniel` | m: ^4 .hyper(:1batch).map: { sleep 1 }; say now - INIT now | ||
camelia | 1.051253 | ||
Zoffix | m: say (42 ~~ (*)) | ||
camelia | True | ||
Zoffix | wander: your variant made a WhateverCode closure | ||
m: hyper for ^4 .hyper: :batch { sleep 1 }; say now - INIT now | 13:12 | ||
camelia | 1.0510388 | ||
Zoffix | \o/ | ||
13:12
cdg_ joined
|
|||
Zoffix | m: for ^4 .hyper: :batch { sleep 1 }; say now - INIT now | 13:12 | |
camelia | 4.00893443 | ||
wander | WhateverCode in `* ~~ 42`, while Whatever in `42.ACCEPTS(*)`, is it? | ||
ilmari | m: hyper for ^4 { sleep 1 }; say now - INIT now | 13:13 | |
camelia | 4.0116992 | ||
piojo | I can build rakudo against an older moar/nqp, but not against the newest | ||
Zoffix | perlpilot: ^ (my last eval) another semantic difference. `for` is no longer just a `map` under the hood; it's `.serial.map` and a `for` without a `hyper` or `race` prefix iterates over HyperSeq and RaceSeq serially | ||
wander: right | |||
piojo | never mind, I thought it was working but it wasn't | 13:14 | |
Zoffix | piojo: can you create an Issue ( github.com/rakudo/rakudo/issues/ ) with full output of the error, along with Windows version and what type of C compiler/perl you got installed? | ||
piojo | Zoffix: I'll do that now | 13:15 | |
Zoffix | Thanks. | ||
13:16
cdg left
|
|||
perlpilot | Zoffix: yeah, but that's a difference I was expecting, whereas "once" running more than once wasn't :-) | 13:16 | |
13:17
ryn1x joined
|
|||
Zoffix | perlpilot: dunno, for me I'd be more surprised with ^4 .hyper(:batch).map: { my $x; once $x = Foo.new; $x.do-things }; crashing, just because the `once` block ran in only one of the batches | 13:18 | |
Or something like that. Text::CSV uses this setup | |||
13:20
darkmorph joined
|
|||
wander | m: Whatever.new.Capture | 13:21 | |
camelia | Cannot unpack or Capture `*`. To create a Capture, add parentheses: \(...) If unpacking in a signature, perhaps you needlessly used parentheses? -> ($x) {} vs. -> $x {} in block <unit> at <tmp> line 1 |
||
Zoffix | wander: that's by design. Is that creating a problem in some code? | 13:22 | |
13:23
khw joined
|
|||
Zoffix | m: my atomicint $v = 0; ^4 .race(:batch).map: { once $v⚛++ }; say $v | 13:23 | |
camelia | 4 | ||
Zoffix | m: my atomicint $v = 0; ^4 .race(:2batch).map: { once $v⚛++ }; say $v | ||
camelia | 2 | ||
Zoffix | perlpilot: yeah, kinda surprising behaviour. | 13:24 | |
wander | on my PC, it doesn't throw Exception | ||
This is Rakudo version 2017.07 built on MoarVM version 2017.07 implementing Perl 6.c. | |||
Zoffix | wander: it's a new feature. Implemented like 2 weeks ago. | ||
wander | got it | ||
Zoffix | .oO( `hyper once` ) |
13:27 | |
perlpilot | lizmat++ also because I learned something new in the p6weekly. I'm an "episodic volunteer" :-) (Ann Barcomb)++ too | 13:28 | |
AlexDaniel` | what new feature? atomicint? Isn't it like 2 months ago now? | ||
Zoffix | AlexDaniel`: you're mixing up conversation threads :) | ||
piojo | Zoffix: I get a different error with --gen-moar --gen-nqp. Should I file a separate bug report for that? | 13:29 | |
DrForr | Might want to watch the talks from the Open Source Summit in Prague - she's giving a similar talk there. | ||
Zoffix | "m: Whatever.new.Capture" " wander: that's by design." "on my PC, it doesn't throw Exception" "it's a new feature" | ||
AlexDaniel` | Zoffix: not only that, but I'm also blind /o\ Somehow skipped “doesn't” | 13:30 | |
alright, back to release stuff then | |||
13:30
ggoebel joined
|
|||
Zoffix | piojo: I think adding that to the same bug report is fine | 13:30 | |
piojo | Okay, thanks | ||
perlpilot | DrForr: thanks, I'll check it out | ||
DrForr | Kind of annoying - the summit is at the Hilton just a few blcoks from here but she's too busy to hang :/ | 13:31 | |
*hang out. | 13:32 | ||
timotimo | m: for ^4 { for ^3 { once say "hi" } } | 13:33 | |
camelia | hi hi hi hi |
||
Zoffix | :) | ||
timotimo | for your consideration, perlpilot, Zoffix | ||
perlpilot | hmm | 13:34 | |
Makes me think "once" needs a new name :) | 13:36 | ||
moritz | roughly-once | ||
perlpilot | I would guess that falls out of the "once per clone of the containing object" | 13:37 | |
DrForr | 'just' :) | ||
Zoffix | once-in-a-blue-moon | 13:38 | |
13:38
wander left
|
|||
perlpilot | once-upon-a-time | 13:39 | |
once-and-future-once | |||
once-more-into-the-breach | |||
once-in-a-while | |||
once-twice-three-times-a-once | 13:40 | ||
sjn | once-twice-often | ||
timotimo | once upon a closure in the west | ||
ilmari | once-for-the-money | ||
sjn | once-for-the-road | 13:41 | |
perlpilot | once-or-maybe-more is a probably accurate. :) | ||
timotimo | first-time? | ||
raschipi | change 'once' to 'nonce' | ||
Zoffix | 'monce' for 'mostly-once' | 13:42 | |
perlpilot | once-per-clone -> clonce | 13:44 | |
once-per-batch -> bounce (kinda :) | |||
[Coke] | to be clear, I am fine with once meaning something slightly different based on hyper, map, just wasn't expecting it at first. | 13:46 | |
perlpilot | [Coke]: did you expect timotimo's example either? :) | 13:47 | |
13:48
napo1eon joined
13:49
wander joined
13:51
ryn1x left
|
|||
AlexDaniel` | is anybody using a 32-bit system here? | 13:51 | |
Zoffix | I may have one handy.. why? | 13:53 | |
AlexDaniel` | Zoffix: I'm wondering if github.com/perl6/nqp/issues/377 is related to that | 13:54 | |
this is just a wild guess | |||
pmurias | bisect: my $b = {"a" => 1000000000000000000}.BagHash; $b.grab(100); say $b.total; | ||
bisectable6 | pmurias, On both starting points (old=2015.12 new=b19e352) the exit code is 0 and the output is identical as well | ||
pmurias, Output on both points: «999999999999999900» | |||
Zoffix | AlexDaniel`: well, I got 2017.09-223-gd565ded built on it | 13:55 | |
AlexDaniel` | Zoffix: that's great but kinda 277 commits behind :) | 13:58 | |
13:58
callyalater joined
|
|||
Zoffix | Statistically irrelevant :) dogbert17 also got a 32-bit system IIRC | 14:00 | |
s/irrelevant/insignificant/; | |||
I noticed some edited paths in that Issue's output; I suspect something was messed up with --prefix or whatever | 14:02 | ||
That or the nqp-lib thing was messed up and there's some conditon where it causes extra args given | |||
(missing quoting on paths with spaces?) | |||
AlexDaniel` | could be that yeah | ||
oh, he responded | 14:03 | ||
Zoffix | .oO( "he"? ) |
||
AlexDaniel` | they | 14:04 | |
Zoffix | ZofBot: what's your preferred pronoun? | ||
ZofBot | Zoffix, '"Down with Big Brother!" Yes, I said that! Said it over and over again, it seems | ||
Zoffix | hah | ||
AlexDaniel` | “Cloning into '.'...” | 14:05 | |
Altreus | Did you forget that bonce is a word? | ||
Zoffix | AlexDaniel`: well, I see what it's complaining about: "/tmp/tmp.o2BIF8otPY/install/bin/moar --libpath= [...] gen/moar/stage1/nqpmo.nqp" I guess that line needs to be found in make file and the `gen/moar/stage1/nqpmo.nqp` stuff put before the named args? Wonder what that line is like on working builds.. | 14:07 | |
14:07
mr-foobar left
|
|||
Zoffix | AlexDaniel`: Cloning into '.' is the rakudo clone from my command that person ran | 14:07 | |
AlexDaniel` | ah | ||
14:07
mempko joined
|
|||
Zoffix | Altreus: didn't know it was :D | 14:08 | |
14:08
mr-foobar joined,
zakharyas left
|
|||
Grimy | ^... and ^...^ are NIY, but aren’t marked as such, and give really confusing error messages instead. | 14:08 | |
14:09
zakharyas joined
|
|||
[Coke] | apparently pigsconce is also a word. (pig-sconce) | 14:09 | |
AlexDaniel` | m: say 1,20^...30 | 14:10 | |
camelia | 120^..0.3 | ||
AlexDaniel` | well | ||
Zoffix | Grimy: I thought they weren't meant to be implemented | 14:11 | |
But I guess they could be. The ...^ is already done and ^... can be done with .tail now | |||
Grimy | Maybe? They’re listed in S03. | ||
How do I know when an idea in the Synopses has been abandonned? | 14:12 | ||
Zoffix | Ah, OK. Just vaugely recall TimToady talking about these | ||
Grimy | Also ...^ is implemented but isn’t listed in docs.perl6.org/routine.html | ||
Zoffix | Grimy: no real way. Synopses are historical documents. Roast is the current spec. Some of the design desisions are archived ( e.g. github.com/rakudo/rakudo/blob/nom/...on-Plan.md ) | 14:13 | |
14:13
zakharyas left
|
|||
AlexDaniel` | Grimy: that's a doc issue that should be filed here: github.com/perl6/doc/issues/ | 14:13 | |
Grimy: it seems that it's linked but there's no special section for it docs.perl6.org/language/operators#..._operators | |||
[Coke] | (spec) there's also a load of those enshrined in NYI tickets in rt that may never be I. | 14:14 | |
Zoffix | Grimy: looks like ... is in that list, but only the stub op shows up when clicked, not the sequence op | 14:15 | |
14:15
dakkar left
|
|||
Zoffix | And … ain't in the list | 14:15 | |
Grimy | Well UTF-8 operators aren’t in the list, right? | 14:16 | |
Wait, some of them are. | |||
14:17
dakkar joined
|
|||
Grimy | Thanks for the links, roast looks interesting. Is there a NYI ticket for prefix:<~^>? It seems simple enough to me and I’m wondering why it’s not there yet. | 14:18 | |
Altreus | Zoffix: I thought perlpilot should ... maybe not though, perhaps | ||
14:19
aindilis left,
ryn1x joined
|
|||
Zoffix | huggable: tag nyi | 14:20 | |
huggable | Zoffix, nothing found | ||
Zoffix | huggable: tag niy | ||
huggable | Zoffix, nothing found | ||
Zoffix | buggable: tag nyi | 14:21 | |
c'mon, robot. I ain't got all day | |||
Grimy: if there is, it'd be one of these here: fail.rakudo.party/t/NYI | |||
14:22
buggable joined,
ChanServ sets mode: +v buggable
|
|||
buggable | New CPAN upload: JSON-Tiny-1.0.tar.gz by MORITZ cpan.metacpan.org/authors/id/M/MO/...1.0.tar.gz | 14:22 | |
[Coke] | Zoffix: what is [MOLD] ? | ||
seems to be on .party only, not on original ticket. | 14:23 | ||
AlexDaniel` | [Coke]: old tickets that were not touched for more than a year or so | ||
Zoffix | FWIW, I closed a couple of NYI last week 'cause they were not applicable anymore. So I'd say just 'cause there's an NYI ticket doesn't mean it's accepted that it should be implemented that way or implemented at all. | ||
Grimy: we also have #perl6-dev where more dev eyes would see your questions | |||
[Coke] | anything that is NYI or RFC at this point needs some kind of sanity check, yes, zoffix++ | 14:24 | |
Grimy | Alright, thanks! | ||
[Coke] | (even if there's a roast test; some of those tests predate rakudo) | ||
Zoffix | [Coke]: tickets that were last updated more than 60*60*24*365*2 seconds ago | ||
Geth | ecosystem: 974a161733 | (Moritz Lenz)++ | META.list JSON::Tiny now lives on CPAN |
||
[Coke] | I mean, why not 365.24? :) | 14:25 | |
Zoffix | :) | ||
piojo | Thanks for the help, everyone--I found the problem was basically "git checkout master"--that does nothing, since there is no "master" branch in rakudo ;) | 14:29 | |
Zoffix | lol | ||
piojo | so I had an old commit checked out the whole time, and didn't notice. | ||
Zoffix | :) | ||
piojo | :D | ||
AlexDaniel` | well… maybe we should finally rename it | ||
Grimy | Why is the branch named «nom», anyway? | ||
Zoffix | Grimy: historical reasons. it started as "New Object Model" and eventually became the "master" | 14:30 | |
Grimy | Ooh ok | ||
piojo | The funny thing is that it was in the first line of my bug report. It feels like I accidentally made a riddle | ||
Zoffix | I like "nom" as name, though I admit to on occasion typing "git checkout master" only to be told there ain't no master... | 14:31 | |
AlexDaniel` | I'm doing that all the time | ||
especially when working with moar or nqp | |||
piojo | I'm surprised I didn't notice, but building moar then nqp then rakudo, the process gets a little robotic | 14:32 | |
moritz | I think we had an agreement that basically all core devs were fine with renaming nom to master | ||
AlexDaniel` | OK | ||
moritz | just nobody done it so far | ||
AlexDaniel` | then will do it after the release | ||
moritz | ++AlexDaniel` | ||
piojo | good idea | ||
stmuk | I think there may have been talk of using nom as a dev branch and master the release (or was it the other way round?) | 14:33 | |
Zoffix | Yeah, something like that. My pushback against that is people will be more loosy with pushing breaking changes and the commits have to be sequential anyway due to reliance on MoarVM/nqp/roast | 14:34 | |
piojo | That reminds me, do --gen-moar and --gen-nqp only use the latest release, or are there stable versions in between releases? | 14:35 | |
AlexDaniel` | I expect it to be consistent across the trio, so if it's “master” for nqp and moar, then let's please have “master” in rakudo | ||
Zoffix | So "release" branch would be blocked anyway. The current system where people make scary changes in branches kinda more preferable IMO. | ||
moritz | piojo: they use whatever is in tools/build/NQP_REVISION | ||
or MOAR_REVISION in nqp | |||
piojo | moritz: Is that bumped more frequently than the montly releases? | 14:36 | |
AlexDaniel` | piojo: yes | ||
[Coke] | only slightly | ||
piojo | oh, great | ||
pmurias | Zoffix: if I remember correctly master was meant to be the nom commit that passes automated testing | ||
Zoffix | pmurias: yeah. So what happens when latest nom commit doesn't pass stuff? | 14:37 | |
The devs won't care as much, since bleed users are using master and aren't affected, and the rest of the devs now have a breaking commit in their workflow | |||
[Coke] | There's no rush to move it immediately post release; why don't we plan on having it hashed out in time to do so immediately after the next release? | ||
stmuk | talking of "release" .. is there going to be one? :) | 14:38 | |
moritz kinda agrees with Zoffix | |||
at $work we had some kind of stabilization branch, and it didn't work out too well | |||
Zoffix | BTW, that branch proposal is documented here: github.com/rakudo/rakudo/blob/nom/...o-branches | 14:39 | |
moritz | people did stuff there that wasn't tested by the same mechanism as the trunk, and so we had untested releases | ||
and the "oh, people can just use master" mentality also took hold, at least somewhat | 14:40 | ||
Geth | mu: 05001f3b99 | (Zoffix Znet)++ | misc/perl6advent-2017/schedule Start Advent 2017 Schedule Call dibs on 1st and 23rd |
14:41 | |
stmuk | wouldn't that proposal also have to specify *which* roast branches pass? | ||
14:41
lowbro left
|
|||
moritz | oh, it's this time of the year again? :) | 14:42 | |
Zoffix | New blog post: "Rakudo Perl 6 Advent Calendar 2017 Call for Authors": rakudo.party/post/Rakudo-Perl-6-Ad...or-Authors | ||
moritz | Zoffix: do you plan to cover Perl 6 books in your review post, or should I do a separate one for that? | 14:45 | |
Zoffix | moritz: wasn't planning. If you can do it, it'd be great, as despite owning many preview copies I haven't had time to read much of the available books... | 14:46 | |
Geth | mu: 2a4cf374b5 | (Moritz Lenz)++ | misc/perl6advent-2017/schedule Claim Dec 02 to talk about books |
14:47 | |
Zoffix | \o/ | 14:48 | |
.tell TimToady I called dibs on Advent post for the 1st. If you wanted to post something there instead, just take that spot: github.com/perl6/mu/blob/master/mi...chedule#L3 | 14:50 | ||
yoleaux | Zoffix: I'll pass your message to TimToady. | ||
AlexDaniel` | stmuk: yes, when it's ready. We're putting some extra effort into making sure it's really good | ||
Zoffix & | 14:51 | ||
moritz | traditionally, our benevolent dictator has been happy to take the last spot in the Advent series, if any | ||
14:51
ryn1x left
|
|||
Zoffix | AlexDaniel`: stmuk Gonna take a crack at using `isatty` for the $*IN.getc macos issue in 8hr. If the fix fixes the things and doesn't negatively affect perf of my spectest, I'll merge it and do the bumps and I think that's the last thing blocking the release, no? There's RT#132343 ... looks really big | 14:54 | |
synopsebot | RT#132343 [new]: rt.perl.org/Ticket/Display.html?id=132343 [REGRESSION] better-sched and other async improvement ecosystem fallout | ||
Zoffix & for 8hrs :) | |||
14:54
Zoffix left
|
|||
AlexDaniel` | Zoffix: yes. I'm looking into RT #132343 right now (but I've decided that most of the stuff in that ticket is a non-issue for the release) | 14:55 | |
14:59
abraxxa left
|
|||
callyalater | How can you use matching adverbs with grammars? | 15:06 | |
Like the :exhaustive adverb. | |||
15:06
mr-foobar left
|
|||
perlpilot | Zoffix++ for jump starting the advent calendar this year. | 15:07 | |
15:07
zakharyas joined
15:08
mr-foobar joined
|
|||
perlpilot | callyalater: I don't think that you can use that particular one inside of a grammar. (I could be wrong though) | 15:09 | |
callyalater: as for "how", normally you just put the modifier in the grammar at the beginning of a rule or grouping construct | 15:11 | ||
callyalater: token foo { :i foo } # match "foo" case insensitively | |||
15:13
jcarty left
15:19
stux|RC-only left,
wamba left
15:26
cgfbee left
|
|||
Geth | mu: 82e64bbd8a | (Nigel Hamilton)++ (committed using GitHub Web editor) | misc/perl6advent-2017/schedule Update schedule |
15:26 | |
15:27
lostinfog joined
|
|||
callyalater | perlpilot: Dang it. I was hoping that I could pass it in to the parse method... | 15:28 | |
15:33
cgfbee joined
15:35
domidumont left
15:37
mr-foobar left
15:38
stux|RC-only joined,
mr-foobar joined
15:50
llfourn left,
piojo_ joined
|
|||
Geth | doc/master: 5 commits pushed by (Patrick Spek)++, (Rafael Schipiura)++ | 15:50 | |
15:52
ryn1x joined
15:55
Grimy left
15:57
wander left
16:01
Actualeyes left
16:07
zakharyas left,
mr-foobar left
16:08
setty1 joined,
mr-foobar joined
16:09
zakharyas joined
16:12
domidumont joined
16:18
kyan joined
16:20
Kyo91_ joined
16:22
nightfrog left
16:26
ryn1x left,
zakharyas left
16:27
wamba joined
16:29
domidumont left
16:30
domidumont joined
16:32
sproctor left
|
|||
[Coke] gets annoyed at perl6/docs mix of make & perl6 site build again. | 16:35 | ||
[Coke] suspects with new concurrency stuff, we could shove everything into p6 at this point, and do a better job of enforcing build deps than we do now. | 16:36 | ||
16:36
mr-foobar left
|
|||
Geth | doc: 42e2bc0603 | (Will "Coke" Coleda)++ | xt/words.pws Learn new word Closes #1620 |
16:37 | |
16:37
ryn1x joined
16:38
Kyo91 joined
16:40
Kyo91_ left
16:41
dakkar left
|
|||
Geth | doc: a0afc5ce15 | (Will "Coke" Coleda)++ | htmlify.p6 use pod for long form comment;minor cleanups |
16:41 | |
16:42
mr-foobar joined,
ryn1x left
16:43
mson left
16:44
callyalater left
16:48
piojo_ left,
jonas1 left
16:51
knight__ joined
16:53
napo1eon left
|
|||
knight__ | sssddddddssss | 16:55 | |
ops | 16:56 | ||
Sorry | |||
16:56
telex left
|
|||
knight__ | Hello, I am newbie. I have question about calling a function/sub.In mython I can do something liek def fun(a,b,c)... and call it fun(10, b=100, c=300) (for example) | 16:57 | |
How can I mix positional argument in perl6? | |||
16:58
telex joined
|
|||
knight__ | i want call function for example fun($a, b=>100, c=>300). Of course I can do it with ($a, $:b, $:c), but what if I want something like fun(20, 30, c=>300)? | 17:00 | |
17:00
itaipu joined
|
|||
timotimo | you can have three optional positional parameters and the three nameds | 17:00 | |
knight__ | How can I do it without definition in signature? | ||
timotimo | then depending on how many positionals were actually passed, you fill those into the variables you want | 17:01 | |
17:01
ChoHag left
|
|||
timotimo | m: sub fun($one?, $two?, $three?, :$a, :$b, :$c) { say $one // $a; say $two // $b; say $three // $c }; fun(20, 30, c => 300); fun(10, b => 100, c => 100) | 17:02 | |
camelia | 20 30 300 10 100 100 |
||
timotimo | m: sub fun($one?, $two?, $three?, :$a, :$b, :$c) { say $one // $a; say $two // $b; say $three // $c }; fun(10, b => 100, c => 300) | ||
camelia | 10 100 300 |
||
timotimo | that was your actual example | ||
it should even work to use defaults in your signature for this purpose | |||
m: sub fun($one = $a, $two = $b, $three = $c, :$a, :$b, :$c) { say $one; say $two; say $three }; fun(10, b => 100, c => 300) | |||
camelia | 5===SORRY!5=== Error while compiling <tmp> Variable '$a' is not declared at <tmp>:1 ------> 3sub fun($one = 7⏏5$a, $two = $b, $three = $c, :$a, :$b, :$ |
||
timotimo | nope, they have to be available in order | 17:03 | |
raschipi | [15:02] <timotimo> m: sub fun($one?, $two?, $three?, :$a = $one, :$b = $two, :$c = $three) { say $a; say $b; say $c }; fun(10, b => 100, c => 300) | 17:04 | |
m: sub fun($one?, $two?, $three?, :$a = $one, :$b = $two, :$c = $three) { say $a; say $b; say $c }; fun(10, b => 100, c => 300) | |||
camelia | 10 100 300 |
||
raschipi | m: sub fun($one?, $two?, $three?, :$a = $one, :$b = $two, :$c = $three) { say $a; say $b; say $c }; fun(10, 100, c => 300) | ||
camelia | 10 100 300 |
||
knight__ | Thank you | 17:05 | |
raschipi | defaults work, just need to rmember they are only available to the right of where they were declared. | ||
m: sub fun(:$a, :$b, :$c, $one = $a, $two = $b, $three = $c ) { say $one; say $two; say $three }; fun(10, b => 100, c => 300) | 17:07 | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Cannot put optional positional parameter $one after variadic parameters at <tmp>:1 ------> 3sub fun(:$a, :$b, :$c, $one = $a7⏏5, $two = $b, $three = $c ) { say $one; s expecting any of:… |
||
17:07
mr-foobar left
17:08
mr-foobar joined
17:09
ryn1x joined
|
|||
Geth | doc: 55a077d429 | (Will "Coke" Coleda)++ | htmlify.p6 Fix issue with proc async usage hanging on mac mac's TMPDIR ends with a /, so we ended up with paths like ...//... ; the external program normalized the filenames to a single slash, so nothing matched. Remove the command line option that allowed us to force it on the mac; it's now the default. Fixes #1129 |
17:11 | |
synopsebot | GH#1129 [closed]: github.com/rakudo/rakudo/pull/1129 Fix comment | 17:12 | |
17:13
ryn1x left
17:14
darkmorph left
17:22
raschipi left,
ryn1x joined
17:26
virtualsue left
17:28
virtualsue joined
17:33
gdonald left
17:34
gdonald joined
17:35
domidumont left
17:37
domidumont joined
17:43
ChoHag joined
17:45
troys joined,
domidumont left
17:47
llfourn joined
17:51
llfourn left
17:55
itaipu left
17:56
ryn1x left
17:57
Rawriful joined
18:01
domidumont joined,
greppable6 left
|
|||
bdmatatu | In this section, is '.unique' necessary (after .invert)? docs.perl6.org/type/Hash#method_push | 18:02 | |
18:02
greppable6 joined,
ChanServ sets mode: +v greppable6,
itaipu joined
|
|||
timotimo | m: my %wc = 'hash' => 323, 'pair' => 322, 'pipe' => 323; say %wc.invert.unique.perl; | 18:03 | |
camelia | (322 => "pair", 323 => "pipe", 323 => "hash").Seq | ||
18:07
espadrine joined
|
|||
bdmatatu | m: my %wc = 'hash' => 323, 'pair' => 322, 'pipe' => 323; say %wc.invert.perl; | 18:07 | |
camelia | (322 => "pair", 323 => "pipe", 323 => "hash").Seq | ||
18:08
mr-foobar left
18:10
mr-foobar joined
|
|||
timotimo | i find that usage of invert rather strange | 18:10 | |
er | 18:11 | ||
the usage of unique i mean | |||
bdmatatu | ok, me too. I'll go ahead and remove it. | 18:14 | |
Geth | doc: b5a907758b | (Brian Duggan)++ | doc/Type/Hash.pod6 Remove extraneous .unique call |
18:17 | |
synopsebot | Link: doc.perl6.org/type/Hash | ||
18:24
piojo_ joined
18:28
espadrine left
18:32
cdg joined
18:35
cdg_ left
18:36
darutoko left,
cdg left,
mr-foobar left
18:38
mr-foobar joined,
troys is now known as troys_
18:39
synopsebot left
18:40
synopsebot joined,
ChanServ sets mode: +v synopsebot
|
|||
knight__ | ok, this works ideone.com/sa8j79 ,but I do not understand why this not ideone.com/UOcLOj Can somebody explain me... | 18:40 | |
thanks :-X | 18:41 | ||
ugexe | what is `Str $currency_?` supposed to mean? | 18:42 | |
i see | 18:43 | ||
knight__ | I am calling method fun | ||
ugexe | because your new method returns the result of say("..."), which is true | 18:44 | |
knight__ | when 'new' method is not overrided It is works, but when I override it, fun method does not work | ||
Ahm | |||
18:44
aindilis joined
|
|||
knight__ | I understand | 18:44 | |
ugexe | if you use .new you need to bless attributes | ||
knight__ | thank you! | ||
I must check, what method/sub bless does :-) | 18:45 | ||
18:47
domidumont left
18:50
ryn1x joined
18:52
synopsebot left,
synopsebot joined,
ChanServ sets mode: +v synopsebot,
virtualsue left
18:54
virtualsue joined,
ryn1x left
|
|||
knight__ | ugexe: Thank you! Now, understands what is going - I guess. So bless returns my class/objects | 18:56 | |
And I have pointer to my object and I can call method/function | |||
I guess? | 18:57 | ||
TLDR; Is something life self reference? | |||
18:57
piojo_ left,
darkmorph joined
|
|||
knight__ | *like | 18:59 | |
19:01
zakharyas joined
19:02
wamba1 joined,
wamba left
|
|||
AlexDaniel` | knight__: like “self” ? | 19:04 | |
docs.perl6.org/language/terms#term_self | 19:05 | ||
19:07
mr-foobar left
|
|||
knight__ | I mean it returns pointer = like pointer to self object | 19:07 | |
method bless | |||
19:08
mr-foobar joined
19:17
darkmorph left
|
|||
tyil | anyone using vim willing te try out github.com/Tyil/vim-perl6/blob/add...l6.vim#L83 | 19:17 | |
19:22
ChoHag left
|
|||
AlexDaniel` | tyil: is there any way to have **32 converted to ³²? | 19:22 | |
tyil | not that I know, unless I add abbrev for **32 | ||
AlexDaniel` | aww | 19:23 | |
tyil: π τ and 𝑒 seem to be missing | 19:24 | ||
tyil | good ones | ||
I was considering to add an (atom) to turn into the atom icon for use with atomicints | 19:25 | ||
AlexDaniel` | yeah, although “atomic” is probably more expectable | ||
tyil | what are the ascii ways to represent the 2nd and 3rd char you gave" | 19:26 | |
?* | |||
AlexDaniel` | pi tau e | ||
m: say (pi, tau, e) | |||
camelia | (3.14159265358979 6.28318530717959 2.71828182845905) | ||
AlexDaniel` | m: say (π, τ, 𝑒) | ||
camelia | (3.14159265358979 6.28318530717959 2.71828182845905) | ||
tyil | cool | ||
AlexDaniel` | tyil: maybe consider adding unicode minus | 19:27 | |
or maybe not | 19:28 | ||
19:28
ryn1x joined
|
|||
tyil | www.fileformat.info/info/unicode/ch.../index.htm this one? | 19:28 | |
AlexDaniel` | tyil: wait, you know about this page, right? docs.perl6.org/language/unicode_ascii | ||
tyil | (i actually stole this list from the atom plugin) | 19:29 | |
AlexDaniel` | because I realize that some things are missing | ||
like ∘ | 19:30 | ||
tyil: is it possible to make ‘ "’ (space, double quote) convert to ‘ “’ and just " convert to ” ? | |||
tyil | you cant match spaces for iabbrev afaik, since spaces indicate the end of an abbreviation | 19:31 | |
19:33
ChoHag joined
|
|||
tyil | about that page, on the atomic ops | 19:35 | |
the last entry in the table isnt part of the table | |||
AlexDaniel` | the table seems to be broken yeah | ||
tyil | I can try to fix it after I add the ops to this list and push it | 19:36 | |
AlexDaniel` | tyil++ | ||
19:36
mr-foobar left
|
|||
tyil | is there a atomic-dec-fetch missing from the table? | 19:37 | |
19:38
mr-foobar joined
19:39
itaipu left
19:41
konsolebox left
|
|||
knight__ | m: say (π**π) | 19:42 | |
camelia | 36.4621596072079 | ||
tyil | oh, its not particularly missing | ||
TreyHarris | AlexDaniel`: just noticed the term doc you just linked to has a definition for Rat terms that includes numbers with a dot, but not for <1/3> forms. So what's happening there? | 19:43 | |
m: say (<3>.WHAT, <1/3>.WHAT, <3/1>.WHAT, <3.2>.WHAT) | 19:44 | ||
camelia | ((IntStr) (Rat) (Rat) (RatStr)) | ||
TreyHarris | (I'm asking, how does the constructor get dispatched?) | 19:45 | |
19:47
troys_ is now known as troys,
llfourn joined
|
|||
AlexDaniel` | TreyHarris: it's not really dispatched, it's parsed like this directly | 19:47 | |
19:47
konsolebox joined
|
|||
AlexDaniel` | TreyHarris: for example: github.com/rakudo/rakudo/blob/nom/....nqp#L3637 | 19:47 | |
TreyHarris | AlexDaniel`: ah, that makes sense. Then it doesn't really have a proper place in the docs except in Rat's own, does it? Unfortunate, as it surfaces as a higher-level feature. | 19:49 | |
m: my $x = 1 / 3; say $x.WHAT, $x.nude | |||
camelia | (Rat)(1 3) | ||
AlexDaniel` | it's a little bit different for things like < 1/3 > | 19:50 | |
when you get RatStr | |||
TreyHarris | my $x = <1 /3); say $x.WHAT, $x.nude; | ||
m: my $x = <1 /3); say $x.WHAT, $x.nude; | |||
camelia | 5===SORRY!5=== Error while compiling <tmp> Unable to parse expression in quote words; couldn't find final '>' (corresponding starter was at line 1) at <tmp>:1 ------> 3my $x = <1 /3); say $x.WHAT, $x.nude;7⏏5<EOL> expecting any o… |
||
AlexDaniel` | m: | ||
evalable6 | |||
TreyHarris | m: my $x = <1 /3>; say $x.WHAT, $x.nude; | 19:51 | |
camelia | No such method 'nude' for invocant of type 'List'. Did you mean any of these? none note in block <unit> at <tmp> line 1 |
||
19:51
setty1 left
|
|||
AlexDaniel` | m: my $x = < 1/3 >; say $x.WHAT, $x.nude; | 19:51 | |
TreyHarris | m: my $x = <1/3>; say $x.WHAT, $x.nude; | ||
camelia | (RatStr)(1 3) | ||
(Rat)(1 3) | |||
TreyHarris | gah | ||
AlexDaniel` | :D | ||
TreyHarris | that's too weird | ||
19:52
setty1 joined
19:53
llfourn left
|
|||
TreyHarris | m: my ($x, $y) = <1/3>, < 1/3 >; say $x == $y; say $x === $y; | 19:53 | |
camelia | True False |
||
TreyHarris | m: my ($x, $y) = <1/3>, < 1/3 >; say "$x and $y" | ||
camelia | 0.333333 and 1/3 | ||
TreyHarris | ooooh, my brain hurts now | ||
< n/d > form is clearly better than <n/d> for most uses where you'd use a literal, but it's not obvious unless you generally put spaces inside bracketing constructs (which in my experience most don't if the contents are very simple like 1/3) | 19:54 | ||
19:56
ChoHag left
20:01
cdg joined
20:02
ryn1x left
|
|||
geekosaur | it's known we need a better/mrore obvious syntactic construct there, but coming up with one that isn't excessively verbose is difficult :( | 20:04 | |
AlexDaniel` | well | 20:05 | |
m: say ⅓ | |||
camelia | 0.333333 | ||
AlexDaniel` | doesn't give a RatStr, but maybe it should? | ||
20:05
cdg_ joined
20:07
mr-foobar left
20:08
cdg left,
mr-foobar joined
20:11
okl joined,
st_elmo joined
|
|||
[Coke] | m: say ⅓.^name; | 20:13 | |
camelia | Rat | ||
20:13
ChoHag joined
|
|||
[Coke] | It's a numerical literal, Rat seems fine. | 20:13 | |
*numeric | |||
moritz | m: say <⅓>.^name | 20:14 | |
camelia | Str | ||
[Coke] | m: say <⅓/3>.^name | ||
camelia | Str | ||
20:20
st_elmo left
|
|||
TreyHarris | m: say ³/₁₆ | 20:24 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Bogus postfix at <tmp>:1 ------> 3say ³/₁7⏏5₆ expecting any of: infix infix stopper postfix statement end statement modifier … |
||
TreyHarris | heh | ||
so it only knows vulgar fractions | 20:25 | ||
er, vulgar fraction ligatures | |||
20:35
okl left
20:37
mr-foobar left
20:40
zakharyas left
|
|||
[Coke] | is anyone using --parallel on the doc build? seems like it's very likely to conflict with the highlighter. | 20:41 | |
20:41
mr-foobar joined
20:42
pecastro left
|
|||
gfldex | [Coke]: precomp is not threadsafe either | 20:43 | |
and that's used for caching | |||
TreyHarris | from #perl6 logs, it looks like moritz and timeless were looking at this back in June, but didn't get anywhere. I don't see anything since then. | 20:46 | |
timeless looks up | |||
TreyHarris | (the doc htmlifying parallelization, I mean) | ||
timeless | m: say ³/(₁₆) | 20:47 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Bogus postfix at <tmp>:1 ------> 3say ³/(₁7⏏5₆) expecting any of: infix infix stopper statement end statement modifier statement mo… |
||
timeless | [Coke]: anyway, TreyHarris is right, that sounds familiar | 20:48 | |
and i don't think i got very far w/ it. I suspect I still have access to the vm that hosts it | |||
but it definitely isn't something i'm spending time on | |||
(tomorrow's adventures are fighting ldap and jenkins) | |||
[Coke] | TreyHarris: ok. tempted to rip it out, but will try to fix it instead. | ||
TreyHarris | timeless: yeah, you mentioned trying to run it on 100 cores | 20:49 | |
timeless | yep, that's gcc112, the box i still use :) | ||
TreyHarris | but Moore's law is still in effect, right? So between June and now ew've had a 100x speedup anyway. Just on chips that have had since June to evolve though, so if you rebooted a lot in the meantime you may not have as much speedup. ;-) | 20:50 | |
TreyHarris thinks this is how that works | 20:51 | ||
timeless chuckles | |||
actually there was a recent argument about moore's law | |||
some pointed out that mostly we're getting more of a coore's law -- we can double computing power by doubling die count or something | 20:52 | ||
TreyHarris | "recent" meaning every year since it was proposed? yes. | ||
timeless | no | ||
an argument about whether we're still properly shrinking, or whether we're just gaining by adding cores | |||
i think intel came back and showed they could still gain by shrinking | |||
20:52
mempko left
|
|||
timeless | > gcc112 2TB 2x10x8x3.42 GHz IBM POWER8 / 256 GB RAM / IBM POWER System S822 / CentOS 7 ppc64le | 20:53 | |
-- it's actually 160 cores, but to be polite, I try to avoid using more than 100 :-) | 20:54 | ||
[Coke] | (docs) anyone mind if I remove the highlight path that doesn't use proc::async? i seem to recall we only needed it for the mac. | ||
timeless | back then, when I wasn't on gcc112, i was probably on a mac ;-) | ||
20:54
nadim left
|
|||
timeless | (these days i have a w10 laptop at home, and an mbp at work) | 20:55 | |
20:55
perlpilot left
|
|||
timeless | anyway, i'm off, happy iterating | 20:55 | |
TreyHarris | sorry, was kidding again. No, in all seriousness, I think Moore's Law "informal" form, about the speed of a general-purpose consumer CPU to carry out however many ops/sec, has already died. but we are still cramming transistor density at predicted rates right now--we won't hit fundamental issues with unknown physics for at least a few more years, I think. | 20:56 | |
s/however many/however many serial/ # important distinction | 20:57 | ||
20:59
espadrine joined
21:04
setty1 left
21:05
pecastro joined,
ryn1x joined
21:08
mr-foobar left
21:11
mr-foobar joined
21:12
pecastro left,
pecastro joined
21:14
nadim joined
21:18
notostraca is now known as TEttinger
21:21
raiph left
21:28
wamba1 left
21:31
Hotkeys joined
21:32
troys is now known as troys_
21:37
mr-foobar left
21:38
margeas left
21:39
ryn1x left,
mr-foobar joined
21:43
ryn1x joined,
margeas joined
21:46
kyan left,
lostinfog left
21:47
ryn1x left
21:50
llfourn joined
21:55
llfourn left
21:59
troys_ is now known as troys
22:05
MasterDuke joined
22:08
mr-foobar left
22:11
mr-foobar joined,
Rawriful left
22:17
ryn1x joined
22:21
ryn1x left
22:31
pmurias left
22:36
MasterDuke left,
callyalater joined
22:37
rindolf left
22:38
mr-foobar left
22:39
mr-foobar joined
|
|||
tyil | AlexDaniel`: I've looked at the broken table on the atomic ops, but in the source it looks correct | 22:39 | |
callyalater | m: sub infix:['<<'] (Str $s, Int $n) { say "$s, $n" }; "Name" << 42; | 22:42 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Unsupported use of << to do left shift; in Perl 6 please use +< or ~< at <tmp>:1 ------> 3 $s, Int $n) { say "$s, $n" }; "Name" <<7⏏5 42; |
||
callyalater | m: sub infix:['<<'] (Str $s, Str $n) { say "$s, $n" }; "Name" << "42"; | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Unsupported use of << to do left shift; in Perl 6 please use +< or ~< at <tmp>:1 ------> 3 $s, Str $n) { say "$s, $n" }; "Name" <<7⏏5 "42"; |
||
callyalater | m: sub infix:['<>'] (Str $s, Int $n) { say "$s, $n" }; "Name" <> 42; | 22:43 | |
camelia | Name, 42 | ||
callyalater | m: sub infix:['!~'] (Str $s, Int $n) { say "$s, $n" }; "Name" !~ 42; | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Unsupported use of !~ to do negated pattern matching; in Perl 6 please use !~~ at <tmp>:1 ------> 3$s, Int $n) { say "$s, $n" }; "Name" !~ 7⏏0542; |
||
geekosaur | gah | 22:48 | |
22:48
ryn1x joined
22:52
mempko joined
22:54
raschipi joined
22:55
nadim left,
nadim_ joined
22:59
Cabanossi left
23:01
Cabanossi joined
23:05
knight__ left
23:09
ryn1x left
23:17
darkmorph joined
23:37
Herby_ joined
|
|||
Herby_ | o/ | 23:37 | |
APic | \o | 23:38 | |
23:38
mr-foobar left
23:39
raiph joined
23:40
cdg joined,
cdg left
23:41
mr-foobar joined
23:44
cdg_ left
|
|||
raiph | .tell moritz comment for you at stackoverflow.com/questions/468978...1_46920109 thanks | 23:44 | |
yoleaux | raiph: I'll pass your message to moritz. | ||
23:44
troys is now known as troys_
23:54
callyalater left
23:56
MasterDuke joined
23:57
ryn1x joined
|