»ö« 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. |
|||
ugexe | maybe someone does actually want to test that, but enough to give it an "all" command? | 00:00 | |
raschipi | Well, tbrowder was just asking for it. | 00:02 | |
People also created a Task::Popular to do just that, for testing. | 00:03 | ||
ugexe | thats not ambiguous | 00:04 | |
00:05
grondilu left
00:09
Cabanossi left
00:10
rgrau left
00:11
Cabanossi joined
|
|||
ugexe | there is zef smoke, which mostly works, but it does not install anything to avoid the issues i described earlier. it does test everything, but dependencies are fulfilled with -I/path/to/dep instead of from an installation | 00:15 | |
tbrowder | ugexe: my thought was the ALL option would just install the | 00:16 | |
00:17
troys_ is now known as troys
|
|||
Zoffix | alias zefall='for i in `perl6 -MWWW -e '\''"modules.perl6.org/search.json?q=".&....say'\''`; do echo "Installing $i"; zef install "$i"; done' | 00:18 | |
tbrowder | latest which is what i'm doing at the moment (i hope). if i just ask zef ti install module X (without multiple authors), i assume the latest will be installed. | ||
00:21
MasterDuke joined
|
|||
TimToady waves vacantly from Kyoto... | 00:25 | ||
in general, .succ and .pred make little sense on enums; we only allow ++ and -- on Bool because it's more convenient for %seen{$key}++ and such | 00:28 | ||
but those should be read as "set true" and "set false", not as relying on any underlying ordering of the type | 00:30 | ||
because the idiom is relying primarily on the post-crement functionality, not the enum model | |||
seetsighing & | 00:32 | ||
AlexDaniel | another thing to consider: | 00:33 | |
m: enum Animal (Cat => 25, Dog => 42); say Cat.succ | |||
camelia | 26 | ||
Zoffix | \o | 00:34 | |
Zoffix imagines .succ/.pred stepping through the available enums | 00:35 | ||
There's an ordered list of them in one of the methods... | 00:37 | ||
00:43
Kyo91_ joined
00:48
Kyo91_ left
00:52
Possum joined
|
|||
Geth | ecosystem: paulohrpinheiro++ created pull request #366: Add Brazilian::FederalDocuments to ecosystem |
01:03 | |
01:08
llfourn joined
01:09
Cabanossi left
01:11
Cabanossi joined
01:19
BenGoldberg joined
|
|||
Geth | ecosystem/gabrielash-patch-1: 3d95475d18 | gabrielash++ (committed using GitHub Web editor) | META.list Update META.list |
01:20 | |
ecosystem: gabrielash++ created pull request #367: Update META.list |
|||
01:28
espadrine left
01:32
troys is now known as troys_
01:37
cdg joined
01:42
cdg left
01:44
ilbot3 left
|
|||
Garland_g[m] | I'm looking to run a loop infinitely with the ability to escape it at any time with a given keypress. Is there an idiomatic way to do that? | 01:47 | |
ugexe | use a promise | 01:48 | |
sacomo | you could also do "last if $k" inside your loop where $k is the keypress value. | 01:49 | |
skids | or both :-) start { (code to get a keypress) }.then({$k++}); loop { stuff; last if $k; stuff ; last if $k } | 01:53 | |
01:54
ilbot3 joined,
ChanServ sets mode: +v ilbot3
|
|||
Garland_g[m] | Thanks. | 01:58 | |
sacomo | Garland_g[m], maybe something like this glot.io/snippets/etlq6yu6jg | ||
ugexe | thats not a keypress value though | 02:00 | |
sacomo | it only captures input | ||
ugexe | or at least i understood it to be like they want to capture the keypress themselves | ||
sacomo | if you want to moitor keypresses in the background then I would use a different approach. maybe the promise. | 02:01 | |
s/moitor/monitor/ | 02:02 | ||
Garland_g[m] | In this case it's more of a timing issue. I have an audio loop that I'm playing until I hit the keypress, and then it goes on to the next track. | ||
The promise approach is working welll. | |||
sacomo | sweet | 02:03 | |
02:05
margeas left
02:08
margeas joined,
Cabanossi left
02:09
noganex_ joined
02:10
Cabanossi joined
02:12
noganex left
|
|||
AlexDaniel | is there any way to list all dependencies of a module in zef? | 02:12 | |
I'd like to get a dependency tree or something like that | 02:13 | ||
02:20
margeas left
|
|||
ugexe | AlexDaniel: i can easily add it, i just never decided how to handle the output format for deep dependencies / long names | 02:21 | |
AlexDaniel | ugexe: just a list of module names is probably ok | 02:22 | |
that'd be enough for me at least | |||
ugexe | the graph/structure is important, but i suppose that could be the eventual verbose output | 02:25 | |
02:38
Cabanossi left
02:40
cdg joined,
Cabanossi joined
02:44
cdg left
02:49
mr-foobar left
03:01
lustlife joined
03:02
Kyo91_ joined
03:07
Kyo91_ left
03:09
eliasr left
03:10
simonm left
|
|||
AlexDaniel | .seen Llfourn | 03:22 | |
yoleaux | I saw llfourn 8 Aug 2017 16:12Z in #perl6-dev: <llfourn> nine: cheers :) | 03:23 | |
AlexDaniel | llfourn: ping? :) | ||
.tell llfourn maybe you can take a look at RT #132085 | 03:26 | ||
synopsebot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=132085 | ||
yoleaux | AlexDaniel: I'll pass your message to llfourn. | ||
03:32
skids left
03:37
pyrimidine left,
pyrimidi_ joined
|
|||
ugexe | AlexDaniel: added `zef depends $identity` to 0.1.28 | 03:37 | |
AlexDaniel | \o/ | ||
ugexe: thanks | |||
03:38
khw left
03:39
Cabanossi left,
Cabanossi joined
03:47
troys_ is now known as troys
|
|||
llfourn | AlexDaniel: cheers I'll take a look | 03:51 | |
yoleaux | 03:26Z <AlexDaniel> llfourn: maybe you can take a look at RT #132085 | ||
synopsebot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=132085 | ||
AlexDaniel | llfourn: thanks! | 03:52 | |
03:54
pyrimidi_ left
03:55
pyrimidine joined
04:00
BenGoldberg left,
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
llfourn | AlexDaniel: I responded to the RT please go ahead and close it :) | 04:02 | |
AlexDaniel | llfourn: I see. OK, thanks! | 04:03 | |
04:05
pyrimidine left
04:06
pyrimidine joined
04:07
pyrimidine left,
pyrimidine joined
04:08
pyrimidine left,
Cabanossi left
04:09
pyrimidine joined,
Cabanossi joined
04:13
pyrimidine left
04:14
pyrimidine joined
04:18
pyrimidi_ joined,
pyrimidine left
04:21
pyrimidi_ left,
pyrimidine joined
04:24
pyrimidine left,
pyrimidi_ joined
04:27
lustlife left
04:29
pyrimidi_ left,
pyrimidine joined
04:34
pyrimidine left
04:35
pyrimidine joined
04:37
Cabanossi left
04:39
pyrimidine left,
Cabanossi joined
04:40
pyrimidine joined
04:44
pyrimidine left
04:45
pyrimidine joined,
xtreak joined
04:47
M-Illandan left
04:50
pyrimidine left
04:51
M-Illandan joined
04:52
aborazmeh left
04:53
aborazmeh joined,
aborazmeh left,
aborazmeh joined
04:54
pyrimidine joined
04:55
geekosaur left,
todd joined,
_28_ria left
04:56
cdg joined
|
|||
todd | Hi All. Sorry for such a dump question, but google inundates me with Perl 5 hits when I ask this. How do I get the name of my program? | 04:56 | |
04:57
_28_ria joined
04:58
geekosaur joined,
pyrimidine left
04:59
mr-foobar joined
05:00
cdg left,
xtreak left
05:01
xtreak joined
|
|||
todd | I think I found it: $*PROGRAM-NAME | 05:02 | |
05:02
geekosaur left
05:03
Kyo91_ joined
05:04
lustlife joined,
todd left
05:05
pyrimidine joined,
xtreak left
05:06
yoleaux left
05:07
yoleaux joined,
ChanServ sets mode: +v yoleaux,
Kyo91_ left,
geekosaur joined
05:09
Cabanossi left,
pyrimidine left,
Cabanossi joined
|
|||
Geth | ecosystem: 3d95475d18 | gabrielash++ (committed using GitHub Web editor) | META.list Update META.list |
05:11 | |
ecosystem: d73d30af51 | (Jonathan Stowe)++ (committed using GitHub Web editor) | META.list Merge pull request #367 from perl6/gabrielash-patch-1 Update META.list |
|||
ecosystem: bcc602fc02 | (Paulo Henrique Rodrigues Pinheiro)++ | META.list Add Brazilian::FederalDocuments to ecosystem See github.com/paulohrpinheiro/Brazili...lDocuments |
05:12 | ||
ecosystem: 2789971e87 | (Jonathan Stowe)++ (committed using GitHub Web editor) | META.list Merge branch 'master' into paulohrpinheiro |
|||
ecosystem: 9c8805b20c | (Jonathan Stowe)++ (committed using GitHub Web editor) | META.list Merge pull request #366 from paulohrpinheiro/paulohrpinheiro Add Brazilian::FederalDocuments to ecosystem |
|||
05:14
adu joined
05:17
pyrimidine joined
05:21
pyrimidine left,
adu left
05:25
pyrimidine joined
05:26
xtreak joined,
aborazmeh left,
araujo left
05:27
luis left,
araujo joined,
araujo left,
araujo joined,
hythm left,
hythm joined
05:30
luis` joined
05:34
P6steve left
05:40
troys left
05:42
wamba joined
05:45
nohuhu left
05:48
_28_ria left
05:49
Xal left
05:51
Skarsnik joined,
llfourn left,
_28_ria joined
05:57
setty1 left
06:02
Skarsnik_ joined
06:05
Skarsnik left
06:08
Skarsnik_ is now known as Skarsnik
06:12
orac1e_ left,
domidumont joined
06:15
Skarsnik left
06:20
ShalokShalom left
06:21
raschipi left
06:22
domidumont left
|
|||
u-ou | what should I do about a failed test when trying to zef install something? | 06:23 | |
06:23
domidumont joined
06:24
simonm joined,
domidumont left
|
|||
AlexDaniel | u-ou: which module? | 06:25 | |
u-ou: normally you'd just create an issue in the module repo | |||
06:26
domidumont joined
|
|||
u-ou | NCurses | 06:26 | |
AlexDaniel | ah | ||
u-ou | it worked on macos but not whatever the rakudo star docker image is running on | 06:27 | |
AlexDaniel | u-ou: github.com/azawawi/perl6-ncurses/issues/16 | ||
u-ou | ahh. I see. | ||
AlexDaniel | actually, you're probably seeing some other issue | ||
u-ou | yeah, I'm on 2017.07 | 06:28 | |
AlexDaniel | it should work on 2017.07 and 2017.08 | ||
but not on HEAD | |||
u-ou | how can I find out what went wrong? | 06:29 | |
AlexDaniel | u-ou: what's the error? | ||
u-ou | it just says Aborting due to test failure: NCurses:ver('0.6.2'):auth('github:azawawi') (use --force-test to override) | 06:30 | |
and then a stack trace | |||
AlexDaniel | u-ou: what's the output of perl6 --version ? | 06:31 | |
06:31
knobo joined
|
|||
u-ou | This is Rakudo version 2017.07 built on MoarVM version 2017.07 | 06:35 | |
implementing Perl 6.c. | |||
AlexDaniel | u-ou: hmmm | 06:45 | |
u-ou | is there somewhere I can look that tells what went wrong? zef logs or something? | ||
06:45
mr-foobar left
|
|||
u-ou | I'm doing this on the rakudo star docker image. I git cloned zef so it should be easy to reproduce. | 06:46 | |
06:46
_28_ria left
|
|||
u-ou | maybe I'm using the wrong version of zef or something | 06:47 | |
AlexDaniel | u-ou: you did get Test Summary Report, right? When zef install failed | ||
u-ou: and if so, what file failed? | 06:48 | ||
u-ou: oh. maybe not. Try zef --verbose install NCurses | 06:49 | ||
06:51
ShalokShalom joined
06:52
mr-foobar joined
|
|||
u-ou | sec | 06:55 | |
06:56
_28_ria joined
07:00
xgorex joined,
xgorex left
07:02
xgorex joined
|
|||
u-ou | it's not really saying much | 07:03 | |
AlexDaniel | u-ou: indeed | 07:06 | |
u-ou: what about | |||
07:06
darutoko joined
|
|||
AlexDaniel | git clone github.com/azawawi/perl6-ncurses.git | 07:07 | |
u-ou | pastebin.com/RKgMXuef | ||
AlexDaniel | PERL6LIB=lib perl6 t/02-basic.t | ||
07:07
Cabanossi left
|
|||
AlexDaniel | (after cd-ing into the cloned repo) | 07:07 | |
u-ou | hmm. it passed. | 07:09 | |
07:10
Cabanossi joined
|
|||
AlexDaniel | u-ou: relevant comment rt.perl.org/Ticket/Display.html?id...xn-1490032 | 07:10 | |
but it's weird because you should not be seeing this issue on rakudo 2017.07 | |||
the change that introduced the problem happened just 10 days ago | 07:11 | ||
u-ou | am I trapped in a time warp? | 07:12 | |
weird | 07:13 | ||
well. must be a different problem, idk. | 07:14 | ||
AlexDaniel | u-ou: you can install the module anyway | 07:16 | |
u-ou: zef install --force NCurses | 07:18 | ||
07:20
nadim joined
|
|||
nine | Worth reading: tomdale.net/2017/09/compilers-are-...rameworks/ | 07:21 | |
u-ou | thanks | ||
jast | I kind of wish more people "aggressively" optimized their web code by deploying less of it in the first place | 07:22 | |
07:22
astj_ left,
astj joined
|
|||
jast | writing and bundling, too | 07:22 | |
nine | It's about Javascript, but it easily translates to backend code as well. What if your router would actually compile optimized code for the routes you defined? | 07:23 | |
This also reminds me of nginx: its configuration is not interpreted. It actually compiles the configuration to byte code which runs on nginx' VM. | |||
jast | I believe load balancers already do this | ||
nine | Forced by the decision to write Perl 6 in Perl 6, it has become a language that's really nice for writing compilers. This could give us an edge in that game :) | 07:24 | |
TEttinger | once the whole... optimizing thing is added to complete the phrase optimizing compiler | 07:38 | |
07:44
dakkar joined,
xtreak left
07:54
xtreak joined
|
|||
jast | I think what the article is describing is going to happen, but if you keep piling frameworks and libraries on top of each other, only whole program optimization will help cut that back down, and it's not necessarily *that* smart :) | 08:02 | |
08:11
knobo left
08:13
knobo joined,
sproctor joined
08:14
xtreak left,
xtreak joined
08:16
xtreak left
08:17
xtreak joined
08:21
xtreak left
08:22
Cabanossi left
08:25
Cabanossi joined
08:31
robertle_ joined
08:36
mattr joined
08:39
knobo left
|
|||
mattr | p6: sub jojo (Str $s, Str $salu) { say "$salu $s"; } | 08:39 | |
camelia | ( no output ) | ||
mattr | p6: multi sub cap (Str $s, Str $salu) { say "$salu $s"; } | ||
camelia | ( no output ) | ||
mattr | p6: multi sub cap (Str $s, Str $salu) { say "All's well, $salu $s"; } | 08:40 | |
camelia | ( no output ) | ||
mattr | p6: cap "Tom", "Captain" | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Undeclared routine: cap used at line 1. Did you mean 'cas', 'map'? |
||
lizmat | mattr: p6: is not a REPL: it forgets everything between invocations | ||
mattr | Hi lizmat, I am wondering is this a bug in perl6 repl? When I redefine a multi sub with same signature I get something like this: Ambiguous call to 'jojo'; these signatures all match: :(Str $s, Str $salu) :(Str $s, Str $salu) in block <unit> at <unknown file> line 1 | 08:41 | |
I expected to be able to redefine the sub for that signature.. indeed thought that is what had been happening until now. | 08:42 | ||
lizmat | m: multi a() {}; multi a() {}; a | ||
camelia | Ambiguous call to 'a'; these signatures all match: :() :() in block <unit> at <tmp> line 1 |
||
08:42
xtreak joined
|
|||
lizmat | one could argue that should be a compile-time error | 08:42 | |
08:43
sftp left,
knobo joined
|
|||
mattr | Hi lizmat, I see this is how perl6 programs work too so not in repl or the irc p6. Thanks, I am just trying to learn. | 08:45 | |
08:48
sftp joined
|
|||
mattr | @lizmat followup question please. In the repl I create a sub and then tried this: undefine &unwantedsub Cannot modify an immutable Sub (sub unwantedsub () | 08:51 | |
lizmat | yeah, you cannot easily remove subs | 08:52 | |
mattr | Sub inherits from Mu so I wondered why it is immutable. Then the docs for undef say "There is no undef in Perl 6. You can't undefine a function" so what is happening when I call undefine? | ||
lizmat | they're basically immutable (as the message says) | ||
sub undefine(\x) { x = Nil } | 08:53 | ||
is basically what happens | |||
08:53
eliasr joined
|
|||
lizmat | m: undefine(42) | 08:53 | |
camelia | Cannot modify an immutable Int (42) in block <unit> at <tmp> line 1 |
||
lizmat | basically the same | ||
fwiw, I think undefine() is a P5 relic that should be removed | 08:54 | ||
it gives people the wrong idea :-) | |||
u-ou | I like perl 6 better tha perl 5 now | ||
than | |||
08:54
lustlife left
|
|||
mattr | Thanks. Sorry for taking a trip into the rabbit hole! ;) | 08:55 | |
08:56
cdg joined
|
|||
lizmat | mattr: no worries, sorry you did | 08:57 | |
need to be afk for a few hours& | 08:58 | ||
u-ou | bye | ||
mattr | thanks and best regards. signing off now. bye! | ||
08:58
mattr left
|
|||
u-ou | bye | 08:58 | |
it looks like im all alone here! | 08:59 | ||
09:01
cdg left
09:02
jonas1 joined
09:04
Kyo91_ joined
09:08
Kyo91_ left
09:09
Cabanossi left
09:10
Cabanossi joined
09:13
rindolf joined
09:17
rmck joined
|
|||
nadim | no you are not | 09:18 | |
u-ou | :) | 09:19 | |
09:34
margeas joined
09:36
ChoHag left
09:40
rmck left
09:42
ChoHag joined
|
|||
Ulti | out of interest is there a way to define unicode operators without actually having to use unicode? something akin to sub infix:<"\c[SHRUG]"> {} | 09:44 | |
09:47
telex left,
pmurias joined
09:48
rindolf left,
telex joined,
okl joined
|
|||
pmurias | nine: once slang work without nqp bits sticking out everywhere we will have advantage in that web-frameworks-as-compilers will be just modules in Perl 6 | 09:49 | |
* slangs | |||
jnthn | Ulti: A bit like that but since <...> is literal inside it won't work that way | ||
Ulti: Try infix:<< "\c[SHRUG]" >> or some such | |||
Ulti | aha | 09:50 | |
09:50
xgorex left
10:01
rindolf joined
10:02
Kyo91_ joined
10:07
Kyo91_ left
|
|||
Zoffix | Anyone in Toronto and wanna do a lightning talk on Perl, Rakudo, or anything else? www.meetup.com/Toronto-Perl-Monger...243346657/ | 10:21 | |
10:23
Cabanossi left
|
|||
Zoffix | Maybe I can do a Rakudo IO one. It's probably the one topic I can talk about without getting impostor syndrome :P | 10:24 | |
10:25
Cabanossi joined
10:26
ShalokShalom_ joined
10:29
ShalokShalom left
10:30
|oLa| joined,
mr-foobar left
|
|||
Zoffix | Actually, last year a few people telecommuted. I think you don't have to be in Toronto. | 10:32 | |
10:32
mr-foobar joined
|
|||
robertle_ | should docs.perl6.org/language/regexes#Adverbs mention :P5 ? | 10:33 | |
10:38
zakame joined
|
|||
Zoffix | robertle_: yeah | 10:41 | |
Would you add it, please? | |||
robertle_: just need to edit this file: github.com/perl6/doc/edit/master/d...gexes.pod6 | |||
robertle_ | jup, will do | 10:44 | |
Zoffix | robertle_++ Thanks! | ||
Zoffix decides not to do a talk | 10:45 | ||
It's hard to understand me when I speak. | 10:46 | ||
MasterDuke | i thought that one you did a while ago was fine (i think for some toronto thing also) | ||
Zoffix | This? www.youtube.com/watch?time_continu...WuxwurtALc | 10:48 | |
10:49
Ven`` joined,
TEttinger left
10:50
vendethiel- left
10:51
okl left
|
|||
MasterDuke | yep | 10:51 | |
Zoffix | Ok, then. I'll sign up for the IO talk. 10mins ain't gonna kill me :) | 10:56 | |
11:03
wamba left
11:04
wamba joined
11:08
Cabanossi left
11:10
Cabanossi joined
11:11
titsuki left
11:16
sproctor left
|
|||
Zoffix | .ask moritz Is there an easy way to build a PDF out of your book's sources? I think reading a PDF on the bus and later making corrections to markdown works out best for me. I think I can get a PDF off leanpub, but I'd like to get one freshly-squeezed | 11:22 | |
yoleaux | Zoffix: I'll pass your message to moritz. | ||
moritz | Zoffix: leanpub builds it for me | 11:23 | |
yoleaux | 11:22Z <Zoffix> moritz: Is there an easy way to build a PDF out of your book's sources? I think reading a PDF on the bus and later making corrections to markdown works out best for me. I think I can get a PDF off leanpub, but I'd like to get one freshly-squeezed | ||
moritz | Zoffix: I can either give it to you once, or give you an invitation to a dropbox folder where it's built all the time | ||
Zoffix | moritz: I'll have a go at building from markdown. Just thought maybe you already had a command handy for that | 11:25 | |
11:25
skids joined
|
|||
moritz | Zoffix: it's a bit of an enhanced thingy; plain pandoc works partially, but for example the image captions don't work | 11:26 | |
Zoffix | moritz: ok, then I'll go with give it to me once option. | 11:27 | |
[email@hidden.address] if you need it | 11:29 | ||
Zoffix steps away for a bit | |||
moritz | Zoffix: sent | 11:33 | |
11:33
piojo joined
11:38
sproctor joined
|
|||
Zoffix | Thanks! | 11:39 | |
Zoffix decides again not to do the talk; if anyone was keeping track :) | 11:40 | ||
lizmat tries to persuade Zoffix to give it anyway | |||
but only a little | 11:41 | ||
Zoffix | m: <go not-go>.pick.say | 11:42 | |
camelia | not-go | ||
Zoffix | The Universe has spoken :p | 11:43 | |
Zoffix goes into isolation until next week to continue learning C and proofreading moritz++ book :) | |||
lizmat | m: <go not-go>.pick.say | 11:46 | |
camelia | go | ||
lizmat | m: <go not-go>.pick.say | ||
camelia | not-go | ||
lizmat | ok, 2 out of 3 :-) | ||
11:50
vendethiel- joined
11:51
ShalokShalom_ left,
ShalokShalom joined
11:52
Ven`` left
12:00
zakame left
12:03
rick_ joined
12:05
mr-foobar left
12:08
Cabanossi left
12:09
zakame joined
12:10
Cabanossi joined,
rick_ left
12:12
zakame left
12:13
xtreak left
12:15
xtreak joined
12:16
xtreak left
12:18
mr-foobar joined
|
|||
piojo | Hey, do y'all have any advice about how manage the different versions of rakudo/nqp/moar when doing a git bisect to find a bad commit? | 12:32 | |
yoleaux | 12 Sep 2017 12:10Z <[Coke]> piojo: - if you use rakudo's Configure.pl --gen-nqp it will automatically insure you have the appropriate version of nqp available. (it won't update if it finds a version that is new enough) | ||
piojo | oh! Coke already answered than! | ||
.tell Coke thanks for the answer | 12:33 | ||
yoleaux | piojo: I'll pass your message to Coke. | ||
12:37
ShalokShalom left
12:38
ShalokShalom joined
|
|||
piojo | out of curiosity, I assume implementing "-i" wouldn't be ridiculously hard, would it? just hard? | 12:40 | |
12:42
ShalokShalom left
12:43
ShalokShalom joined
|
|||
perlpilot | piojo: are you volunteering? :) | 12:46 | |
piojo | perlpilot: I'd like to | 12:47 | |
perlpilot | Cool. As far as using P6 for one-liners, '-i' is a conspicuous absence. | ||
piojo | it seems like if $*ARGFILES, -n, and -p are implemented, the pieces are there | 12:48 | |
I'll do some reading about settings and see if there's anything that gets in my way | 12:49 | ||
12:54
pilne joined
|
|||
MasterDuke | piojo: btw, if you're bisecting rakudo, there's a bot that'll do that for you | 12:54 | |
bisectable6: help | |||
bisectable6 | MasterDuke, Like this: bisectable6: old=2015.12 new=HEAD exit 1 if (^∞).grep({ last })[5] // 0 == 4 # See wiki for more examples: github.com/perl6/whateverable/wiki/Bisectable | ||
[Coke] | leont++ # just read the backscroll on the prove issue. | ||
piojo | MasterDuke: thanks, that'll be helpful in the future :) Buf for now, I want to debug broken terminal interaction in the REPL within cygwin | 12:55 | |
I bet it was the recent change to output buffering, so I can start by reverting that... but not until I'm at work and have a windows box nearby | 12:56 | ||
(the repl seems to just hang in cygwin, but in cmd.exe it works fine) | 12:58 | ||
err, I mean with rlwrap. because the repl ALWAYS kills the terminal without rlwrap. (We should really add something about that to the documentation...) | 12:59 | ||
jnthn | Is this a normal Windows build being used from cygwin? | ||
piojo | jnthn: yes, built from either plain source or rakudobrew | 13:00 | |
jnthn | (Since afaik you can't actually build MoarVM on cygwin, because libuv until recently wouldn't build there either, and we didn't bump to that libuv yet, though will after the next release) | ||
piojo | jnthn: oh, full cygwin support is coming? That's very exciting! | ||
but it's a normal windows build that has multiple problems doing its REPL in cygwin | 13:01 | ||
jnthn | piojo: Well, more like: one big blocker is out of the way | ||
piojo | jnthn: gotcha. I'll be patient, and maybe try to contribute to the things that are within my ability :) | 13:02 | |
13:03
Ven`` joined
|
|||
jnthn | That would be most welcome. :) | 13:03 | |
13:05
vendethiel- left
13:06
mr-foobar left
13:07
Cabanossi left
13:08
mcmillhj joined
13:10
Cabanossi joined
13:11
knobo left
13:12
mr-foobar joined
13:15
cdg joined
13:17
knobo joined
13:20
[particle] left
13:21
[particle] joined,
cdg_ joined
13:25
cdg left
13:29
pyrimidine left,
pyrimidi_ joined
13:32
knobo left
13:35
knobo joined
13:36
mr-foobar left
13:37
Cabanossi left
13:39
mr-foobar joined
13:40
Cabanossi joined
13:43
timo1 joined
|
|||
[Coke] | piojo: note that my comment is on a fresh install, or when you're always just upgrading. if you go backwards in time and build, you might end up with a too-new nqp | 13:44 | |
13:47
replacementimo left
13:57
ruoso___ left
|
|||
piojo | Coke: I figured. I'll use the flag, and delete the nqp repo and install if I get a version error anyway. | 13:57 | |
oh, I saw there's also --gen-moar. I think I'm set :) | 13:58 | ||
14:05
mr-foobar left
14:08
AlexDaniel left,
AlexDaniel joined
14:09
mr-foobar joined
14:13
pyrimidi_ left,
pyrimidine joined
14:15
ShalokShalom left
14:23
Cabanossi left
14:24
raschipi joined
14:25
Cabanossi joined
14:26
Kyo91_ joined
|
|||
BooK | lizmat: ping | 14:29 | |
14:31
ruoso___ joined
|
|||
lizmat | pong | 14:32 | |
APic | B-) | 14:33 | |
14:36
knobo left
14:37
mr-foobar left
|
|||
BooK | lizmat: I did dump a wall of text on you in private :-) | 14:37 | |
14:41
mr-foobar joined
|
|||
lizmat | BooK: then why don't you answer my /privmsg ? :-) | 14:42 | |
14:51
ritre joined
14:53
domidumont left
14:56
knobo joined
14:57
pilne left
14:58
Ven`` left
15:01
Ven`` joined
15:04
Skarsnik joined
|
|||
Skarsnik | Hello | 15:04 | |
15:06
knobo left
15:10
salva left
15:11
llfourn joined
15:14
troys joined
|
|||
raschipi | Hi | 15:17 | |
APic | Hi | 15:18 | |
BooK | lizmat: because I don't see it? | 15:29 | |
tyil | anyone have some time to give feedback on www.tyil.work/tutorials/getting-pe...ry-pi.html ? | 15:30 | |
(its a small tutorial on getting a fresh pi up and running with perl 6, to make it easy for beginners to try out perl) | 15:31 | ||
15:32
Possum left
15:33
Possum joined
15:34
leont left,
sena_kun joined,
koto joined
15:35
Skarsnik_ joined
15:36
mr-foobar left
15:37
Cabanossi left
15:38
mr-foobar joined
15:39
Skarsnik left
15:40
Cabanossi joined
15:42
Skarsnik_ is now known as Skarsnik,
koto left,
sena_kun left
15:43
haxmeister joined
|
|||
haxmeister | is there a module in the repo for writing excel files? | 15:44 | |
yoleaux | 21 May 2017 00:58Z <b2gills> haxmeister: If you want to see Perl 6 features misused have a look at my code golf entries codegolf.stackexchange.com/users/1...ab=answers | ||
haxmeister | I found XLSX::Writer but zef can't see it.. | 15:45 | |
15:45
khw joined
15:51
knobo joined
|
|||
raschipi | haxmeister: Download it and have zef install it from the directory directly. | 15:52 | |
haxmeister | ok ty | ||
15:55
timo1 left
|
|||
BooK | is there a more idionatic way to write: my %h = map { $_ => $i++ }, @keys; | 15:59 | |
especially without the intermediate $i value | 16:00 | ||
16:00
troys is now known as troys_,
sena_kun joined
|
|||
jnthn | $++ | 16:01 | |
moritz | my %h = @keys Z=> 0..* | ||
BooK | nice | ||
lizmat | m: dd %h = <a b c>.antipairs | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Variable '%h' is not declared at <tmp>:1 ------> 3dd 7⏏5%h = <a b c>.antipairs |
||
lizmat | m: dd my %h = <a b c>.antipairs | 16:02 | |
camelia | Hash %h = {:a(0), :b(1), :c(2)} | ||
jnthn | hah, win :) | ||
moritz | I thought something might that might exists, but I thought .vk instead of .kv :-) | 16:03 | |
lizmat | well, that would be cheaper still | ||
and yes, .vk has been on my mind a few times, first time around 4 years ago already I think | |||
16:03
knobo left
16:08
Cabanossi left
16:10
Cabanossi joined
|
|||
BooK | if I create an enumeration with enum Foo < a b c >, it it possible to add a method to it after that? | 16:20 | |
timo | m: enum Foo < a b c >; augment class Foo { method hello { say "hi" } }; a.hello | 16:21 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> augment not allowed without 'use MONKEY-TYPING' at <tmp>:1 ------> 3enum Foo < a b c >; augment class Foo7⏏5 { method hello { say "hi" } }; a.hello expecting any of: generic role |
||
timo | m: use MONKEY-TYPING; enum Foo < a b c >; augment class Foo { method hello { say "hi" } }; a.hello | ||
camelia | hi | ||
BooK | nice | ||
perlpilot | BooK: why would you want this though? | ||
jnthn | I think you can use the does trait to compose a role into an enum | 16:22 | |
BooK | for testing | ||
jnthn | Which would avoid the need for the augment | ||
timo | m: role greeting { method hello { say "hi" } }; enum Foo does greeting < a b c >; a.hello | ||
camelia | hi | ||
timo | cool, jnthn++ | ||
16:26
leont joined
16:31
dakkar left,
sproctor left
16:32
knobo joined,
sena_kun left
16:34
mcmillhj left
16:35
ChoHag left
16:36
robertle_ left,
mr-foobar left
16:37
knobo left
16:38
mr-foobar joined
16:39
mcmillhj joined
16:41
ChoHag joined
16:44
mcmillhj left
16:46
knobo joined
16:48
dubi0us joined
16:50
dubi0us is now known as numin0us
16:51
knobo left
16:55
numin0us left,
numin0us joined
16:56
mcmillhj joined
|
|||
ugexe | i just switched a bunch of zef stuff from Proc to Proc::Async, so if anyone sees any strange behavior in v0.1.29+ please let me know | 16:56 | |
16:57
domidumont joined
16:58
nohuhu joined
17:07
piojo left
|
|||
haxmeister | my zef is all messed up on this windows machine | 17:07 | |
Failed to update messages when I try to zef update | 17:08 | ||
17:08
Cabanossi left
17:09
troys_ is now known as troys
17:10
Cabanossi joined
|
|||
haxmeister | Failed to update cpan m https//raw.githubusercontent.com/ugexe/Perl6-ecosystems/master/cpan.json | 17:11 | |
timo | how did the : disappear | 17:15 | |
haxmeister | mirror: | ||
dunno | |||
Failed to update cpan mirror: | 17:16 | ||
Failed to update cpan mirror: https: | |||
I'm in cygwin man.. I dunno | |||
17:16
skids left,
numin0us left
17:17
numin0us joined
17:18
ShalokShalom joined
|
|||
leont | Is there an ordered map implementation for perl6? | 17:18 | |
17:20
kyan joined
17:22
numin0us left
|
|||
Skarsnik | sort ? HashMap? | 17:22 | |
*Set | |||
17:23
kyan left
17:24
numin0us joined
|
|||
ugexe | haxmeister: ive never used cygwin. i'll try and setup such an env, but it'll take some time | 17:24 | |
17:25
pyrimidine left
|
|||
haxmeister | ugexe: I'm only using cygwin to ssh to this irssi instance on my server | 17:26 | |
17:26
pyrimidine joined
|
|||
haxmeister | my perl6 install should be standard windows installation on this machine | 17:26 | |
though I'm not sure why it won't update.. | 17:27 | ||
17:28
numin0us left
|
|||
tyil | have you tried turning it off and on again | 17:29 | |
its amazing how many bugs in windows get "fixed" with that | 17:30 | ||
haxmeister | lmao | ||
17:30
pyrimidine left
|
|||
haxmeister | I considered punching the monitor.. but I restrained myself | 17:30 | |
17:31
setty1 joined
|
|||
ugexe | you could try `zef nuke StoreDir` then see if the update works. if not, then zef is failing to find a viable adapter (program) to download with | 17:31 | |
haxmeister | still no work | 17:32 | |
17:32
pyrimidine joined
|
|||
ugexe | what is your version of zef? shown in identity field of `zef info zef` | 17:33 | |
17:33
nadim left
|
|||
haxmeister | ver<0.1.29> | 17:34 | |
ugexe | ah that is the latest version | ||
17:35
konsolebox left
|
|||
leont | I should have phrased better, I'm looking for something like insertion order | 17:36 | |
ugexe | i think i know where to look, but can you paste the output of `zef update` after running `set ZEF_PLUGIN_DEBUG=1` ? (run `set ZEF_PLUGIN_DEBUG=` after to disable it) | ||
17:36
pyrimidine left,
pyrimidine joined
|
|||
haxmeister | paste.pound-python.org/show/MxF0Fm...NtB2FKNpz/ | 17:39 | |
ugexe: ^ | |||
17:40
pyrimidine left
17:41
pyrimidine joined
|
|||
timo | not sure why it fails after saying that pswebrequest works | 17:41 | |
17:42
konsolebox joined
17:45
pyrimidine left
17:46
numin0us joined,
DerAlex joined
17:47
jonas1 left
|
|||
ugexe | haxmeister: what files are in C:\Users\jday\.zef\store and its subdirectory? | 17:48 | |
17:49
numin0us left
|
|||
ugexe | i presume there are only 2 or 3 | 17:50 | |
or none | |||
only guess right now is maybe file locks aren't working properly? i'm not personally able to reproduce on a windows vm | 17:52 | ||
17:53
numin0us joined,
|oLa| left
|
|||
ugexe | i mean it also fails to fetch the git repo version of the ecosystem after the powershell download attempt fails | 17:55 | |
17:56
pyrimidine joined
17:59
pyrimidi_ joined
18:00
pyrimidine left
|
|||
ugexe | it must be something with file locks, because zef was able to install itself (which takes a path that has no file locks) | 18:00 | |
but why wouldn't i be able to reproduce it? | 18:01 | ||
18:03
pyrimidi_ left
18:06
mr-fooba_ joined
18:07
mr-foobar left
18:08
Cabanossi left
18:09
pyrimidine joined
|
|||
ugexe | one way to check would be to comment out all lines in sub lock-file-protect except the one with `code()` github.com/ugexe/zef/blob/403fb9f7...em.pm6#L54 but you'd have to `zef uninstall zef`, clone zef, edit that file, then see if `perl6 -I. bin/zef update` then works | 18:10 | |
18:10
Cabanossi joined
18:15
skids joined
|
|||
haxmeister | MANIFEST.zef and 3 folders | 18:15 | |
18:15
headcase joined
|
|||
haxmeister | folders are cpan, p6c, and Perl6-ecosystem.git and all are empty | 18:16 | |
18:17
headcase_ joined
|
|||
haxmeister | ugexe: maybe I can just uninstall zef and start over from scratch with it? | 18:17 | |
or maybe I should be running these commands in cygwin instead of regular windows command line | 18:18 | ||
? | |||
18:18
numin0us left
|
|||
haxmeister | nope.. cygwin don't see perl6 | 18:18 | |
18:19
zakharyas joined
18:21
headcase left
18:23
cdg joined
|
|||
ugexe | does `cmd.exe /c git --help` (type this entire thing into command line) show git help? | 18:23 | |
haxmeister | paste.pound-python.org/show/SlAdeq...rIikZIPiO/ | ||
tried to reinstall... I deleted /users/jday/zef which you can't see | |||
ugexe | can you run with --debug flag to get test output? | 18:24 | |
haxmeister | ok | ||
18:25
headcase_ left
18:26
headcase joined,
cdg_ left
|
|||
haxmeister | paste.pound-python.org/show/eCagte...vODikvA8u/ | 18:26 | |
ugexe | hmmm, its failing to find prove even | ||
haxmeister | well this is windows.. so it may be easier to remove everything thoroughly and reinstall from scratch proper | 18:27 | |
at least I thought | |||
wow.. trying to uninstall again says | 18:30 | ||
18:31
headcase left
|
|||
ugexe | did `cmd.exe /c git --help` show git help? | 18:31 | |
haxmeister | brb got business to deal with | 18:34 | |
ugexe | its looking like you're not getting the same env/path when the processes get spawned (since it cant see git, prove, or perl6 when zef itself tries to launch them) | 18:36 | |
i almost wonder if you launch zef from a different command prompt, such as `x86 Native Tools Command Prompt` (or whatever variant comes with your version of MSVC) if it would start working | 18:37 | ||
haxmeister | reinstalling latest perl6 | ||
Rakudo Star 2017.07 | |||
18:37
headcase joined
18:38
cdg_ joined
|
|||
AlexDaniel | leont: what about ArrayHash module? | 18:40 | |
18:40
cdg__ joined,
zakharyas left
|
|||
AlexDaniel | buggable: eco ArrayHash | 18:40 | |
buggable | AlexDaniel, ArrayHash 'An array in a hash in an array... like a turducken': github.com/zostay/perl6-ArrayHash | ||
leont | The description confused me, but it might be what I want | 18:41 | |
18:41
mcmillhj left,
cdg left
18:42
cdg_ left,
mcmillhj joined
18:44
cdg__ left
18:47
zakharyas joined
18:49
okl joined
18:58
raschipi left,
Rawriful joined
18:59
pyrimidine left,
domidumont left,
pyrimidine joined
19:00
troys is now known as troys_,
zakharyas left
19:04
pyrimidine left
19:10
pmurias left
19:16
pyrimidine joined
19:21
darutoko left,
pyrimidine left
19:24
tabv joined
19:25
pyrimidine joined
19:26
troys_ is now known as troys,
pyrimidine left
19:27
pyrimidine joined
19:31
knobo joined,
pyrimidine left,
andrzejku joined
19:32
pyrimidine joined,
andrzejku left
19:33
ritre left,
andrzejku joined
19:35
pyrimidine left,
pyrimidine joined
19:36
knobo left
19:38
pyrimidine left,
xinming joined
19:39
pyrimidine joined
|
|||
haxmeister | ugexe: uninstalled, reinstalled Perl6 rakudo to the latest and then zef reinstalled fine and updates fine | 19:39 | |
ugexe | haxmeister: cool, glad you were able to solve it | 19:41 | |
19:41
xinming_ left,
mcmillhj left
19:42
mcmillhj joined
19:43
pyrimidine left
|
|||
haxmeister | now just need to find and figure how to install a module for making excel files | 19:43 | |
zef search doesn't see anything | 19:44 | ||
ugexe | do you know if one exists already? | 19:46 | |
19:46
skids left
|
|||
haxmeister | found 2 | 19:46 | |
github.com/jmcnamara/excel-writer-xlsx | 19:47 | ||
19:47
pyrimidine joined
|
|||
haxmeister | this one looks good because it doesn't say I need to install an additional binary | 19:47 | |
ugexe | that is perl 5 | ||
haxmeister | github.com/evanmiller/XLSX-Writer\ | 19:48 | |
github.com/evanmiller/XLSX-Writer | |||
will have to be that one then | |||
I already see problems getting it to find the library :( | 19:49 | ||
moritz | or you can use Inline::Perl5 and use the excellent perl5 library | ||
andrzejku | j #simulavr | ||
leont | Are BUILD and is default supposed to work together, because I think I'm observing that they don't | 19:50 | |
19:50
pyrimidi_ joined
|
|||
leont | Never mind, suddenly problem is gone, no idea where I messed up | 19:51 | |
lizmat | BUILD is agnostic of "is default" | ||
19:51
pyrimidine left
|
|||
lizmat | "is default" is a property of the container used for the attribute | 19:51 | |
ugexe | its not in the ecosystem. and while you could install it by url i dont see any example of how to setup the libxlsxwriter in windows | ||
leont | Ah, I think I can reproduce it now | ||
m: class Foo { has Rat $.version is default(1.2); submethod BUILD(:$!version) { } }; Foo.new | 19:52 | ||
camelia | Type check failed in assignment to $!version; expected Rat but got Any (Any) in submethod BUILD at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
19:52
yqt joined
|
|||
leont | It works fine if $.version is an Any | 19:53 | |
m: class Foo { has Rat $.version is default(1.2); submethod BUILD(:$!version = Nil) { } }; Foo.new # does seem to work | 19:54 | ||
camelia | ( no output ) | ||
19:55
pyrimidi_ left
19:57
pyrimidine joined
|
|||
El_Che | moritz: how is the regex book coming into shape? | 20:00 | |
20:01
pyrimidine left
|
|||
moritz | El_Che: I'm writing an email to the mailing list right now, on this very topic :-) | 20:02 | |
20:02
TEttinger joined,
pyrimidine joined
|
|||
moritz | El_Che: TL;DR: it's now feature complete, and I'm looking for proof-readers | 20:02 | |
El_Che | moritz: I can have a look if I find some time. However, there are some parts of the grammars that I don't completely get yet | 20:03 | |
20:04
pyrimidine left
20:05
pyrimidine joined
20:07
eater left
20:09
pyrimidine left,
eater joined
20:10
pyrimidine joined
20:11
headcase left
20:12
headcase joined,
andrzejku left
20:15
pyrimidine left
20:16
headcase left
20:17
headcase joined,
pyrimidine joined
20:18
cdg joined
20:20
cdg left
20:21
pyrimidi_ joined,
pyrimidine left
20:23
DerAlex left
20:24
cdg joined
|
|||
BooK | I'm working on a patch for the core. Which version is preferred for operators? texas or unicode? | 20:28 | |
>= or ≥ ? | |||
timo | a Channel is a really neat mechanism for work credit management | ||
20:29
TEttinger left
20:53
setty1 left
21:07
headcase left
21:08
headcase joined
21:12
headcase left,
Kyo91_ left
|
|||
Zoffix | BooK: as a general thing, I don't think there's a hard preference. I think in the past more Texas stuff was used and now more Unicodey stuff sneaks in. But as for those ops in particular, check which one performs faster. There was a ticket where Unicode ones were a ton slower; I think there was a workaround inserted for the ops but the underlying issue wasn't fixed. | 21:15 | |
m: for ^10000 { $ = rand ≥ rand }; say now - INIT now | |||
camelia | 0.00846099 | ||
Zoffix | m: for ^1000000 { $ = rand ≥ rand }; say now - INIT now | ||
camelia | 0.49497320 | ||
Zoffix | m: for ^1000000 { $ = rand >= rand }; say now - INIT now | ||
camelia | 0.33882657 | ||
Zoffix | m: for ^1000000 { $ = rand >= rand }; say now - INIT now | 21:16 | |
camelia | 0.3456027 | ||
Zoffix | m: for ^1000000 { $ = rand ≥ rand }; say now - INIT now | ||
camelia | 0.50973210 | ||
Zoffix | Yeah, the Texas version still looks to be a bit faster for whatever reason | ||
21:16
mcmillhj left
|
|||
Zoffix | But used to be 36x slower :D rt.perl.org/Public/Bug/Display.htm...et-history | 21:17 | |
21:17
knobo joined
|
|||
Zoffix | BooK: BTW, there's also #perl6-dev channel :) Some devs some times don't read all of this channel, so more eyes will see dev questions up in there :) | 21:17 | |
21:19
pyrimidi_ left,
pyrimidine joined
|
|||
Zoffix | moritz: you asquare? | 21:26 | |
moritz | Zoffix: kinda | 21:27 | |
Zoffix | moritz: How much editing am I allowed to make? If a sentence reads better with a change, should I make it or should I only focus on proofreading words themselves and punctuation? | ||
moritz | Zoffix: if it reads better, change it | 21:28 | |
Zoffix | k :) | ||
moritz | Zoffix: if you want to re-arrange whole paragraphs or sections, better check with me first, or push it to a branch that's not master | ||
Zoffix | Nah, I don't plan to do that at the moment. | ||
21:29
skids joined
|
|||
[Coke] | rt #132091, timo - the implication is that you'd like this behavior not to change, ay? | 21:34 | |
synopsebot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=132091 | ||
21:36
yqt left
21:37
knobo left
21:40
headcase joined
21:43
headcase_ joined
|
|||
moritz -> slee | 21:44 | ||
p | |||
:-) | |||
21:44
headcase left
21:53
aindilis` left
22:00
alpha6 joined
|
|||
Ulti | someone is asking on StackOverflow about UNIX sockets, then I noticed this design.perl6.org/S32/IO.html#IO%3A...%3A%3AUnix | 22:00 | |
I'm right in thinking nothing like that has made it to Rakudo? | 22:01 | ||
tyil | afaik theres no unix sockets in it | ||
I believe someone was looking at it, though | |||
22:05
pyrimidine left,
troys is now known as troys_
|
|||
leont | I was looking at it a while ago, but I didn't have time to get very far | 22:05 | |
22:06
pyrimidine joined
|
|||
leont | It will require moar support, which is where I'm threading slowly | 22:06 | |
22:08
pyrimidine left,
pyrimidi_ joined
|
|||
BooK | Zoffix: thanks for the advice about #perl6-dev | 22:08 | |
22:12
pyrimidi_ left
|
|||
BooK | so I made a pred and succ for enumeration (following the recent discussions), and returning a Failure object seems to stop processing | 22:12 | |
I thought it was a "soft" exception? | 22:13 | ||
leont | It depends on how it's used | ||
BooK | ah, ok | 22:15 | |
22:16
pyrimidine joined
|
|||
BooK | and if I want to try and just show the exception, but not actually stop processing? | 22:17 | |
well, just exit the try block and move on | |||
try { CATCH { .say } ... } seems to print and then die | 22:19 | ||
22:19
pyrimidine left,
pyrimidine joined
|
|||
ugexe | try { CATCH { default { .say } } | 22:20 | |
or try die "xxx"; say $!; say 42; if you fancy that way | 22:21 | ||
timo | [Coke]: i think it's an unwanted side-effect, but if there's not yet a test for the behavior, there should be one, IMO | ||
22:21
leont left
|
|||
timo | m: enum enomnom (Foo => 1, Bar => 1, Baz => 1); say +Foo; say +Bar; say enomnom(1); | 22:22 | |
camelia | 1 1 Baz |
||
22:23
mcmillhj joined
|
|||
timo | BooK: not sure if it has any bearing on your work on enum's succ and pred, but consider that multiple entries can have the same value, and also that entries and their values could come in different orders in the declaration | 22:23 | |
22:24
pyrimidine left
|
|||
BooK | timo: I don't understand the second part of your sentence | 22:24 | |
timo | m: enum enomnom (Foo => 9, Bar => 1, Baz => 5, Quux => 2); | 22:25 | |
camelia | ( no output ) | ||
timo | would this change how succ and pred behave compared to if i had put it like | ||
BooK | in the above example, that Foo.succ would be Bar and Bar.succ would be Baz | ||
timo | m: enum enomnom (Bar => 1, Quux => 2, Baz => 5, Foo => 9); | ||
camelia | ( no output ) | ||
BooK | as for the second example, yes the result would be different | 22:26 | |
timo | OK | ||
i don't have a preference, i just thought i'd point it out | 22:27 | ||
BooK | it's not about the values, but about the order of declaration | ||
22:27
mcmillhj left
|
|||
timo | i think that's a good decision | 22:27 | |
we're not expecting people to have "enum Bool <True False FileNotFound>" :D | |||
Zoffix | BooK: FWIW try {} enables `use fatal`, which causes Failures to explode | ||
22:28
mcmillhj joined
|
|||
Zoffix | (inside the `try` block) | 22:28 | |
Many method calls also explode Failures | |||
m: Failure.new.meow | |||
camelia | Failed Actually thrown at: in block <unit> at <tmp> line 1 |
||
Zoffix | As does sinking it | 22:29 | |
m: Failure.new | |||
camelia | Failed Actually thrown at: in block <unit> at <tmp> line 1 |
||
22:29
pyrimidine joined
|
|||
BooK | Zoffix: basically I'm running this to test my changes: | 22:30 | |
try { CATCH { .say; }; .pred.say }, .say , try { CATCH { .say; }; .succ.say }, "".say for Order.^enum_value_list; | |||
I just want to check the failure is what I expect, and move on | 22:31 | ||
Zoffix | `try` fatalizes Failures | ||
BooK | so what should I use instead? | ||
oh what a dummy | |||
ah no, this fails too: .pred.say, .say, .succ.say, "".say for Order.^enum_value_list | |||
timo | CATCH is allowed inside a block without a try | ||
BooK | oh | 22:32 | |
Zoffix | BooK: .say call on Failure will explode it | ||
BooK | ah | ||
22:32
pyrimidine left
|
|||
BooK | .gist.say too it seems | 22:33 | |
Zoffix | .say calls .gist | ||
22:33
pyrimidine joined
|
|||
BooK | oh | 22:33 | |
Zoffix | A rule of thumb is: if you try to use a Failure where you'd use a value it'll explode. Failure is Nil and some methods will just propagate it further | ||
What are you trying to do, just dump it for debug purposes? | |||
22:34
okl left
|
|||
BooK | yes | 22:34 | |
for Order.^enum_value_list { CATCH { .dd }; .pred.say, .say, .succ.say, "".say } # gives me No such method 'dd' for invocant of type 'X::OutOfRange' | 22:35 | ||
Zoffix | m: sub f { rand ≥ ½ ?? fail("ded") !! "no fail" }; f() andthen .say orelse "Got a Failure; its exception is {.head.exception.gist}".say | ||
camelia | Got a Failure; its exception is Nil | ||
BooK | so it seems I get the Expection and not the Failure | ||
22:36
adu joined
|
|||
Zoffix | dd is a subroutine, not method | 22:36 | |
22:36
pyrimidine left
|
|||
BooK | ok | 22:36 | |
22:36
john51 joined
|
|||
Zoffix | Yeah, by that time the Failure already exploded by the .say call | 22:36 | |
22:36
pyrimidine joined
|
|||
Zoffix | m: sub f { $^a eq 'b' ?? fail("ded") !! "no fail" }; for <a b c> { CATCH { default { "Got exception {.^name}; its exception is {.message}".say }; f } | 22:37 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Missing block at <tmp>:1 ------> 3 its exception is {.message}".say }; f }7⏏5<EOL> |
||
Zoffix | m: sub f { $^a eq 'b' ?? fail("ded") !! "no fail" }; for <a b c> { CATCH { default { "Got exception {.^name}; its exception is {.message}".say } }; f.say; f.say } | ||
camelia | 5===SORRY!5=== Calling f() will never work with declared signature ($a) at <tmp>:1 ------> 3; its exception is {.message}".say } }; 7⏏5f.say; f.say } Calling f() will never work with declared signature ($a) at <tmp>:1 ------> 3xcep… |
||
22:38
Cabanossi left,
john51 left
|
|||
Zoffix is too sleepy to see what the problem is | 22:38 | ||
BooK | my $o = Order::Less; while $o.defined { $o.say ; $o = $o.succ } # says Less, Same, More | 22:39 | |
my $o = Order::Less; while $o.defined { $o.say ; $o = $o.pred } # says Less | |||
Zoffix | But yeah just CATCH {} above won't catch it. It'll do its thing and pass the exception further up. You need a `default` or some other `when` thing | ||
22:39
troys_ is now known as troys,
pyrimidi_ joined
22:40
Cabanossi joined
|
|||
Zoffix | Yeah, that'll work. `.defined` (and `.Bool`) disarm Failures | 22:40 | |
BooK | using Order in a while is kinda annoying, because Same is basically false | ||
22:41
pyrimidine left
|
|||
Zoffix | Maybe this is helpful. Our impl. of `fails-like` routine that examines Failures: github.com/perl6/roast/blob/master...#L304-L319 | 22:41 | |
22:41
john51 joined
|
|||
BooK | Zoffix: so using a default block inside the CATCH did disarm it | 22:41 | |
Zoffix | Yeah | ||
Well, no | |||
timo | hmm, we have "repeat { } while foo", right? | 22:42 | |
should we perhaps also have "repeat { } with $foo"? | |||
Zoffix | I mean disarmed what? Failure? No, by that point it wasn't a Failure already. But yeah, it disarmed (handled) the exception | ||
BooK | sorry, I'm still new to Perl 6, don't know the words | 22:43 | |
Zoffix | Yeah, me too. | ||
m: Failure.new orelse .perl.say | 22:44 | ||
camelia | Failure.new(exception => X::AdHoc.new(payload => "Failed"), backtrace => Backtrace.new) | ||
22:44
pyrimidi_ left
22:45
pyrimidine joined,
zacts joined
22:48
pyrimidi_ joined
22:49
pyrimidine left
|
|||
Zoffix | TIP: $o = $o.succ can be written as $o .= succ (same as $o = $o + 42 can be written as $o += 42) | 22:51 | |
timo | and $_ = $_.succ can even be written just .=succ | ||
Zoffix | (currently it's slower tho; so don't use it in core | ||
timo: wow really? TIL | |||
timo | er, at least i think so | ||
m: $_ = "aaa"; .= succ; .say | 22:52 | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Preceding context expects a term, but found infix .= instead at <tmp>:1 ------> 3$_ = "aaa"; .=7⏏5 succ; .say |
||
timo | oops, i'm wrong | ||
Zoffix | Same thing with the `»` hyper method call :) Wish it worked :) | ||
22:52
nige left
|
|||
Zoffix | As in `».uc with <a b c>` :) | 22:52 | |
22:52
pyrimidi_ left
22:53
nige joined
|
|||
BooK | timo, Zoffix: yeah I tried with .succ= and found myself looking for what to put on the rhs | 22:54 | |
github.com/rakudo/rakudo/pull/1156 # so here it is | |||
22:58
pyrimidine joined
|
|||
BooK | Bool has its own versions of pred/succ, but my plan is to drop most Bool methods that are provided by Enumeration | 22:59 | |
m: say Errno.WHAT | |||
camelia | 5===SORRY!5=== Error while compiling <tmp> Undeclared name: Errno used at line 1 |
||
BooK | I'd have thought Errno would also be an enumeration :-) | 23:00 | |
23:00
Rawriful left,
nige left
|
|||
geekosaur | errnos don't generally have a meaningful progression | 23:01 | |
23:01
pyrimidi_ joined,
nige joined
|
|||
Zoffix | BooK: it might be too early in the "setting" (the core code) for it to afford that luxury | 23:02 | |
23:02
pyrimidine left
|
|||
Zoffix | BooK: not sure about the Failure in the PR. We can't do it with Bool, because we need to keep $foo++ idiom working, and if we don't do it in Bool, we still have this inconsistency that started this whole thing :) | 23:03 | |
BooK | geekosaur: enums don't generally have a meaningful progression | 23:04 | |
23:05
pyrimidine joined
|
|||
BooK | Zoffix: what's the $foo++ idiom? | 23:05 | |
23:06
pyrimidi_ left
|
|||
Zoffix | "%seen{$key}++" | 23:06 | |
From TimToady++'s comments yesterday irclog.perlgeek.de/perl6/2017-09-14#i_15160486 | |||
BooK | right | ||
scrape my PR then :-) | 23:07 | ||
23:08
pyrimidine left
|
|||
BooK | from this comment, I'd think -- could be made special for Bool too, and follow the lead of Perl5's $| | 23:08 | |
23:08
pyrimidine joined
|
|||
BooK | and that False.pred should be True | 23:09 | |
and not look for consistency in the other enums | |||
Zoffix likes consistency more than Perl's use of $| and all the associated magicks :P | 23:10 | ||
timo | excuse me, what's $| do? | ||
Zoffix | timo: turns off buffering when it's False | ||
timo | oh, autoflush | ||
tyil | oh member when I used $|++; in perl 5 | 23:11 | |
Zoffix | timo: and it has this magic stuff where $|++ always makes it true and $|-- flips it back and forth | ||
tyil | it confused many people | ||
BooK | it's either 0 or 1, and $|++ goes to 1 and stays there, while $|-- flip flops | ||
timo | that's a bit strange | ||
23:11
pyrimidine left
|
|||
BooK | golfers loved it | 23:11 | |
23:11
pyrimidine joined
|
|||
timo | of course they did %) | 23:12 | |
BooK | imagine %seen_odd_times{$key}-- :-) | ||
and I meant even | |||
arg | |||
tyil | %seen_odd_times{$even}-- looks ever weirder | ||
23:12
nige left
|
|||
Zoffix | If we make .pred go to previous element (and just return the first element if it's already at the first element) and .succ go to next element (and just return the first element if it's already at the last element). We make Enumeration <-> Bool consistent AND keep the behaviour of Order and Bool semantically the same (More.succ currently returns 2, which is still "more") | 23:14 | |
23:15
pyrimidine left
|
|||
Zoffix | and user can assume that calling .succ/.pred on Order/Bool will always be non-explosive | 23:15 | |
BooK | Zoffix: right, so remove the Failure | ||
23:15
pyrimidine joined
23:16
aindilis joined,
nige joined
23:17
mcmillhj left
23:18
wamba left
|
|||
Zoffix | Yeah | 23:19 | |
23:20
pyrimidine left
23:24
Cabanossi left
23:25
Cabanossi joined
23:26
orac1e_ joined
|
|||
BooK | do people link to perlgeek.de in the commit messages? | 23:29 | |
nevermind, they do | 23:30 | ||
Failure dropped from the PR | 23:31 | ||
23:32
pyrimidine joined
23:34
pyrimidine left
23:35
pyrimidine joined
23:36
mcmillhj joined
23:38
pyrimidine left,
pyrimidine joined
23:40
mcmillhj left
23:42
pyrimidi_ joined,
pyrimidine left
|
|||
Zoffix | BooK++ merged. Thanks. | 23:42 | |
23:43
nige left
23:45
nige joined,
MasterDuke left
23:46
pyrimidi_ left
23:49
BenGoldberg joined,
cdg left
23:51
TEttinger joined
|
|||
BenGoldberg | m: constant meaning = 42; sub life () is asdf {}; | 23:51 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Can't use unknown trait 'is asdf' in a sub declaration. at <tmp>:1 expecting any of: rw raw hidden-from-backtrace hidden-from-USAGE pure default DEPRECATED inlinable nodal … |
||
BenGoldberg | m: constant meaning = 42; sub life () is meaning {}; | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Can't use unknown trait 'is ' in a sub declaration. at <tmp>:1 expecting any of: rw raw hidden-from-backtrace hidden-from-USAGE pure default DEPRECATED inlinable nodal … |
||
23:51
mcmillhj joined,
pyrimidine joined
|
|||
BenGoldberg | That is an LTA error message :( | 23:52 | |
23:53
nige left
|
|||
Zoffix doesn't see the LTAness | 23:53 | ||
Which part? | |||
Ah, now I see it | |||
lulz :) Would you file it? | |||
huggable: rakudobug | |||
huggable | Zoffix, Report bugs by emailing to [email@hidden.address] See also: github.com/rakudo/rakudo/wiki/rt-introduction | ||
23:56
pyrimidine left,
mcmillhj left
23:58
nige joined,
pyrimidine joined
|