»ö« 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
AlexDaniel joined
00:01
kurahaupo left
00:02
jnthn left
|
|||
gfldex | sena_kun: if we refere to JIT or JVM in the main body, we should have them in the glosary | 00:05 | |
00:05
kurahaupo joined
|
|||
sena_kun | gfldex, I'm making a fixing commit now. | 00:06 | |
gfldex | sena_kun: we use both term, JVM is used quite a bit | ||
sena_kun | gfldex, yes, I saw it already. I should be more careful, sorry. | 00:08 | |
dalek | c: 9302e6f | Altai-man++ | doc/Language/glossary.pod6: Accidently removed items JIT and JVM were restored |
||
c: 81f35fd | (Zoffix Znet)++ | doc/Language/traps.pod6: Document exploding sunk Proc trap There were a few RTs involving. |
|||
sena_kun | Ah, we have more links to removed items. Aaaaah. Will be fixed soon... | 00:10 | |
00:10
kurahaupo left
00:11
kurahaupo joined
|
|||
gfldex | sena_kun: there is `make test-links` | 00:14 | |
00:15
huggable left,
huggable joined
|
|||
gfldex | can I say "page break if send to printer" in html? | 00:15 | |
jdv79 | are we sure that works cause last i looked a lot of links were bad. | ||
gfldex | jdv79: it works to some degree. Not all reported links are bad tho. | 00:16 | |
jdv79 | mostly if not all were in the fragment portion | ||
sena_kun | gfldex, ah, thanks, I'll try it next time. I was a bit careless with this PR and now I'm already sorry. | 00:17 | |
gfldex | sena_kun: it's cool, we can fix it | ||
pod-to-bigpage produces printable output now (for LTA values of printable) | 00:18 | ||
00:19
jack_rabbit left
00:23
zacts joined
|
|||
dalek | c: 712b0c6 | Altai-man++ | doc/Language/glossary.pod6: Fix dead links on the glossary page |
00:26 | |
P6fr | m: my @t = "bla blo blu".words | 00:27 | |
camelia | ( no output ) | ||
P6fr | m: my @t = "bla blo blu".words.say | ||
camelia | rakudo-moar d789da: OUTPUT«(bla blo blu)» | ||
P6fr | m: my @t = "bla blo blu".words.say[0] | 00:28 | |
camelia | rakudo-moar d789da: OUTPUT«(bla blo blu)» | ||
sena_kun | Okay, now it seems quite better. | 00:29 | |
P6fr | m: my @t = "bla blo blu".words.say;say "hello @t[0].tc; | ||
camelia | rakudo-moar d789da: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Unable to parse expression in double quotes; couldn't find final '"' at <tmp>:1------> 3 blo blu".words.say;say "hello @t[0].tc;7⏏5<EOL> expecting any of: method arguments» | ||
P6fr | m: my @t = "bla blo blu".words.say;say "hello @t[0].tc"; | ||
camelia | rakudo-moar d789da: OUTPUT«(bla blo blu)hello True.tc» | ||
P6fr | m: my @t = "bla blo blu".words.say;say "hello @t[1].tc"; | 00:30 | |
camelia | rakudo-moar d789da: OUTPUT«(bla blo blu)Use of uninitialized value @t of type Any in string contextAny of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in block <unit> at <tmp> line 1hello .tc» | ||
P6fr | m: my @t = "bla blo blu".words;say "hello @t[1].tc"; | ||
camelia | rakudo-moar d789da: OUTPUT«hello blo.tc» | ||
P6fr | hum ? | ||
why .tc is not evalue | |||
m: my @t = "bla blo blu".words;say "hello @t.tc[0]"; | 00:31 | ||
camelia | rakudo-moar d789da: OUTPUT«hello @t.tc[0]» | ||
gfldex | m: my @t = "bla blo blu".words;say "hello {@t[1].tc}"; | ||
camelia | rakudo-moar d789da: OUTPUT«hello Blo» | ||
P6fr | haaaa | ||
thx :D | |||
i learn p6 | |||
small tutorial in french | 00:32 | ||
no traduction :( | |||
gfldex | P6fr: it may be faster to learn english then Perl 6 | 00:33 | |
P6fr | both are languages | 00:34 | |
it's the same | |||
gfldex | P6fr: the printed version of docs.perl6.org is 444 pages A4. I'm quite sure you get English on less then that. | 00:35 | |
P6fr | maybe | 00:36 | |
geekosaur | you can however define a "basic perl6" aka basic English | ||
can do quite a lot without knowing the full details of hypers, without even looking at junctions, etc. | |||
unmatched} | m: my @t = "bla blo blu".words;say "hello @t[1].tc()"; | 00:37 | |
camelia | rakudo-moar d789da: OUTPUT«hello Blo» | ||
00:38
colomon joined
|
|||
unmatched} | m: my @t = "bla blo blu".words;say "hello &tc(@t[1])"; | 00:38 | |
geekosaur | s/aka/á la/ | ||
camelia | rakudo-moar d789da: OUTPUT«hello Blo» | ||
geekosaur | sheesh | ||
geekosaur has had A Day | |||
P6fr | This is a good exercise to learn English learning Perl. There is little documentation in French and it motivates me to go to chat , English forum. | 00:39 | |
geekosaur | (also the flip side: no way you describe all of English in 450 pages) | ||
00:41
RabidGravy left
|
|||
P6fr | why &tc() "&" unmatched} pls ? | 00:43 | |
00:44
cdg_ left,
skids joined,
cdg joined
|
|||
geekosaur | it can't recognize arbitrary expressions unless you enclose them in braces. it does recognize sigils, so & works to tell it a sub name follows | 00:46 | |
00:49
cdg left
|
|||
P6fr | m: say "hello tc(@t[0])" | 00:49 | |
camelia | rakudo-moar d789da: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Variable '@t' is not declaredat <tmp>:1------> 3say "hello tc(7⏏5@t[0])"» | ||
P6fr | hum ok | ||
m: my @t = "bla blo blu".words;say "hello tc(@t[1])"; | 00:50 | ||
camelia | rakudo-moar d789da: OUTPUT«hello tc(blo)» | ||
P6fr | ok ok | ||
gfldex | P6fr: see docs.perl6.org/language/quoting#In...lation:_qq | ||
00:52
sena_kun left
|
|||
P6fr | thx :-) | 00:52 | |
i don't look "&" | 00:53 | ||
i search | |||
the & to force evaluation ok | 00:55 | ||
dalek | c: e7200ea | (Wenzel P. P. Peppmeyer)++ | doc/Language/quoting.pod6: doc & and subscripts in quoting constructs |
01:00 | |
P6fr | you use prompt and \n or, say + get ? | 01:01 | |
01:02
avenj left
|
|||
dalek | c: f81097c | (Wenzel P. P. Peppmeyer)++ | doc/Language/quoting.pod6: add & interpolation to index |
01:02 | |
jdv79 | prompt fir stdin and say for stdout. | ||
*for | |||
most normally, perhaps | 01:03 | ||
nebg | is there a perl equivalent of the python module called "scapy" ? | ||
jdv79 | wut is that? | ||
and do you mean perl 5 or 6? | 01:04 | ||
nebg | jdv79, both | ||
P6fr | perhaps ? | ||
jdv79 | maybe | ||
P6fr | what is it | ||
what it is sorry | 01:05 | ||
jdv79 | perhaps is just a more british way of saying maybe | ||
01:05
ccube joined
|
|||
jdv79 is bored with maybe | 01:05 | ||
P6fr | haaaa ok lol | ||
jdv79 | :) | ||
though im not british | |||
ccube | where is the Compunit class documented? | 01:06 | |
jdv79 | look in src/core/? | ||
ccube | okay | ||
01:07
__zug__ joined
01:08
cpage_ joined
01:14
kid51 joined
|
|||
nebg | i need a perl6 library for reading and writing packets to an interface or to a libpcap-formatted file. | 01:17 | |
unmatched} | P6fr: `say` is mostly for short stuff meant for humans. Use `put` to print to STDOUT. See examples of how `say` abridges large output: docs.perl6.org/routine/say#sub_say | 01:18 | |
P6fr | merci | 01:19 | |
unmatched} | nebg: check the ecosystem: modules.perl6.org/ If not there you can either write one or use a Perl 5 module (through Inline::Perl5 interop) I'm sure CPAN has something or other for that: metacpan.org/ | ||
De rien | 01:20 | ||
P6fr | ok | ||
01:21
nightfrog left
|
|||
nebg | unmatched}, ok what about raw socket programming ? is there a standard or famous module for perl6 ? | 01:21 | |
unmatched} | nebg: Perl 6 has those as core types. There's IO::Socket, IO::Socket::INET, IO::Socket::Async | 01:22 | |
huggable: IO::Socket::Async | |||
huggable | unmatched}, Asynchronous TCP socket: docs.perl6.org/type/IO::Socket::Async | ||
01:22
khw joined
|
|||
P6fr | good night ! | 01:22 | |
unmatched} | night | ||
01:23
P6fr left,
nightfrog joined
01:26
zacts left
|
|||
jdv79 | unmatched}: you speak french? | 01:27 | |
01:28
sufrostico left
01:34
ccube left
|
|||
unmatched} | jdv79: no, but I live in Canada :) (We have dual official languages: English/French) | 01:35 | |
(some things rub off) | |||
01:44
molaf left
|
|||
jdv79 | but youre in ontario not quebec. which is why i was confused. | 01:47 | |
ok.... | |||
01:51
__zug__ left
01:53
__zug__ joined
01:56
molaf joined,
colomon left
|
|||
ShimmerFairy | question: if I have a sub C in module A::B, under what conditions can I refer to it as A::B::C? Or do I need to (perhaps redundantly) name it sub A::B::C ? | 01:58 | |
01:59
zacts joined
|
|||
unmatched} | Yeah, but all the packaging has both languages. Plus there are some bilingual people at work :) | 02:00 | |
Plus I *wanted* to learn French, as a job skill, but somehow managed to learn Perl 6 instead :P | 02:02 | ||
02:06
zacts left
02:08
zacts joined
|
|||
zacts | hi perl6 | 02:08 | |
02:16
colomon joined,
adu joined
|
|||
unmatched} | \o | 02:24 | |
02:34
Herby_ joined
|
|||
Herby_ | Evening, everyone! | 02:34 | |
o/ | |||
02:38
__zug__ left
|
|||
dalek | osystem: 3c65f32 | (Wenzel P. P. Peppmeyer)++ | META.list: add Pod::To::BigPage |
02:39 | |
02:43
Actualeyes left
02:46
dj_goku left,
dj_goku_ joined
|
|||
unmatched} | \o | 02:46 | |
02:47
noganex_ joined
|
|||
unmatched} | .tell tbrowder Not sure if it has any relevance to your table Pod work, but just thought I'd mention this old ticket I came across about =paras in tables: rt.perl.org/Ticket/Display.html?id...et-history | 02:47 | |
yoleaux | unmatched}: I'll pass your message to tbrowder. | ||
02:50
noganex left
02:51
adu left
02:54
colomon left
02:56
kid51 left
02:57
adu joined
|
|||
zacts | how do you organically evolve a language with a specification? | 02:57 | |
I think it's cool how organic Perl6 is, yet it still has a specification | 02:58 | ||
how was / is it done? | |||
02:58
avenj joined,
avenj left,
avenj joined
|
|||
gfldex | the spec is actually a looooong list of tests. If you want to add a feature, you write a test, implement the feature and send 2 PRs to the roast and rakudo repos | 03:00 | |
03:02
rmmm left,
Actualeyes joined,
rmmm joined
|
|||
gfldex | before rakudo there where pugs, a compiler written in heskel, and std.pm, a parser written in Perl 5. | 03:02 | |
so the language formed by having something that could execute the tests in roast | 03:03 | ||
03:04
djbkd joined
|
|||
gfldex | zacts: does that answer your question? | 03:07 | |
03:08
kaare_ joined
03:11
zacts left
|
|||
geekosaur | well, historically that was not quite true. the language started out having a "spec" which went through several stages of development; you can see this phase at design.perl6.org/. The Apocalypses stated the original intentions, without going to the level of specification; the Synopses were the ultimate result and the original "spec" | 03:12 | |
03:13
djbkd left
|
|||
geekosaur | but as time went on it was decided that the actual specification would be the tests, so there would be a direct expression of whether an implementation was actually a valid Perl 6 (i.e. can it run the tests?). | 03:13 | |
partly because over time the implementations and synopses drifted apart, as people changed one but not the other | 03:14 | ||
03:14
djbkd joined
|
|||
geekosaur | (historical implementations included pugs and niecza) | 03:14 | |
unmatched} mumbles something about the whirlpool method | 03:15 | ||
03:19
telex left
03:20
telex joined
03:21
adu left
03:25
rmmm left
|
|||
AlexDaniel | we need language/history | 03:25 | |
03:29
zacts joined
03:30
danaj left
|
|||
zacts | gfldex: oh cool yes thanks | 03:32 | |
so the spec is the test suite kind of thing | |||
reminds me of this old ruby project | 03:33 | ||
RubySpec | |||
or something | |||
github.com/ruby/spec | 03:35 | ||
03:36
MasterDuke joined
|
|||
MasterDuke | .tell AlexDaniel rough initial attempt at getting benchable to zoom the graph in on performance changes, github.com/MasterDuke17/bisectbot/...da494a2676 | 03:39 | |
yoleaux | MasterDuke: I'll pass your message to AlexDaniel. | ||
AlexDaniel | . | 03:40 | |
yoleaux | 03:39Z <MasterDuke> AlexDaniel: rough initial attempt at getting benchable to zoom the graph in on performance changes, github.com/MasterDuke17/bisectbot/...da494a2676 | ||
03:42
roguelazer joined,
khw left
03:46
cyphase left
|
|||
AlexDaniel | MasterDuke: cool! | 03:47 | |
03:49
dvinciguerra_ joined
03:51
cyphase joined
|
|||
MasterDuke | AlexDaniel: it's a little difficult to test without having all the builds (and i'm on my laptop now so definitely not going to build them), so any testing would be much appreciated | 03:53 | |
AlexDaniel | sure | ||
zacts | gfldex: do the specs auto generate the doc via Perl6 POD or something? | 03:55 | |
parabolize | zacts: docs source is here: github.com/perl6/doc it has a Makefile | 03:56 | |
AlexDaniel | MasterDuke: oh! git rev-list --bisect | ||
MasterDuke: I didn't know that | |||
MasterDuke | just found out about it myself yesterday | ||
zacts | cool thanks | 03:57 | |
parabolize | zacts: some of the tests in roast do have pods but I think they were used for design.perl.org rather than the docs | ||
04:00
jack_rabbit joined,
edenc left,
mohae_ joined
04:01
dvinciguerra_ left
04:03
mohae left
|
|||
AlexDaniel | MasterDuke: testing on #whateverable | 04:07 | |
04:07
holyghost joined
04:08
araujo_ left
04:12
addison left
04:13
MasterDuke left
04:15
huggable left,
huggable joined,
roguelazer left
04:20
MasterDuke joined
04:28
cpage_ left
04:29
cpage_ joined,
Herby_ left
04:30
MasterDuke left
04:40
canopus left
04:45
canopus joined
04:47
tom99 joined
04:49
molaf left
04:50
cpage_ left
|
|||
tom99 | hey, does anybody know if perl6 is faster better or cleaner than perl5? | 04:51 | |
04:51
djbkd left
|
|||
parabolize | no, maybe, yes | 04:52 | |
04:53
Cabanossi left
|
|||
tom99 | ok | 04:54 | |
04:55
Cabanossi joined
|
|||
tom99 | i read a long post from larry wall about why perl6 is so awesome | 04:58 | |
but most of it went over my head | |||
zhmylove | tom99: just like a perl6 cache :) | 05:00 | |
05:01
zacts left
|
|||
zhmylove | tom99: and at the current time perl6 is much more slower than perl5. But p6 has a lot of kind features. | 05:01 | |
05:06
flaviusb joined
05:18
danaj joined
05:20
zacts joined
05:23
cpage_ joined
05:26
skids left
05:39
AlexDaniel left
05:57
ufobat joined
|
|||
ufobat | good morning :-) | 05:57 | |
06:03
mohae joined
06:05
mohae_ left
06:07
flaviusb left,
cooper_ joined,
cooper_ left,
cooper_ joined,
cog__ joined
06:09
kevina left
06:10
cooper left,
cog_ left
06:12
wamba joined
06:43
labster left
06:45
domidumont joined
|
|||
moritz | \o | 06:46 | |
tom99 | moritz | 06:50 | |
what's up | |||
06:50
labster joined
06:52
domidumont left
|
|||
timotimo | o/ | 06:56 | |
06:59
firstdayonthejob joined
07:02
zacts left
07:04
domidumont joined
07:06
domidumont left
07:07
domidumont joined
07:09
jack_rabbit left
07:14
darutoko joined
07:17
jack_rabbit joined
07:18
kurahaupo left
07:25
CIAvash joined
07:26
zacts joined
07:36
cooper_ is now known as cooper
07:51
holyghost left
|
|||
DrForr | perlpilot: It's not there due to not being ready for primetime, though I might add it tonight. | 07:54 | |
07:55
dakkar joined,
abraxxa joined
|
|||
timotimo | Prancer? | 07:56 | |
DrForr | Nod. | ||
08:04
tom99 left
08:10
Upasaka joined
08:11
rafl left,
nebuchad` joined,
yoleaux joined,
ChanServ sets mode: +v yoleaux
08:12
Upasaka_ left,
cxreg left,
Cabanossi left,
remmie left,
nebuchadnezzar left,
akiym left,
[ptc] left,
skarn left,
rjbs joined,
atta joined
08:13
akiym joined,
cxreg joined,
leedo joined
08:14
rafl joined,
skarn joined,
susmus joined,
remmie joined,
Cabanossi joined
08:15
huggable left,
huggable joined
08:16
M-Illandan left
08:17
[Coke] joined
08:19
jack_rabbit left,
[ptc] joined
08:20
rindolf joined
08:21
nebuchad` is now known as nebuchadnezzar
08:22
M-Illandan joined
|
|||
sjn | Good *, #perl6 :) | 08:23 | |
DrForr | 'allo! | 08:25 | |
08:26
Actualeyes left
08:27
jack_rabbit joined
08:41
Actualeyes joined
08:47
zacts left
08:48
jack_rabbit left
|
|||
DrForr | I'm sure there's at least one module we're distributing with rakudo - Can someone name one for my test suite? | 08:53 | |
08:54
RabidGravy joined,
jnthn joined
08:55
smash joined
08:56
cyphase left
|
|||
psch | DrForr: Test? | 08:56 | |
DrForr | Ah, thanks. brain was seized there for a moment. | 08:57 | |
Ironic considering I'm writing grammar tests :) | |||
08:58
dogbert17 left
09:01
cyphase joined
09:06
zacts joined
09:08
Amnez777 left
|
|||
nine | DrForr: There's also NativeCall and its submodules and CompUnit::Repository::Staging as a recent addition. | 09:15 | |
DrForr | 'Test' will do. I don't need it to have a stable interface, I just need something that I can rely on to be in the core distro. | 09:16 | |
The parser still dynamically loads modules, so when testing 'use Module::Name' I need one that exists in core. The API isn't important. | 09:17 | ||
09:21
Roamer` joined
09:30
richi235 joined
09:49
CIAvash left
10:02
cognominal joined
10:03
cog__ left
10:10
TEttinger left
10:18
labster left
10:28
grondilu joined,
iH2O joined
|
|||
grondilu | hello from my vacations :-) | 10:28 | |
DrForr | Why are you online then? :) | 10:30 | |
iH2O | u in vacations on the Cayman islands' beach with 2 mistress and a glass of rum | ||
mistresses | 10:31 | ||
grondilu | just wanted to give my phone IRC client a try. Also, slightly bored. weather getting better though | 10:32 | |
will probably head to swimming pool. | |||
iH2O | beware sharks | 10:34 | |
unmatched} | zhmylove: saying Perl 6 is "much slower" than Perl 5 is not a great thing to tell people. It's not true in many cases, but worst of all it doesn't tell people *why* they can notice slower performance or what we're doing about it. It's best to link to the FAQ entry for such questions: docs.perl6.org/language/faq.html#I...gh_for_me? | 10:35 | |
grondilu | there are sharks in the Reunion island where I usually go but this year I'm near Arcachon, France. | ||
unmatched} | We've nearly doubled the speed since April and the gains are even more extreme since Christmas. "much slower" doesn't capture the entire picture. | 10:36 | |
iH2O | hmm. is there a "goto" now? | ||
unmatched} | no | ||
iH2O | :( | 10:37 | |
why is it that difficult to implement? | |||
grondilu | do we have some kind of an "official" performance test bench? | ||
unmatched} | What makes you think that's the reason for it not being in Perl 6? | ||
iH2O | O_O | ||
im puzzled | |||
is that a conspiracy :-P | 10:38 | ||
an anti-goto conspiracy | |||
unmatched} | grondilu: Tux regularly runs tests. There's a link to nice charts and everything, but I forget what it is. | ||
DrForr | iH2O: Just because it's not been done yet doesn't mean it's hard/impossible. There are many things that aren't done. | ||
iH2O | goto is the scapegoat of all evil | 10:40 | |
grondilu looked at ROADMAP A | |||
and noticed it's kind of old | |||
unmatched} | grondilu: the link to nice charts was posted on one of the recent weeklies or you can search the #perl6-dev IRC logs for "test-t". Since April the bench went from ~12 seconds to below 8 | ||
grondilu | 2015-09-27 | ||
sorry 2015-07-26 | 10:41 | ||
jnthn | goto in Perl 6 is challenging because it involves non-local control flow, fwiw. :) | 10:42 | |
10:42
grondilu left
|
|||
iH2O | esp when you jump into the middle of a for loop | 10:42 | |
or into the middle of foreign code :-P | 10:43 | ||
psch | yeah, the bits of our CX handling i'm starting to understand makes me think goto is somewhat terrifying | ||
iH2O: well, you'd probably need a label there already to jump to it | |||
10:43
grondilu joined,
grondilu left
|
|||
iH2O | C has longjmp/setjmp which are more general than goto | 10:47 | |
ive never heard of anybody using that, not even in a lifetime | |||
10:48
AlexDaniel joined
|
|||
jast | I believe it's often used for implementing coroutines | 10:49 | |
jnthn | It's used in MoarVM :) | 10:50 | |
10:50
domm left
|
|||
DrForr | Continuation-based servers in general as well. | 10:50 | |
iH2O | i stand corrected... | 10:51 | |
dalek | href="https://perl6.org:">perl6.org: c95d631 | (Steve Mynott)++ | source/ (2 files): bump Rakudo Star to 2016.07 |
||
10:52
domm joined
10:53
hanekomu joined
10:59
AlexDaniel left
|
|||
Psy-Q | hmm | 11:00 | |
i think perl6 will at some point reach self-awareness and usher in the singularity | |||
11:04
cpage_ left
11:05
jgrabber joined
|
|||
stmuk | rakudo.org/2016/07/22/announce-raku...e-2016-07/ | 11:11 | |
iH2O | i just downloaded it | 11:12 | |
perl6 has huge potential once it ushers into the noncult | 11:14 | ||
11:15
AlexDaniel joined
|
|||
unmatched} | weeeeee \o/ stmuck++ | 11:16 | |
I encourage everyone to advertise the new release all over the place. | |||
Will anyone be posting an announcement on blogs.perl.org? | 11:17 | ||
iH2O | why dont u folks use xz instead of gz for rakudo star distribution | 11:24 | |
unmatched} | I can do it. Just don't want to double-post if someone already is. It's a pretty trafficed blog | ||
iH2O | it compresses 25%_ beter | ||
Psy-Q | weekend project will be porting a script from bash to perl6 that you can use to stream from a swiss "cloud TV service" | 11:25 | |
stmuk | unmatched: more publicity the better! please do | ||
unmatched} | Sweet. Will do. | ||
Psy-Q | i'll find out everything about spawning and controlling processes, i guess | ||
11:26
adu joined
11:29
adu left,
Guest66 joined
11:35
AlexDaniel left
|
|||
stmuk | www.reddit.com/r/perl/comments/4u2...se_201607/ | 11:36 | |
11:39
kid51 joined
11:41
Guest66 is now known as P6fr
|
|||
P6fr | m: my $i = 1; my $var = "name"~$i; my $$var = "toto1"; say "$name1"; | 11:44 | |
camelia | rakudo-moar d789da: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Cannot declare a variable by indirect name (use a hash instead?)at <tmp>:1------> 3my $i = 1; my $var = "name"~$i; my $7⏏5$var = "toto1"; say "$name1";» | ||
P6fr | ? | 11:45 | |
m: my $i = 1; my $var = "name"~$i; my &$var = "toto1"; say "$name1"; | |||
camelia | rakudo-moar d789da: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Cannot declare a variable by indirect name (use a hash instead?)at <tmp>:1------> 3my $i = 1; my $var = "name"~$i; my &7⏏5$var = "toto1"; say "$name1";» | ||
jnthn | Like the error says, you can't declare a variable with a dynamic name in Perl 6. | 11:48 | |
You can access existing variables by name using ::(...) | |||
m: my $x1 = 42; my $x2 = 99; say ::('$x' ~ <1 2>.pick) for ^5 | 11:49 | ||
camelia | rakudo-moar d789da: OUTPUT«9999999999» | ||
jnthn | What're the odds... | ||
m: my $x1 = 42; my $x2 = 99; say ::('$x' ~ <1 2>.pick) for ^5 | |||
camelia | rakudo-moar d789da: OUTPUT«9999429999» | ||
jnthn | heh :) | ||
jnthn goes out to buy a lottery ticket :P | |||
psch | m: my $x; BEGIN $x = "foo"; sub term:[$x] is rw { $ }; foo = "bar"; say foo | ||
P6fr | hello jnthn :) | ||
camelia | rakudo-moar d789da: OUTPUT«WARNINGS for <tmp>:Useless use of $x in sink context (lines 1, 1)bar» | ||
P6fr | :: ? | ||
psch | the sink warning is kinda wrong i guess | 11:50 | |
jnthn | psch: Decidedly. | ||
jast | I know what the odds are! :P | ||
jnthn | Reminds of you :: in packages | ||
P6fr | ok | 11:51 | |
jnthn | In general though, Perl 6 really wants to know what is in a lexical scope at compile time. It uses this for a bunch of error checking and optimization. | 11:53 | |
P6fr | m: my $i = 1; my $name1 = bla; say ::('$name'~'$i') | 11:54 | |
camelia | rakudo-moar d789da: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Undeclared routine: bla used at line 1» | ||
P6fr | m: my $i = 1; my $name1 = bla; say ::("$name"~"$i") | 11:55 | |
camelia | rakudo-moar d789da: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Variable '$name' is not declared. Did you mean '$name1'?at <tmp>:1------> 3my $i = 1; my $name1 = bla; say ::("7⏏5$name"~"$i")» | ||
jnthn | You need single quotes, otherwise $name will try to be interpolated in the double quotes | ||
P6fr | m: my $i = 1; my $name1 = bla; say ::('&$name'~'$i') | 11:56 | |
camelia | rakudo-moar d789da: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Undeclared routine: bla used at line 1» | ||
P6fr | ok | ||
11:57
alberg joined
|
|||
P6fr | m: my $i = 1; my $name1 = bla; say ::({'$name'~'$i'}) | 11:57 | |
camelia | rakudo-moar d789da: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Undeclared routine: bla used at line 1» | ||
11:58
iH2O left
|
|||
P6fr | m: my $i = 1; my $name1 = bla; say ::("$name$i") | 11:59 | |
camelia | rakudo-moar d789da: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Variable '$name' is not declared. Did you mean '$name1'?at <tmp>:1------> 3my $i = 1; my $name1 = bla; say ::("7⏏5$name$i")» | ||
P6fr | ok | ||
hum | |||
It must be a possibility | |||
jnthn | m: my $i = 1; my $name1 = 'bla'; say ::('$name'~'$i') | ||
camelia | rakudo-moar d789da: OUTPUT«No such symbol '$name$i' in block <unit> at <tmp> line 1Actually thrown at: in block <unit> at <tmp> line 1» | ||
jnthn | m: my $i = 1; my $name1 = 'bla'; say ::('$name'~$i) | 12:00 | |
camelia | rakudo-moar d789da: OUTPUT«bla» | ||
P6fr | haaaa yes im stupid | ||
thx | |||
jnthn | np | ||
lunch & | |||
P6fr | im going to work | 12:01 | |
(i leave in france) | |||
i live :( | |||
RabidGravy | :) | 12:02 | |
P6fr | good day ! | ||
RabidGravy | I'm sitting on the sofa wondering which of the squillion un-finished modules I should work on | ||
I need the world to become more boring for a week or two | 12:03 | ||
12:03
P6fr left
12:04
DrForr joined
12:08
alberg left
|
|||
[Coke] | jdv79: sri ran himself out here. Calm down. | 12:08 | |
I chatted with him after he left. I got the impression, no hard feelings, he just didn't want to talk about perl 6 anymore. | 12:10 | ||
12:15
huggable left,
huggable joined
|
|||
[Coke] | (the calm down being aimed at you from HOURS ago so of course no longer relevant! whoops) | 12:15 | |
12:17
adu joined
|
|||
unmatched} | posted release announcement on blogs.perl.org blogs.perl.org/users/zoffix_znet/20...01607.html | 12:17 | |
nine | ShimmerFairy: the sub must be our scoped (defaults to my) | 12:21 | |
ShimmerFairy | ah, thanks :) | 12:22 | |
ufobat | hi [Coke] :) | ||
[Coke], i guess you were right, the v6.c was in it because of supporting old versions | 12:23 | ||
is it a good idea just to have "latest" in it? | 12:24 | ||
gfldex | unmatched}: perl6.org needs to be updated with release info as well | 12:27 | |
unmatched} | unmatched}: at which place? | ||
12:28
abraxxa left
|
|||
gfldex | unmatched}: Home the box at the top links to 2016.04 | 12:28 | |
nine | 2016.04? That's ancient! | 12:29 | |
hahainternet | can you smartmatch against a seq? maybe I'm doing something dumb | ||
but wanted to do for example 1024 ~~ 1,2,4,8...* | |||
unmatched} | gfldex: which box at the top? On the homepage? Links to .07 for me. | ||
Psy-Q | a friend asked how suitable perl 6 might be for larger-scale projects with multiple authors. i said "surely no less suited than perl 5 was", but i'm thinking it's surely better-suited/ | ||
that sentence was supposed to end with "?" | |||
hahainternet | Psy-Q: it's got strong typing, so significantly better suited | 12:30 | |
gfldex | unmatched}: i just hit the reload button and it's fine. sorry for the confusion | ||
hahainternet | (it also permits traits instead of monkey patching, so SIGNIFICANTLY better) | ||
unmatched} | No problem. | ||
Psy-Q | hahainternet: awesome, i'll tell him. he likes strongly typed languages :D | ||
gfldex | hahainternet: you may have to Junction the Seq | ||
hahainternet | gfldex: aaah of course | ||
psch | why not just (elem)? | 12:31 | |
m: my @a = ^10; my $seq = Seq.new(@a.iterator); say 5 (elem) $seq | |||
camelia | rakudo-moar d789da: OUTPUT«True» | ||
hahainternet | interesting, i'm rebuilding rakudo atm so can't test | ||
moritz | m: say 5 (elem) ^10 | ||
camelia | rakudo-moar d789da: OUTPUT«True» | ||
psch was just being overly explicit about the Seq | |||
moritz | m: say 5 (elem) (^10).seq | 12:32 | |
camelia | rakudo-moar d789da: OUTPUT«Method 'seq' not found for invocant of class 'Range' in block <unit> at <tmp> line 1» | ||
moritz | m: say 5 (elem) (^10).Seq | ||
camelia | rakudo-moar d789da: OUTPUT«Method 'Seq' not found for invocant of class 'Range' in block <unit> at <tmp> line 1» | ||
hahainternet | hmm, all i get is (...) output when combined with the sequence construct stuff | 12:33 | |
12:33
Jonis joined
|
|||
hahainternet | still building new version though and I might be doing something idiotic | 12:33 | |
unmatched} | m: say -Inf...Inf | ||
camelia | rakudo-moar d789da: OUTPUT«(...)» | ||
unmatched} | m: say 4...5 | ||
camelia | rakudo-moar d789da: OUTPUT«(4 5)» | ||
hahainternet | i guess you can't smartmatch against a non terminating sequence? | ||
i thought that was a 'range' though | |||
12:34
kid51 left
|
|||
unmatched} | m: say 5 (elem) 1...Inf | 12:34 | |
camelia | rakudo-moar d789da: OUTPUT«(...)» | ||
unmatched} | Interesting | ||
m: say 5 (elem) (1...Inf) | |||
psch | m: my $s = 1, 2, 4 ... *; say 8 (elem) eager $s # heh | ||
camelia | rakudo-moar d789da: OUTPUT«(signal SEGV)» | ||
rakudo-moar d789da: OUTPUT«(timeout)» | |||
unmatched} | m: say 5 (elem) (1...Inf) | ||
psch | the SEGV was mine | 12:35 | |
unmatched} | Ah | ||
camelia | rakudo-moar d789da: OUTPUT«(timeout)» | ||
unmatched} | hahainternet: it's a bit of a strange construct you got there. Effectivly, you're asking for a Yes or No answer, where a No answer leads to your program hanging. | 12:36 | |
psch | m: my $s = 1, 2, 4 ... *; say eager $s | ||
camelia | rakudo-moar d789da: OUTPUT«(signal SEGV)» | ||
psch | neat | ||
j: my $s = 1, 2, 4 ... *; say eager $s | |||
hahainternet | unmatched}: indeed, but there are cases where it'd be detectable | ||
so for example 3 (elem) 1,2,4...* | |||
12:36
jfuller joined
|
|||
camelia | rakudo-jvm cd19db: OUTPUT«(timeout)» | 12:36 | |
hahainternet | sequence only increases, and 2 < 3 < 4 | 12:37 | |
ah well | |||
psch | well, yeah, with some introspection that could probably work | ||
the last one | |||
hahainternet | i wonder how the subset works because i thought you could define an infinite subset | ||
maybe not | |||
psch | as in, when we know we have a derived generator function | ||
hahainternet | i appreciate there's an awful lot of complexity hre | ||
jast | if you start adding magic like that, you run the risk that you won't always be sure whether it terminates. not a good thing to abstract away... | ||
hahainternet | indeed, and it's not a dumb idea to terminate these seqs | 12:38 | |
unmatched} | m: say 1, 2, 4 ... * < 10 | ||
camelia | rakudo-moar d789da: OUTPUT«(1)» | ||
unmatched} | m: say (1, 2, 4 ... * < 10) | ||
camelia | rakudo-moar d789da: OUTPUT«(1)» | ||
12:38
mcmillhj joined
|
|||
unmatched} | huh | 12:38 | |
hahainternet | what i was trying to say is "is this value a common power of 2" | ||
12:38
colomon joined
|
|||
hahainternet | which i can do by just limiting the seq to pow(2,64) | 12:38 | |
unmatched} | hahainternet: isn't using logarithms a much better approach than generating a possibly huge sec? | 12:39 | |
hahainternet | unmatched}: in terms of performance, sure | 12:40 | |
in terms of succinct description? lol no | |||
if you're using Perl 6 for performance you've probably lost already :) | |||
unmatched} | m: sub p { log($^a)/log(2) %% 1 }; say p $_ for 4, 3, 256, 128, 42 | ||
camelia | rakudo-moar d789da: OUTPUT«TrueFalseTrueTrueFalse» | ||
unmatched} | There's a shorter way to write that too. I forget the function name. | 12:41 | |
hahainternet | probably logdivmodthing :p | ||
but no it's fine, i know what i chose was inefficient | |||
psch | i'd prefer that function with a meaningful name (and maybe a line of doc) to generating a Seq, i think | 12:42 | |
unmatched} | OK :) | ||
hahainternet | but i want to understand the limits of expression in p6 | ||
psch | also, if you have an infinite lazy Seq you have to partition parts of it anyway, which blows up your "succint" way of checking for membership | ||
hahainternet | well $a (elem) @b is very very succinct | 12:43 | |
so i was just playing with that concept | |||
jnthn | unmatched}: polymod maybe? | 12:44 | |
12:45
adu left,
jfuller left
|
|||
unmatched} | Nah, still log, but in method form: | 12:45 | |
m: sub p { $^a.log(2) %% 1 }; say p $_ for 4, 3, 256, 128, 42 | |||
camelia | rakudo-moar d789da: OUTPUT«TrueFalseTrueTrueFalse» | ||
psch | hahainternet: right, but you have to do something like "my @part-of-b = @b[$low...$high]; $a (elem) @part-of-b; ($low,$high) [X+]= $high + 1, $high - $low" instead, if you want to be able to bail | 12:46 | |
unmatched} | Well.. with additional argument I guess, 'cuase this works too | ||
m: sub p { log($^a,2) %% 1 }; say p $_ for 4, 3, 256, 128, 42 | |||
camelia | rakudo-moar d789da: OUTPUT«TrueFalseTrueTrueFalse» | ||
psch | well, minus little arithmetic error i made there :P | 12:47 | |
+the | |||
hahainternet | psch: no i don't disagree at all | ||
i'm not saying that what i wanted was smart or good | |||
was just playing about :) | |||
psch | i didn't think you were disagreeing, just wanted to elaborate how i'd do this if i was bend on using (elem) against a Seq :) | 12:48 | |
hahainternet | :) | 12:49 | |
yeah that is the better way to do it for sure | |||
< 8 mins to build rakudo on slow machine still | |||
very nice | |||
12:49
colomon left
|
|||
hahainternet | going to be hilarious when i replace this machine with some intel extreme edition processor | 12:49 | |
12:49
Sgeo left,
hanwei_ joined
|
|||
unmatched} | It'd likely won't improve much :) | 12:50 | |
psch | also, can i just say i really dig how [] grouping allows messing with metaop assign | ||
hahainternet | unmatched}: lets check on a 3770k a little bit overclocked | ||
with a moderate root ssd, only an 850 pro or so | 12:51 | ||
psch | like the [X+]= above, or [R//]= which is just awesome | ||
hahainternet | ooh, R//? | ||
roll up defined? something like that? | |||
unmatched} | Reverse | ||
psch | R is metaop reverse | ||
hahainternet | aaah | ||
12:52
colomon joined,
sufrostico joined,
hanwei_ left
|
|||
psch | m: my $x = "foo"; my $b; $x [R//]= $b; say $x; $b = "bar"; $x [R//]= $b; say $x | 12:52 | |
camelia | rakudo-moar d789da: OUTPUT«foobar» | ||
psch | that's just great imo | ||
equivalent to '$x = $b // $x', which is a thing that damian wanted in his talk iirc | 12:53 | ||
although i totally get not throwing [R//]= at people that want to learn why they might want to learn Perl 6 : | |||
:) | |||
unmatched} | :D | ||
m: sub infix:<♥> { $^a ~ $^b }; say [R♥] 'Perl 6', 'Love '; | 12:54 | ||
camelia | rakudo-moar d789da: OUTPUT«Love Perl 6» | ||
unmatched} | ^_^ | ||
m: sub infix:<♥> { $^a ~ $^b }; say [RRRRR♥] 'Perl 6', 'Love '; | 12:55 | ||
camelia | rakudo-moar d789da: OUTPUT«Love Perl 6» | ||
DrForr | Incidentally the test suite parses the infix:<♥> construct. | ||
unmatched} | I don't see it | 12:56 | |
Everything that shows up for grep -R '♥' gist.github.com/zoffixznet/52728fa...ba7c6e96e5 | 12:57 | ||
psch | m: say "Perl 6" R[&({ [R[&infix:<~>]] $^b, " ", $^a })] "Love" | 12:58 | |
camelia | rakudo-moar d789da: OUTPUT«Love Perl 6» | ||
unmatched} | :D | ||
psch++ | |||
psch | m: [R[&say]] "Perl 6" R[&({ [R[&infix:<~>]] $^b, " ", $^a })] "Love" # why stop there?! | 12:59 | |
camelia | rakudo-moar d789da: OUTPUT«Love Perl 6» | ||
parabolize | how do you uninstall a old version of a module with zef? `zef uninstall "DBIish:ver('0.5.8')"` is giving me a error | 13:00 | |
dalek | c: 968bad5 | (Wenzel P. P. Peppmeyer)++ | META.info: add Pod::To::BigPage as dependency |
13:01 | |
13:01
Actualeyes left
|
|||
hahainternet | 2 min 56 secs | 13:01 | |
to build moar | |||
on an actual machine that's fast | |||
13:02
sufrostico left
|
|||
jnthn | Rakudo moar or just MoarVM itself? | 13:02 | |
13:05
molaf joined
|
|||
nine | Sounds very much like a full rakudo to me | 13:06 | |
13:12
lucasb_ joined
|
|||
lucasb_ | hello o/ | 13:13 | |
DrForr | Aftenoon. | ||
lucasb_ | I think I may have found a segfault, but it only works in the REPL | 13:14 | |
can someone confirm it for me? | |||
type this in the standard REPL: | |||
"abc".starts-with(42 does role { method Str { 42 } }) | |||
psch | heh | 13:15 | |
a .Str that returns an Int is a neat infloop i suppose | 13:16 | ||
although, yeah, that should just eat all your mem and not segfault | |||
unmatched} | m: "abc".starts-with(42 does role { method Str { 42 } }) | ||
camelia | rakudo-moar d789da: OUTPUT«Memory allocation failed; could not allocate 81920 bytes» | ||
lucasb_ | psch: so it does segfault in your repl too? | ||
unmatched} doesn't wanna try :) | 13:17 | ||
13:17
Actualeyes joined
|
|||
psch | i don't have moar build actually | 13:17 | |
i usually don't build it at all vOv | |||
perlpilot | lucasb_: how long does it take to segfault? | ||
lucasb_ | perlpilot: instantly | ||
unmatched} | I actually get "This type cannot unbox to a native string: P6opaque, Int+{<anon|90832064>}" | ||
2016.06-10-g7cff429 built on MoarVM version 2016.06 | |||
lucasb_ | if its not the repl, then it seems too consumes lots of memory, then I kill it | ||
perlpilot | lucasb_: it does not do that for me. It sits there doing nothing. | ||
This is Rakudo version 2016.07.1-23-gb519088 built on MoarVM version 2016.07-3-gc01472d | 13:18 | ||
lucasb_ | perlpilot: ok, thanks for testing :) | ||
unmatched} | Sits there doing nothing for me on 2016.07.1-12-g58dc8c6 built on MoarVM version 2016.07 too | ||
lucasb_ | This is Rakudo version 2016.07 built on MoarVM version 2016.07 | ||
perlpilot | and, yes, it's slowly eating all my RAM :) | 13:20 | |
lucasb_ | anyway... I was justing testing that a subroutine signature of 'sub f(A(B) $x)' actually enforced that the argument was of type of A, but it doesn't seems to enforce it | ||
I mean, method A in class B can return whatever it wants... no need to be type of A | 13:21 | ||
psch | how did you conclude that if the snippet dies? | ||
lucasb_ | psch: that was another snippet... let me paste something here :) | ||
psch | oh, sure | 13:22 | |
lucasb_ | m: class C { method Int { 'oh hai' } }; sub f(Int(C) $x) { say $x.WHAT }; f(C.new) | 13:23 | |
camelia | rakudo-moar d789da: OUTPUT«(Str)» | ||
dalek | c: 0676896 | (Wenzel P. P. Peppmeyer)++ | META.info: put dependency in the right spot |
||
psch | ah, neat | ||
i suppose that's a bit too trusting in implementation :) | 13:24 | ||
i mean, i too would generally trust that coercer methods actually coerce to the type they are named after, but the language probably should check | |||
gfldex | is the type check in :(Str $s) calling ACCEPTS? | 13:25 | |
psch | gfldex: no, it's (eventually) doing nqp::istype() | ||
gfldex: the (moar) Binder sits in src/Perl6/Metamodel/BOOTSTRAP.nqp, bind_one_param the specific function to look at here | 13:26 | ||
lucasb_ | yeah, idk if it's clear if it should enforce or not (i.e., it's programmer problem, not a compiler problem). Just like in Ruby, when classes define a 'to_s' method that doesn't return strings | ||
perlpilot | lucasb_: good bug find. | ||
lucasb_: It should enforce. | |||
psch | lucasb_: the Binder definitely should enforce it | ||
lucasb_: i don't think we can enforce the return type of overwritten methods though :) | 13:27 | ||
so forcing people to only write "method Int" that actually returns Int is probably out (in sensible ways at least) | |||
gfldex | m: class C { method Int { Nil } }; sub f(Int(C) $x) { say $x.WHAT }; f(C.new) | ||
camelia | rakudo-moar d789da: OUTPUT«Nil» | ||
gfldex | what should happen in that case? | ||
perlpilot | Or ... from S02:590: The type outside the parens indicates the desired end result, and subsequent code may depend on it being that type. | 13:28 | |
synopsebot6 | Link: design.perl6.org/S02.html#line_590 | ||
psch | m: sub f(Int $) { }; f Nil | ||
camelia | rakudo-moar d789da: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Calling f(Nil) will never work with declared signature (Int)at <tmp>:1------> 3sub f(Int $) { }; 7⏏5f Nil» | ||
perlpilot | (yes, I know those are specifications, but they are the design from which the spec sprung) | ||
gfldex | some elaborate coercion may have no choice but return Nul | ||
psch | m: say Nil.isa(Int) | ||
camelia | rakudo-moar d789da: OUTPUT«False» | ||
psch | gfldex: so it's a dispatch failure, just like now? | 13:29 | |
13:29
nightfrog left,
nightfrog joined
|
|||
gfldex | as long as the run time error can be caught with try, it can be handled i guess | 13:31 | |
psch | m: sub f(Int $) { }; try f Nil | ||
camelia | rakudo-moar b89bf9: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Calling f(Nil) will never work with declared signature (Int)at <tmp>:1------> 3sub f(Int $) { }; try 7⏏5f Nil» | ||
psch | it's a compile time error | ||
13:31
hanwei_ joined,
hanwei_ left
|
|||
gfldex | in that case, but may not be in the coercion type case | 13:31 | |
13:32
hanwei_ joined,
hanwei_ left
|
|||
psch | right, that depends on what the coercion method declares as return type | 13:32 | |
13:32
hanwei_ joined,
hanwei_ left
|
|||
psch | i'm not really able of thinking of a case where something might sometimes be coerceable but not always | 13:32 | |
13:33
hanwei_ joined,
hanwei_ left
|
|||
psch | i also wonder if that shouldn't be handled by the coercer itself, which would let this die before the binder | 13:33 | |
gfldex | m: sub f(-->Str){ Nil }; say f; | ||
camelia | rakudo-moar b89bf9: OUTPUT«Nil» | ||
13:34
hanwei_ joined,
hanwei_ left
|
|||
gfldex | you never know what some foreign code will return | 13:34 | |
psch | right, which is why it should be handled as soon as possible, which would probably not be the type check in the Binder, but the coercer | 13:35 | |
perlpilot suddenly imagines gfldex speaking in a Forrest Gump voice | |||
psch | assuming whatever the foreign code that was called returned is wrapped in the class that should be coerced | ||
13:36
hanwei_ joined,
hanwei_ left
|
|||
gfldex | m: sub f(-->Str:D){ Nil }; say f; # i don't like this | 13:38 | |
camelia | rakudo-moar b89bf9: OUTPUT«Nil» | ||
unmatched} | R* announcement in r/programming is doing surprisingly well. 78% upvoted so far: www.reddit.com/r/programming/comme...tribution/ | ||
Compared to my usual experience with Perl 6 blogs, where they get actively downvoted by majority :P | |||
perlpilot | 89% now :) | 13:39 | |
unmatched} | .oO(I guess that says more about my blogs than r/programming :)) |
||
13:39
skids joined
|
|||
perlpilot | unmatched}: also ... it's early yet. | 13:39 | |
unmatched} | :) | ||
13:40
sufrostico joined
|
|||
gfldex | m: sub f(-->Str:D){ Nil }; my Str:D $s = f; say $s; # i don't like this even less | 13:44 | |
camelia | rakudo-moar b89bf9: OUTPUT«(Str:D)» | ||
gfldex | Str:D is an undefined defined value | 13:45 | |
dalek | line-Perl5: 5e3df66 | niner++ | / (3 files): Inline::Perl5::global for accessing Perl 5's global variables |
||
gfldex | m: sub f(-->Str:D){ Nil }; my Str:D $s = f; say $s; $s = Nil; dd $s; | 13:46 | |
camelia | rakudo-moar b89bf9: OUTPUT«(Str:D)Str:D $s = Str:D» | ||
gfldex | m: sub f(-->Str:D){ Nil }; my Str:D $s = f; say $s; $s = Nil; dd $s.defined; | 13:47 | |
camelia | rakudo-moar b89bf9: OUTPUT«(Str:D)Bool::False» | ||
gfldex | m: my Int:D $i = Nil; | 13:49 | |
camelia | ( no output ) | ||
dalek | c: 96297a3 | cognominal++ | doc/Language/phasers.pod6: CLOSE phaser |
||
gfldex | m: my Int:D $i = Nil; say 1 / $i; | ||
camelia | rakudo-moar b89bf9: OUTPUT«Parameter 'de' requires an instance of type Int:D, but a type object was passed. Did you forget a .new? in block <unit> at <tmp> line 1» | ||
perlpilot | nine: Does that work for the ${^VARS} too ? (${^MATCH}, ${^PREMATCH}, ${^POSTMATCH}, etc.) | 13:50 | |
gfldex | m: my Int:D $i is default(Failure.new("undefined value"); $i = Nil; | 13:55 | |
camelia | rakudo-moar b89bf9: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Cannot use variable $i in declaration to initialize itselfat <tmp>:1------> 3efault(Failure.new("undefined value"); $7⏏5i = Nil; expecting any of: term» | ||
gfldex | m: my Int:D $i is default(Failure.new("undefined value") = Nil; $i = Nil; | ||
camelia | rakudo-moar b89bf9: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Cannot use variable $i in declaration to initialize itselfat <tmp>:1------> 3(Failure.new("undefined value") = Nil; $7⏏5i = Nil; expecting any of: term» | ||
lizmat | nine: if the $p5 object doesn't do Associative yet, maybe it is an idea to just implement AT-KEY on it, that does a sefl.global() ? | 13:56 | |
so you can say $p5<$@> ? | |||
nine | perlpilot: doesn't look like it does. Could be because those are only available with use English; | ||
gfldex | m: my Str $i is default(Failure.new("undefined value")); | 13:57 | |
camelia | rakudo-moar b89bf9: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Default value '(HANDLED) undefined value in any at src/Perl6/World.nqp line 2202 in any trait_mod:sym<is> at gen/moar/m-Perl6-Actions.nqp line 5059 in any trait_mod:sym<is> at src/Perl6/Grammar.…» | ||
nine | lizmat: sounds neat but I don't expect most users to actually deal with a $p5 object but just use Net::LDAP:from<Perl5>; ... ; say %*PERL5<$@>; | ||
lizmat | nine: ah, ok, I was just inspired by your test case in t/globals.t :-) | 13:58 | |
nine | lizmat: /win 14 | ||
14:03
cog_ joined
14:07
cognominal left
14:09
dvinciguerra_ joined
|
|||
gfldex | m: my Int:D $i = sub f(){Nil}(); my Int:D $j = 1; $j = $i; dd $i; | 14:10 | |
camelia | rakudo-moar b89bf9: OUTPUT«Type check failed in assignment to $j; expected Int:D but got Int:D in block <unit> at <tmp> line 1» | ||
gfldex | LTA | ||
14:11
Ven joined
|
|||
Ven | .tell cognominal medium.com/@octskyward/graal-truff...4d8f28fb69 thought about you :) | 14:11 | |
yoleaux | Ven: I'll pass your message to cognominal. | ||
14:11
Ven left
|
|||
gfldex | m: my Int:D $i = sub f(){Nil}(); my Int:D $j = $i; dd $i; | 14:19 | |
camelia | rakudo-moar b89bf9: OUTPUT«Type check failed in assignment to $j; expected Int:D but got Int:D in block <unit> at <tmp> line 1» | ||
14:20
scovit left
|
|||
ugexe | m: package XXX { our &foo is export = -> $a, $b { $a + $b }; our &bar is export = -> $a, $b { foo($a, $b) }; }; import XXX; &foo .= assuming(1); &bar .= assuming(1); say foo(100); say &bar(100); # Can I do something like this where I create lexical copy of XXX::foo and XXX::bar with a default argument without applying to calls within package XXX itself? | 14:20 | |
camelia | rakudo-moar b89bf9: OUTPUT«101Too many positionals passed; expected 1 argument but got 2 in sub __PRIMED_ANON at EVAL_2 line 1 in block <unit> at <tmp> line 1» | ||
14:23
lucasb_ left
14:24
iH2O joined
|
|||
dalek | c: fbb443e | (Wenzel P. P. Peppmeyer)++ | doc/ (2 files): doc consequences of f(-->Int:D){Nil} |
14:26 | |
14:26
ptolemarch joined,
hwcomcn joined,
hwcomcn left
14:27
hwcomcn joined,
hwcomcn left,
hwcomcn joined,
hwcomcn left
14:28
hwcomcn joined
14:30
zacts left
14:31
ovibos is now known as aaaaaaaaaaaaaaaa,
aaaaaaaaaaaaaaaa is now known as ovibos
|
|||
skids | m: my Str:D $f; $f.say | 14:31 | |
camelia | rakudo-moar b89bf9: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Variable definition of type Str:D requires an initializerat <tmp>:1------> 3my Str:D $f7⏏5; $f.say expecting any of: constraint» | ||
14:32
hwcomcn left
|
|||
skids | I'm thinking maybe the "= Nil" behavior should likewise throw, no? | 14:32 | |
14:32
hwcomcn joined
|
|||
skids | The reason Nil can be returned from --> Str:D subs is a different matter. | 14:32 | |
(having to do with always having an escape route for failure) | 14:33 | ||
14:33
hwcomcn left
|
|||
gfldex | my guess is that it only checks if there is an initialiser but not if the value is actually defined | 14:33 | |
14:33
hwcomcn joined
|
|||
skids | m: my Str:D $f = Str:D; $f.say | 14:34 | |
camelia | rakudo-moar b89bf9: OUTPUT«Type check failed in assignment to $f; expected Str:D but got Str:D in block <unit> at <tmp> line 1» | ||
gfldex | m: sub f(-->Int:D){ return Failure.new("oi!")}; say f(); | ||
camelia | rakudo-moar b89bf9: OUTPUT«oi! in block <unit> at <tmp> line 1Actually thrown at: in block <unit> at <tmp> line 1» | ||
gfldex | m: sub f(-->Int:D){ return Failure.new("oi!")}; my Int:D $i = f(); | 14:35 | |
camelia | rakudo-moar b89bf9: OUTPUT«Earlier failure: oi! in block <unit> at <tmp> line 1Final error: Type check failed in assignment to $i; expected Int:D but got Failure (Failure.new(exception...) in block <unit> at <tmp> line 1» | ||
14:35
kid51 joined,
hwcomcn left,
hwcomcn joined
|
|||
gfldex | in my eyes the Failure should blow at the return type check, not at the assignment | 14:36 | |
14:36
colomon left
14:38
hwcomcn left
|
|||
skids | I dunno I'm no expert but my inclinantion is that assigning Nil to a :D variable that has no (defined) default should not behave that way. | 14:38 | |
dalek | c: 4edb119 | (Wenzel P. P. Peppmeyer)++ | doc/Type/Nil.pod6: fix typo |
14:39 | |
unmatched} | There's a ticket for that | ||
skids | But maybe the way to fix it is to have them have some sort of poisonous explosive default. | ||
14:39
colomon joined,
khw joined
|
|||
gfldex | unmatched}: if you can find that ticket, could you add a note for github.com/perl6/doc/commit/fbb443ed73 please? | 14:40 | |
14:42
wamba left
|
|||
skids | m: my Str:D $f is default("foo"); $f.say # this seems to work right | 14:43 | |
camelia | rakudo-moar b89bf9: OUTPUT«foo» | ||
14:43
colomon left
|
|||
unmatched} | perlpilot: well, you were right :) It was too early. The reddit post has now devolved to a handfull of idiots making fun of the logo or that /??? docs URL is written as $QUESTION_MARK.... Rather than, you know, the actual language :D | 14:44 | |
sammers | hello from Japam | ||
skids | o/ | 14:45 | |
sammers | s/Japam/Japan/ | ||
unmatched} | gfldex: here's the ticket: rt.perl.org/Ticket/Display.html?id...et-history | ||
14:47
zacts joined
|
|||
gfldex | .tell TimToady your judgment on `my Int:D $i = Nil` and `sub f(-->Int:D){Nil}` is required | 14:48 | |
yoleaux | gfldex: I'll pass your message to TimToady. | ||
14:48
iH2O left
|
|||
ugexe | as a computer janitor im upset at the prospect of having to learn a new language and will be very vocal about it | 14:49 | |
unmatched} | ugexe++ | 14:50 | |
[Coke] | I think that has already been judged, gfldex. | ||
dalek | c/molecules-patch-1: 2a5474a | (Christopher Bottoms)++ | doc/Language/operators.pod6: add operator classifications to the Index In the spirit of github.com/perl6/doc/issues/728, adding operator classifications to the index. |
14:51 | |
[Coke] | What's the expected result? | ||
14:52
prammer joined
|
|||
[Coke] | oh, you're posting that here after a discussion elsewhere... catching up... | 14:52 | |
gfldex | m: sub f(Int:D $i){}; f(Nil); | ||
camelia | rakudo-moar b89bf9: OUTPUT«Type check failed in binding $i; expected Int but got Nil (Nil) in sub f at <tmp> line 1 in block <unit> at <tmp> line 1» | ||
gfldex | i expect the same as in ^^^ | 14:53 | |
m: my Int:D $i = Nil; sub f(Int:D $i){}; f($i); | 14:55 | ||
camelia | rakudo-moar b89bf9: OUTPUT«Parameter '$i' requires an instance of type Int:D, but a type object was passed. Did you forget a .new? in sub f at <tmp> line 1 in block <unit> at <tmp> line 1» | ||
psch | the initializer is special in type smilied cases | ||
seems pretty clearly DIHWIDT to me | |||
but i'm not TimToady and don't expect anyone to just believe me on that :) | 14:56 | ||
gfldex | problem is that $i = Nil and f($i) can be in different modules at opposing sides of the planet. If you don't know that Int:D is by no means a guarantee for definedness you may spend quite some time to figure that on out. | ||
psch | don't use underdefined initializers on type smilied constraint variables | 14:57 | |
m: my Int:D $x = 0; $x = Nil | |||
camelia | ( no output ) | ||
psch | well, there goes my argument :) | ||
so, yeah, that definitely shouldn't be allowed, gfldex++ | |||
14:58
Khisanth left
|
|||
gfldex | at least it's not contagious and will blow on many buildin subs and operators | 14:59 | |
arnsholt | nqp: my @not-an-array := 1; # Perverse? Surely, you're joking! | 15:01 | |
camelia | ( no output ) | ||
arnsholt | nqp: my @not-an-array := 1; nqp::say("alive"); # Perverse? Surely, you're joking! | ||
camelia | nqp-moarvm: OUTPUT«alive» | ||
psch | m: my @not-an-array := 1; say "alive" | ||
camelia | rakudo-moar b89bf9: OUTPUT«Type check failed in binding; expected Positional but got Int (1) in block <unit> at <tmp> line 1» | ||
arnsholt | nqp: my @not-an-array; @not-an-array := 1; nqp::say("alive"); # What about this one? | ||
camelia | nqp-moarvm: OUTPUT«alive» | ||
arnsholt | Yeah, that's what I thought | ||
psch | nqp: my @a; say(nqp::what(@a)) | 15:02 | |
camelia | nqp-moarvm: OUTPUT«» | ||
psch | nqp: my @a; say(nqp::how(@a)) | ||
camelia | nqp-moarvm: OUTPUT«cannot stringify this at gen/moar/stage2/NQPCORE.setting:714 (/home/camelia/rakudo-m-inst-2/share/nqp/lib/NQPCORE.setting.moarvm:join) from gen/moar/stage2/NQPCORE.setting:703 (/home/camelia/rakudo-m-inst-2/share/nqp/lib/NQPCORE.setting.moarvm:say) fr…» | ||
psch | nqp: my @a; say(nqp::how(@a).name(nqp::how(@a)) | ||
camelia | nqp-moarvm: OUTPUT«Confused at line 2, near "say(nqp::h" at gen/moar/stage2/NQPHLL.nqp:706 (/home/camelia/rakudo-m-inst-2/share/nqp/lib/NQPHLL.moarvm:panic) from gen/moar/stage2/NQP.nqp:927 (/home/camelia/rakudo-m-inst-2/share/nqp/lib/nqp.moarvm:comp_unit) from gen/moar…» | ||
psch | nqp: my @a; say(nqp::how(@a).name(nqp::how(@a))) | ||
camelia | nqp-moarvm: OUTPUT«NQPArray» | ||
arnsholt | @ and % in NQP are mostly for the user, and their autoviv behaviour when they don't have an assignment with the declaration | ||
psch | well, it does know it is an array :) | ||
parabolize | ugexe: this seems to work gist.github.com/parabolize/9800f37...f291cbc76c | 15:03 | |
psch | nqp: my @a := 1; say(nqp::how(@a).name(nqp::how(@a))) | ||
camelia | nqp-moarvm: OUTPUT«BOOTInt» | ||
15:03
Flying_Squirrel joined
|
|||
Flying_Squirrel | Hi all | 15:03 | |
arnsholt | psch: If there's no added initializer, it's initialized to nqp::list/nqp:hash (modulo @/%) | ||
psch | arnsholt: it seems ok-ish to me, with how we only do binding | ||
perlpilot | Flying_Squirrel: greetings | ||
arnsholt | Yeah, definitely. I just got to thinking about this and wondered what the exact semantics were | ||
psch | yeah, it's an interesting bit of "we elide lots of consistency checks" | 15:04 | |
on the nqp level that is | |||
dalek | c: b6d8a16 | (Wenzel P. P. Peppmeyer)++ | t/00-load.t: add test as travis is not showing installed dependencies |
||
Flying_Squirrel | while reading about main differences between Perl 5 and 6 I read about the namespaces and I would to find a source that explains why such choices were made. Where shall I start? | ||
arnsholt | psch: Yeah. Or alternatively, the semantics of NQP are different from Perl 6 | 15:05 | |
moritz | Flying_Squirrel: what specifically are you refering to, re namespaces? | 15:06 | |
gfldex | Flying_Squirrel: you may find some exlanations in design.perl6.org/ | ||
Flying_Squirrel | oh sorry, I'm not quite sure about the keyword : like the symbol before the variable names that is different in Perl 5 | ||
moritz | Flying_Squirrel: ah, sigils | 15:07 | |
Flying_Squirrel: basically, it caused lots of confusion in p5 | |||
Flying_Squirrel | I thought it was pretty straightforward but I'm still learning, maybe I got it wrong | 15:08 | |
moritz | Flying_Squirrel: newbies assume that $a[$index] access a variable $a, not @a | ||
15:08
canopus left
|
|||
Flying_Squirrel | moritz: ok | 15:08 | |
15:08
sammers left
|
|||
gfldex | Flying_Squirrel: it got even more confusing when references where involved | 15:09 | |
ugexe | parabolize++ thats what I needed | ||
Flying_Squirrel | gfldex: ah? | ||
15:10
jgrabber left
|
|||
gfldex | Flying_Squirrel: perl -e 'my @a; my $b = \@a; $b->[1] = 42; print @$b;' # 42 | 15:10 | |
unmatched} | Now all the newbies get confused about why $a can have a List in it too :P | 15:11 | |
gfldex | Flying_Squirrel: and that's a simple example | ||
15:11
dainis joined
|
|||
psch | unmatched}: well, it could before, it just was a reference with syntactic overhead | 15:12 | |
15:12
zacts_pi joined,
travis-ci joined,
Khisanth joined
|
|||
travis-ci | Doc build failed. Wenzel P. P. Peppmeyer 'add test as travis is not showing installed dependencies' | 15:12 | |
travis-ci.org/perl6/doc/builds/146670633 github.com/perl6/doc/compare/4edb1...d8a166e37e | |||
15:12
travis-ci left
|
|||
gfldex | unmatched}: what proves the waterbed theory of confusion | 15:12 | |
15:12
travis-ci joined
|
|||
travis-ci | Doc build passed. Christopher Bottoms 'add operator classifications to the Index | 15:12 | |
travis-ci.org/perl6/doc/builds/146667157 github.com/perl6/doc/commit/2a5474accb85 | |||
15:12
travis-ci left
|
|||
psch | unmatched}: so, again, the same consistency argument applies: the sigil stays the same, even if you have a container container | 15:12 | |
15:13
zacts left,
canopus joined
|
|||
unmatched} | psch: Perl 5's sigils also have a consistency argument: $ = one thing; @ = many things; % = named things | 15:14 | |
Flying_Squirrel | gfldex: so basically in your example, you define an array a, and then a variable b that contains a reference to a (like C pointers ?), then use b to access a and assign a value to hmm.. yup got lost along the way | ||
unmatched} | So those trained on that argument now get confused why $ = [one thing|many things|named things] in Perl 6 | ||
psch | unmatched}: oh, definitely. i'm not arguing against this waterbedding | ||
Flying_Squirrel | *got me lost | ||
I'm especially confused with the @$b | 15:15 | ||
psch | Flying_Squirrel: that just means @{$b} ;) | ||
scnr | |||
15:16
harmil joined
|
|||
unmatched} | Flying_Squirrel: cheat sheet: juerd.nl/site.plp/perlcheat I believe the author also has an excellent guide to Perl 5's sigils, though I forget the link. #perl might know it | 15:16 | |
Flying_Squirrel | unmatched}: thanks | ||
dalek | c: 2a5474a | (Christopher Bottoms)++ | doc/Language/operators.pod6: add operator classifications to the Index In the spirit of github.com/perl6/doc/issues/728, adding operator classifications to the index. |
15:17 | |
c: 7f939bd | (Christopher Bottoms)++ | doc/Language/operators.pod6: Merge pull request #741 from perl6/molecules-patch-1 add operator classifications to the Index |
|||
harmil | Dunno if my last message made it, so: in finding all of the Unicode balanced bracketing characters (goo.gl/4P2kWW) I found an interesting bug in uniname: it sets its parameter to Any :-) | ||
15:17
xinming_ joined
|
|||
psch | harmil: care to demonstrate? | 15:18 | |
15:18
zacts_pi left
|
|||
unmatched} | huggable: test | 15:19 | |
15:19
huggable left
|
|||
harmil | Of course, now I'm trying to come up with the minimal example and it's not repeating. :-) | 15:19 | |
timotimo made it home alive | |||
psch | harmil: you can also paste your more expansive code on gist.github.com and feed that to camelia | ||
[Coke] | anyone see how to change the listening port on Bailador? | 15:20 | |
15:20
xinming left
|
|||
[Coke] found it | 15:20 | ||
harmil | Here's the whole thing (reduced only in the range of codepoints it checks): | ||
m: my @ends; for ^0x00ff -> $i { my $c = try { $i.chr }; next if !$c.defined or $c eq "("; next unless $c ~~ /<:Ps>|<:Pi>/; my $end = :16(uniprop($c, "Bidi_Mirroring_Glyph")); next unless $end.defined; $end = $end.chr; say("'$c' {uniname($c)} ~ '$end' {uniname($end)}") } | |||
camelia | rakudo-moar b89bf9: OUTPUT«'[' LEFT SQUARE BRACKET ~ ']' RIGHT SQUARE BRACKET'{' LEFT CURLY BRACKET ~ '}' RIGHT CURLY BRACKET'«' LEFT-POINTING DOUBLE ANGLE QUOTATION MARK ~ '»' RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK» | ||
dalek | c: 7e0050e | (Wenzel P. P. Peppmeyer)++ | .travis.yml: force panda to update module list |
||
15:21
hoelzro joined
|
|||
harmil | Oh, interesting: For me those brace-characters do NOT print! | 15:21 | |
recently fixed? | |||
15:21
sammers joined
|
|||
psch | star-m: my @ends; for ^0x00ff -> $i { my $c = try { $i.chr }; next if !$c.defined or $c eq "("; next unless $c ~~ /<:Ps>|<:Pi>/; my $end = :16(uniprop($c, "Bidi_Mirroring_Glyph")); next unless $end.defined; $end = $end.chr; say("'$c' {uniname($c)} ~ '$end' {uniname($end)}") } | 15:21 | |
camelia | star-m 2016.04: OUTPUT«'[' LEFT SQUARE BRACKET ~ ']' RIGHT SQUARE BRACKET'{' LEFT CURLY BRACKET ~ '}' RIGHT CURLY BRACKET'«' LEFT-POINTING DOUBLE ANGLE QUOTATION MARK ~ '»' RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK» | ||
psch | works since 2016.04, apparently :) | ||
unmatched} | [Coke]: pass it to baile | ||
[Coke]: github.com/ufobat/Bailador/blob/ma...dor.pm#L90 | 15:22 | ||
harmil | I'm on moar 2016.06-9-g8fc21d5 | ||
psch | harmil: maybe some terminal font hiccup? | ||
15:29
Lucas_One left
15:30
sufrostico left,
Cabanossi left,
perlpilot left,
tomboy64 left
15:38
perigrin left
15:41
dvinciguerra_ left,
Jonis left,
richi235 left,
RabidGravy left,
jnthn left,
atta left,
cooper left,
mtj_ left,
TimToady left,
CoconutCrab left,
ShimmerFairy left,
notbenh_ left,
john51 left,
khw left,
Roamer` left,
smash left,
leedo left,
danaj left,
dj_goku_ left,
cosimo left,
gregf_ left,
tadzik left,
kentnl left,
mrsolo left,
hobbs left,
lnrdo left,
riatre left,
mithaldu_ left,
timotimo left,
gabiruh left,
ugexe left,
niko left,
harmil left,
jameslenz left,
avenj left,
cog_ left,
nightfrog left,
Actualeyes left,
[ptc] left,
lizmat left,
sno left,
pecastro left,
user9 left,
ovibos left,
frew left,
jast left,
woodruffw left,
kst left,
ponbiki left,
Psy-Q left,
canopus left,
Khisanth left,
prammer left,
nebuchadnezzar left,
telex left,
nbg left,
stmuk left,
xiaomiao left,
silug left,
ilbot3 left,
ChoHag left,
ptolemarch left,
rafl left,
rjbs left,
noganex_ left,
avalokite left,
Possum left,
nowan left,
drforr1 left,
olinkl left,
PotatoGim left,
ilmari left,
japanoise left,
pnu_ left,
stevieb left,
mcmillhj left,
cyphase left,
M-Illandan left,
firstdayonthejob left,
kaare_ left,
aries_liuxueyang left,
AndyBotwin left,
petercommand left,
bob777 left,
cgfbee left
15:42
DrParis left,
shadowpaste left,
jmiven left,
saaki left,
stux|RC-only left,
nine left,
tony-o left,
xxpor left,
skaji left,
luis left,
kid51 left,
DrForr left,
[Coke] left,
remmie left,
cxreg left,
mr-foobar left,
khagan left,
pyrimidine left,
vike left,
ribasushi left,
El_Che left,
ssm left,
xinming_ left,
skids left,
rindolf left,
skarn left,
Upasaka left,
domidumont left,
ufobat left,
sunnavy left,
ambs left,
[particle] left,
obfusk left,
DarthGandalf left,
eam left,
unmatched} left,
Hotkeys left,
hoelzro left,
dainis left,
molaf left,
hanekomu left,
domm left,
susmus left,
akiym left,
darutoko left,
mohae left,
adrusi left,
zostay left,
Peter_R left,
mindos left,
geekosaur left,
chee left,
Praise left,
decent left,
robinsmidsrod left,
mephinet- left,
geraud left,
cibs left,
sammers left,
Flying_Squirrel left,
yoleaux left,
Matthew[m] left,
Sigyn left,
benchable left,
yeltzooo9 left,
dsp- left,
kipd left,
hahainternet left,
AlexDaniel joined
|
|||
AlexDaniel | 𝒄𝒉𝒂𝒎𝒑𝒊𝒐𝒏𝒔 :) | 15:43 | |
hmm | 15:45 | ||
15:47
ilogger2 joined,
ChanServ sets mode: +v ilogger2
15:52
dainis joined
15:53
xinming joined
15:54
zakharyas joined
|
|||
unmatched} | Fair enough :) | 15:54 | |
15:55
zacts joined
|
|||
gfldex | unmatched}: after looking at the test however, I have to agree. LWP::Simple depends on the cooperation of the intarwebs. | 15:55 | |
15:55
zacts left
|
|||
dalek | c: 8210e65 | cognominal++ | doc/Language/phasers.pod6: DOC phaser |
15:55 | |
sammers | m: say '1: word, 2: word, 3: word'.subst( / 'word' /, '', :x(1) ); | 15:57 | |
camelia | rakudo-moar b89bf9: OUTPUT«1: , 2: word, 3: word» | ||
sammers | hmm | ||
is there a way to delete every occurance exluding the first match? | |||
15:57
user9 joined
|
|||
sammers | m: say '1: word, 2: word, 3: word'.subst( / 'word' /, '', :x(2) ); | 15:58 | |
camelia | rakudo-moar b89bf9: OUTPUT«1: , 2: , 3: word» | ||
unmatched} | m: say '1: word, 2: word, 3: word'.subst( / 'word' /, '', :!x(1) ); | ||
camelia | rakudo-moar b89bf9: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Argument not allowed on negated pair with key 'x'at <tmp>:1------> 3rd, 3: word'.subst( / 'word' /, '', :!x(7⏏051) );» | ||
psch | m: say '1: word, 2: word, 3: word'.subst( / 'word' /, '', :nd(2..*) ); | ||
camelia | rakudo-moar b89bf9: OUTPUT«1: word, 2: , 3: » | ||
dalek | c: 8e6e303 | (Wenzel P. P. Peppmeyer)++ | .travis.yml: we may not want to depend on the internet for tests |
||
sammers | cool | ||
15:58
felher joined,
iH2O joined
|
|||
psch | alternatively :st, :rd or :th | 15:59 | |
or even :nth | 16:00 | ||
sammers | that is great | ||
thanks | |||
psch | :nth is probably the most readable if you're not going for the colonpair shorthand | ||
16:00
rmmm joined
|
|||
psch | like, :1st, :2nd, :3rd, :4th look neat, but :st(1) kinda doesn't | 16:00 | |
gfldex | m: say '1: word, 2: word, 3: word'.subst( / 'word' /, '', :nth(2..*) ); | 16:01 | |
camelia | rakudo-moar b89bf9: OUTPUT«1: word, 2: , 3: » | ||
unmatched} | m: say '1: word, 2: word, 3: word'.subst( / 'word' /, '', :2th ); | ||
camelia | rakudo-moar b89bf9: OUTPUT«1: word, 2: , 3: word» | ||
unmatched} | XD | ||
psch | yeah, it works better in Date.later | 16:03 | |
i mean, ':$st where * == 1' is probably something we could put in the sig there, but otoh why bother? :) | |||
the subst sig that is | |||
iH2O | ok | ||
16:03
WAAAB8X joined
|
|||
14WAAAB8X | Doc build passed. Christopher Bottoms 'succ/pred explanation | 16:03 | |
travis-ci.org/perl6/doc/builds/146680935 github.com/perl6/doc/compare/7e005...856953a210 | |||
Juerd | psch: I find 9 twigils about 6 too many. | 16:04 | |
unmatched} | heh | ||
psch | Juerd: which do you think should leave? | ||
Juerd | psch: Everything that isn't used by regular programmers on a regular basis. Let's keep <. ! ^> | 16:05 | |
dalek | c: 4518bc3 | (Wenzel P. P. Peppmeyer)++ | doc/Type/Str.pod6: :nth can be Callable |
||
Juerd | I'm not very sure about ? because I haven't really seen many uses of it yet. | ||
psch | Juerd: why the preference for positional self-declaring over named self-declaring? | 16:06 | |
16:06
dainis left,
cosimo joined
|
|||
psch | m: my &sub = sub { $^a > 0 ?? &?ROUTINE($^a-1) !! $^a }; # simple ?-twigil example | 16:07 | |
camelia | ( no output ) | ||
psch | also ::?CLASS and $?CLASS are rather common | ||
Juerd | But : just sounds like a bad idea (at some point, just switch to a formal signature, jeez), < is redundant as it saves 1 character typing, = and * could go through globalish objects. | ||
psch | fwiw, i don't really see < as a twigil | 16:08 | |
Juerd | psch: It's not a preference for one over the other, it's that $^a and $^b are just very useful for tiny subs, whereas anything with named arguments just won't be a tiny sub anyway. | ||
perlpilot_ | Juerd: except that sometimes tiny subs want to use names for clarity | ||
psch | i don't follow. the calling convention does not dictate the complexity of a sub | ||
Juerd | psch: I don't know what < is exactly. It seems ambiguous with the $ variable and the <> postcircumfix, even though a combination of those two makes no sense. | 16:09 | |
16:09
prammer joined
|
|||
Juerd | But $<foo> reads like it should be the same as ${'foo'}, not $/{'foo'} | 16:09 | |
dalek | c: f96c6a1 | Altai-man++ | doc/Language/glossary.pod6: Dead glossary page links were fixed |
||
Juerd | perlpilot_: That's not the kind of tiny that I'd find tiny :) | ||
perlpilot_: I'm thinking of things like routines you pass to sort | 16:10 | ||
perlpilot_ | me too actually :) | ||
Juerd | perlpilot_: In which you typically have a single simple expression that involves two arguments | ||
psch | m: "foo" ~~ /(.)+/; say @() # is ( a twigil now as well? | 16:11 | |
camelia | rakudo-moar b89bf9: OUTPUT«([「f」 「o」 「o」])» | ||
psch | that's why i don't think < is a twigil | ||
and yeah, i can see the ${'foo'} instead of $/{'foo'} interpretation, i probably just got too used to it to be bothered by it | |||
gfldex | m: say $++, $<>; | 16:12 | |
camelia | rakudo-moar b89bf9: OUTPUT«0Nil» | ||
Juerd | gfldex: Every $ is a new one. | ||
psch | m: "foo" ~~ /(.)+/; say $<> | ||
camelia | rakudo-moar b89bf9: OUTPUT«「foo」 0 => 「f」 0 => 「o」 0 => 「o」» | ||
Juerd | Anyway, I think Perl 6 got too complex in some places, and twigils is one of them. It's okay, it's still a wonderful language even if it takes a bit longer to learn. | 16:13 | |
psch | well, = and ~ are mostly ignorable | ||
Juerd | I don't believe in 'mostly ignorable' if it's syntax. | ||
16:13
travis-ci joined
|
|||
psch | although that's probably because we don't really have enough working to do things with them yet | 16:13 | |
travis-ci | Doc build passed. cognominal 'DOC phaser' | ||
travis-ci.org/perl6/doc/builds/146683484 github.com/perl6/doc/compare/dc856...10e654bef1 | |||
16:13
travis-ci left,
lostinfog joined
|
|||
psch | i mean, messing with %~LANG is really icky still | 16:14 | |
16:14
darutoko- joined,
darutoko- left
|
|||
dalek | c/molecules-patch-1: 0b82fdd | (Christopher Bottoms)++ | doc/Type/Bool.pod6: Bool.succ, .pred methods explained (please review) I first encountered the method "succ" today, and it was a method on Bool. At first I misunderstood it to mean "success", and wondered what type of failure or disaster "pred" stood for. Then I discovered that "succ" means "successor" and "pred" means "predecessor" and that they seem to totally make sense if we think of Bool in terms of it consisting of two possible enums. So, that's what I tried to explain, but I would really l |
16:14 | |
Juerd | imho, twigils like = and ~ are the same mistake that non-\w variable names in Perl 5 were. | ||
geekosaur | I do wonder if $?... and $*... should really be pseudo-namespaces | 16:15 | |
Juerd | I would have preferred that. | ||
psch | i prefer $? over e.g. COMPILING:: | 16:16 | |
perlpilot_ | me too | ||
16:16
iH2O left
|
|||
Juerd | The whole uppercase thing is another thing I don't really get. | 16:17 | |
If it's already special because of the twigil, then what's the use of the allcaps names... | |||
perlpilot_ | reinforcement? | ||
dalek | c/molecules-patch-1: 30c2714 | (Christopher Bottoms)++ | doc/Type/Bool.pod6: formatting tweak |
16:18 | |
Juerd | I think it serves to make things ugly, which in turn makes you less likely to want to use them... :P | ||
16:18
travis-ci joined
|
|||
travis-ci | Doc build passed. Wenzel P. P. Peppmeyer 'we may not want to depend on the internet for tests' | 16:18 | |
travis-ci.org/perl6/doc/builds/146684016 github.com/perl6/doc/compare/8210e...6e30359105 | |||
16:18
travis-ci left
16:22
travis-ci joined
|
|||
travis-ci | Doc build failed. Christopher Bottoms 'Bool.succ, .pred methods explained (please review) | 16:22 | |
travis-ci.org/perl6/doc/builds/146688481 github.com/perl6/doc/commit/0b82fdd937c8 | |||
16:22
travis-ci left
16:27
cosimo left
|
|||
[Coke] | another Bailador question: I have post '' => sub { say request.body } - I hit the post, I see a single line in the log file indicating that it's being hit; no output is generated. Any pointers? | 16:31 | |
16:32
darutoko joined
16:33
Herby_ joined
|
|||
Herby_ | o/ | 16:33 | |
Question: How do I get a multiline input from the terminal? Poking around the perl6 docs, 'get' and 'prompt' seem to terminate when enter is hit | 16:34 | ||
[Coke] | Ah. in mojo, an empty route string matches everything; had to change it from '' to /.*/ | ||
How would you know when to stop getting input? | 16:35 | ||
psch | m: my @lines = get() xx 3; .say for @lines | ||
camelia | rakudo-moar b89bf9: OUTPUT«Céad slán ag sléibhte maorga Chontae Dhún na nGallAgus dhá chéad slán ag an Eireagal ard ina stua os cionn caor is coll;Nuair a ghluais mise thart le Loch Dhún Lúich’ go ciúin sa ghleann ina luí» | ||
unmatched} | $*IN.lines ? | ||
psch | Herby_: you can just chain &get calls | ||
Herby_ | That was my next question. I'm on Windows 10, working my way through 'Learning Perl' examples to learn Perl6 | ||
unmatched} | m: mny @lines = $*IN.lines; say "Got {+@lines} lines of input" | ||
camelia | rakudo-moar b89bf9: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Variable '@lines' is not declared. Did you mean '&lines'?at <tmp>:1------> 3mny 7⏏5@lines = $*IN.lines; say "Got {+@lines} » | ||
unmatched} | m: my @lines = $*IN.lines; say "Got {+@lines} lines of input" | ||
camelia | rakudo-moar b89bf9: OUTPUT«Got 20 lines of input» | ||
psch | lines should go until EOF, which is the next use case i can think of | 16:37 | |
unmatched} | Herby_: don't know about Windows, but on Linux, you generally use CTRL+D to end multi-line stuff; that's EOF (so .lines stuff would work for such a scenario) | 16:38 | |
psch | i think windows uses ^Z? | ||
geekosaur | control-z may work, yeh | ||
timotimo | did i mention i have my very own camelia plushie? :D | ||
unmatched} | m: my @lines = $*IN.lines.map({/Nuair/ and last}); say "Got {+@lines} lines of input" | ||
camelia | rakudo-moar b89bf9: OUTPUT«Got 2 lines of input» | ||
unmatched} | timotimo: I'm jealous :) | 16:39 | |
[Coke] | timotimo: jelly! | ||
timotimo | :D | ||
liz and wendy came over to visit with their bikes, and they gave it to me in person! :D | |||
Herby_ | unmatched}, I'll give it a whirl. thanks | ||
16:39
cosimo joined
|
|||
unmatched} | On the topic of sigls and twigils: www.xkcd.com/1306/ :) | 16:42 | |
AlexDaniel | ↘ Go ↗ Perl 6 ? | 16:45 | |
16:47
sjoshi joined
|
|||
Juerd | unmatched}: Hmmm... $qbasic? I thought that was qbasic$ | 16:47 | |
16:47
prammer left
|
|||
unmatched} | *shrug* | 16:48 | |
16:48
prammer joined
|
|||
[Coke] | docubug, mkdir should note that it's creating intervening directories (like $ mkdir -p) | 16:50 | |
16:52
prammer left
|
|||
AlexDaniel | [Coke]: can you take a look at github.com/perl6/doc/pull/743 and tell your opinion? | 16:53 | |
or anybody else? | 16:54 | ||
dalek | c: 8761394 | (Zoffix Znet)++ | doc/Type/IO/Path.pod6: Document mkdir is like $ mkdir -p [Coke]++ |
16:56 | |
AlexDaniel | it's kinda interesting that people either don't see such pull requests or simply don't want to comment on them, but later…… We don't want to be in a situation when people start panicking when stuff is already done (“Why did you do this? Nooo!”) | ||
16:57
Guest66 joined,
Guest66 is now known as P6fr
|
|||
P6fr | re | 16:57 | |
unmatched} | I just passed it as tl;dr and unsubbed from the first glosarry issue 'cause it was spamming my notifications :) | ||
17:00
labster joined
17:03
travis-ci joined
|
|||
travis-ci | Doc build failed. Zoffix Znet 'Document mkdir is like $ mkdir -p | 17:03 | |
travis-ci.org/perl6/doc/builds/146698077 github.com/perl6/doc/compare/f96c6...613942831d | |||
17:03
travis-ci left
|
|||
unmatched} | Oh, f off with your trailing whitespace. | 17:04 | |
Juerd | ...said the unmatched curly. | 17:05 | |
dalek | c: ebab3c9 | (Zoffix Znet)++ | doc/Type/IO/Path.pod6: :rage4: |
17:06 | |
[Coke] | unmatched}: as the author of that test (but not the committer), I would have no problem if the test became optional. | ||
17:06
sjoshi left
|
|||
[Coke] | AlexDaniel: there's a lot of stuff there. do you just want feedback on whether we should remove links to wikipedia? | 17:06 | |
unmatched} | I think AlexDaniel was running some statistics vis-a-vis that test. So I'll leave it to him to make changes, if any are needed. | 17:07 | |
AlexDaniel | according to my statistics, Zoffix is very unhappy with these tests | 17:08 | |
unmatched} | :D | ||
17:08
zakharyas left
|
|||
[Coke] | i agree that it's frustrating when someone puts in the work, the trigger is pulled, and then someone like me says "why did you do that". but given the volunteer nature of the project, it's hard to avoid, unless someone wants to *own* the project and make sure that doesn't happen. (like you're doing by asking me! thanks!) | 17:09 | |
AlexDaniel | [Coke]: the question is should we remove glossary items like JVM, JIT or OOP from the glossary? | ||
[Coke] | on the other hand, running 'make test' before pushing is easy. | ||
AlexDaniel: I could argue it either way. | 17:10 | ||
unmatched} | [Coke]: no it's not, because it'd involve finding/cloning the repo pulling the changes, making edits, and pushing back. Compare that to "Edit this page" on GitHub that let's you do single-click edits. | 17:11 | |
[Coke] | hard to determine where to draw the line is. | ||
17:11
pRiVi joined
|
|||
[Coke] | unmatched}: You're the only person I know that is editing things via github. | 17:11 | |
unmatched} | I can't be the only one. | ||
AlexDaniel | not the only one | ||
github marks commits that were done via github, it seems like others do that sometimes too | 17:12 | ||
[Coke] | so someone open a ticket to make the test optional. | ||
unmatched} does so | |||
17:13
travis-ci joined
|
|||
travis-ci | Doc build errored. Zoffix Znet ' :rage4:' | 17:13 | |
travis-ci.org/perl6/doc/builds/146700502 github.com/perl6/doc/compare/87613...ab3c955752 | |||
17:13
travis-ci left
|
|||
AlexDaniel | travis-ci: you're drunk, go home | 17:13 | |
unmatched} | Opened github.com/perl6/doc/issues/745 | 17:16 | |
[Coke] | what is "Pod::To::BigPage" ? | 17:17 | |
gfldex | [Coke]: it renders all pod files into one big html file, what can be shipped with a distro and will even work with ntfs | 17:18 | |
[Coke] | ah, it's too new. | ||
17:18
dainis joined
|
|||
gfldex | also it allows printing for some values of printing | 17:18 | |
[Coke] | one of its tests depends on IO::Socket::SSL implicitly but not explicitly. | 17:19 | |
unmatched} | Neat. TIL GitHub marks on-site-edited commits :) | ||
[Coke] | I'm done with unmatched}'s request, just trying to get a clean test run in. | 17:20 | |
unmatched} | \o/ [Coke]++ | ||
[Coke] | ... openssl assumes that DNS works. | ||
and doesn't respect https roxy. | 17:22 | ||
[Coke] opens github.com/sergot/openssl/issues/30 | 17:23 | ||
17:23
TimToady joined
17:24
usermac joined
|
|||
usermac | Does Google Cloud offer Perl6? If not, then who? Thx | 17:24 | |
17:25
pmurias joined
|
|||
pmurias | hi | 17:25 | |
unmatched} | hey | ||
usermac: offer how? I got Perl 6 installed on my GCE VM | 17:26 | ||
[Coke] | and another one for LWP::Simple... | ||
usermac: there's a docker container, if that helps. | 17:27 | ||
s/container/image/ oops | |||
unmatched} | usermac: it's "app engine" only has Node.js, Java, Python, PHP, Go, and Ruby listed as languages of choice. | ||
[Coke] | ==> Testing Pod::To::BigPage | ||
===SORRY!=== | |||
Expected MAST::Frame, but didn't get one | |||
t/P.t .. | |||
unmatched} | That was an issue with JSON::RPC too and the author belives that has to do with something LWP::Simple | 17:28 | |
*in LWP... | |||
17:28
cdg joined
|
|||
P6fr | m: my @ = 1..5.say | 17:29 | |
camelia | rakudo-moar b89bf9: OUTPUT«5» | ||
[Coke] | github.com/gfldex/perl6-pod-to-bigpage/issues/1 | ||
P6fr | m: my @ = 1..5;say @ | ||
camelia | rakudo-moar b89bf9: OUTPUT«[]» | ||
17:29
domidumont joined
|
|||
[Coke] will just push the test change untested, then. | 17:29 | ||
AlexDaniel | [Coke]: there's some discussion on github.com/perl6/doc/issues/745 :) | 17:30 | |
gfldex | [Coke]: that test is working fine locally and in a clean VM | ||
P6fr | m: my @a = 1..5;say @a | ||
camelia | rakudo-moar b89bf9: OUTPUT«[1 2 3 4 5]» | ||
dalek | c: 4aee722 | coke++ | Makefile: Turn off trailing whitespace test for 'make test' Make all tests available under 'make xtest' |
17:31 | |
gfldex | [Coke]: can you try `panda --force install LWP::Simple` please? | ||
[Coke] | gfldex: I had to do that just now to install LWP::Simple, yes | ||
sorry; | 17:32 | ||
what I did was "panda --notests install LWP::Simple" | |||
since LWP::Simple fails tests here. | |||
heading out | |||
17:33
cdg left,
cdg joined
|
|||
unmatched} | \o/ | 17:33 | |
gfldex | [Coke]: i don't got IO::Socket::SSL installed (because it doesn't work) | 17:34 | |
17:38
mcmillhj joined,
mcmillhj left,
mcmillhj joined
17:39
itaipu joined
17:41
pmurias is now known as TrollButNotOnIrc
|
|||
P6fr | m: say 1..26 Z A..Z | 17:41 | |
camelia | rakudo-moar b89bf9: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Undeclared names: A used at line 1 Z used at line 1» | ||
17:41
TrollButNotOnIrc is now known as pmurias
|
|||
P6fr | m: my $a =1..26 Z A..Z | 17:42 | |
camelia | rakudo-moar b89bf9: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Undeclared names: A used at line 1 Z used at line 1» | ||
unmatched} | m: m: say 1..26 Z "A".."Z" | ||
camelia | rakudo-moar b89bf9: OUTPUT«((1 A) (2 B) (3 C) (4 D) (5 E) (6 F) (7 G) (8 H) (9 I) (10 J) (11 K) (12 L) (13 M) (14 N) (15 O) (16 P) (17 Q) (18 R) (19 S) (20 T) (21 U) (22 V) (23 W) (24 X) (25 Y) (26 Z))» | ||
P6fr | m: my $a =1..26 Z =>"A".."Z" | 17:43 | |
camelia | rakudo-moar b89bf9: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Preceding context expects a term, but found infix => insteadat <tmp>:1------> 3my $a =1..26 Z =>7⏏5"A".."Z"» | ||
P6fr | m: my $a =1..26 Z=>"A".."Z" | ||
camelia | ( no output ) | ||
unmatched} | You need to `say` or output the output some other way | ||
P6fr | m: my $a =1..26 Z=>"A".."Z";say $a | ||
camelia | rakudo-moar b89bf9: OUTPUT«1..26» | ||
P6fr | ok thx unmatched} | 17:44 | |
unmatched} | m: my $a = (1..26 Z=>"A".."Z");say $a | ||
camelia | rakudo-moar b89bf9: OUTPUT«(1 => A 2 => B 3 => C 4 => D 5 => E 6 => F 7 => G 8 => H 9 => I 10 => J 11 => K 12 => L 13 => M 14 => N 15 => O 16 => P 17 => Q 18 => R 19 => S 20 => T 21 => U 22 => V 23 => W 24 => X 25 => Y 26 => Z)» | ||
AlexDaniel | or | ||
m: my @a = 1..26 Z=> "A".."Z"; say @a | |||
camelia | rakudo-moar b89bf9: OUTPUT«[1 => A 2 => B 3 => C 4 => D 5 => E 6 => F 7 => G 8 => H 9 => I 10 => J 11 => K 12 => L 13 => M 14 => N 15 => O 16 => P 17 => Q 18 => R 19 => S 20 => T 21 => U 22 => V 23 => W 24 => X 25 => Y 26 => Z]» | ||
unmatched} | Right | ||
17:45
domidumont left
|
|||
P6fr | thx you very much | 17:45 | |
17:45
sena_san joined
|
|||
AlexDaniel | or maybe you want something like this | 17:46 | |
m: say (‘A’..‘Z’).pairs | |||
camelia | rakudo-moar b89bf9: OUTPUT«(0 => A 1 => B 2 => C 3 => D 4 => E 5 => F 6 => G 7 => H 8 => I 9 => J 10 => K 11 => L 12 => M 13 => N 14 => O 15 => P 16 => Q 17 => R 18 => S 19 => T 20 => U 21 => V 22 => W 23 => X 24 => Y 25 => Z)» | ||
AlexDaniel | the numbering is a little bit different, but who knows, maybe that's what you need | ||
P6fr | hum | 17:47 | |
unmatched} | m: use MONKEY-TYPING; augment class List { method succ { self.[0].succ; self.[1].succ } }; say (1, "A"), (2, "B") ... (26, "Z") | 17:48 | |
camelia | rakudo-moar b89bf9: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3⏏5C' (indicated by ⏏) in block <unit> at <tmp> line 1Actually thrown at:» | ||
unmatched} | In 'C'? Digits? wat | ||
17:48
mohae_ joined
|
|||
P6fr | how to do a variable global | 17:48 | |
? | 17:49 | ||
unmatched} | I guess it's the Doctor Hurts thing... It's trying to do numerical comparison with something | ||
P6fr: why? Globals are a bad idea | |||
P6fr | why ? i need a array for all codes | ||
unmatched} | P6fr: what do you mean by "global"? | 17:50 | |
17:51
travis-ci joined
|
|||
travis-ci | Doc build passed. Will "Coke" Coleda 'Turn off trailing whitespace test for 'make test' | 17:51 | |
travis-ci.org/perl6/doc/builds/146707981 github.com/perl6/doc/compare/ebab3...ee7229425d | |||
17:51
travis-ci left
|
|||
P6fr | available in all parts From Code | 17:51 | |
hum no I'll take my and do not surround hook | 17:52 | ||
it's the same | |||
unmatched} | m: say :26('MEO') | 17:53 | |
camelia | rakudo-moar b89bf9: OUTPUT«15260» | ||
unmatched} | m: say :26('MEOW') | ||
camelia | rakudo-moar b89bf9: OUTPUT«Cannot convert string to number: malformed ':26' style radix number, expecting '>' after the body in '3:26<MEO⏏5W>' (indicated by ⏏) in block <unit> at <tmp> line 1Actually thrown at: in block <unit> at <tmp> line 1» | ||
unmatched} | m: say :36('MEOW') | ||
camelia | rakudo-moar b89bf9: OUTPUT«1045472» | ||
17:54
tbrowder joined
|
|||
unmatched} | LTA-ish error. | 17:54 | |
(the '>' portion... it's not applicable to my actual code) | |||
17:54
dainis left
17:55
dainis joined,
lucs joined,
spider-mario joined
17:56
cosimo left,
colomon joined
17:58
cosimo joined
18:02
s34n_ joined
|
|||
s34n_ | are there any performance benchmarks posted periodically to gauge progress on perl5 optimization? | 18:05 | |
mspo | ? | 18:07 | |
unmatched} | s34n_: try asking in #perl that's the channel for Perl 5 language. | ||
folks in there would be more familiar | |||
s34n_ | oops. I meant perl6. typo | ||
[Coke] | this channel is about perl 6. | ||
ah | |||
github.com/japhb/perl6-bench is the software. not sure if there's a place that saves out graphs every so often. | 18:08 | ||
unmatched} | We should have Tux's test-t stuff in the speed FAQ. | ||
timotimo | yeah, we have daily graphs on the moarvm page | ||
tux.nl/Talks/CSV6/speed4.html | |||
unmatched} | huggable: speed is :is: Some speed stats: tux.nl/Talks/CSV6/speed4.html | 18:09 | |
huggable | unmatched}, Added speed is as Some speed stats: tux.nl/Talks/CSV6/speed4.html | ||
unmatched} | I just wish graphs started the axes at 0. The graphs are a bit misleading :) | ||
timotimo | yeah | 18:10 | |
www.moarvm.org/measurements/perl6-bench/ - sadly not really day-to-day comparisons | |||
[Coke] | timotimo: wonder if we could sort that directory listing in reverse. | 18:11 | |
timotimo | www.moarvm.org/measurements/perl6-bench/?C=M;O=D | 18:12 | |
18:12
usermac left
|
|||
[Coke] | well, by default, though. :) | 18:12 | |
timotimo++ though | |||
timotimo | :) | 18:13 | |
figure out what to put into the .htaccess and it should be trivial for jnthn to put that up | |||
unmatched} | serverfault.com/a/642770 | 18:14 | |
dalek | c: 88b9a88 | (Wenzel P. P. Peppmeyer)++ | / (2 files): add bigpage to automatic build |
18:15 | |
c: e6f2aa0 | (Wenzel P. P. Peppmeyer)++ | Makefile: Merge branch 'master' of github.com/perl6/doc |
|||
unmatched} | IndexOptions NameWidth=* | 18:16 | |
IndexOrderDefault Descending Date | |||
That's what we got on rakudo.org/downloads | |||
18:18
andrzejku joined
|
|||
dalek | c/wiki-entries-cleanup: 345efdc | Altai-man++ | doc/Language/glossary.pod6: Fix for merge conflict |
18:22 | |
18:23
travis-ci joined
|
|||
travis-ci | Doc build failed. Wenzel P. P. Peppmeyer 'Merge branch 'master' of github.com/perl6/doc' | 18:23 | |
travis-ci.org/perl6/doc/builds/146717768 github.com/perl6/doc/compare/4aee7...f2aa04fbeb | |||
18:23
travis-ci left
|
|||
sena_san | Conflict is resolved. There are still some strange pieces like "Javascript as a virtual machine", but it's not the case for this PR. | 18:23 | |
jdv79 | [Coke]: ok. hope he comes back to write mojo6. | 18:24 | |
sri++ | |||
timotimo | thank you, sena_san | ||
unmatched} | jdv79: he won't. The title of this commit kinda says it all: github.com/kraih/mojo/commit/19cdf...60182ef1ef | 18:25 | |
timotimo | why is the linguist detection of perl6 vs perl5 code so bad? :\ | 18:26 | |
unmatched} | Because languages are similar. | 18:27 | |
18:27
dainis left
|
|||
unmatched} | The issues are mostly with test files. | 18:27 | |
You have the same extention and there's not much else to differentiate by | |||
jdv79 | i don't think that's definitive. he's just frustrated with the current state of things. | 18:28 | |
aren't we all | |||
unmatched} | I'm not. | ||
jdv79 | ok | ||
unmatched} | I also seen him comment that it'd make more sense to make a Ruby version of Mojo* | ||
timotimo | because as opposed to perl6, ruby doesn't have Inline::Perl5? :) | 18:29 | |
unmatched} | timotimo++ | ||
Yeah, other than the SEGV, my experience with Mojolicious over Inline::Perl5 was rather great. | 18:30 | ||
jdv79 | i'm sure. p5 is still not p6. | ||
18:31
girafe joined
|
|||
unmatched} | Seems a tribal statement :) | 18:31 | |
"We need the thing because everyone else has the thing" | |||
Perl 6 doesn't have the speed or stability to support a competing web framework at the moment. | |||
jdv79 | i think that in 5 years we'll all look back at this and laugh | ||
unmatched} | I hope so :) | 18:32 | |
jdv79 | exactly | ||
unmatched} | (SEGV I mentioned is this rt.perl.org/Ticket/Display.html?id=128558 ) | ||
Well, I'm leaving until next Monday. Hoping I'll have a production-ready IRC::Client when I come back :) | 18:33 | ||
jdv79 | have fun | 18:34 | |
timotimo | have a nice weekend, unmatched} | ||
18:35
spider-mario left
18:36
spider-mario joined,
itaipu left
|
|||
harmil | The Star announcement is getting some negative traction on reddit (it's dropped from 11 to 9 upvotes while I've been watching)... :-( | 18:37 | |
18:39
sena_san left
|
|||
jdv79 | happens | 18:39 | |
18:40
itaipu joined
|
|||
perlpilot_ | It's too bad the crappy comments are near the top though | 18:40 | |
timotimo | on which subreddit? | 18:44 | |
18:45
itaipu left
|
|||
mst | www.reddit.com/r/programming/comme...tribution/ | 18:45 | |
timotimo | found the one on r/perl6/ | ||
18:45
cdg left
|
|||
Juerd | harmil: Note that reddit scores are fuzzy and that a 2 point drop can be false information. | 18:47 | |
18:47
cdg joined
|
|||
Juerd | Heh, I actually agree with that comment about ^fff^ | 18:48 | |
moritz | that aside, reddit really is full of jerks | ||
gfldex | if they have time to comment on reddit they likely are not in the rather small group of folk who get stuff done | 18:50 | |
perlpilot_ | .oO( If "ff" stands for "flip flop", what does "fff" stand for? "flippity floppity floo"? ) |
||
Juerd | One day I'll make a list of bulk I think we can just remove from Perl 6 because almost nobody uses them anyway. | ||
ugexe | because almost no code that you're personally aware of uses them you mean | 18:51 | |
Juerd | Of course :) | ||
ugexe | thats kinda the rub | ||
dalek | c: d8d26e2 | (Christopher Bottoms)++ | doc/Language/faq.pod6: Changed "Perl 6" to "Perl 6" A non-breaking space means that no matter what browser someone is using, "Perl" and "6" will never seem separated by a line break. |
18:52 | |
Juerd | But does anyone besides Larry and Damian ever use indirect method call syntax? | ||
Or ^fff | |||
18:52
FROGGS joined
|
|||
AlexDaniel | indirect method call syntax? Like say 42: ? | 18:53 | |
jdv79 | is there a cool p6 intro slide set i could use? | ||
ugexe | most of reddit would say does anyone besides Larry and Damian use perl6 period | ||
perlpilot_ | Juerd: in P6? I use it all the time. In p5? I try not to | ||
18:53
cosimo left
|
|||
perlpilot_ | Juerd: er ... not fff :) | 18:54 | |
AlexDaniel | ah, the ."$foo" thingy? | ||
Juerd | I can't parse "... not fff" | ||
ugexe | CSV::Parser uses indirect methods | ||
Juerd | ugexe: Oh :) | ||
perlpilot_ | It's Friday; the chances that I'll be able to communicate clearly are diminished :) | 18:55 | |
Juerd | ugexe: Where? | ||
jdv79 | at a conf. might carve out a slot. | 18:56 | |
18:57
itaipu joined
|
|||
ugexe | it uses stuff like $buffer."{self!sizer}"() throughout | 18:57 | |
Juerd | That's not what I meant. | ||
I was referring to the "method_name $invocant: arg, arg, arg;" syntax. | |||
P6fr | $str.=trans( ['a'..'y'] => ['A'..'z'] ); | 18:58 | |
m: $str.=trans( ['a'..'y'] => ['A'..'z'] ); | |||
camelia | rakudo-moar b89bf9: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Variable '$str' is not declared. Did you mean any of these? str Strat <tmp>:1------> 3<BOL>7⏏5$str.=trans( ['a'..'y'] => ['A'..'z'] );» | ||
Juerd | Symbolic access to method names is useful. | ||
P6fr | m: my $str.=trans( ['a'..'y'] => ['A'..'z'] ); | ||
camelia | rakudo-moar b89bf9: OUTPUT«Method 'trans' not found for invocant of class 'Any' in block <unit> at <tmp> line 1» | ||
Juerd | So I'm definitely not complaining about $foo."{....}"() | ||
P6fr | m: my $str=trans( ['a'..'y'] => ['A'..'z'] ); | 18:59 | |
camelia | rakudo-moar b89bf9: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Undeclared routine: trans used at line 1. Did you mean 'rand', 'tanh', 'srand'?» | ||
Juerd | ugexe: get_line $csv:; # this would be an example of what I meant | ||
AlexDaniel | m: my $str = ‘hello’; $str.=trans( [‘a’..‘y’] => [‘A’..‘z’] ); say $str | ||
camelia | rakudo-moar b89bf9: OUTPUT«HELLO» | ||
19:00
travis-ci joined
|
|||
travis-ci | Doc build failed. Christopher Bottoms 'Changed "Perl 6" to "Perl 6" | 19:00 | |
travis-ci.org/perl6/doc/builds/146725746 github.com/perl6/doc/compare/e6f2a...d26e291901 | |||
19:00
travis-ci left
|
|||
Juerd | ugexe: my $csv = new CSV::Parser: :file_handle($fh); # Another example | 19:00 | |
P6fr | m: my $str="perl6 is beautiful";my $str.=trans( ['a'..'y'] => ['A'..'z'] ); | ||
Juerd | Note the fine usage of colons there | ||
camelia | rakudo-moar b89bf9: OUTPUT«Potential difficulties: Redeclaration of symbol $str at <tmp>:1 ------> 3my $str="perl6 is beautiful";my $str7⏏5.=trans( ['a'..'y'] => ['A'..'z'] );» | ||
19:00
cosimo joined
|
|||
AlexDaniel | m: my $str = ‘hello’; say $str.uc | 19:00 | |
camelia | rakudo-moar b89bf9: OUTPUT«HELLO» | ||
P6fr | m: my $str="perl6 is beautiful";my $str.=trans( ['a'..'y'] => ['A'..'z'] ).say; | ||
camelia | rakudo-moar b89bf9: OUTPUT«Potential difficulties: Redeclaration of symbol $str at <tmp>:1 ------> 3my $str="perl6 is beautiful";my $str7⏏5.=trans( ['a'..'y'] => ['A'..'z'] ).say;PERL6 IS BEAUTIFUL» | ||
timotimo | throw the second "my" out | 19:01 | |
AlexDaniel | P6fr: if you do “my $str .=” then it is calling a method on an Any | ||
-an | |||
timotimo | i'm surprised you can .= trans(...).say | ||
P6fr | AlexDaniel i don't understand | 19:03 | |
ha | |||
m: my $str="perl6 is beautiful";say $str.=trans( ['a'..'y'] => ['A'..'z'] ).say; | |||
camelia | rakudo-moar b89bf9: OUTPUT«PERL6 IS BEAUTIFULTrue» | ||
P6fr | ok | ||
thx | |||
AlexDaniel | P6fr: well, “my $str .= foo” is basically “my $str = $str.foo” | 19:04 | |
P6fr: so the question is what is the value of $str there | |||
m: my $str; say $str | |||
camelia | rakudo-moar b89bf9: OUTPUT«(Any)» | ||
P6fr | ha ok | ||
mspo | that doesn't make a lot of sense to me | ||
AlexDaniel | m: my $str = ‘hello’; $str .= uc().say; say $str | 19:05 | |
camelia | rakudo-moar b89bf9: OUTPUT«HELLOHELLO» | ||
AlexDaniel | m: my $str = ‘hello’; ($str .= uc()).say; say $str | 19:06 | |
camelia | rakudo-moar b89bf9: OUTPUT«HELLOHELLO» | ||
timotimo | interesting. useful. a bit surprising, perhaps | 19:07 | |
Juerd | mspo: What exactly doesn't make sense to you? | ||
mspo | m: my $str = ‘hello’; $str .= uc(); say $str | ||
camelia | rakudo-moar b89bf9: OUTPUT«HELLO» | ||
AlexDaniel | timotimo: I'm not sure if that is useful. Anyone looking at that code will go “WTF??” | 19:08 | |
timotimo: I'd better use parens | |||
timotimo | sure | ||
Juerd | m: my $number = 4; $number += 2; say $number; | ||
camelia | rakudo-moar b89bf9: OUTPUT«6» | ||
Juerd | Does that make sense? :) | ||
mspo | Juerd: because I want .= to do ~~= (append), probably | ||
Juerd | m: my $number = 25; $number .= sqrt; say $number; | ||
camelia | rakudo-moar b89bf9: OUTPUT«5» | ||
AlexDaniel | m: my $str = ‘hello’; $str = $str . uc(); say $str # if yes, then why not that? | ||
camelia | rakudo-moar b89bf9: OUTPUT«HELLO» | ||
mspo | m: my $str = ‘hello’; $str ~~= uc(); say $str | ||
camelia | rakudo-moar b89bf9: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Cannot make assignment out of ~~ because chaining operators are too diffyat <tmp>:1------> 3my $str = ‘hello’; $str ~~=7⏏5 uc(); say $str» | ||
Juerd | mspo: I think you mean ~= | ||
mspo | m: my $str = ‘hello’; $str ~= uc(); say $str | 19:09 | |
camelia | rakudo-moar b89bf9: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Calling uc() will never work with declared signature (Cool $s)at <tmp>:1------> 3my $str = ‘hello’; $str ~= 7⏏5uc(); say $str» | ||
Juerd | mspo: You're now calling the function uc(), which requires an argument | ||
m: my $str = 'hello'; $str ~= uc(" there"); say $str; | |||
camelia | rakudo-moar b89bf9: OUTPUT«hello THERE» | ||
mspo | m: my $str = ‘hello’; $str ~= .uc(); say $str | ||
camelia | rakudo-moar b89bf9: OUTPUT«Method 'uc' not found for invocant of class 'Any' in block <unit> at <tmp> line 1» | ||
AlexDaniel | mspo: it translates to $str = $str ~ uc() | ||
P6fr | wht ~= ? | ||
AlexDaniel | P6fr: ~ concats two strings | 19:10 | |
mspo | m: my $str = ‘hello’; $str ~= $str.uc(); say $str | ||
camelia | rakudo-moar b89bf9: OUTPUT«helloHELLO» | ||
Juerd | mspo: Now you're calling $_.uc() because you can't combine .op operators | ||
mspo: I mean op=, not .op | |||
AlexDaniel | m: my $str = ‘hello’; $str = $str ~ ‘ world’; say $str | ||
camelia | rakudo-moar b89bf9: OUTPUT«hello world» | ||
AlexDaniel | m: my $str = ‘hello’; $str ~= ‘ world’; say $str | ||
camelia | rakudo-moar b89bf9: OUTPUT«hello world» | ||
Juerd | P6fr: Do you know what += does? | ||
P6fr | yes AlexDaniel but ~and = ? | ||
AlexDaniel | P6fr: see above | ||
P6fr | yes | ||
Juerd | P6fr: ~= is like that, but for ~ instead of + | ||
P6fr: ~ concatenates strings, while + adds numbers. | 19:11 | ||
P6fr | it's the same as .= | ||
mspo | I guess I was in p5 mode | ||
Juerd | In general: if there's an infix operator "op" that you use as "$foo op $bar", then you can write "$foo = $foo op $bar" using a shorter form: "$foo op= $bar" | ||
So the infix + becomes +=, the infix ~ becomes ~+, and the infix . becomes .= | 19:12 | ||
~=, not ~+ | |||
mspo | oh right, larry wall showed that in a video when he made an infix op | ||
Juerd | Held the shift key a bit too long :) | ||
Yes, it also works for infix operators you create yourself. So let's create that "op" operator: | |||
m: sub infix:<op> ($name1, $name2) { "$name1 ♥ $name2" }; my $statement = "Juerd"; $statement op= "Perl 6"; say $statement; | 19:13 | ||
camelia | rakudo-moar b89bf9: OUTPUT«Juerd ♥ Perl 6» | ||
P6fr | but wat's the point of putting :$str ~= $str.uc() | 19:14 | |
AlexDaniel | m: sub infix:<op> ($name1, $name2) { "$name1 ♥ $name2" }; say [op] "Juerd", "Perl 6", "custom ops" | ||
camelia | rakudo-moar b89bf9: OUTPUT«Juerd ♥ Perl 6 ♥ custom ops» | ||
AlexDaniel | m: sub infix:<op> ($name1, $name2) { "$name1 ♥ $name2" }; say ("Juerd", "AlexDaniel") »op« ("Perl 6", "custom ops") | 19:15 | |
camelia | rakudo-moar b89bf9: OUTPUT«(Juerd ♥ Perl 6 AlexDaniel ♥ custom ops)» | ||
Juerd | P6fr: There isn't much point in doing that, because it would add the uppercased string to the original. | 19:16 | |
P6fr | ok | ||
mspo | AlexDaniel: can you show that with comb? | ||
19:16
wamba joined
|
|||
Juerd | Is that Perl 6 for "can you use that in a sentence?"? | 19:17 | |
P6fr | I want to thank you all for helping newbies | ||
Juerd | P6fr: My pleasure :) | ||
AlexDaniel | mspo: hmm, what do you mean? | ||
19:17
cosimo left
|
|||
mspo | oh nevermind, I'm confused | 19:18 | |
19:22
cooper joined,
cooper left,
cooper joined
19:24
darutoko left
19:25
huggable joined
19:27
prammer joined
19:30
colomon left
19:32
edenc joined,
colomon joined
19:40
cosimo joined
|
|||
prammer | is there a dwim date/time module or function that can parse this: 2016-07-21T19:56:22.464+0000 | 19:44 | |
19:45
addison joined,
AlexDaniel joined
|
|||
prammer | I tried DateTime::Parse, no luck | 19:45 | |
harmil | I think that's the state of the art right now... | 19:47 | |
19:50
Herby_ left
19:51
sena_kun joined
|
|||
dalek | c: 0b82fdd | (Christopher Bottoms)++ | doc/Type/Bool.pod6: Bool.succ, .pred methods explained (please review) I first encountered the method "succ" today, and it was a method on Bool. At first I misunderstood it to mean "success", and wondered what type of failure or disaster "pred" stood for. Then I discovered that "succ" means "successor" and "pred" means "predecessor" and that they seem to totally make sense if we think of Bool in terms of it consisting of two possible enums. So, that's what I tried to explain, but I would really like someone that f |
19:52 | |
c: 30c2714 | (Christopher Bottoms)++ | doc/Type/Bool.pod6: formatting tweak |
|||
c: 657c0e0 | (Christopher Bottoms)++ | doc/Type/Bool.pod6: Merge pull request #744 from perl6/molecules-patch-1 Bool.succ, .pred methods explained |
|||
19:53
addison left
19:54
TEttinger joined
19:55
colomon left
19:57
colomon joined
19:58
prammer left
20:00
travis-ci joined
|
|||
travis-ci | Doc build failed. Christopher Bottoms 'Merge pull request #744 from perl6/molecules-patch-1 | 20:00 | |
travis-ci.org/perl6/doc/builds/146738211 github.com/perl6/doc/compare/d8d26...7c0e0c5fb6 | |||
20:00
travis-ci left
20:03
kid51 joined
|
|||
dalek | c: 646039e | (Wenzel P. P. Peppmeyer)++ | .travis.yml: set PATH as rakudobrew demands |
20:09 | |
c: e97a2fa | (Wenzel P. P. Peppmeyer)++ | doc/ (2 files): Merge branch 'master' of github.com/perl6/doc |
|||
20:09
Tonik joined
|
|||
gfldex | system administration via git push is kinda slow | 20:09 | |
dalek | c: 1b63b98 | (Christopher Bottoms)++ | doc/Type/Bool.pod6: deconfusing enum and enum value Thanks @AlexDaniel |
20:12 | |
P6fr | dalek is a bot ? | 20:13 | |
gfldex | yes | ||
P6fr | why he said thx alexdaniel ? | 20:14 | |
what is said doc: ... | |||
gfldex | that's part of the commit message | ||
P6fr | why | ||
AlexDaniel | dalek: dalek is a bot that announces commits to different repos | ||
oops | |||
P6fr | ok | ||
20:15
colomon left
|
|||
AlexDaniel | P6fr: commit in question is github.com/perl6/doc/commit/1b63b9...e6a9eb1bd9 | 20:15 | |
P6fr | there are a lot of commit | ||
20:15
colomon joined,
Tonik left
|
|||
AlexDaniel | yeah, people are working on docs very actively nowadays | 20:16 | |
P6fr | how many user of perl6 ? you know ? | ||
AlexDaniel | let's count | ||
one, two, three, four, five, si… | |||
P6fr | lol | ||
AlexDaniel | P6fr: actually, it is very hard to estimate | 20:17 | |
P6fr | There's no statistics? | ||
ok | |||
ugexe | PR: add telemetry to compiler | ||
skids | You can only guess the number of users, unless you are closed source and use a license server. | 20:18 | |
gfldex | P6fr: i can't tell you how many but I can tell you where: imgur.com/a/LopbT | 20:19 | |
AlexDaniel | there are also debian stats qa.debian.org/popcon-graph.php?pac...rakudo-lib | 20:20 | |
gfldex | a good view count for my blog is 170 | ||
AlexDaniel | but this does not mean much | ||
20:21
travis-ci joined
|
|||
travis-ci | Doc build passed. Christopher Bottoms 'formatting tweak' | 20:21 | |
travis-ci.org/perl6/doc/builds/146740312 github.com/perl6/doc/compare/molecules-patch-1 | |||
20:21
travis-ci left
|
|||
AlexDaniel | just don't do this: qa.debian.org/popcon-graph.php?pac...beenhere=1 | 20:21 | |
ugexe | how many users does phpixie have?? | ||
[Coke] gets a syntax error on this line of perl6 code: ------> sub update-git-checkout(⏏$url, $repo) { | |||
dalek | c: 2da45b5 | (Tom Browder)++ | doc/Language/tables.pod6: Slight additional editing for clarity and correctness |
20:22 | |
AlexDaniel | [Coke]: so invalid, wow | ||
gfldex | [Coke]: you may have a problem with a quote and/or interpolation | ||
m: sub f(){} say "{f(}"; say 'oi!'; | 20:23 | ||
camelia | rakudo-moar b89bf9: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Strange text after block (missing semicolon or comma?)at <tmp>:1------> 3sub f(){}7⏏5 say "{f(}"; say 'oi!'; expecting any of: infix infix stopper statement en…» | ||
20:27
domidumont joined,
travis-ci joined
|
|||
travis-ci | Doc build passed. Wenzel P. P. Peppmeyer 'Merge branch 'master' of github.com/perl6/doc' | 20:27 | |
travis-ci.org/perl6/doc/builds/146741902 github.com/perl6/doc/compare/657c0...7a2faa1ea3 | |||
20:27
travis-ci left
20:32
solarbunny joined
20:33
colomon left,
travis-ci joined
|
|||
travis-ci | Doc build passed. Christopher Bottoms 'deconfusing enum and enum value | 20:33 | |
travis-ci.org/perl6/doc/builds/146742728 github.com/perl6/doc/compare/e97a2...63b98eb737 | |||
20:33
travis-ci left
20:34
colomon joined
|
|||
Roamer` | m: my %a = :a(1), :c(2), :b("foo"); my %b = :b("foo"), :c(2), :a(1); dd %a{*}:v Z %b{*}:v; | 20:38 | |
camelia | rakudo-moar b89bf9: OUTPUT«((1, 1), (2, 2), ("foo", "foo")).Seq» | ||
Roamer` | is this supposed to happen? Can I depend on it? | ||
[Coke] | you can't depend on hash order. | 20:39 | |
if you want things sorted for sure, sort them. | |||
Roamer` | [Coke], yes, that's what I'm accustomed to (I remember when people made changes to actively randomize hash order even more than before) | 20:41 | |
[Coke], that's why I was a bit surprised by this result | |||
or I guess it's just elements falling into the same hash containers for a small number of elements | |||
I guess I shouldn't be surprised | |||
hash buckets, I mean | |||
20:42
mcmillhj left
20:44
travis-ci joined
|
|||
travis-ci | Doc build passed. Tom Browder 'Slight additional editing for clarity and correctness' | 20:44 | |
travis-ci.org/perl6/doc/builds/146744968 github.com/perl6/doc/compare/1b63b...a45b54f1a5 | |||
20:44
travis-ci left
|
|||
dalek | c: 0c09e85 | (Wenzel P. P. Peppmeyer)++ | util/update-and-sync: explicitly add PATH that rakudobrew forgot |
20:45 | |
20:45
Possum joined
20:47
rindolf joined
20:48
daxim joined
|
|||
gfldex | somebody doc something please, we need 2 commits to have changes to util/update-and-sync take effect :) | 20:49 | |
20:49
eyck joined,
kid51 left
|
|||
Roamer` | okay, yeah, I just tested it with 100 random keys and values and {*}:k and {*}:v did not return the same order on two hash that otherwise test the same with is-deeply... so things are back to normal | 20:52 | |
on two hashes even | |||
20:53
colomon left,
colomon joined
20:56
kid51 joined
20:57
zacts joined
21:00
eyck left
|
|||
dalek | c: 1b39176 | skids++ | doc/Language/variables.pod6: fix typo |
21:03 | |
skids | There's 1/2 | 21:04 | |
21:04
domidumont left,
eyck joined
21:05
Legal_Resale joined
21:07
kid51 left,
lostinfog left
|
|||
AlexDaniel | oh | 21:11 | |
s26 is now fixed | |||
21:12
FROGGS left
21:14
mephinet- left
|
|||
sena_kun | AlexDaniel, cool. | 21:14 | |
skids | gfdex: gist.github.com/skids/8ceb56206d68...3824e4162c | 21:17 | |
21:17
perlpilot joined
|
|||
skids | I have yet to run any spectests | 21:17 | |
21:17
mephinet joined
|
|||
skids | (and haven't run them on HEAD in a while either so don't know what normal failures are these days) | 21:17 | |
gfldex | skids: nice | 21:18 | |
skids | As usual, actual fix pretty easy, following the 5 levels of indirection and renaming was the hard part. | ||
gfldex | we got docs.perl6.org/perl6.xhtml now | ||
21:18
adu joined
|
|||
gfldex | FF crashed in print preview, chrome works fine | 21:18 | |
21:20
eyck left
|
|||
skids | Too many tabs open in FF to test that :-) | 21:25 | |
P6fr | m: say my %alphabet = "A".."Z" Z=> 1..26; | ||
camelia | rakudo-moar b89bf9: OUTPUT«{A => 1, B => 2, C => 3, D => 4, E => 5, F => 6, G => 7, H => 8, I => 9, J => 10, K => 11, L => 12, M => 13, N => 14, O => 15, P => 16, Q => 17, R => 18, S => 19, T => 20, U => 21, V => 22, W => 23, X => 24, Y => 25, Z => 26}» | ||
P6fr | perl is pretty | ||
dalek | c: a973e7b | (Aleks-Daniel Jakimenko-Aleksejev)++ | doc/Language/regexes.pod6: Fix for #679 (^^ and the end of the string) |
||
21:35
eyck_ joined
|
|||
AlexDaniel | so basically someone is complaining that Perl 6 code is too short? Um… okay | 21:35 | |
harmil | AlexDaniel: Do you mean the reddit thread about Star? | 21:36 | |
AlexDaniel | yea | ||
harmil | Yeah, that's clearly someone who doesn't know what he doesn't like in a programming language who just wants to not like Perl 6. | 21:37 | |
21:37
wamba left
|
|||
jdv79 | too terse? | 21:38 | |
harmil | But that being said, I do think that Perl 6 runs the risk of Huffman coding itself into oblivion. It's a fine line, and we shouldn't lose track of it. ^ffff^ might be near that line ;) | ||
AlexDaniel | but as always, you don't have to use it | 21:39 | |
jdv79 | you could always tweak the lang by adding a bunch of oversized tokens if you wish:) | 21:40 | |
21:40
tinita joined
21:41
colomon left
21:42
colomon joined
|
|||
P6fr | AlexDaniel you work in info ? | 21:42 | |
AlexDaniel | P6fr: info? What info? No, I don't think so | ||
P6fr | computer science | ||
AlexDaniel | ah. I don't have a full-time job, so I'd say no | 21:43 | |
P6fr | ok | ||
21:44
vendethiel joined
21:45
kid51 joined
21:46
itaipu left,
eyck joined,
eyck_ left
|
|||
harmil | AlexDaniel: Not having to use a construct doesn't make code easier to read. | 21:47 | |
All I'm saying is that it's a thing to keep in sight. | |||
AlexDaniel | harmil: it does, given that nobody is using ^fff^ :) | ||
vendethiel | o/ | 21:49 | |
21:49
adu left
|
|||
harmil | AlexDaniel: Well, it's used here: learnxinyminutes.com/docs/perl6/ | 21:49 | |
Which means it will probably be picked up by lots of beginners. | |||
AlexDaniel | wow! It actually goes on to explain flip flop operators! | 21:50 | |
vendethiel | yes | ||
I love flip flops :P | |||
21:50
zacts left
|
|||
vendethiel | I considered removing it, for sure | 21:50 | |
21:51
kaare_ joined
|
|||
gfldex | m: my @numbers = <4 8 15 16 23 42>; my $range = 0..2; .say for @numbers[$range]; | 21:56 | |
camelia | rakudo-moar b89bf9: OUTPUT«16» | ||
21:56
eyck left
|
|||
gfldex | m: my @numbers = <4 8 15 16 23 42>; my \range = 0..2; .say for @numbers[range]; | 21:56 | |
camelia | rakudo-moar b89bf9: OUTPUT«4815» | ||
AlexDaniel | m: my @numbers = <4 8 15 16 23 42>; my $range = 0..2; .say for @numbers[@$range]; | 21:57 | |
camelia | rakudo-moar b89bf9: OUTPUT«4815» | ||
AlexDaniel | hm | ||
21:58
firstdayonthejob joined
|
|||
gfldex | m: my @numbers = <4 8 15 16 23 42>; my $range := 0..2; .say for @numbers[$range]; | 21:58 | |
camelia | rakudo-moar b89bf9: OUTPUT«4815» | ||
harmil | m: my @numbers = <4 8 15 16 23 42>; my $range = 0..2; .say for @numbers[|$range] | 21:59 | |
camelia | rakudo-moar b89bf9: OUTPUT«4815» | ||
22:02
colomon left
22:07
sena_kun left
|
|||
harmil | m: ("1", {$_ ~ $_.trans("01"=>"10")} ... *)[7].say | 22:08 | |
camelia | rakudo-moar b89bf9: OUTPUT«10010110011010010110100110010110011010011001011010010110011010010110100110010110100101100110100110010110011010010110100110010110» | ||
harmil | I googled that. There were hits. *scared* | ||
AlexDaniel | harmil: I'm currently cloning the whole ecosystem to search for ^fff^ :) | 22:10 | |
22:10
Sgeo joined
22:11
pmurias left
|
|||
harmil | ha! | 22:12 | |
gfldex | AlexDaniel: when you are done please do a `du -sch` | ||
22:14
sdegutis joined,
sdegutis left
|
|||
gfldex | bisectable my @numbers = <4 8 15 16 23 42>; my $range = 0..2; .say for @numbers.[$range]; | 22:16 | |
bisectable | gfldex: On both starting points the exit code is 0 and the output is identical as well | ||
gfldex: Output on both points: 16 | |||
gfldex | bisectable good=2015.12 bad=HEAD my @numbers = <4 8 15 16 23 42>; my $range = 0..2; .say for @numbers.[$range]; | 22:17 | |
bisectable | gfldex: On both starting points the exit code is 0 and the output is identical as well | ||
gfldex: Output on both points: 16 | |||
22:17
firstdayonthejob left
|
|||
AlexDaniel | that's what it does by default | 22:18 | |
commit: 2015.10 my @numbers = <4 8 15 16 23 42>; my $range = 0..2; .say for @numbers.[$range]; | |||
committable | AlexDaniel: |«2015.10»: 16 | ||
P6fr | bug ? | 22:19 | |
AlexDaniel | I don't think so | ||
22:20
andrzejku left
22:21
kaare_ left
|
|||
gfldex | i think that's a bug, it's picking the wrong multi candidate for postcircumfix:<[ ]> | 22:22 | |
it should pick on based on Iterable | |||
22:22
dvinciguerra_ joined
|
|||
P6fr | but why "16" | 22:22 | |
AlexDaniel | m: my @x = 4,8,15; say +@x | 22:23 | |
camelia | rakudo-moar 7257b3: OUTPUT«3» | ||
AlexDaniel | m: my @x = 4,8,15; say @x + 0 | ||
camelia | rakudo-moar 7257b3: OUTPUT«3» | ||
AlexDaniel | P6fr: in numeric operations arrays turn into the count of elements in them | 22:24 | |
lizmat | m: my @numbers = <4 8 15 16 23 42>; my $range := 0..2; .say for @numbers.[$range] | ||
camelia | rakudo-moar 7257b3: OUTPUT«4815» | ||
AlexDaniel | or wait, is it the case | ||
yeah | |||
lizmat | m: my @numbers = <4 8 15 16 23 42>; my $range = 0..2; .say for @numbers.[@$range] | 22:25 | |
camelia | rakudo-moar 7257b3: OUTPUT«4815» | ||
lizmat | on could argue that the single argument rule should be at work here | ||
22:26
rindolf left
|
|||
lizmat | *one | 22:26 | |
but I think we decided against that | |||
perhaps jnthn has some ideas about that | |||
AlexDaniel | perhaps a good candidate for a @LARRY ticket? | ||
lizmat | fine by me :-) | ||
good night, #perl6! | |||
gfldex | if the single argument rule is invoced, why does binding work? | 22:28 | |
AlexDaniel | ok, except for 40 modules with broken META6.json all modules are now cloned | ||
gfldex: 256M | |||
gfldex | i would have guessed less but then I forgot about .git | 22:29 | |
lizmat | gfldex: good question | ||
afk& | |||
gfldex | i shall rakudobug | ||
AlexDaniel | harmil: none for fff | 22:31 | |
there are some false-positives but no actual use | 22:32 | ||
harmil | I'm going to publish ^fff^.pm in a few minutes ;-) | ||
AlexDaniel | three uses of ff here: github.com/p6-pdf/perl6-Font-AFM/b...FM.pm#L242 | 22:33 | |
22:33
eyck joined,
spider-mario left
|
|||
AlexDaniel | one more ff here: github.com/perl6/doc/blob/master/l...y.pm6#L103 | 22:34 | |
that's it | 22:35 | ||
skids | gfldex: spectest went well so I filed rakudo PR #829 | ||
If it goes in probably will break examples where you tried to doc the old behavior | 22:36 | ||
22:45
kid51 left
22:49
adu joined,
adu left
22:50
adu joined
22:51
adu left
22:53
labster left
|
|||
gfldex | skids: i will keep an eye on it | 22:53 | |
22:53
eyck left
22:59
labster joined,
eyck joined
23:05
girafe left
23:14
jnthn joined
23:16
dvinciguerra_ left
|
|||
japhb | m: sub is-power-of-two($n) { !($n +& ($n - 1)) }; is-power-of-two($_).say for ^10; # hahainternet | 23:18 | |
camelia | rakudo-moar a37cd2: OUTPUT«TrueTrueTrueFalseTrueFalseFalseFalseTrueFalse» | ||
AlexDaniel | unmatched}: here? | ||
23:21
Penguiniator joined
23:25
huggable left
|
|||
AlexDaniel | what's the difference between 「"support" : { "source" : "…" }」 and 「"source-url": "…"」 in META6.json files? | 23:26 | |
timotimo | one of them is deprecated i think? | 23:27 | |
AlexDaniel | out of 680 modules there are only 26 modules with 「"support" : { "source" : "…" }」 | 23:28 | |
interestingly, 19 out of these 26 are by Zoffix :) | |||
23:29
Penguiniator left
|
|||
cog_ | .tell vendethiel thx for the URL | 23:32 | |
yoleaux | cog_: I'll pass your message to vendethiel. | ||
AlexDaniel | .tell unmatched} maybe this should be fixed, take a look: irclog.perlgeek.de/perl6/2016-07-22#i_12892188 | 23:35 | |
yoleaux | AlexDaniel: I'll pass your message to unmatched}. | ||
23:37
cdg left
23:38
cdg joined
23:42
cdg left
|
|||
P6fr | me: [5+9+6+3+5+1+4+7].trans("+" =>" ") | 23:43 | |
m: [5+9+6+3+5+1+4+7].trans("+" =>" ") | 23:44 | ||
camelia | ( no output ) | ||
P6fr | m: [5+9+6+3+5+1+4+7].trans("+" =>" ").say | ||
camelia | rakudo-moar a37cd2: OUTPUT«40» | ||
P6fr | m: [5+9+6+3+5+1+4+7].trans([+] =>" ").say | ||
camelia | rakudo-moar a37cd2: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Preceding context expects a term, but found infix => insteadat <tmp>:1------> 3[5+9+6+3+5+1+4+7].trans([+] =>7⏏5" ").say» | ||
P6fr | m: [5+9+6+3+5+1+4+7].trans(+ =>" ").say | 23:45 | |
camelia | rakudo-moar a37cd2: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Prefix + requires an argument, but no valid term foundat <tmp>:1------> 3[5+9+6+3+5+1+4+7].trans(+7⏏5 =>" ").say expecting any of: prefix» | ||
P6fr | how replace the operator + by nothing | 23:46 | |
the most simple and quick way. I do not know if .trans is the most reliable | 23:47 | ||
pls | |||
m: {5+9+6+3+5+1+4+7}.trans(+ =>" ").say | 23:48 | ||
camelia | rakudo-moar a37cd2: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Prefix + requires an argument, but no valid term foundat <tmp>:1------> 3{5+9+6+3+5+1+4+7}.trans(+7⏏5 =>" ").say expecting any of: prefix» | ||
P6fr | m: {5+9+6+3+5+1+4+7}.trans([+] =>" ").say | ||
camelia | rakudo-moar a37cd2: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Preceding context expects a term, but found infix => insteadat <tmp>:1------> 3{5+9+6+3+5+1+4+7}.trans([+] =>7⏏5" ").say» | ||
P6fr | m: {5+9+6+3+5+1+4+7}.trans("+" =>" ").say | ||
camelia | rakudo-moar a37cd2: OUTPUT«Method 'trans' not found for invocant of class 'Block' in block <unit> at <tmp> line 1» | ||
P6fr | m: trans(5+9+6+3+5+1+4+7,"+" =>" ").say | 23:49 | |
camelia | rakudo-moar a37cd2: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Undeclared routine: trans used at line 1. Did you mean 'rand', 'tanh', 'srand'?» | ||
P6fr | m: [5+9+6+3+5+1+4+7].trans(+ =>" ").say | 23:50 | |
camelia | rakudo-moar a37cd2: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Prefix + requires an argument, but no valid term foundat <tmp>:1------> 3[5+9+6+3+5+1+4+7].trans(+7⏏5 =>" ").say expecting any of: prefix» | ||
P6fr | m: [5+9+6+3+5+1+4+7].trans("+" =>" ").say | ||
camelia | rakudo-moar a37cd2: OUTPUT«40» | ||
parabolize | '5+9+6+3+5+1+4+7'.trans("+" =>" ").say | ||
P6fr | m: [5+9+6+3+5+1+4+7].trans("1" =>" ").say | ||
camelia | rakudo-moar a37cd2: OUTPUT«40» | ||
parabolize | it works on strings not arrays | 23:51 | |
P6fr | [5+9+6+3+5+1+4+7].trans("+" =>" ").say for result 59635147 | ||
hum | |||
[5+9+6+3+5+1+4+7].words.trans("+" =>" ").say for result 59635147 | 23:52 | ||
AlexDaniel | m: say [5, 9, 6, 3, 5, 1, 4, 7].join(‘ ’) | ||
camelia | rakudo-moar a37cd2: OUTPUT«5 9 6 3 5 1 4 7» | ||
P6fr | m: [5+9+6+3+5+1+4+7].words.trans("+" =>" ").say | ||
camelia | rakudo-moar a37cd2: OUTPUT«40» | ||
P6fr | ha | ||
so trans is bad for that | 23:53 | ||
AlexDaniel | no, it's just that 5+9+6+3+5+1+4+7 will collapse into 40 no matter what you do | ||
P6fr | ok | ||
and for delete + so ? | 23:54 | ||
m: say [5+9+6+3+5+1+4+7].split("+") | 23:55 | ||
camelia | rakudo-moar a37cd2: OUTPUT«(40)» | ||
P6fr | ok | 23:56 | |
it's not possible | |||
parabolize | m: say Q[5+9+6+3+5+1+4+7].split("+") | ||
camelia | rakudo-moar a37cd2: OUTPUT«(5 9 6 3 5 1 4 7)» | ||
AlexDaniel | you can't do anything unless it is a string | ||
P6fr | haaa dont know Q | ||
parabolize | P6fr: your still using an array like a string | ||
P6fr | agree it's recorder | 23:57 | |
m: say Q.WHAT | 23:58 | ||
camelia | rakudo-moar a37cd2: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Couldn't find terminator . (corresponding . was at line 1)at <tmp>:1------> 3say Q.WHAT7⏏5<EOL> expecting any of: .» | ||
23:58
BenGoldberg joined
|
|||
P6fr | go google so | 23:58 | |
parabolize | P6fr: docs.perl6.org/language/quoting#Li...strings:_Q | ||
github.com/perl6/roast/blob/master.../quoting.t | 23:59 |