»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_log/perl6 | UTF-8 is our friend! 🦋
Set by Zoffix on 25 July 2018.
Geth doc: 6377edf04d | (Tom Browder)++ (committed using GitHub Web editor) | Makefile
add missing dependency
00:05
00:26 fbynite joined 00:31 spycrab0 left 00:35 Some-body_ joined 00:36 DarthGandalf left, Some-body_ is now known as DarthGandalf, fbynite left, warriors left 00:39 samcv left 00:40 samcv joined
lookatme o/ 00:42
00:44 lizmat left
benjikun hey-a 00:44
00:47 konsolebox left 01:04 molaf left
tbrowder_ \o 01:05
01:40 fbynite joined 01:43 fbynite left 01:46 vrurg left 01:47 vrurg joined 01:57 fbynite joined 02:23 fbynite left 02:46 Zoffix joined, ChanServ sets mode: +o Zoffix, Zoffix sets mode: -r , Zoffix sets mode: -o Zoffix
Zoffix hack ded again 02:48
dalek just quit
Geth: help
Geth Zoffix, Source at github.com/perl6/geth To add repo, add an 'application/json' webhook on GitHub pointing it to hack.p6c.org:8888/?chan=#perl6 and choose 'Send me everything' for events to send | use `ver URL to commit` to fetch version bump changes
Zoffix Geth still responds
Sshed and it stuck at the loading my bash profile phase.
Disk problems?
benjikun hm 02:50
docs are still up w/ search working fine
Zoffix They're hosted on a different server
02:50 dalek joined, ChanServ sets mode: +v dalek
benjikun o, my bad 02:50
02:51 Geth joined, ChanServ sets mode: +v Geth, p6lert_ joined, synopsebot joined, ChanServ sets mode: +v synopsebot
benjikun fixed? 02:51
02:51 SourceBaby joined, ChanServ sets mode: +v SourceBaby
benjikun why are the bots leaving & joining 02:51
Zoffix I just forced-off the box and brought it back on
benjikun ah 02:53
02:54 vrurg left 02:58 p6lert_ left, p6lert joined
benjikun Zoffix: where is the latest specification sheet for META6.json files 03:06
I can just find an old one on design.perl6.org
design.perl6.org/S22.html#META6.json
or is this not old
nvm I don't think it's old lmao 03:08
Zoffix points at the message at the top of the site 03:13
benjikun: that's not a specification at all. There's currently no META6.json specification.
Related: S#450 03:14
synopsebot S#450 [open]: github.com/perl6/roast/issues/450 `auth` key in META6.json spec
benjikun oh :/
03:24 spycrab0 joined
Zoffix All of the design.perl6.org stuff are specULATIONS. The spec is github.com/perl6/roast or more specifically, the lastest released spec is github.com/perl6/roast/tree/6.c-errata 03:24
(spec for the language, not the META6 json I mean) 03:25
03:35 dirtyroshi joined, dirtyroshi left, fbynite joined
benjikun ah, I see 03:35
thanks Zoffix
03:40 vrurg joined
Zoffix sheesh that spammer is still at it. 03:40
03:41 ChanServ sets mode: +o Zoffix, Zoffix sets mode: +r , Zoffix sets mode: -o Zoffix 03:47 Woodi joined 03:55 vrurg left
xinming Juerd: Thanks. got it. 03:58
AlexDaniel: I wish to use perl6 as the embed language, Before I deccided to use lua or js kind of thing to embed. now, we have perl6, Why do we need to import js or lua? 04:00
benjikun xinming: What do you mean by embed 04:02
like embedded in browsers?
or embedded in anything for configs / scripting 04:03
04:05 rindolf joined
xinming The config file will have some small code to determine the output template. for example, title-format: {$article.title} - {$article.author} 04:06
and some other things. I don't want them to be hard coded.
don't want them to be hard coded or in templates.
so, make them as options
benjikun Ah 04:07
What are you making, exactly?
xinming benjikun: eval that code with some "context" in safe env. :-) 04:08
it's just my thought, a product series name with rules, which are different product by product.
to generate the product model number, for examlpe some product used in industry with 220v/380v and 1000w will be something like <product-model-prefix>[380|220v]-1000 04:11
But the model number or model name generation rules for some models can have componentes are really really complicated depeneding on the model && components. 04:12
So, I'm going to implement these rules generation in config as mini-template.
geekosaur this sounds more like it might be a Grammar, rather thna eval? 04:13
xinming geekosaur: I just use grammar to describe what I'm going to do.
benjikun Yeah you could make your own little scripting language with grammars
xinming actually, is just combos generation.
benjikun interpreting through grammars
xinming I need if-else in them.
geekosaur so? you can do that
I mean, perl 6 is itself a Grammar 04:14
benjikun Yeah, you could make that in the tiny language as well
xinming no loop for function is needed. But I just wish to embed perl6 directly.
benjikun why do you want to embed the entirety of perl6 into something like that?
xinming Will sort it out when I have time, But now, We have safe env. just run.
benjikun: Because I'm going to write the app with perl6.
benjikun hm
xinming when I use perl5, I thought I may use js or lua to achieve this. 04:15
benjikun I see
it's not too hard to make a tiny language that is suited directly towards the task
with that being said, I thought about what it would be like to have a Perl6-like language in a spreadsheet application recently, lol 04:16
xinming benjikun: Yes, But at first, I just wish to make it done, and have enough examples to know what that mini-language should be like.
perl6 should rule the world, all other languages should DIE... :-)
Zoffix Who would we steal good features from then? 04:17
xinming I wished to learn python3 well long ago, but busy with something, everytime I read doc about perl6, I'll ask myself, why do I need to learn a language which is worse than perl6. (Worse I mean in my judgement) 04:19
Zoffix To have a different perspective.
xinming when perl6 rules, people will also invent other languages :-)
Zoffix Without badness, it's hard to say what is goodness :) 04:20
benjikun - Gandhi or something
lol
geekosaur perl 6 is complex enough to parse that I'd not try to use it embedded 04:21
xinming I do feel that each time I read perl6 doc, that gets me crazy about the design. And I 04:22
And normally, this happens only when I try new features in linux, testing linux features don't last long though. 04:23
geekosaur: I just with to use "EVAL"
04:30 vrurg joined 04:32 Zoffix left
Woodi hi :) 04:35
benjikun hi there
Woodi so, about features: logic programming like Prolog is based on backtracking over data[base] and we have that. also REDO and callwith thingies... question is: how much logic programming we already have implemented in v6 ? 04:37
04:50 curan joined 04:51 benjikun left
Woodi also: callwith can be used as tail call elimination ? 04:54
04:54 xi- left 05:00 fbynite left 05:03 xi- joined, fbynite joined
moritz Woodi: the most logic/declarative programming we have is in the regex engine 05:08
and then some in the multi dispatcher
05:17 vrurg left 05:20 rindolf left 05:26 jmerelo joined
jmerelo wow 05:27
yoleaux 25 Jul 2018 22:57Z <AlexDaniel> jmerelo: colabti.org/irclogger/irclogger_log...7-25#l1135
jmerelo That was hard.
.tell AlexDaniel, TimToady: OK, noted.
yoleaux jmerelo: What kind of a name is "AlexDaniel,"?!
jmerelo .tell AlexDaniel: OK, noted. Thanks to TimToady too.
yoleaux jmerelo: What kind of a name is "AlexDaniel:"?!
jmerelo .tell AlexDaniel OK, noted. Thanks to TimToady too.
yoleaux jmerelo: I'll pass your message to AlexDaniel.
jmerelo So just identified nicks now, right? 05:28
05:31 sauvin joined
geekosaur for the moment, yes 05:33
zoffix got fed up with the spam
jmerelo yep, it was annoying
we're gonna miss quite a few new users, though... 05:34
And a few old users too, I guess. 05:35
geekosaur yeh. the haskell channels have been putting up with the spam instad of going +r for that reason 05:37
jmerelo Maybe it's the time to start a Telegram group, too. 05:40
05:42 epony left 05:44 dct joined 06:01 dct left
Geth doc: 37b2a4c243 | (JJ Merelo)++ | 2 files
Eliminates a few categories

But some of the others mentioned in #1410 might still be useful. Phasers and Asynchronous phasers, for example.
Also some reflow.
06:02
06:06 benjikun joined 06:08 [particle]1 left 06:20 spycrab0 left
Geth doc: fd2872a83c | (JJ Merelo)++ | doc/Type/Signature.pod6
Revises Signature

  :tick: Reflow
  :tick: Eliminates Unneeded Caps
  :tick: Eliminates uneeded categories refs #1410
06:22
synopsebot Link: doc.perl6.org/type/Signature
06:44 kerframil left 06:50 jmerelo left 07:18 [particle] joined 07:20 domidumont joined 07:24 fbynite left 07:26 fbynite joined 07:27 domidumont left 07:28 domidumont joined 07:29 andrzejku left 07:46 dakkar joined 07:56 psychoslave joined 08:01 Skarsnik joined
Skarsnik Hello 08:04
masak ehlo
08:07 andrzejku joined 08:10 [particle] left 08:11 [particle] joined 08:20 [particle] left
moritz ohle 08:20
masak m: say "helo".comb.pick(*).join for ^0x10 08:22
camelia helo
loeh
hloe
eolh
lhoe
eloh
olhe
eohl
leoh
olhe
ehol
leho
ehol
lohe
heol
eohl
benjikun lol 08:30
08:30 spycrab0 joined
moritz m say "helo".comb.permutations.map(*.join) 08:30
m: say "helo".comb.permutations.map(*.join)
camelia (helo heol hleo hloe hoel hole ehlo ehol elho eloh eohl eolh lheo lhoe leho leoh lohe loeh ohel ohle oehl oelh olhe oleh) 08:31
masak m: say "l" ~ "ol" x (1..5).roll
camelia lolololol
benjikun didn't realize .permutations was a thing 08:37
masak yeah, I keep forgetting too 08:39
m: say "lol".comb.permutations.map(*.join)
camelia (lol llo oll oll llo lol)
benjikun m: my @n = ^19; say @n.permutations 08:40
camelia ((0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18) (0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 17) (0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 16 18) (0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 18 16) (0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 18 16 17) (0 1 …
benjikun m: my @n = ^19; say @n.permutations.permutations 08:41
heh
camelia (timeout)
masak don't immanentize the eschaton 08:43
benjikun all done using perl6 :) 08:44
08:44 [particle] joined
masak just implemented nim addition in 007 08:46
today's mini-challenge: implement nim addition in Perl 6, preferably as the operator infix:<⊕>
moritz what's nim addition? 08:47
masak oh wait
we have it already
it's called infix:<+^> in Perl 6
well, that takes the fun out of it :P 08:48
it was a little bit more involved in 007, mostly because of the lack of built-in operators 08:50
here is my 007 implementation: github.com/masak/007/pull/351/files -- comments/reviews happily accepted
moritz that looks slow :-) 08:51
masak yeah... 08:53
it's hard to do something nice with bitwise operations when the language doesn't have the operators for it
moritz aye
masak I'm looking at it now and thinking that what I really wanted was bitwise and and bitwise xor
well, um. bitwise xor is what I'm implementing, so... 08:54
never mind :)
if I could fmt to binary and pad with zeroes, that might even be a better implementation 08:55
not perf-wise perhaps, but shorter
lookatme m: my int @n = ^19; say @n.permutations 09:01
camelia ((0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18) (0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 17) (0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 16 18) (0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 18 16) (0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 18 16 17) (0 1 …
lookatme m: my int @n = ^19; say @n.permutations; say now - INIT now;
camelia ((0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18) (0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 17) (0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 16 18) (0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 18 16) (0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 18 16 17) (0 1 …
lookatme m: my int @n = ^19; @n.permutations; say now - INIT now;
camelia (timeout) 09:02
lookatme what happened :)
m: my int @n = ^19; $_ = @n.permutations; say now - INIT now; 09:03
camelia 0.0035667
lookatme something wrong cause the code hang on 09:04
m: my @n = ^19; $_ = @n.permutations; say now - INIT now;
camelia 0.0033668
dakkar looks like sinking a sequence evaluates it
and generating 121645100408832000 permutations takes a long time 09:05
lookatme oh
dakkar (that's 19 factorial)
lookatme that's right :)
dakkar my @a=^100;@a;1
m: my @a=^100;@a;1 09:06
camelia WARNINGS for <tmp>:
Useless use of constant integer 1 in sink context (line 1)
Useless use of @a in sink context (line 1)
dakkar m: my @a=^100;@a;say now - INIT now;
camelia WARNINGS for <tmp>:
0.001526
Useless use of @a in sink context (line 1)
dakkar m: my @a=^1000;@a;say now - INIT now;
camelia WARNINGS for <tmp>:
0.0032787
Useless use of @a in sink context (line 1)
dakkar m: my @a=^10000;@a;say now - INIT now;
camelia WARNINGS for <tmp>:
0.0074319
Useless use of @a in sink context (line 1)
dakkar m: my @a=^100000;@a;say now - INIT now;
camelia WARNINGS for <tmp>:
0.05793815
Useless use of @a in sink context (line 1)
dakkar m: my @a=^100000;$_=@a;say now - INIT now;
camelia 0.043061
dakkar hmm
I may have my types wrong
09:07 sena_kun joined
lookatme m: my @n = ^2; @n.combinations; say now - INIT now; 09:07
camelia 0.00237798
lookatme Is this sentence should raised an warning ? 09:08
dakkar we've reached the limits of my knowledge ☺
masak moritz: I got a solution working with the fmt idea that I think is largely linear instead of quadratic: github.com/masak/007/pull/351/files 09:09
(of course, it uses strings, so it's still not bound to be super-fast)
benjikun I've never you dakkar or masak
I guess because it's 5am here and I'm still up lol
lookatme dakkar, maybe you can open an issue ask about that, I am will off work soon
tobs m: my @a=^10000000;@a.Seq;say now - INIT now; 09:10
dakkar masak: I'm still amused that a high-level language needs all that code (plus the several layers of VMs) to re-implement a single CPU instruction 😜
camelia 12.1039618
masak dakkar: yeah... :)
dakkar masak: where's Inline::Asm when you need it?
masak well, it's a (deliberately) underpowered high-level language. I'm mostly trying to show off custom operators 09:11
dakkar I know, that's why I say "amused"
masak :)
dakkar benjikun: I'm very rarely active on here
lookatme I am always here in the day :) 09:12
09:12 xinming left 09:13 pmurias joined
lookatme see u later, off work now :) 09:13
dakkar does anyone have some concrete info about that 'permutations' being evaluated in sink context?
as in, is it expected behaviour?
benjikun lookatme: where are you from though? 09:16
I'm from the USA so I wouldn't normally be on right nwo 09:17
tobs dakkar: documentation on "sink context" says that sink context calls .sink which on Seq will exhaust the list for possible side effects. 09:19
dakkar tobs: thank you
so it's a case of "don't do that"
El_Che sink context is pretty much perl 6's way of saying "what ya doing?" 09:21
tobs m: my @a=^19; @a.permutations.skip(*); say now - INIT now
camelia 0.0039211
dakkar that's cheating ☺ 09:22
09:36 lizmat joined 09:38 sarna joined 09:44 pmurias left 09:46 woolfy joined 09:52 rindolf joined
Woodi fact from RL world: teenager girl: What is "home page" ? :)) 10:04
10:04 fbynite left 10:06 fbynite joined 10:07 psychoslave left
masak Woodi: well... what _is_ a home page? ;) 10:11
is it, like a page for your dwelling?
is it a page that you can literally spend the night in? 10:12
is it a page that homing pidgeons will find easily?
tadzik home page is two thirds of PHP 10:15
masak is struck by PHP Sadness 10:16
tadzik it's getting Personal
masak well, in a sense we're all doing work on Personal Computers these days, since Apple ended up using an Intel chip 10:17
benjikun is it what a traveler with a pager who is desperately trying to find home? 10:19
*is it a
im too lazy to restructure that sentence
masak oh, nice nounification
benjikun you get the point
:p
masak "hold on, I'm lost -- gotta make a quick Home Page to find my way" 10:20
benjikun "using my pager"
masak imagines a parallel universe where basically every normal term has ended up with some alternate, perfectly internally-consistent, meaning
"what do you mean you do couch surfing indoors? that's insane!" 10:21
benjikun lmao
a literal interpretation
masak in the parallel universe, Couch Surfing is one of the Olympic sports
the world champion is called Benjamin Sofa 10:22
benjikun lol
seems to me that is THIS universe
ilmari and the champion't title is Sofa King 10:23
masak .oO( "are YOU Sofa King tired? come down to Sofa Land and buy our Olympic couches!" ) 10:24
benjikun being a couch potato is being an athlete
masak benjikun: no, in the parallel universe, a "couch potato" is an ornament
"careful! don't topple the couch potato!" 10:25
benjikun buy your couch potato TODAY, it ensures the best of luck to you while you're out couch surfing!
woolfy Perl Help Pages 10:27
benjikun loool 10:28
tadzik masak: wow, a world champion! I remember him being a little boy, but he got so fa!
masak woolfy: are you saying writing PHP is a cry for help? :P 10:29
tadzik: in the parallel universe "getting so fa" means becoming good at singing
benjikun and singing means dancing 10:30
tadzik masak: in ours it would just be getting a GF 10:31
masak TimToady: is whitespace inside of an infix operator a bad idea? (like Python's `not in`, for example). I notice S06 explicitly forbids it. 10:40
m: sub infix:<not in>($e, @a) { $e !(elem) @a }; say 3 not in [1, 2, 3] 10:41
camelia 5===SORRY!5=== Error while compiling <tmp>
Too many symbols provided for categorical of type infix; needs only 1
at <tmp>:1
------> 3sub infix:<not in>7⏏5($e, @a) { $e !(elem) @a }; say 3 not in
masak I'm guessing the answer is "we already use space for separating multiple symbols like in circumfix:<( )>; doing both would be Very Confusing" 10:42
lizmat masak: you are aware of ∉ I assume ?
masak lizmat: yes, I'm just still (irrationally) Unicode-timid 10:43
I *like* the Unicode operators, in theory
it's just... sometimes I ASCII out of laziness and familiarity
lizmat perlhaps we need a (!elem) operator ? 10:44
benjikun you could always just not_in
dakkar m: sub infix:{'not in'}() {}
camelia ===SORRY!===
This type cannot unbox to a native string: P6opaque, Block
10:45 jmerelo joined
dakkar that's an… interesting error message 10:45
benjikun masak: or you could use "excluded" instead of "not in" 10:46
masak benjikun: yes, but my question was about allowing whitespace, not about actually producing a useful operator :) 10:47
benjikun oh, oops
masak lizmat: !(elem) works and I don't see what's wrong with it
lizmat well, its performance sucks :-) 10:48
or maybe not... would have to test
masak trusts in the JIT to Do The Right Thing eventually
lizmat yeah, in that vein: I think after the release, we're going to rip out a lot of (now defunct) optimizations from the settings :-) 10:49
masak yay
benjikun woohoo
buggable New CPAN upload: Sub-Memoized-0.0.2.tar.gz by ELIZABETH modules.perl6.org/dist/Sub::Memoize...:ELIZABETH 10:51
dakkar github.com/rakudo/rakudo/blob/mast....nqp#L4928 ← this is where whitespace in symbols is made significant, right?
AlexDaniel jmerelo: well, there *is* a matrix community, but why 10:54
yoleaux 05:27Z <jmerelo> AlexDaniel: OK, noted. Thanks to TimToady too.
jmerelo AlexDaniel: less prone to spamming, easier to join. You mean Telegram, right? 10:55
AlexDaniel jmerelo: yea
benjikun I'd go with matrix over telegram 10:56
jmerelo I don't know Matrix.
Let's give it a try.
benjikun It's basically newer XMPP from what I understand
xq was there something wrong with XMPP that warranted a replacment? 10:57
benjikun main client/thingy is riot.im
xq must have missed the memo
jmerelo has missed it too
10:57 Skarsnik left
benjikun xq: I wouldn't say so, but XMPP's standards are all over the place 10:57
half of the client-side stuff is either left out or varies from client-to-client 10:58
jmerelo checking it out and deciding staying with Telegram and IRC
tadzik xq: well, quite a few things, in my experience :) 10:59
and matrix is not exactly an xmpp replacement
benjikun Telegram's serverside source is closed and only maintained by the makers of telegram
tadzik the goals are completely different
benjikun tadzik: elaborate, how so?
tadzik xmpp is focused on 1-1 conversations, MUCs being an afterthought. In matrix, it's all about MUCs, like in IRC, 1-1 is just a special case 11:00
benjikun both are decentralized chat protocols that implement voice, MUC's
jmerelo benjikun: yep, I know. But I _use_ Telegram and have it in the desktop and the phone. Can connect to GitHub. I don't want to have another messaging platform. I already quit Slack.
tadzik xmpp is for test + extensions, matrix supports arbitrary messages as a standard
matrix rooms (chatrooms) are federated, with no single point of failure
jmerelo IRC, Telegram, that's it. 11:01
tadzik MUCs on matrix can be e2e encrypted, which I think is unique generally
jmerelo if in the future everyone moves to Matrix, I'll be there. But for the time being, everyone is on Telegram and IRC, so that's it.
benjikun MUC OTR is possible for XMPP
El_Che bitlbee is a nice way to get lots of protocls in your irc client
benjikun they just never properly released the spec for it
tadzik plus matrix is all about interconnecting messaging networks, it goes a step above xmpp transports 11:02
stmuk they will take my console IRC client from my cold dead fingers
benjikun tadzik: How does XMPP not interconnect the servers
tadzik with xmpp you could use your xmpp account to talk to AIM users or whatnot. Matrix has already allowed IRC and gitter people to talk with each other by bridging both into a single matrix group
benjikun you can send messages to any XMPP server
tadzik benjikun: rooms, ont servers
AlexDaniel jmerelo: “I don't want to have another messaging platform” that's exactly what matrix is trying to solve
benjikun ah
AlexDaniel` waves from Matrix
benjikun AlexDaniel: last time I used riot.im, it sucked 11:03
stmuk the NIH problem?
benjikun what client do you use Alex?
tadzik if #perl6:matrix.org goes down, a copy exists on every server that has users in that room
when the "original" room goes back up, the state is synced
xq same as irc
tadzik em, no
benjikun this IRC is hosted on freenode
so no
xq freenode has multiple servers
tadzik I can't have an independent copy of #perl6:tadzik.net though 11:04
benjikun eh
jmerelo AlexDaniel: but is it really worth the while? Are there people there that aren't here? Are there any other interesting groups that are worth the while to follow?
tadzik I have to be freenode for that to work
AlexDaniel` benjikun: last time I looked, Riot was the only client supporting e2e encryption
xq each server has own independent copy of #perl6
tadzik it's still a single point of failure, it's just a bigger point
benjikun AlexDaniel: oof
xq: I'd have to agree with tadzik
AlexDaniel` benjikun: so that's what I use, but perhaps it's no longer true and other clients are also useful
tadzik I think the weechat client also does e2e
woolfy masak: PHP was once the acronym for Perl Help Pages. I get conflicting reactions to that, but I am quite sure that's how the thing started, and later Rasmus Lerdorf changed it to Personal Home Pages, later to Professional Home Pages, and later to PHP Hypertext Processor. 11:05
tadzik ah, nevermind, it does not
benjikun I use telegram, discord, and irc
all of my buds are split up throughout
tadzik discord personally infuriates me
benjikun I don't support telegram & discord for freedoms
AlexDaniel jmerelo: well I dunno, but there are 15 people in matrix perl6 community
benjikun but I use them regardless
well I also use XMPP still sometimes too 11:06
I guess I'll start using matrix again to join the perl6 thing lol
tadzik benjikun: if e2e is not your thing, I run matrix-ircd to use it through weechat :P
and by not your thing I mean "if you don't really need it for public group chats anyway" 11:07
AlexDaniel benjikun: riot.im/app/#/group/+perl6:matrix.org
benjikun I'd say we should definitely keep #perl6 as the main help-chat, but I'm all for sidegroups 11:08
AlexDaniel well, this #perl6 channel on freenode is part of that matrix group, so… :)
benjikun does it also forward messages from the matrix to the IRC? 11:09
or just the opposite way around
AlexDaniel` o/
AlexDaniel` waves
benjikun hmmmm
El_Che woolfy: if what you say is a fact, you should edit wikipedia: en.wikipedia.org/wiki/PHP
jmerelo woolfy: I am not sure, but I've heard that was an urban legend. It has stuck because, originally, PHP was basically Perl in the web. 11:11
woolfy Claudio Ramirez: I can't proof it. When Liz and I started with Perl in 1994, we also shortly used PHP, which was at the time just renamed from "Perl Help Pages" to "Personal Home Pages". Maybe somewhere in my old backups I could find it... but it would take me days (or more) to find it. 11:12
masak woolfy: interesting.
I had no idea :)
jmerelo woolfy: it says so in a number of places, like here www.softpanorama.org/Scripting/Perl...lang.shtml
woolfy: what I heard was "perl _home_ pages", not _help_ pages. 11:13
woolfy (I mean, I was a bit of a nutcase then, storing whole websites on my computer... when websites were just dozens of pages...)(I am still a nutcase)
El_Che The 1.0 version was called "Personql Home Page Tools): groups.google.com/forum/#!msg/comp...FkTUVDfcwJ
lizmat dakkar: github.com/rakudo/rakudo/commit/d60be5e4a1 11:14
El_Che woolfy: it seems an interesting piece of history. Look it up if you have the time, and change Wikipedia pointing to your source
woolfy jmerelo; that is a cool page, and I didn't know "Perl Home Pages" yet.
jmerelo woolfy: another reference here www.london.pm/pipermail/london.pm/W...22967.html
woolfy: most references come from the Perl field, so I don't really know if it was an April fools prank or general mockery. 11:15
woolfy jmerelo: Thanks! But I remember using the offline Perl documentation, and that there was an alternative, "Perl Help Pages", made by Lerdorf. Indeed, more pleasant to use at the time. But difficult to maintain, so shortlived.
jmerelo woolfy: so you say those Perl help pages created by Lerdorf led eventually to the creation of PHP? Or that it was a language written for them by him? 11:16
stmuk museum.php.net/php1/ is the oldest php I can find 11:17
El_Che (I don't think that pointing out that Perl birthed PHP would help make Perl 5 more popular :) )
jmerelo El_Che: right. :-)
woolfy jmerelo: the first one: as far as I remember, he created an alternative to the perldocs, called them "Perl Help Pages", figured out that the program he made to convert perldoc to "Perl Help Pages" could also be used to convert information to webpages, and upgraded his toolset to a programming language and renamed it
to Personal Home Pages.
El_Che twitter.com/rasmus/status/226405807305138176 11:18
"
Rasmus Lerdorf
‏Verified account @rasmus
I wonder why people keep writing that PHP was ever written in Perl. It never was. #php
"
interesting thread:
twitter.com/rasmus/status/226405807305138176
stmuk Personal Home Page Tools/Forms Interpreter was pre PHP 1 see php.net/manual/en/history.php.php 11:19
that's an ugly url ;)
El_Che svn.php.net/viewvc/phpdoc/en/trunk/...rev=314121
PHP succeeds an older product, named PHP/FI. PHP/FI was
21 created by Rasmus Lerdorf in 1995, initially as a simple
22 set of Perl scripts for tracking accesses to his online
23 resume. He named this set of scripts 'Personal Home Page
24 Tools'.
jmerelo El_Che: DocBook!
stmuk: tru dat 11:20
stmuk "PHP/FI was created by Rasmus Lerdorf in 1995, initially as a simple set of Perl scripts for tracking accesses to his online resume. He named this set of scripts 'Personal Home Page Tools'."
El_Che they removed that perl reference in the pages on the website though
stmuk El_Che: no its there 11:21
El_Che php.net/manual/en/history.php.php <--gone there 11:22
. Originally used for tracking visits to his online resume, he named the suite of scripts "Personal Home Page Tools," more frequently referenced as "PHP Tools."
woolfy It still is weird that lizmat and I used PHP in 1994... 11:23
lizmat to my recollection, 1.9b6 was the last version I used
most of the PHP we used was generated using Perl 11:24
this was before there was mod_perl
woolfy But it is cool that there seems to be a basis for my claim that PHP came from Perl. Not that I just completely fantasised the story into existence... :-)
El_Che woolfy: the twitter threads suggest that that wording is an error
jmerelo woolfy: and now it's on the web so somebody can say "I've read on the web that PHP started as Perl Help Pages" 11:25
El_Che the pre 1995 php release was C cgi program 11:26
woolfy El_Che: twitter did not exist yet in 1994, so whatever is on twitter is not always the truth (no, Donald, because you wrote something on twitter does not make it truth nor US policy!)
El_Che it's a thread started by the maker of php
woolfy The maker of php who is not a big friend of Perl anymore...
El_Che I am not saying they are nog being revisionist, but it has more weight than a random Trump tweet :) 11:27
woolfy But I am interfering with your awesome Perl 6 hackings, so please change the subject.
;-)
El_Che woolfy: you brought an interesting subject on the table
masak woolfy: thank you though for the interesting historical delve
El_Che always a nice break
on->to 11:28
woolfy masak El_Che : we still have an immense amount of backups in our cellar. At some point I will start digging. 11:29
(backups going back to 1986, even)
El_Che make sure they film it when you start 11:30
woolfy Will do
El_Che is it computer history or a hoarding docu?
keep tuned!
woolfy Hoarding! Definitely. 11:32
11:47 sarna left 12:10 araraloren joined, x[LGWs4x4i]uG2N0 left 12:13 robertle joined 12:18 jmerelo left 12:19 jmerelo joined
araraloren m: say 4.roots 12:22
camelia Too few positionals passed; expected 2 arguments but got 1
in block <unit> at <tmp> line 1
12:22 koto joined
araraloren m: say 4.roots(2) 12:22
camelia (2+0i -2+2.4492935982947064e-16i)
araraloren what's this `-2+2.4492935982947064e-16i` ?
jmerelo araraloren: pretty close to 0, I guess.
araraloren How can I get the -2+0i 12:23
12:24 sena_kun left
jmerelo araraloren: you can use approximate comparison... 12:24
m: say 4.roots(2)[1] =~= -2+0i 12:25
camelia True
araraloren m: say 4.roots(2)[0].WHAT 12:26
camelia (Complex)
jmerelo Ah, you want the first one
m: say 4.roots(2)[0]
camelia 2+0i
12:26 jmerelo left
araraloren m: say 4.roots(2)>>.narrow 12:42
camelia (2 -2)
12:45 xinming joined
xinming can #perl6 be set with un-indentified not able to send message? 12:46
otherwise, whenever my network discconnect, I got kicked from the room
El_Che whut? 12:48
(I am un-identified, by the way)
lizmat xinming: doesn't your chat client allow automatic identification when joining ?
xinming lizmat: I don't set auto identification for my irssi :-) 12:49
well, check that, thanks.
El_Che I am using irssi without authenticating and I am not kicked from rooms 12:50
xinming because it says my name is used by someone else.
masak araraloren: you probably know this, but in general anything involving floating-point calculations (like Complex) is not guaranteed to be exact. square roots are a good example. 12:51
lizmat El_Che: but are you able to leave #perl6 now and come back without identification?
masak araraloren: in practice, I think complex square roots are implemented using logarithms, so internally it's a multistep operation in which more precision can be lost
araraloren yeah, I see 12:52
masak over the years, the more I learned about doubles, the less enthused I've become about using them :)
sometimes they are the right choice, but a bit less often than you'd think
araraloren okay, thanks for ur explain 12:53
yeah, I just write some exercise of a book
12:54 [particle] left
masak there was talk of maybe making Complex a parameterized type, that is `Complex[Real ::T]` 13:00
but that initiative seems to have been put on hold, or petered out. in the current Rakudo source, Complex has two `num`s
13:00 [particle] joined
masak dreams of Gaussian integers 13:00
heh, maybe I should publish a module or two 13:01
Complex::Gaussian and Complex::Eisenstein
and maybe Complex::Rat 13:02
lizmat masak: now we're on that track, any thoughts about adding modules.perl6.org/dist/Tuple to the core? 13:03
masak I see Util already wrote Math::Quaternion, but there is still room for Math::Quaternion::Hurwitz... :) 13:04
lizmat: looking
moritz lizmat: how many modules are using Tuple?
13:04 mcmillhj joined
lizmat none so far, that I know of 13:04
moritz that doesn't speak for including it in core 13:05
lizmat no, but it is a bit of a FAQ as to why you cannot use Lists in Sets
Geth perl6.org: 5df6abe65b | (Claudio Ramirez)++ | source/community/irc.html
Remove reference to moritz logs, also: Let me in: /mode -R #perl6
13:06
perl6.org: 0d4c33f814 | (Claudio Ramirez)++ | 7 files
Merge branch 'master' of github.com:perl6/perl6.org
stmuk I would hope the /mode +R is ten 13:07
err temporary only 13:08
masak lizmat: I wouldn't mind including it, but I feel it's more up to @Larry, not me -- adding of core types is serious business, and can have wide-ranging design impact :)
lizmat masak: I'll take that as a +1 :-) 13:10
masak it's a +1 which has invalidated itself ;) 13:11
lizmat: I'm sympathetic, because just the other week I added a Tuple type to 007
rjbs wait, wait, you're already working on Perl 007? 13:14
masak :) 13:15
13:16 x[LGWs4x4i]uG2N0 joined
masak rjbs: just in case you're actually wondering -- 007 is a "move fast and break things" sandbox for Perl 6 macros. it's a compiler/runtime (implemented in Perl 6), kind of a mix between Perl 6 and Python. 13:16
rjbs: I started writing it in late 2014. its macros support is already better than Rakudo's, but I'm getting _tantalizingly_ close to it actually being _useful_ and (shortly after that) _impressive_ 13:17
stmuk releasable6: status
releasable6 stmuk, Next release will happen when it's ready. 3 blockers. 80 out of 252 commits logged (⚠ 3 warnings)
stmuk, Details: gist.github.com/cc6b8bec917b820f3b...49a27d5f3a
masak rjbs: apart from a few tricky corners, I already have lexical hygiene. I have a plan for how to get `is parsed` support -- that is, macros parsed by custom regexes. 13:19
and when I say "I", I actually mean "we", because sergot++ and vendethiel++ have been a big help too.
rjbs masak: thanks! 13:21
13:22 yoleaux left 13:24 vrurg joined
masak for people who want to give it a spin, 007 can be found at github.com/masak/007 or downloaded with zef 13:28
I'm also in the process of writing Really Useful Language Documentation: gist.github.com/masak/010ba2ab93a5...5339ffd05b -- comments and nits appreciated 13:29
proudly, 007 has a test suite with 974 tests :) 13:30
moritz { n: 42 } Dict
there's no auto-quoting going o here, right?
masak yes, there is auto-quoting :) 13:31
Dicts with auto-quoting \o/
$ bin/007 -e='say({ n: 42 })'
{n: 42}
moritz: in general, you'll find 007 to be a pleasant hybrid between Perl 6 and Python 13:32
moritz ok
masak: well, the n: syntax reminded me of python, with no auto quoting
masak fwiw, I've been debating back and forth about the auto-quoting. right now it's on
moritz and perl gets away with both autoquoting and allowing variables as keys in hash literals through sigils, which 007 dropped 13:33
13:33 lucasb joined
masak fwiw, 007 also has "dictionary shorthand", a la JavaScripdt: 13:33
$ bin/007 -e='my n = 42; say({ n })'
{n: 42}
(so can't use that syntax for sets)
there's tradeoffs to everything 13:34
moritz colonpairs with them colos :)
*colons
xq unless you're apl
masak xq: are you suggesting APL hasn't made tradeoffs? have you *seen* APL? :P
xq different tradeoffs :P
13:35 kerframil joined
masak .oO( everyone has to make tradeoffs; you just have to pick which ones you have to make ) 13:35
13:35 andrzejku left
timotimo hey now don't go starting a trade-off war 13:36
masak languages are not a zero-sum game, Guido 13:37
buggable New CPAN upload: Sparrowdo-VSTS-YAML-DotNet-0.0.1.tar.gz by MELEZHIK cpan.metacpan.org/authors/id/M/ME/...0.1.tar.gz 13:41
New CPAN upload: Sparrowdo-VSTS-YAML-MsBuild-0.0.1.tar.gz by MELEZHIK cpan.metacpan.org/authors/id/M/ME/...0.1.tar.gz
13:49 MilkmanDan left 13:51 MilkmanDan joined 13:52 curan left
jkramer m: say sprintf('%02.2f', 1.2345) 14:00
camelia 1.23
jkramer Shouldn't this print 01.23?
It works with spaces for padding
m: say sprintf('% 2.2f', 1.2345)
camelia 1.23
dogbert2 m: say sprintf('%05.2f', 1.2345) 14:02
camelia 01.23
jkramer Oh I see :)
Thanks
masak yeah, the 5 is the total width 14:09
lucasb
.oO( Then the devil is 6... )
14:19
tbrowder_ masak: do you have a post somewhere that described why you started the 007 project? 14:21
masak tbrowder_: I would start with strangelyconsistent.org/blog/double-oh-seven and then strangelyconsistent.org/blog/has-it...hree-years 14:23
tbrowder_: if you want deeper/internal musings, I recommend github.com/masak/007/issues/294#is...-392284140 and following comments 14:24
(warning: technical) 14:25
tbrowder_ thanks, i thought i hsd seen something about it before. what do you think about putting those links in the 007 docs? or did i miss them.
14:26 warriors joined
AlexDaniel treegrep: .t6 14:27
greppable6 AlexDaniel, Found nothing!
masak tbrowder_: oh, that's a good idea. I already have an issue for re-writing the README.md, so I'll add it there
14:28 SCHAPiE joined 14:29 domidumont left
tbrowder_ and i always liked the james bond parody 14:29
14:30 domidumont joined
tbrowder_ in the good parody sense 14:30
14:31 Actualeyes left 14:32 cpage_ joined, psychoslave joined
jkramer m: say 123.&sprintf('%d') 14:33
camelia Your printf-style directives specify 0 arguments, but 1 argument was supplied
in block <unit> at <tmp> line 1
jkramer Shouldn't this work? I know could just use .fmt but shouldn't this be equivalent to sprintf('%d', 123)?
timotimo no, that's the wrong way around 14:34
jkramer m: say '%d'.&sprintf(123)
camelia 123
timotimo yeah
for the order you have there you can really only use fmt, i think 14:35
though fmt has different semantics when you have more than one value
jkramer But why? I mean it's clear the '%d'.sprintf (method call) works that way, but with .& shouldn't it call the sub?
timotimo it does call the sub
a.&foo(b) is the same as foo(a, b)
14:35 cpage left, cpage_ is now known as cpage
jkramer Oh, I was sure it was the other way around 14:36
timotimo that's why the equivalent of 123.&sprintf('%d') isn't sprintf('%d', 123), but the other one
14:43 lizmat left 14:45 lizmat joined 14:46 Schepeers left
masak tbrowder_: thank you :) 15:15
15:17 jmerelo joined, araraloren left, robertle left
Geth perl6.org: aff755ca6e | 唐鳳++ (committed using GitHub Web editor) | source/community/irc.html
Fix URL to colabti logger
15:24
15:29 domidumont left 15:31 abraxxa left
Geth doc: 662d8b900a | 唐鳳++ (committed using GitHub Web editor) | doc/Language/faq.pod6
Fix typo; replace &nbsp; with U+000A0

Before this change, docs.perl6.org/language/faq shows literal `&nbsp;` in place of the expected non-break space.
15:33
synopsebot Link: doc.perl6.org/language/faq
donpdonp zef list -> URI:ver<.0.1.4>; use URI; URI.^ver -> I would expect "0.1.4" but I get (Mu) 15:35
15:40 koto left
masak so, I'm about to switch all the .pm modules in 007 over to .pm6 15:47
(reason: Comma really likes to assume that .pm files are Perl 5) 15:48
I'm curious, though: is there anyone else who doesn't use .pm6 for Perl 6 module files at this point? or am I the last island of resistance? :)
timotimo masak: could you write a short paragraph to end my blog post in? :D 15:51
masak timotimo: not sure I understand what you're asking for, but here goes: 15:53
timotimo: "...In conclusion, all of the people who oppose my plan for world domination will be treated in the most appropriate manner. I wish nothing but the best to my enemies. May you rest easily at night, and may your futures bloom and florish!" 15:54
timotimo that's fantastic!
thank you very much
masak no problemo 15:55
I dunno if "bloom and florish" is overdoing it a bit. those are technically synonyms. 15:56
Juerd masak: So far I have not used .pm6
timotimo bloom and prosper?
Juerd Mostly because it's hard to type. The keys are all over the keyboard.
timotimo not quite
masak "bloom and prosper" sounds borderline Vulcan, though
Juerd 6 is the worst key ever.
It's out of reach of every finger
masak Juerd: we should have called it "Perl."
Juerd masak: Anything but
timotimo so the files would be .pm.? 15:57
masak timotimo: right
oh! or "Perl*"
15:57 robertle joined
Juerd Just call the language Whatever. 15:57
timotimo Watlang
masak .oO( "the asterisk is pronounced '*cough*'" )
timotimo .o( watlab )
masak: did you mean to spell it "flourish" or do i just not realize what "florish" is? 16:02
masak timotimo: the former, but...
timotimo the florish is lavish 16:03
masak timotimo: ...please go with "bloom and burgeon!" instead 16:04
we get both the alliteration, and two non-synonyms
jkramer I like the thought of ending any letter, email or publication with "In restrospect, this whole thing was a financial disaster." 16:06
timotimo "please consider the environment before printing this website" 16:07
masak "Of course, in the end, Zhuangzi couldn't tell if he had been dreaming of the butterfly, or if he was just something the butterfly was still dreaming about." 16:08
jkramer That's good too. But it should be followed by two pages of "This email is intellectual property of <whoever sent it>. If you're not the recipient of this email or received it in error, delete it immediately and forget about its contents or we will sue you" or something along those lines
timotimo wakelift.de/p/d42d5648-001d-4d7c-9...c76637eb8/ - i'd appreciate a little proofreading :) 16:10
masak jkramer: I'm not sure I would want to contribute to such nonsense, even in jest ;)
timotimo: on second thought, I think it's "for my enemies" 16:11
timotimo fixed in the draft 16:12
BBIAB
jkramer timotimo: Is this for a perl foundation grant? I think the financial disaster line would be even funnier there. Doesn't have to mean anything, it'll just confuse people :) 16:14
16:19 Zoffix joined, ChanServ sets mode: +o Zoffix, Zoffix sets mode: -r , Zoffix sets mode: -o Zoffix, benjikun left 16:21 benjikun joined
Geth perl6.org: 0d4ff5adce | (Zoffix Znet)++ (committed using GitHub Web editor) | source/community/irc.html
Fix up IRC page

  - Link to today's log page instead of list of days
  - Colabti don't do any special Perl 6 processing; remove that prose
  - Tell people what the appropriate place for Perl 5 topics is
16:24
16:25 mcmillhj left 16:28 mfb32xl joined 16:31 dakkar left 16:32 dakkar joined, mcmillhj joined, fbynite left
lizmat timotimo: perhaps put a link to en.wikipedia.org/wiki/Tracing_garb...-and-sweep in there somewhere ? 16:36
16:37 mcmillhj left
lizmat timotimo: other than that, no remarks except a +1 :-) 16:39
Geth doc: Kaiepi++ created pull request #2219:
Document grammar attributes
16:42
Zoffix lizmat: IMO instead of any Tuple types, the rejection of List having .WHICH dependent solely on contents should be rethought instead. For example, Map's .WHICH solely depends on contents, as is Set/Bag/Mix's What exactly makes List special that it needs a separate type to offer that behaviour 16:46
16:46 mcmillhj joined
Zoffix lizmat: it was pointed out on R#1959 github.com/rakudo/rakudo/issues/19...-400728917 but perhaps wasn't discussed entirely. 16:46
synopsebot R#1959 [closed]: github.com/rakudo/rakudo/issues/1959 Empty set()/bag()/mix() do not return a unique object
16:46 diakopter joined
lizmat Zoffix: that would be one way 16:47
but still, people will continue to make Lists like ($a,$b,$c), and they then will continue to *not* be a value type
so I'm thinking, like you would either slip($a,$b,$c) or set($a,$b,$c), you could also tuple($a,$b,$c) 16:48
Zoffix m: my ($a, $b, $c) = 1, 2, 3; dd ($a,$b,$c)
camelia (1, 2, 3)
Zoffix lizmat: why not? Looks like it deconts 16:49
oh does it
lizmat nope, it doesn't decont
Zoffix m: my ($a, $b, $c) = 1, 2, 3; use nqp; dd nqp::iscont(($a,$b,$c)[0])
camelia 1
Zoffix ah
lizmat which is *exactly* the propbm,e
problem rather
Zoffix m: my ($a, $b, $c) = 1, 2, 3; use nqp; dd nqp::iscont({foo => $a}<foo>) 16:50
camelia 1
Zoffix m: my ($a, $b, $c) = 1, 2, 3; use nqp; dd nqp::iscont((Map.new: (foo => $a))<foo>)
camelia 0
16:50 dakkar left
Zoffix I see 16:50
jnthn If it did decont, then you'd not be able to do list assignment :) 16:51
Zoffix yeah :)
16:51 mcmillhj left
timotimo jkramer: i wouldn't dare include the financial disaster line for that reason :) 16:53
16:54 lucasb left 16:55 Possum left 16:56 Possum joined
timotimo Lol, i blogged! wakelift.de/2018/07/26/wow-check-o...s-garbage/ 16:59
Zoffix Is this guy trolling me? twitter.com/_confuseAcat_/status/1...6339898368
Or was Perl town really named after Perl 5?
"But in 1789, the people were sick and tired of living in Sedstadt."... In 1789? 17:00
timotimo i think that's just comedy 17:02
TimToady feels old, but not that old...
Zoffix Ah. OK :)
TimToady though if you swap the 7 and the 9, that's when Perl was born... 17:04
lizmat :-) 17:05
Zoffix Crazy to think that on the other side of a planet at the same time there was a baby pooping into a diaper that in 30 years would become one of the core developers :P
17:06 stmuk_ joined 17:07 mcmillhj joined 17:08 stmuk left
TimToady I think I picked a good time to live, but other generations are free to disagree. :) 17:12
jmerelo Zoffix: I think it's a reference to sed :-) 17:13
Zoffix: plus stadt → ville or city in German
Zoffix: sedstadt → city of sed
TimToady and the stream running through it was the Ed? 17:14
jmerelo TimToady++ 17:17
TimToady: it was initially called | , but people found that difficult to pronounce. Some people whistled, some sighed, some did some hand-gesturing. So it was finally called Ed.
TimToady u: 🎏 17:19
unicodable6 TimToady, U+1F38F CARP STREAMER [So] (🎏)
17:20 [particle] left
lizmat weekly: wakelift.de/2018/07/26/wow-check-o...s-garbage/ 17:21
notable6 lizmat, Noted!
17:21 lookatme joined
stmuk_ apparently ed was supposed to be spoken e-d not as in the talking horse 17:23
according to twitter
17:23 fbynite joined 17:24 benjikun left, dpk joined, [particle] joined
jmerelo I don't know if you've seen this: twitter.com/jjmerelo/status/1022533003384442880 17:24
17:25 El_Che joined, benjikun joined 17:27 AlexDani` joined
AlexDani` jmerelo: I wonder why specificication was not caught by the spell checker 17:28
jmerelo AlexDani`: it's only run from time to time...
AlexDani`: Also, about the "books" issue 17:29
AlexDani`: I was about to work on that. Is it OK if I include a reference to the page where those resources were originally? 17:30
AlexDani`: I think it does not hurt if the list is in both places.
17:30 AlexDani` left, AlexDani` joined, AlexDaniel left, AlexDani` is now known as AlexDaniel
jmerelo AlexDaniel: see above 17:30
AlexDaniel jmerelo: well, if the list is in both places, who is going to keep them in sync? 17:31
jmerelo: linking to perl6.org is ok
17:31 fbynite left
AlexDaniel linking to docs.perl6.org from perl6.org is also fine 17:32
jmerelo AlexDaniel: I'll take care of the doc part 17:33
I've added a link to the perl6 resources page (and fixed a &nbsp; that was still there) 17:34
Geth doc: aa4363f783 | (JJ Merelo)++ | doc/Language/faq.pod6
perl6.org linked, added whitespace, closes #2143
17:35
synopsebot Link: doc.perl6.org/language/faq
17:37 p6bannerbot left, Zoffix left
AlexDaniel jmerelo: I guess I'm stubborn, but I still don't get why we keep two lists 17:37
or even three if you count perl6book.com/ 17:38
jmerelo AlexDaniel: I keep the list at perl6/doc because lizmat requested it on an issue. I don't know about the rest... 17:39
moritz keeps perl6book.com
AlexDaniel jmerelo: as people say, if somebody opened an issue asking you to defenestrate yourself, would you do it? :) 17:40
jmerelo AlexDaniel: it's lizmat. I might do it.
AlexDaniel opens the issue in an attempt to find a justification
jmerelo AlexDaniel: no, please, no... not again.
lizmat AlexDaniel: my justification was "perldoc perlbook" 17:41
AlexDaniel lizmat: cool, so what if we link to the docs from perl6.org/resources/ ? 17:42
doing that will also unclutter the resources page, I think
jmerelo AlexDaniel: you mean eliminate that frame completely? There's some stuff there (work in progress) that is not in perl6/doc, which includes only published books. 17:43
17:43 fbynite joined
TimToady
.oO(Reuse the Resource, Luke!)
17:43
jmerelo TimToady++
TimToady: (took me a little while to get it)
lizmat FWIW, I think mentioning books that are in progress detracts from the fact that there are plenty of published Perl 6 books now
so I wouldn't mind seeing the "in progress" books not mentioned at all 17:44
it served a purpose when there were hardly any books yet
but that's different now, I would thibnk
*think
jmerelo lizmat: maybe open another issue there asking for deletion (and link to perl6/doc) 17:45
lizmat ok, will do unless someone else beats me to that :-) 17:46
Geth doc: eedafd1b1b | (JJ Merelo)++ | doc/Language/faq.pod6
Some typography changes
17:48
synopsebot Link: doc.perl6.org/language/faq
AlexDaniel squashable6: next 17:50
squashable6 AlexDaniel, Next SQUASHathon in 7 days and ≈16 hours (2018-08-04 UTC-12⌁UTC+14). See github.com/rakudo/rakudo/wiki/Mont...Squash-Day
AlexDaniel I remember we had some squashathon hero this time? :) 17:51
jmerelo AlexDaniel: it's bitrot time, right?
AlexDaniel yeah, I think so
jmerelo AlexDaniel: I'm going to be in Ireland for a viva. Might be able to pitch in on the trip back...
AlexDaniel cool 17:52
but it's unlikely I'll have enough time to organize it
jmerelo AlexDaniel: I have time _before_ that
AlexDaniel especially cuz it's a non-typical squashathon
jmerelo AlexDaniel: but you can still set up the bots, right? 17:53
AlexDaniel jmerelo: sure, but what exactly? :) So, we can take all modules that are always red from here: toast.6lang.org/
jmerelo AlexDaniel: Right.
AlexDaniel and then…?
create a project on github.com/rakudo/rakudo/projects ?
most people don't have access to that though? Needs to be in a perl6/ repo? 17:54
jmerelo AlexDaniel: right.
AlexDaniel: maybe we should try and look for modules which are deep upstream in the "river"
AlexDaniel: but I don't know if we have that graph for Perl 6 modules... 17:55
AlexDaniel we did I think?
jmerelo AlexDaniel: did we?
AlexDaniel I'm pretty sure I've seen some graphs, yes
but I don't know if it was committed anywhere
who was working on that?
jmerelo AlexDaniel: there's this guy, AlexDaniel, who created this issue... github.com/zoffixznet/perl6-Toaster/issues/1 17:56
AlexDaniel but that's for toaster
which would be nice, yes
but there's also a graph generator for zef or something like that
jmerelo: what if instead of “projects” we use issues? 17:57
jmerelo AlexDaniel: github.com/Leont/build-graph6
AlexDaniel: of course, it's much better.
AlexDaniel then we'd just need to write a script that can populate the repo with issues based on toaster list 17:58
issue text can link to other tickets for dependencies
jmerelo AlexDaniel: I would rather choose by hand a few modules. Most of the modules in toaster have no dependency
AlexDaniel: not been able to find any kind dependency chart. I can try and create it. 18:01
AlexDaniel .seen sarna 18:03
dpk: yoleaux is down? 18:04
oh, is it because it's not identified, or something like that?
jmerelo AlexDaniel: I was gonna say that.
AlexDaniel evalable6: uptime 18:05
evalable6 AlexDaniel, 1 week, 5 days, 11 hours, 8 minutes, and 38 seconds, 570.609375MiB maxrss. This is Rakudo version 2018.05-118-gff2bc1143 built on MoarVM version 2018.05-131-g9fb02c950 implementing Perl 6.c.
AlexDaniel wonders why all ables are up, if only 5 of them can possibly identify
18:08 kaare_ left
El_Che AlexDaniel: I saw a discussion in moarvm about the next release. If the release is weak, i think is better to postpone it. All the Debian/Centos/Ubuntu/Fedora/RHEL users using my package will automatically upgrade to the latest release as they use repos 18:09
AlexDaniel El_Che: yes I'm fully against making a bad release 18:10
El_Che I glad to hear that 18:12
'm
Kaiepi is there a way to wrap a token in a grammar?
i have a ton of tokens that are formatted like \x[FF]\x[FA]<.sym>{*}\x[FF]\x[F0], but i don't want to keep repeating myself over 100 times 18:13
18:13 kaare_ joined
timotimo a protot oken should be able to do it 18:16
if you have regex enzymes, you can eves use a protein token 18:17
jmerelo timotimo++ 18:18
18:21 jmerelo left 18:22 Ven`` joined 18:23 yoleaux joined, ChanServ sets mode: +v yoleaux
dpk fixed 18:23
it must have issued the JOIN command before it was fully identified for some reason
even though i'm sure i wrote code to stop it doing that. but anyway 18:24
AlexDaniel dpk: thank you ♥
.seen sarna
yoleaux I saw sarna 24 Jul 2018 07:56Z in #perl6: <sarna> o/
AlexDaniel .tell sarna squashathon discussion colabti.org/irclogger/irclogger_log...07-26#l900 18:25
yoleaux AlexDaniel: I'll pass your message to sarna.
fbynite how can I create a Pair with a scalar value as the key? I've tried ':$var => 123' which produces '(var => var_value) => 123' 18:27
timotimo you probably have to go through the Pair.new constructor if you want it to keep the scalar, though perhaps it'll decont anyway
lizmat timotimo fbynite: since we consider a Pair a single key Map/Hash, and keys are immutable in Map/Hash, you cannot create a Pair with a mutable key 18:30
18:31 sauvin left
fbynite Pair.new produced the expected results 18:33
lizmat it does ?
18:35 molaf joined
fbynite yea, I get Pair.new($var, 123) produces: 'var_value => 123' 18:36
18:41 Ven`` left, fbynite left 18:43 Zoffix joined
Zoffix ugh they left. 18:43
I think there was a miscommunication. The person simply wanted a key to come from a variable. 18:44
Rather than wanting to keep a Scalar container around it
18:46 fbynite joined 18:50 mfb32xl_ joined
timotimo ooooh 18:51
18:53 mfb32xl left
Kaiepi m: grammar Foo { token TOP { <a:sym(0)> }; proto token a {*}; token a:sym(0) { a } }; say Foo.parse('a') 18:54
camelia 5===SORRY!5=== Error while compiling <tmp>
Did not get a string but a Int
at <tmp>:1
------> 030)> }; proto token a {*}; token a:sym(0)7⏏5 { a } }; say Foo.parse('a')
Kaiepi m: grammar Foo { token TOP { <a:sym<a>> }; proto token a {*}; token a:sym<a> { a } }; say Foo.parse('a')
camelia 「a」
a => 「a」
18:55 mcmillhj left 18:57 mcmillhj joined
Kaiepi m: grammar Foo { token TOP { <a> :my $*A = ~$<a>; { say $*A } }; token a { a } }; Foo.parse('a') 18:58
camelia Use of Nil in string context

in regex TOP at <tmp> line 1
timotimo i mean, you can have a regular method and do the parsing logic by yourself ... not sure how good our support for that is at the moment. 18:59
19:01 Kaiepi left 19:02 Kaiepi joined
TimToady the Perl 6 grammar uses quite a few normal methods 19:03
timotimo aye, but it's not afraid to use nqp:: ops, either
TimToady mostly because it's written in nqp, not Perl 6 19:04
timotimo yup
TimToady but Perl 6 methods are no less powerful, depending on how you want to define that 19:05
timotimo true
i was mostly refering to whether the methods you need to create a proper return value are available in a friendly way
xinming TimToady: yesterday, Zoffix talked about the infix operator logic, What do you think of this? 19:06
m: class A { method test (::?CLASS:D:) { "Class A".say; }; }; multi infix:<|||> (A, %h) { A.new }; multi infix:<|||=> (\v, %h) { v = v ||| %h }; ; my A $aa |||= %({}); $aa.test;
camelia Class A
xinming here, we have to manually define the |||= thing
since the logic for infix will try to test the .DEFINITE of the first arg.
TimToady timotimo: making all those methods available to the current Match is part of why it's sort of a God object :)
19:07 Kaiepi left
timotimo bad form to have all the methods on the Match, you need a MatchFactory to make it clean 19:08
xinming do we test the defined'ness for the first arg to optimize something?
TimToady xinming: why are you trying to invent your own autovivification when it's built-in?
that's just the autoviv contract of assignment at work
19:08 LeeGlbing joined 19:09 LeeGlbing left
xinming TimToady: I'm just testing how I can make a infix to convert the object via % or @. 19:09
TimToady: which part is autovivification? 19:10
TimToady noticing it's undefined and calling a function to define it before applying the operator
we just happen to call the 0-ary function because that's how we get an identity value for the function (if any) 19:11
m: my $x; $x *= 42; say $x 19:12
camelia 42
TimToady oops, how'd it get to be lunchtime already? 19:13
afk
xinming will trouble you later then. :-) 19:14
So, the Any will default to 0 19:15
lizmat m: say +Any
camelia Use of uninitialized value of type Any in numeric context
0
in block <unit> at <tmp> line 1
xinming I was testing that on my machine too. need to get understand how these sort out 19:16
Zoffix xinming: the answer is "poorly" 19:18
m: my $x; quietly say $x + 0
camelia 0
Zoffix m: my Int $x; quietly say $x + 0
camelia Invocant of method 'Bridge' must be an object instance of type 'Int', not a type object of type 'Int'. Did you forget a '.new'?
in block <unit> at <tmp> line 1
Zoffix It's one of the holdovers from Perl 5 that should've been left out. And not it's too late to remove it. 19:19
xinming Ok, so, you mean the undefined $x defaults to 0 in numeric context with strict mode should be removed, right? 19:21
I agree we should remove it. :-) 19:22
Since I just tried with something like
m: my $x; (~$x).perl.say;
camelia Use of uninitialized value of type Any in string context.
Methods .^name, .perl, .gist, or .say can be used to stringify it to something meaningful.
""
in block <unit> at <tmp> line 1
xinming m: my $x; ~$x.perl.say;
camelia WARNINGS for <tmp>:
Any
Useless use of "~" in expression "~$x.perl.say" in sink context (line 1)
xinming m: my $x; say ~$x;
camelia Use of uninitialized value of type Any in string context.
Methods .^name, .perl, .gist, or .say can be used to stringify it to something meaningful.

in block <unit> at <tmp> line 1
19:22 fbynite left
xinming m: my $x; $x ~= "abc"; say $x; 19:23
camelia abc
xinming variables should be enforced to be initialized in perl6 to do propery op.
Zoffix xinming: I'm not talking about your last eval, BTW.
The last eval calls infix:<~>() (zero args) to get the inital value
Zoffix goes to do the last prep before meeting 19:24
xinming Ok 19:25
Zoffix If you're not afraid to suffer ridiculous Toronto traffic, come. Today, 7pm EST. It's free. Two Perl 6 talks: regex/grammars and perf: www.meetup.com/Toronto-Perl-Monger...xwpyxkbjc/
19:25 Zoffix left
El_Che Zoffix: see you, thx for opening the door 19:25
19:30 woolfy left
lizmat is it me, or do none of the TOC elements in docs.perl6.org/language/faq#Can_I_...rl%C2%A06? work? 19:34
actually: docs.perl6.org/language/faq
19:37 Kaiepi joined, Skarsnik joined
Kaiepi timotimo, i just needed to rethink my logic a bit 19:37
19:39 Praise- joined, Praise- left, Praise- joined 19:46 fbynite joined 19:49 wamba joined 19:53 fbynite left 20:05 fbynite joined 20:11 fbynite left 20:18 pecastro joined 20:23 robertle left 20:31 kerframil left 20:34 Ven`` joined 20:40 mfb32xl_ left, fbynite joined 20:42 mcmillhj left 20:47 Ven`` left
buggable New CPAN upload: Sparrowdo-VSTS-YAML-Solution-0.0.3.tar.gz by MELEZHIK modules.perl6.org/dist/Sparrowdo::V...n:MELEZHIK 20:51
20:51 TreyHarris left 20:52 mcmillhj joined 20:56 mcmillhj left
japhb Zoffix, will your talks be recorded? 20:58
buggable New CPAN upload: Sparrowdo-VSTS-YAML-DotNet-0.0.2.tar.gz by MELEZHIK modules.perl6.org/dist/Sparrowdo::V...n:MELEZHIK 21:01
New CPAN upload: Sparrowdo-VSTS-YAML-MsBuild-0.0.2.tar.gz by MELEZHIK modules.perl6.org/dist/Sparrowdo::V...n:MELEZHIK
21:04 TreyHarris joined 21:08 mcmillhj joined 21:14 rindolf left 21:17 vrurg left 21:19 mcmillhj left
benjikun Zoffix is doing talks? 21:19
woohoo
lizmat yup, 2: twitter.com/zoffix/status/1021608809087819777 21:20
21:21 rindolf joined
benjikun yay 21:21
21:24 fbynite left, fbynite joined 21:28 mcmillhj joined
buggable New CPAN upload: Sparrowdo-VSTS-YAML-Solution-0.0.4.tar.gz by MELEZHIK modules.perl6.org/dist/Sparrowdo::V...n:MELEZHIK 21:31
21:33 mcmillhj left 21:41 mcmillhj joined 21:44 fbynite left 21:46 mcmillhj left 21:49 psychoslave left 21:51 benjikun left 21:53 benjikun joined
SmokeMachine m: class A {has $.a}; my $a = A{:42a} 21:55
camelia 5===SORRY!5=== Error while compiling <tmp>
Autovivifying object closures not yet implemented. Sorry.
at <tmp>:1
------> 3class A {has $.a}; my $a = A{:42a}7⏏5<EOL>
21:57 mcmillhj joined 22:01 mcmillhj left 22:04 wamba left 22:11 x[LGWs4x4i]uG2N0 left 22:12 mcmillhj joined 22:13 Praise- is now known as Praise 22:14 kerframil joined 22:15 x[LGWs4x4i]uG2N0 joined 22:16 benjikun left, benjiikun joined 22:17 mcmillhj left
benjiikun m: sub a { &^b(&a) }; sub b { &^a(&b) }; b(&a); 22:20
camelia MoarVM panic: Memory allocation failed; could not allocate 12288 bytes
japhb Oooh, can't wait for Zoffix talks. 22:28
22:29 hahainternet is now known as voiceplz, voiceplz is now known as thxu, thxu is now known as hahainternet, mcmillhj joined 22:34 mcmillhj left 22:36 Kaiepi left, Kaiepi joined 22:40 pecastro left 22:42 skids joined 22:44 rindolf left 22:46 vrurg joined 22:48 mcmillhj joined 22:55 lucasb joined
timotimo i hope i don't have to join the hangouts, can i just watch? %) 23:00
i just noticed the hangouts link i clicked was from may %) 23:01
23:01 peteretep left
timotimo i do believe youtube/hangouts offers a "stream live on youtube" thing 23:01
23:01 g- joined
timotimo right, "hangouts on air"; you can find it on youtube i think? from the "creator studio"? 23:02
23:03 mcmillhj left
timotimo do zoffix and the TOPMs know that? i suppose they probably do 23:03
benjiikun where can I find it? 23:04
I wanna watch
timotimo i believe the TOPM twitter account will tweet it out? twitter.com/TOperlmongers/with_replies?lang=en 23:06
www.meetup.com/Toronto-Perl-Monger...xwpyxkbjc/ - this is also a thing 23:07
23:09 lucasb left 23:11 MilkmanDan left, MilkmanDan joined 23:16 MilkmanDan left 23:18 MilkmanDan joined 23:24 mcmillhj joined 23:29 mcmillhj left
timotimo www.youtube.com/channel/UC3xi2HEaL...2fNfW61Zdg - it could perhaps show up here? 23:30
23:37 fsdfsdfsdfsdfdsf joined 23:38 spycrab0 left 23:41 kerframil left 23:45 Qwerasd joined
Qwerasd So I'm looking to take the signature of a function and turn it in to a grammar for purposes of parsing a string in to arguments for that function. Is this even possible? 23:46
timotimo sounds a bit like what cro's router does
if you're not scared to use EVAL, it sounds very doable 23:47
MAIN also does something similar to this, but not using a grammar, i don't think?
benjiikun Qwerasd example? 23:48
Qwerasd The reason I need this is because I'm building a bot module and want the user to be able to provide a function and the module does all the work of parsing messages and gives the function everything it needs.
benjiikun I recently did the exact same thing 23:49
23:49 mcmillhj joined
Qwerasd Oh? Would I be able to get my hands on it? 23:49
Like if the function had a signature of (Str $my-string, Int $my-int) the generated grammar would be like { <Str> ' ' <Int> } 23:50
And named arguments would become flags (--someFlag someVal) 23:52
benjiikun one second, lemme get on pc 23:53
Qwerasd K. 23:54
23:54 mcmillhj left
Qwerasd I just realized how I could do what I want. Just explaining exactly what I wanted helped me think it through. I will still wait to see your implementation though. Being a total Perl 6 noob I probably am overlooking some really neat way to do it. 23:57
23:58 Skarsnik left