»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by masak on 12 May 2015.
00:06 TEttinger joined 00:11 tinyblak joined, atroxaper joined 00:16 atroxaper left 00:19 laouji joined 00:28 tinyblak_ joined 00:31 tinyblak left 00:36 yqt left 00:39 laouji left 00:40 laouji joined 00:44 laouji left, cognominal left, laouji joined
dalek kudo/nom: 27f88c4 | coke++ | t/spectest.data:
run these new (passing) tests
00:50
00:55 rangerprice joined, llfourn joined
skids Thanks [Coke] that saved me a PR. 00:58
01:00 llfourn left
[Coke] sure 01:02
rangerprice hi
[Coke] hio
rangerprice What is your prefered Perl library ?
01:04 BenGoldberg joined 01:07 tinyblak_ left, yeahnoob joined 01:09 tinyblak joined 01:10 cognominal joined
[Coke] rangerprice: FYI, this is a discussion about the development and usage of Perl 6, which is a different language than Perl 5. 01:11
rangerprice oh okay 01:12
[Coke] You're welcome to hang out. There's definitely some nifty Perl 6 modules.
rangerprice What do you mean when you say "hang out" (english is not my native language) 01:14
01:15 Hor|zon joined
skids It means to spend time here. 01:17
rangerprice oh 01:18
you sure skids ?
01:19 rmgk left, rmgk_ joined, rmgk_ is now known as rmgk 01:20 Hor|zon left
skids rangerprice: Yes, it's my native language. 01:20
Juerd hang out 01:24
v 1: spend time in a certain location or with certain people;
"She hangs out at the corner cafe"
rangerprice thanks !
Juerd rangerprice: dict is a great command line utility if you're learning/using English
I just did a 'dict "hang out"'
rangerprice juerd :d) i'll do the same in the future 01:25
The wikipedia of perl 6 say that they have a chance that a official version of perl 6 will be released in december, true ? 01:27
japhb
.oO( Who knew unix's English bias would actually be useful to someone? )
rangerprice: That is the intent, yes.
skids Well, it is certainly useful to us native English speakers :-) 01:29
rangerprice I can write traduction in french if necessary, for a papers, documentations, or others. This is my way to involve me in Perl 6. 01:31
skids I would think doc.perl6.org/ would be the first place to start translation efforts. But someone will have to code in the glue. 01:33
01:35 bloomburgers joined
bloomburgers Hey, so I recently attended a talk by Ovid, and coming from Standard-ML land, Perl 6 looked fantastic for compiler development, with built-in PEG's and all 01:36
As a newbie though, do we have parametric types in Perl 6? 01:37
rangerprice You right skids, but me, i don't scare about code in the glue. 01:39
skids bloomburgers: There are parametric roles. Paramteric types are more a MOP thing -- you can do it but it's not an end-user API. 01:41
(But there are some pre-built like Array[Foo]) 01:42
bloomburgers I'm very much new, what does MOP expand to? 01:43
skids Meta object protocol
Basically how to build new language constructs up from the underlying prmitives. 01:44
bloomburgers Is perl6 a little lispish in letting you make new language constructs?
01:45 dayangkun joined
skids bloomburgers: yes but it contains the damage by lexcally scoping them. 01:46
rangerprice Perl 6 is a completely different language compared to Perl 5 ?
skids rangerprice: it draws a lot from Perl5+Moose but it is a ground-up rewrite. 01:47
[Coke] S99:PEG?
synbot6 Link: design.perl6.org/S99.html#PEG
skids (well Moose and 6 have both drawn from each other at times if I understand correctly) 01:48
01:48 telex left
[Coke] (code of conduct) just tripped over this: github.com/blog/2039-adopting-the-...of-conduct 01:49
01:50 telex joined
bloomburgers I know we have the idea of value level superposition, but do we have type level superposition, something like `subset StrOrInt = Str | Int` which can have a string or integer value, but nothing else? 01:54
hoelzro bloomburgers: iirc, that's specced, but not implemented 02:01
m: my Str|Int $si;
camelia rakudo-moar 27f88c: OUTPUT«5===SORRY!5===␤Type 'Str' is not declared. Did you mean 'str'?␤at /tmp/QIgqyaFVJ8:1␤------> 3my Str7⏏5|Int $si;␤Malformed my␤at /tmp/QIgqyaFVJ8:1␤------> 3my Str7⏏5|Int $si;␤␤»
hoelzro hmm
that's LTA
b2gills m: my subset StrInt of Any where Str | Int; say $_ ~~ StrInt for 5, 'str', 5.0 02:03
camelia rakudo-moar 27f88c: OUTPUT«True␤True␤False␤»
02:03 noganex_ joined
b2gills m: say $_ ~~ Str | Int for 5, 'str', 5.0 02:04
camelia rakudo-moar 27f88c: OUTPUT«True␤True␤False␤»
skids bloomburgers: That's marked as a post-6.0.0 feature. The speculation for it is here: design.perl6.org/S12.html#Multiple_constraints 02:05
02:06 noganex left 02:13 llfourn joined 02:14 funjon joined
bloomburgers yeah it's looking like subsets are enough to encode algebraic data types 02:15
02:17 cognominal left 02:23 pullphinger joined 02:44 aborazmeh joined, aborazmeh left, aborazmeh joined 02:49 cschwenz joined, aborazmeh left, FROGGS left 02:50 aborazmeh joined, aborazmeh left, aborazmeh joined 02:52 cschwenz left 02:54 FROGGS joined 03:01 gfldex left
flussence [Coke]: I prefer a more wtfpl-ish take on the idea: github.com/domgetter/NCoC 03:02
03:04 Hor|zon joined
skids prefers this CoC: www.coc.com/ m/ 03:05
03:09 Hor|zon left 03:12 cognominal joined
japhb I've missed the history here -- what are we looking to apply a CoC to? This channel? The mailing lists? Our meetups? Something else entirely? 03:13
skids I dunno the topic has just been kicking around for some reason is all. 03:14
flussence no idea, I'm just responding to a line that's visible on screen :) 03:15
ShimmerFairy I don't like that NCoC thing; it reads like it was written by someone who just doesn't care about other people, and someone who wants the benefits of a community without the responsibility of one. 03:17
[Coke] -1 on the ncoc 03:27
ShimmerFairy I'm very tempted to write a very detailed breakdown of everything wrong with the ncoc, actually.
flussence yeah... it does read like someone who's burned out on dealing with nasty places. kinda saddening if that's the reason for making it... 03:28
03:37 rangerprice left 03:40 tinyblak left 03:45 laouji left, funjon left 03:49 bloomburgers left
xiaomiao people often want a CoC so they can apply these rules to others 03:52
e.g. silencing people that have diverging opinions 03:53
I don't like the current trend of adding more and more 'social rules'
japhb
.oO( B&TCoC: Be EXCELLENT to each other! )
03:56
flussence being in here taught me a valuable thing: encouraging people to be good works a million times better than trying to discourage them from being bad.
japhb
.oO( "Don't make people uncomfortable" --> "Help everyone feel comfortable" )
03:58
ShimmerFairy It's certainly alright to have diverging opinions, but the "diverging opinions" that discriminate against others are what codes of conduct set out to eliminate. 03:59
japhb (Or un|welcome instead of un|comfortable, perhaps)
xiaomiao ShimmerFairy: doesn't the CoC discriminate against those then? 04:02
gets very loopy
nys "treat newcomers as if they're someone you need to solicit money from soon (i.e. with a basic level of respect)"
xiaomiao and I can insult you without triggering a CoC, I've been trained well ...
ShimmerFairy xiaomiao: yes, but that's the point. You aren't allowed to be a jerk towards other people, plain and simple.
xiaomiao ShimmerFairy: that's, like, your opinion, maaan ... ;)
ShimmerFairy: don't let lawyers structure your interactions 04:03
04:03 nys left
ShimmerFairy It's not about lawyering, it's about basic human decency. If you hold opinions that discriminate against people, don't be surprised when you get kicked out of places that like that whole "decency" thing. 04:05
japhb You know, in a community that truly understands LTA, it seems like an CoC we use ought to include what we think is awesome, and how we turn LTA into A.
*any CoC
xiaomiao ShimmerFairy: but for that you don't need a 12-page ruleset, just some decent moderators 04:06
ShimmerFairy The ruleset gives everyone fair warning about what is considered unacceptable, however :)
xiaomiao rules boil down to (1) don't be stupid (2) don't assume others are stupid
ShimmerFairy: I've seen the flamewars that happen when one tries to enforce such a ruleset 04:07
[Coke] xiaomiao: no, there's more to it than that.
xiaomiao it's a good way to get rid of contributors
japhb ShimmerFairy: It is perhaps a useful data point that we've not needed to think that way, and yet are widely regarded as one of the friendlier places on IRC.
ShimmerFairy Not that simple; people with offensive viewpoints don't think they're being stupid.
xiaomiao ShimmerFairy: offense is taken, not given
[Coke] I really don't get the pushback against writing down rules that try to enforce what we've got here.
xiaomiao: Sounds like you've never dealt with someone toxic. 04:08
ShimmerFairy japhb: Sure, I love the way things are here. I think a CoC here, if taken, would simply improve things here.
xiaomiao [Coke]: more rules won't help
xiaomiao has seen year-long campaigns that were definitely not slowed down by CoC, rules, etc.
ShimmerFairy xiaomiao: Coming from an IRC channel that's had it's fair share of drama, having an explicit set of rules is in fact really helpful (compared to before we had them).
*its
japhb [Coke]: My only preference is that if we set down any rules, it should be mostly codifying our sense of awesome, not listing jerkish behaviors. In other words, I'd like to whitelist, not blacklist, I suppose.
xiaomiao ShimmerFairy: #gentoo uses a language policy and "ops are always right" - works quite well 04:09
japhb ShimmerFairy: where did you come from?
ShimmerFairy japhb: I've been on BadnikNET for a while now. Certainly has been different from hanging out in #perl6 :)
[Coke] japhb: wow, without the context of her previous send, that sounded a little harsh. 04:10
:)
japhb [Coke]: Oh, heh, yeah, I guess my response was very contextual, wasn't it? :-)
[Coke] +1 from me on a simple CoC that has consequences for being an asshat.
which we've demonstrably done well before the looming "September" 04:11
ShimmerFairy +1 on that as well
[Coke] er, *well enough without
but as was mentioned earlier, it's not going to be the same after "Birthday" drops.
japhb Well, what have we done in the past? My (admittedly faded) memory is: hug first, but don't be afraid to say "that's not acceptable here; take it elsewhere". And kick or even kickban if the troll is completely unrepentant. 04:12
flussence embarass them with kindness :)
japhb But man, gotta say, we've manage to hug out some trolls I never thought we'd be able to reach, so I want to keep that. 04:13
ShimmerFairy [Coke]: that's what I assumed the sudden talk of a CoC has been about, and it makes sense. We'll be inviting a larger and more general audience in, so I imagine we'll need something better than just unwritten existing practice.
04:13 xinming left
japhb flussence: Yeah, I've actually seen that work here. 04:14
04:14 xinming joined
[Coke] +1. I thought the github one I linked to was a good start, maybe even good enough to use without mods, but I'm happy if someone wants to make a simpler one and see if we get concensus. I think it'll be a net positive to have one. 04:16
japhb [Coke]: I missed the GitHub link ... would you mind reposting the URL?
ShimmerFairy
.oO(S42: Code of Conduct)
japhb S00 perhaps 04:17
skids It ain't spec unless its in the test siute :-) 04:18
japhb [Coke]: Oh wait, was it this one? github.com/blog/2039-adopting-the-...of-conduct 04:20
skids
.oO(use Test: "hug me!'.say; ok lines[0] ~~ "hug")
[Coke] japhb: yes. 04:23
m: lines.say
camelia rakudo-moar 27f88c: OUTPUT«Céad slán ag sléibhte maorga Chontae Dhún na nGall Agus 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í I mo dhiaidh bhí gleanntáin ghlas’ Ghaoth …»
ShimmerFairy [Coke]: atm I'm typing up a draft of how I think our CoC could go, in case you're interested in knowing :)
[Coke] m: say so lines ~~ 'hug' 04:24
camelia rakudo-moar 27f88c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/5KG0nzdSGi␤Expected a term, but found either infix ~~ or redundant prefix ~␤ (to suppress this message, please use a space like ~ ~)␤at /tmp/5KG0nzdSGi:1␤------> 3say so lines ~~7⏏5 'hug'␤»
[Coke] m: say so (lines ~~ 'hug' )
camelia rakudo-moar 27f88c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/6a_vQeaXTS␤Expected a term, but found either infix ~~ or redundant prefix ~␤ (to suppress this message, please use a space like ~ ~)␤at /tmp/6a_vQeaXTS:1␤------> 3say so (lines ~~7⏏5 'hug' )␤»
[Coke] m: say so (lines() ~~ 'hug' )
camelia rakudo-moar 27f88c: OUTPUT«False␤»
flussence
.oO( "avoid success at all costs" - maybe Haskell's on to something... )
04:26
japhb [Coke]: Hmmm. The "Open Code of Conduct" certainly seems well-intentioned, and a good example of the class of CoCs that it resembles, but I can't help but feel that it's heavyweight in a community that manages to be better than most by wielding a light touch. 04:28
Case in point: it almost feels like listing every currently-recognized protected class when discussing discrimination is weaker than just saying "We don't discriminate on any basis other than ability to be a kind, positive member of our community." 04:33
xiaomiao japhb: but then I couldn't leverage my victim status 04:34
;)
skids Wait we discriminate against the disabled?
:-)
xiaomiao skids: stop triggering me with such ableist statements!11
skids :)
xiaomiao (do not negotiate with terrorists. Scorched earth strategies are the only way to contain the plague)
japhb misses playing Scorched Earth on his old dorm PC back in college ... 04:35
[Coke] japhb: fair enough. I'm lazy, however, and probably won't bother writing something from scratch. :)
but making a sixperl version of that or somethign liek it seems like a fine thing. 04:36
japhb considers whether he can be cogent enough right now to produce something worth discussing.
[Coke] You have months. 04:37
04:41 tinyblak joined
[Coke] japhb: www.scorched3d.co.uk/ 04:42
04:42 aborazmeh left 04:45 tinyblak left 04:50 BenGoldberg left 04:53 Hor|zon joined 04:54 kaare_ joined 04:58 Hor|zon left 05:02 lizmat left 05:03 laouji joined
japhb [Coke]: gist.github.com/japhb/b76f7d3a816df4d65108 05:05
05:05 lizmat joined 05:07 daxim_ joined
japhb Also, thanks for the Scorched 3D link. :-) 05:07
ShimmerFairy japhb: Looks good, I'll keep these in mind as I'm writing up my own draft :)
japhb ShimmerFairy: Great, thanks for taking a look!
05:07 skids left 05:13 lizmat_ joined, lizmat left 05:21 atroxaper joined, atroxaper left, atroxaper joined
nwc10 good *, #perl6 05:27
05:32 raiph left
PerlJam nwc10: greetings! 05:32
japhb: did you read the open code of conduct? 05:39
japhb PerlJam: Yes, why do you ask?
05:40 FROGGS left
PerlJam Just curious. Yours and theirs align well. 05:40
The one thing missing from both though, is "be forgiving"
oh, and ... japhb++ :) 05:41
japhb Well, as I was finishing my ideas, I checked to make sure there was nothing in the OCoC that I was clearly missing, so there's probably a little alignment from that. 05:43
05:45 darutoko joined
japhb The forgiving part takes some care. There's a bit of that in the troll-hugging I mentioned, but I fear going to far undermines the point that sometimes someone just goes too far. 05:46
Well, that wasn't very eloquent, but I hope you know what I mean.
PerlJam yep
for forgiveness, I was thinking of those times when someone may have had a bad day or inadvertently says something that may be unkind, we call them on it, but also be forgiving/understanding to their circumstance 05:50
(also, it's a powerful thing. Some people can't see beyond a person's worst action (maybe even the person who committed the act even). But we're human; we make mistakes; we learn) 05:53
japhb Sure, I can get behind that. We just need to be careful not to codify a wishy-washy attitude. To err is human, to forgive divine ... but that doesn't mean we will ignore the error, or not expect an apology. 05:58
PerlJam yep. japhb++ Our nascent CoC is in good hands it seems :) 06:00
ShimmerFairy I'm almost done with my draft, btw :) 06:01
PerlJam waits 06:03
06:05 FROGGS joined 06:08 llfourn left 06:09 Hor|zon joined
ShimmerFairy japhb, PerlJam, [Coke]: Here's my idea for what the code of conduct could look like: gist.github.com/lue/6dfe2fec1579508dde30 (I don't expect this to be accepted verbatim) 06:09
06:13 Hor|zon left
dalek line-Perl5: a61cdc6 | (Stefan Seifert)++ | p5helper.c:
Hopefully fix the rare panic: MUTEX_LOCK in t/callables.t

  hoelzro++ finally discovered, what's going on here. His diagnosis:
The issue seems to be that the Inline::Perl5 DESTROY submethod tears down the Perl 5 interpreter and then the DESTROY submethod on a Perl5Callable is invoked. The global data structures that perl uses (such as its op mutex) have been taken down and are not in a usable state, so pthread_mutex_lock sees the misconfigured mutex and freaks out, returning
  EINVAL (which is the 22 we see)
Fix by having p5_destruct_perl set a "destroyed" flag that p5_sv_refcnt_dec checks. This is kind of a hot path, but doing this in C, I guess it will still not have measurable performance impact. At least until we get better performance out of NativeCall.
Fixes GH #34
06:14
PerlJam ShimmerFairy: minor nit ... the last sentence of the second to last paragraph sounds vaguely like a threat. And, I'd remove "as long as you do" from the very last sentence.
ShimmerFairy Yeah, I can see that. 06:16
PerlJam ShimmerFairy++ I also really like that you called it something other than "code of conduct" 06:17
ShimmerFairy PerlJam: yeah, I was wondering if that was going too nice, but I felt "Code of Conduct" is a bit... authoritarian for what we want. 06:18
PerlJam: updated the points you mentioned, hopefully it doesn't sound as potentially threatening now. 06:20
PerlJam nice 06:21
Well, it's bed time for me. g'night all. 06:22
PerlJam &
06:22 RabidGravy joined
japhb ShimmerFairy: Good job. 06:22
ShimmerFairy++ 06:23
RabidGravy marning
japhb o/ RabidGravy
ShimmerFairy g'night PerlJam o/
japhb considers the distance along the time axis before he is asleep, and then considers shortening that distance 06:24
masak morning, #perl6 06:44
moritz \o masak, * 06:45
06:49 tinyblak joined 06:52 espadrine joined 06:53 mr-foobar left 06:54 Ven_ joined 06:59 jack_rabbit joined 07:00 zakharyas joined 07:02 domidumont joined 07:05 nightfrog joined, domidumont left 07:06 domidumont joined 07:07 domidumont left, domidumont joined 07:10 Hor|zon joined 07:13 dayangkun left 07:14 brrt joined 07:15 Hor|zon left, dayangkun joined 07:20 llfourn joined 07:22 justin___ joined 07:26 amurf left 07:28 abraxxa joined 07:32 rindolf joined 07:33 justin___ left 07:42 lizmat_ is now known as lizmat 07:46 Ven_ left 07:56 dakkar joined 07:57 atroxape_ joined, atroxaper left 07:58 Hor|zon joined 08:00 Ven joined, atroxape_ left 08:02 g5 joined
dalek osystem: c0655ec | RabidGravy++ | META.list:
Add Audio::Encode::LameMP3
08:02
RabidGravy well that took longer than expected 08:03
Ven b2gills: "of Any" is implicit for subsets, btw :) 08:06
also, o/ #perl6!
DrForr Mornin'. 08:09
Ven .tell flussence it's "avoid 'success at all cost'", the inner quotes are important :P. irclog.perlgeek.de/perl6/2015-07-21#i_10928473 08:11
yoleaux Ven: I'll pass your message to flussence.
DrForr Eats, shoots and leaves. 08:12
dalek c: 20f1ec5 | (Cédric Vincent)++ | lib/Language/nativecall.pod:
Initial documentation for cglobal.
08:14
brrt i'm being pedantic, but it bothers me that the 'open code of conduct' says 'we're a community of professionals' 08:16
we're also a community of amateurs, in a sense
cdc brrt: to me, "amateur" means "qui aime son travail" (who loves her/his work) 08:21
brrt: so yes, there are a lot of amateur here :)
brrt that's what i mean too :-)
professional is someone who is called to his work?
cdc amateur: [French, from Latin amātor, lover, from amāre, to love.] -- www.thefreedictionary.com/amateur 08:22
ShimmerFairy In English, "amateur" is the opposite of "professional", where a professional is someone who gets paid for what they do, essentially. 08:23
brrt in dutch, it's the same
actually, it's more complicated than that
cdc yes, you may love your $work too 08:24
I mean $payjob
brrt the term 'professional' usually implies both a certain level of expertise, independence, and ethics
[ptc] is currently at EuroPython, in Guido's keynote 08:25
brrt vocation does not imply the same, and 'job' certainly doesn't
nwc10 oooh. Is Guido saying anything interesting?
[ptc] he just discussed the p5, p6 "rift", *sigh*
nwc10 oh. that's interesting. He seems to be out of date.
cdc [ptc]: is there a live streaming somewhere? 08:26
ShimmerFairy Yeah, the professional is basically considered better (more knowledge/experienced/etc.) than the amateur, and that's the only distinction between the two. (That's my understanding.)
[ptc] nwc10: I like Larry's talks better: he's more philosophical
nwc10 but there's no Python 2, Python 3 rift?
brrt .tell japhb i like that form of code-of-conduct, it's short, too the point, and human rather than policital
yoleaux brrt: I'll pass your message to japhb.
brrt *too the point
[ptc] cdc: www.youtube.com/c/EuroPythonConference
cdc [ptc]: thanks!
[ptc] nwc10: yeah, there's a rift there. But they want to phase out py2, not have two sister languages 08:27
cdc: the talk's almost finished. sorry, should have mentioned this eariler
cdc [ptc]: oh, no problem :)
[ptc] nwc10: hence it's just a painful upgrade (they added e.g. utf8 to the language) 08:28
nwc10: and the change is nowhere near so large as in p5->p6
brrt i'd agree that 'amateur' implies non-professionalism, or at least the possibility of not-being-a-professional. but i disagree that 'professional' means 'better'.
to me it means 'more serious', and that's ok, but it's not better
amateurs probably have more fun
cdc brrt: the same. I tend to trust amateurs, not professionals
[ptc] nwc10: they also just added '@' as a matrix multiplication operator in py3.5 08:29
brrt did they? hmm...
when are they going to add an operator for the kronecker product :-P 08:30
[ptc] brrt: :-)
DrForr Don't tempt me :)
08:30 jack_rabbit left
brrt fwiw, 'unicode in python3 omg' is really way overblown imho 08:31
08:31 inokenty joined
[ptc] coffee break, afk & 08:31
08:34 espadrine left 08:38 atroxaper joined
dalek c: 826a758 | (Cédric Vincent)++ | lib/ (2 files):
Fix two typos.
08:40
[ptc] brrt: the thing is, that seems to be what everyone mentions as a "big thing" in the change from py2 -> py3 08:44
especially as something one can trip over when making the switch
brrt well, yeah
[ptc] there are other many other smaller changes, but it's odd how many people mention the utf8 thing 08:45
brrt i know, especially considering the switch makes so much sense 08:46
bytes are bytes, strings are strings, not the same hting
thing
[ptc] nod
08:49 [Sno] left
RabidGravy speaking of bytes, I'd better fix Audio::Libshout to take a CArray[uint8] before I lose interest in the whole enterprise 08:51
(or drink too much beer, whichever is the soonest.)
DrForr And now that uint* is in the core I should add support for the rest of the uint stuff in perl6-Readline. Too many yaks to shave, not enough time. 08:54
08:54 [Sno] joined
moritz may the yack always be with you. 08:54
RabidGravy o/ yackety yack, don't look back o/ 08:58
RabidGravy wishes for musical symbols on some compose sequence
jnthn morning, #perl6 08:59
yoleaux 20 Jul 2015 23:33Z <TimToady> jnthn: S17 gist seems sane to me, but that's a pretty low bar today :)
jnthn Well, so long as the low bar is well stocked...
RabidGravy I think our "low bar" has Adnam's Broadside spirit, Hierbas and Laphroig for reference. (that's the lowest shelf on the booze shelves) 09:01
and I'd definitely recommend the Broadside spirit - on paper it should be like a whisky but it's actually more like Brandy to my, admittedly jaded, palate 09:02
brrt morning jnthn 09:03
09:03 cognominal left
[ptc] morning jnthn 09:04
jnthn Whoa, I like Adnams Broadside the beer, I didn't know there was a spirit... 09:08
nwc10 there is not *a* spirit: adnams.co.uk/spirits/our-spirits/ 09:09
jnthn oh. 09:10
:)
masak .oO( enough for a seance ) 09:11
09:14 amurf joined
nwc10 I forget which one(s) I've tried 09:15
09:15 Ven left
nwc10 (at london.randomness.org.uk/wiki.cgi?B...2C_SE1_2UP ) 09:16
09:18 Ven joined, Ven left 09:19 amurf left, mathw left 09:21 gfldex joined 09:22 espadrine joined
RabidGravy nwc10, I specifically was referring to adnams.co.uk/spirits/our-spirits/th...broadside/ ;-) I think I need to get up to Southwold before the school holidays really kick in 09:25
Ulti might have asked this before but is there a way to have class level variables in Perl 6? 09:26
so something a bit like public static in java 09:27
so if you have a type object it can access the attribute more specifically as a scoped global
09:28 yeahnoob left
jnthn my $.thingy = 42; 09:29
Ulti orly 09:32
I just made a gross package level attribute
09:32 bin_005 joined
Ulti which you can't type for some reason? 09:32
09:33 mathw joined
jnthn Nope. 09:33
But you can type the above one.
Ulti yeah just did thanks a lot 09:34
jnthn np
RabidGravy are "subsets" supposed to be taken into account when selecting a multi?
Ulti might be worth a mention in the table doc.perl6.org/language/variables where it says lexically scoped but has a bit of a different meaning in a class?
jnthn RabidGravy: They serve as tie-breakers 09:36
Ulti: It's still lexically scoped, it's just you get an accessor method generated for it.
RabidGravy Hmm specifically I have: 09:37
m: se NativeCall; subset RawEncode of Array where ($_.elems == 2 ) && ($_[0] ~~ CArray[uint8]) && ($_[1] ~~ Int); multi foo(@foo) { say @foo.perl; say "other version"; } multi foo(RawEncode @foo) { say "RawEncode version"; } foo([CArray[uint8].new, 1]); foo(<1 2 3>);
camelia rakudo-moar 27f88c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/D_bdqolWYg␤Strange text after block (missing semicolon or comma?)␤at /tmp/D_bdqolWYg:1␤------> 3 { say @foo.perl; say "other version"; }7⏏5 multi foo(RawEncode @foo) { say "RawEnc␤ expecting an…»
RabidGravy m: use NativeCall; subset RawEncode of Array where ($_.elems == 2 ) && ($_[0] ~~ CArray[uint8]) && ($_[1] ~~ Int); multi foo(@foo) { say @foo.perl; say "other version"; }; multi foo(RawEncode @foo) { say "RawEncode version"; }; foo([CArray[uint8].new, 1]); foo(<1 2 3>); 09:38
camelia rakudo-moar 27f88c: OUTPUT«[IntTypedCArray[uint8].new, 1]<>␤other version␤("1", "2", "3")␤other version␤»
09:38 nightfrog left
RabidGravy and it don't work as I expected 09:38
09:40 nightfrog joined, inokenty1 joined, inokenty left
jnthn RawEncode @foo means an array *of* RawEncode 09:40
RabidGravy duh, yes of course it does 09:41
RabidGravy not woken up
nwc10 quick! Emergency coffee infusion
RabidGravy or travel back in time and have one few punk ipa last night 09:42
;-)
09:43 TEttinger left
RabidGravy and now it all works like what I expected 09:46
09:50 JimmyZ_ joined
dalek kudo/multidim: 2c47beb | jnthn++ | src/core/A (2 files):
Start preparing for multi-dim *-POS.

We'll pass multiple indices to the [AT|ASSIGN|EXISTS...]-POS methods. This will allow things that know how many dimensions they have to just bind them directly to parameters, which will be efficient (and allow the dynamic optimizer to inline, etc.). We'll be able to do some case analysis on the indexer itself at optimization time to eliminte the LoL in the commonest cases also.
This patch simply adds fallbacks for the multi-indice case that dig into the data structure a level at a time.
10:12
10:21 Ven joined 10:22 dayangkun left 10:23 RabidGravy left 10:30 mr-foobar joined
Ven m: sub term:<o/> { ^5 }; for o/ { .say }; 10:37
camelia rakudo-moar 27f88c: OUTPUT«0␤1␤2␤3␤4␤»
Ven *g* ( irclog.perlgeek.de/perl6/2015-07-20#i_10926108 ) 10:38
hahainternet o7 Ven 10:39
(ascii salute)
masak Ven 10:41
cdc '٦'.uniname 10:42
m: '٦'.uniname.say
camelia rakudo-moar 27f88c: OUTPUT«ARABIC-INDIC DIGIT SIX␤»
hahainternet masak: british salute, very nice 10:44
cdc it seems western arabic salute is a little bit higher than the eastern arabic one.
hahainternet although to be honest it isn't
both british and americans are elbow out as far as i know
just different hand position and different action afterwards 10:45
americans sweep up and sweep down, brits sweep up and straight down
DrForr Ask Rimmer?
hahainternet lovely reference, but I'm afraid they have repeatedly rejected his proposal :( 10:46
jnthn .tell TimToady S09 seems rather silent on what happens if you .map a multi-dim array, or .values, or .pairs, or... :) Also what happens if you iterate (which in turn I guess answers what things like map/grep/unique/squish are doing) 10:54
yoleaux jnthn: I'll pass your message to TimToady.
jnthn .tell TimToady Well, .map *is* iterating, of course... :) I'm guessing the answers to all these are related, anyways.
yoleaux jnthn: I'll pass your message to TimToady.
10:54 tinyblak left, telex left 10:55 [Sno] left, ][Sno][ joined 10:56 ][Sno][ is now known as [Sno], telex joined 11:04 amurf joined
cdc DrForr: Ace Rimmer ;) 11:04
11:05 cognominal joined
hahainternet there's no-one slimmer? 11:05
11:08 amurf left
jnthn lunch & 11:10
11:19 ][Sno][ joined, [Sno] left, ][Sno][ is now known as [Sno] 11:26 bin_005_g joined 11:28 bin_005 left 11:29 tinyblak joined 11:37 tinyblak left 11:39 bin_005_g left 11:40 pullphinger left, cognominal left 11:41 RabidGravy joined 11:44 jaffa4 joined
jaffa4 hi all 11:44
RabidGravy boom!
11:45 Ven left, Ven joined 11:48 atroxaper left, sisar joined
sisar i'm getting the following error when trying to install rakudo in Cygwin: gist.github.com/Siddhant/12342fb623f95c788df4 11:50
any solutions ?
FROGGS let's see
jaffa4 m: class m { has $.a; method m1() { $!("a") = 1; } } ; my $c = m.new(); $c.m1();
camelia rakudo-moar 27f88c: OUTPUT«Cannot find method 'Nil'␤ in method m1 at /tmp/MQnt5szKOI:1␤ in block <unit> at /tmp/MQnt5szKOI:1␤␤»
jaffa4 m: class m { has $.a; method m1() { $("!a") = 1; } } ; my $c = m.new(); $c.m1(); 11:51
camelia rakudo-moar 27f88c: OUTPUT«Cannot modify an immutable Str␤ in method m1 at /tmp/kjcJ6dfqgp:1␤ in block <unit> at /tmp/kjcJ6dfqgp:1␤␤»
FROGGS sisar: what if you create the directory /home/ssara29/rakudo/install and try again?
11:51 pdcawley joined
jaffa4 m: my $a; $("a") = 5; 11:51
camelia rakudo-moar 27f88c: OUTPUT«Cannot modify an immutable Str␤ in block <unit> at /tmp/QjaFjxavVA:1␤␤»
masak jaffa4: no :) 11:52
jaffa4 What is the solution, masak?
FROGGS m: my $a; $::("a") = 5; say $a
11:52 laouji left
camelia rakudo-moar 27f88c: OUTPUT«5␤» 11:52
masak m: my $a; ::<$a> = 5; say $a
camelia rakudo-moar 27f88c: OUTPUT«5␤»
FROGGS it works technically...
11:53 tinyblak joined, laouji joined
jaffa4 m: class m { has $.a; method m1() { $<!a"> = 1; } } ; my $c = m.new(); $c.m1(); 11:53
camelia rakudo-moar 27f88c: OUTPUT«Attempted to ASSIGN-KEY to Nil.␤ in method m1 at /tmp/707ZlWLFWN:1␤ in block <unit> at /tmp/707ZlWLFWN:1␤␤»
FROGGS though, such an indirect lookup is a nightmare performance wise
11:53 konsolebox left
FROGGS jaffa4: you really need the double colon to talk about indirections 11:53
ShimmerFairy Shouldn't something like $::<a> work too? ISTR not necessarily needing the sigil inside the name
11:53 tinyblak left
jaffa4 m: class m { has $.a; method m1() { $::<!a"> = 1; } } ; my $c = m.new(); $c.m1(); 11:54
camelia rakudo-moar 27f88c: OUTPUT«===SORRY!===␤MVMArray: Index out of bounds␤»
FROGGS ShimmerFairy: it works, as I'd shown
masak submits rakudobug
jaffa4 m: class m { has $.a; method m1() { $!::<a> = 1; } } ; my $c = m.new(); $c.m1();
camelia rakudo-moar 27f88c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/1khEz3wS7M␤Confused␤at /tmp/1khEz3wS7M:1␤------> 3class m { has $.a; method m1() { $!:7⏏5:<a> = 1; } } ; my $c = m.new(); $c␤ expecting any of:␤ colon pair␤»
ShimmerFairy m: my $a; ::<$a> = 5; say $a
camelia rakudo-moar 27f88c: OUTPUT«5␤»
FROGGS jaffa4: no
ShimmerFairy m: my $a; $::<a> = 5; say $a
camelia rakudo-moar 27f88c: OUTPUT«===SORRY!===␤MVMArray: Index out of bounds␤»
ShimmerFairy FROGGS: ^ not there
FROGGS jaffa4: you can only move the sigil, not the twigil
ShimmerFairy: yeah, should probably do the same as $::("a") 11:55
11:55 konsolebox joined
jaffa4 m: class m { has $.a; method m1() { $::!<a> = 1; } } ; my $c = m.new(); $c.m1(); 11:55
camelia rakudo-moar 27f88c: OUTPUT«===SORRY!===␤MVMArray: Index out of bounds␤»
FROGGS jaffa4: no! 11:56
ShimmerFairy m: my $a; $::{"a"} = 5; say $a # also broken, at least to me
camelia rakudo-moar 27f88c: OUTPUT«===SORRY!===␤MVMArray: Index out of bounds␤»
11:56 tinyblak joined, tinyblak left 11:57 tinyblak joined
masak m: $::<a> 11:57
camelia rakudo-moar 27f88c: OUTPUT«===SORRY!===␤MVMArray: Index out of bounds␤»
jaffa4 So how can I set the attribute of class?
FROGGS m: class m { has $.a; method m1() { $!a = 1; } } ; my $c = m.new(); $c.m1(); 11:58
camelia ( no output )
FROGGS jaffa4: is that an option?
jaffa4 dynamically
FROGGS why?
jaffa4 why not?
FROGGS heh
because it is a design smell, and slow 11:59
jaffa4 it would not use it often
masak: Is it buggy? 12:01
FROGGS m: class m { has $.a is rw; method m1() { self.^attributes.first(*.name eq '$!a').set_value(self, 42) } } ; my $c = m.new(); $c.m1(); say $c 12:03
camelia rakudo-moar 27f88c: OUTPUT«m.new(a => 42)␤»
jaffa4 ok FROGGS, should not the short version work? 12:05
FROGGS jaffa4: I don't know
it is not a lexical, mind, it is an attribute of an instance... dunno how this should work when accessing it indirectly 12:06
masak jaffa4: the "MVMArray: Index out of bounds" error shouldn't happen, and that's a bug, yes. 12:08
jaffa4 When trying to set the attribute of class dynamically?
masak FROGGS: I could also argue it both ways. 12:09
FROGGS: I guess the answer depends on how much the ::{$lookup} syntax promises to take care of.
is it just lexicals, or is it other stuff as well?
FROGGS aye, which is the part I'm not sure about
12:10 konsolebox left
jnthn The only way to set an attribute dynamically is through the MOP (the .^attributes thing) 12:17
moritz what's ::{}?
jnthn If you're going to do it a lot you can look the meta-attribute up once and cache it in a constant
moritz m: class A { has $!a; method x() { ::('$!a') = 42 } }; A.new.x
camelia rakudo-moar 27f88c: OUTPUT«===SORRY!===␤No such symbol '$!a'␤»
jnthn I don't recall anything in the design docs suggesting ::('$!a') should work, and I'm not especially inclined to make it do so... 12:18
moritz aye; it would be pretty magical
(because it needs a 'self', where other such lookups don't)
jnthn Right 12:19
12:19 sisar left 12:20 konsolebox joined
jnthn So what FROGGS++ show is the way to do it. 12:20
*showed 12:21
12:23 cognominal joined 12:24 Ven left
masak decommute & 12:25
12:26 llfourn left
ShimmerFairy So, while trying to fix that grep arity bug the other day, I've run into some new spectest failures that I have been unable to figure out the cause of. It's certainly my code at fault, though I can't tell why: gist.github.com/lue/4ea15272ffe507a8106d 12:27
(those two concurrency tests failed before the change is introduced; I just put them in localtest.data for completeness) 12:28
Woodi hi #perl6 12:31
about Suplies: if they want to replace threads in many applications they need to be low level constructs... it means: fast. that implies "simple" or maybe there should be two kinds of async constructs 12:35
12:36 Ven joined
jnthn What does "replace threads" even mean? 12:36
Woodi I was imagining barista serves coffe: $mill = Supply{...}; $machine = Suply{...}; but cannot help myself and wanted to imagine: $barista = Actor{...} 12:37
jnthn: making threads yet less popular and unnecesary :) 12:38
I think "
jnthn Woodi: I guess what you really mean is more like, if we want people to work at high levels of abstraction when working on concurrent programming, then we abstractions need to perform well. In which case, yes, I'd agree. 12:39
Woodi ...signals in OO means: objects are async thingies...
grr, s/signals/message sending/
jnthn Threads won't go away in so far as they're the primitive that gets you onto multiple cores/CPUs. But working directly with them for 99% of problems should indeed not be needed. 12:40
Woodi until CPU supports them natively :)
Intel was trying...
jnthn: just Supplies looks very high level 12:42
jnthn Woodi: They're just a thread-safe implementation of the observer pattern, which is just calls, which we should be able to make decently fast. 12:43
Woodi: Rx in .Net and RxJava have been used in plenty of high-throughput situations and are the same model. 12:44
Woodi: So I'm not too concerned. Sure we have nicer syntax sugar with the proposal I wrote up, but that doesn't change the fundemental nature of things.
It's just extremely conveneint sugar for setting up observers with some concurrency control factored out of your code. 12:45
12:45 llfourn joined
dalek c: f75c070 | moritz++ | lib/Type/Supply.pod:
Mention that Supply is an implementation of the observer pattern, jnthn++
12:45
Woodi jnthn: that's good :) so I should actually try them :) 12:47
jnthn I should note that the current impl is not as fast as what we'll end up with 12:48
12:49 atroxaper joined, raiph joined
hoelzro good morning #perl6 12:51
12:51 lucasb joined
Woodi jnthn: I have one more thing or impression. sometimes I thinked that examples could be replaced with function call with state varible... and Suplies should be totally about async thingies. but that just impression 12:52
ShimmerFairy jnthn: anything obviously wrong in how I tried fixing that bug, by chance? (If it's not something obvious I'll continue bug hunting myself)
jnthn Supplies are about async things...
12:53 atroxaper left, pullphinger joined
DrForr Resisting an UHF joke here. 12:54
jnthn ShimmerFairy: ah, sorry, missed it...was distracted trying to impl multi-dim arrays :)
ShimmerFairy jnthn: no worries, multi-dim arrays are kind of a bigger thing :) 12:55
jnthn ShimmerFairy: I'd not worry too much over the Async socket one, I doubt that is your fault
ShimmerFairy jnthn: yeah, like I said, the concurrency-related tests failed before, and that's whenever I do TEST_JOBS (so it's not too surprising) 12:56
jnthn The other two look like something's wrong though
I don't immediately know why, sorry
ShimmerFairy jnthn: alright then, I was just wondering if I made a simple goof due to lack of Rakudo hacking experience :) 12:57
jnthn No, I don't see anything obvious after a few looks over it, I'm afraid 12:58
ShimmerFairy Yeah, it's definitely a weird one. And I've done enough messing around to know that it's specifically the role mixin that introduces the problem. 12:59
13:00 cschwenz joined 13:01 xinming left
cschwenz o/ #perl6 13:01
masak \o 13:02
[ptc] \o
masak czesc, cschwenz :) 13:03
cschwenz good * masak
13:03 nige1 joined
cschwenz a request for help (from anyone): how do you access a hash-of-a-hash in perl6? (perl 5 is $hash{foo}{bar}, perl6 is ???) i've tried searching the docs and online, but have turned up only how to access a hash. :-/ 13:05
nine cschwenz: just the same 13:06
cschwenz hmm
jnthn Same, except you need {'foo'}{'bar'} or <foo><bar>
Since we don't auto-quote inside {...}
masak m: my %h = foo => { bar => 42 }; say %h<foo><bar>
camelia rakudo-moar 27f88c: OUTPUT«42␤»
masak cschwenz: ^^
cschwenz i'm getting postcircumfix:<{ }> not defined for type Parcel when doing %hash{"foo"}{"bar"}
13:06 Humbedooh left
masak cschwenz: then you're probably getting a Parcel out of %hash{"foo"} 13:07
cschwenz: maybe check why.
cschwenz hmm, okay
what would generate a Parcel vs a plain hash?
masak m: say (1, 2).^name 13:08
camelia rakudo-moar 27f88c: OUTPUT«Parcel␤»
masak that, for example.
moritz %hash<foo> = (1, 2)
masak maybe for the purposes of this discussion, consider Parcel == List
13:08 Humbedooh joined
cschwenz ah, so i'm doing %hash{"foo"} = bar => 12, baz => 17; but that's weird that it's creating a parcel instead of a hash 13:10
moritz why would that be weird?
the comma makes a Parcel
my $x = (bar => 12, baz => 17) # would you expect that to make a hash? 13:11
cschwenz because %hash = foo => 1, bar => 2; creates a hash and can be referenced by %hash{"foo"}
moritz you need { ... } or %( ... )
cschwenz: but there you're assigning to a hash, which is specical
13:11 JimmyZ_ left
masak cschwenz: %hash is a hash, but %hash{"foo"} is an item. 13:11
moritz assigning to a hash element isn't special, because a hash element doesn't have to be a hash
jaffa4 How can I print current time?
ShimmerFairy so %hash{"foo"} = {bar => 12, baz => 17} would be the way to do what you mean to do.
moritz m: say now
camelia rakudo-moar 27f88c: OUTPUT«Instant:1437484350.793979␤»
moritz m: say time
camelia rakudo-moar 27f88c: OUTPUT«1437484319␤»
masak m: say DateTime.now
camelia rakudo-moar 27f88c: OUTPUT«2015-07-21T15:11:59+02:00␤» 13:12
moritz m: say Date.today
camelia rakudo-moar 27f88c: OUTPUT«2015-07-21␤»
moritz four options, depending on what you need
masak m: say Date.new
camelia rakudo-moar 27f88c: OUTPUT«2015-12-24␤»
cschwenz ah, okay. i understand now. thanks all! :-)
masak or Christmas :)
moritz \o/ Christmas
jaffa4 WHat about ateTime.now without timezone?
masak /o\ Christmas
jaffa4: how could you not have a timezone? 13:13
jaffa4: the world is covered with timezones.
ShimmerFairy ☃ Christmas ☄
masak ShimmerFairy: :D
jaffa4 I mean without timezone info
moritz what about it?
13:14 domidumont left
moritz jaffa4: doc.perl6.org/type/DateTime has something about time zones 13:14
jaffa4 I would like to see 015-07-21T15:11:59
moritz ah, UTC
13:14 domidumont joined
ShimmerFairy masak: I still half-jokingly vote for snowman-comet to be the unquote delimiters :P 13:14
jaffa4 not utc, without timezone information
masak ShimmerFairy: thank you for providing me with a new worst alternative, beating out ¤ 13:15
ShimmerFairy masak: aww, it'd be -Ofun though :)
[Coke] You'd have to write your own code to print that out. We don't have a mini date formatting language, like, say, SQL's to_date() 13:21
You should be able to get the individual elements of the DateTime. 13:22
masak m: say sprintf "%d-%02d-%02dT%02d:%02d:%02d", .year, .month, .day, .hour, .minute, .second given DateTime.now 13:23
camelia rakudo-moar 27f88c: OUTPUT«2015-07-21T15:23:25␤»
masak jaffa4: ^^
jaffa4 I see
masak ...he said, disappointed. :) 13:24
FROGGS *g*
timotimo this NCoC thing is strange to me, but the very last piece of the FAQ-thing is a bit enlightening 13:27
13:28 dayangkun joined
jaffa4 How compilcated can this given be? 13:29
timotimo you can put an expression after "given", and the whole statement can still get more statement modifiers, like postfix "for" 13:30
13:30 laouji left, JimmyZ_ joined
jaffa4 In perl6 eval , is it possible to redefined methods/ 13:33
13:35 g5 left
timotimo please be more specific 13:35
masak jaffa4: you mean like this?
> Int.^add_method("succ", method () { 42 })
Package 'Int' already has a method 'succ' (did you mean to declare a multi-method?)
lucasb Oh, I just thought if there was a Timeish role, than DateTime could be 'does Dateish does Timeish'; but maybe you have already considered and rejected this :) 13:36
13:36 khw joined
masak > Int.^find_method("succ").wrap(sub ($self) { 42 }) 13:36
WrapHandle.new
> 5.succ
42
jaffa4: or like this? ^
lucasb Then it could exist a Time does Timeish class too; idk, maybe just to factor things out of DateTime 13:37
jaffa4 last one
masak lucasb: Date is independent of DateTime, but a hypothetical Time kinda isn't.
lucasb: because of things like leap seconds.
labster: and daylight savings. 13:38
lucasb masak: oh, you are right
masak uhm, lucasb
13:38 tinyblak left 13:39 Humbedooh left
jaffa4 masak: that is not eval... just pure Perl6 13:40
masak yep.
it's MOP, though.
> given Int.^find_method("succ").wrap(sub ($self) { 42 }) { say 5.succ; .restore; say 5.succ }
42
6
it's fun to play around with, though. :)
jaffa4 MOP?
masak m: given Int.^find_method("succ").wrap(sub ($self) { 42 }) { say 5.succ; .restore; say 5.succ } 13:41
camelia rakudo-moar 27f88c: OUTPUT«42␤6␤»
masak jaffa4: yes, the `^` there indicates that it's the MOP.
jaffa4: "Meta-Object Protocol".
tadzik because it's getting me-up
tadzik hides
masak jaffa4: it's a direct access to the object system and its internals.
13:45 Humbedooh joined, brrt left 13:46 JimmyZ_ left
jaffa4 and is it possible to copy code from method to another? 13:47
masak jaffa4: generally, once you have created a routine of any kind, it's a black box as far as its code is concerned. so, no. 13:48
jaffa4: but you can call other methods freely, and thus get a kind of indirect use of their code.
jnthn You can always install one method under a second name, too.
masak m: my $succ = Int.^find_method("succ"); Int.^add_method("sux", $succ); say 5.sux 13:51
camelia rakudo-moar 27f88c: OUTPUT«6␤»
masak like that.
13:52 tinyblak joined 13:56 tinyblak left
dalek osystem: a969530 | Adriaan++ | META.list:
added Avro
14:01
osystem: 95c1bd6 | FROGGS++ | META.list:
Merge pull request #50 from sylvarant/master

added Avro
14:02 cschwenz left
flussence dear lazyweb: this test failure makes absolutely no sense. testers.perl6.org/reports/65263.html 14:08
yoleaux 08:11Z <Ven> flussence: it's "avoid 'success at all cost'", the inner quotes are important :P. irclog.perlgeek.de/perl6/2015-07-21#i_10928473
14:10 brrt joined, skids joined 14:14 dayangkun left
masak japhb: nice. gist.github.com/japhb/b76f7d3a816df4d65108 14:14
japhb: I agree fully, until the last sentence which feels slightly off for some reason. 14:15
japhb: the health and happiness of our community comes before unredeemable trolls, sure. 14:16
14:16 jscripter joined
masak japhb: also, the whole point 5 sounds a bit like "you get one hug and one chance, and then you're out", which fortunately isn't true 14:16
(I know you likely didn't intend it that way, but it can be read that way) 14:17
DrForr Dropping 'first' on #5 might help toward that goal. 14:19
14:19 jscripter left, pullphinger15 joined 14:20 pullphinger left
ugexe im really digging being able to do like: my $todo = @promises.reduce(-> $a, $b { $a = $a.then({ $b }) }) 14:20
cdc thought Perl 6 CoC was perl6advent.wordpress.com/2010/12/...ide-carol/
jnthn ugexe: cute... :) 14:21
masak ugexe: you could even turn that into an operator, let's say ⇒, and then you could [⇒] 14:22
jnthn
.oO( Promise.pipeline(...) )
.u ⇒
yoleaux U+21D2 RIGHTWARDS DOUBLE ARROW [Sm] (⇒)
14:22 tinyblak joined
jnthn Looks LTA in my font :( 14:22
masak get a better font :)
brrt how do you type that so easily
masak brrt: App::Uni
brrt: $ uni arrow | less 14:23
flussence whoa.
flussence installs
masak :D
au++ for that one
ShimmerFairy <Multi_key> <=> «>» (or <=> <Right_Arrow> <Right_Arrow>) for me :P ⇒⇒
brrt very nice
14:23 pullphinger15 left
flussence I've been limping by on gucharmap2 for a while, and thinking of writing a replacement for it in perl6... eventually 14:24
14:25 pullphinger joined, nige1 left
brrt 📲 this.. is an unicode character 14:25
masak .u 📲
yoleaux U+1F4F2 MOBILE PHONE WITH RIGHTWARDS ARROW AT LEFT [So] (📲)
masak the future will not be kind to the Unicode consortium.
jaffa4 m: @a = 1,2,3,4,5,7; say @a.gist; 14:26
camelia rakudo-moar 27f88c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/wuNy4IldBO␤Variable '@a' is not declared␤at /tmp/wuNy4IldBO:1␤------> 3<BOL>7⏏5@a = 1,2,3,4,5,7; say @a.gist;␤»
jnthn I...what :)
masak .u front-facing
yoleaux U+1F425 FRONT-FACING BABY CHICK [So] (🐥)
jaffa4 m: my @a = 1,2,3,4,5,7; say @a.gist;
camelia rakudo-moar 27f88c: OUTPUT«1 2 3 4 5 7␤»
masak .u tears
yoleaux U+1F602 FACE WITH TEARS OF JOY [So] (😂)
U+1F639 CAT FACE WITH TEARS OF JOY [So] (😹)
masak because cats can be joyously sad, too
brrt wat
flussence
.oO( I wish they'd stop faffing around and allocate a "GUI Symbols" codeplane so everyone would stop cramming things into the private use area for that... )
14:27
masak .u pirate
yoleaux No characters found
brrt people would not be able to manage that
.u ♝
yoleaux U+265D BLACK CHESS BISHOP [So] (♝)
dalek c: 7448bf7 | hoelzro++ | bin/p6doc:
Use $*TMPDIR to create temporary files

  $*TMPDIR will follow the operating system's best practices for
temporary file management
14:29
c: 490872a | PerlJam++ | bin/p6doc:
Merge pull request #103 from hoelzro/master

Use $*TMPDIR to create temporary files
jaffa4 Is it possible to have a stream into a String? 14:30
14:30 FROGGS left, darutoko- joined
ShimmerFairy m: my $a = { /^\d/ }; my @a = 1,2,3,"abc"; say @a.map: { next unless $a($_); $_ }; say @a.map: -> $Z { next unless $a($Z); $Z } # jnthn: this is where the day23 test failure comes from, I believe 14:31
camelia rakudo-moar 27f88c: OUTPUT«1 2 3␤Method 'match' not found for invocant of class 'Any'␤ in block <unit> at /tmp/4tVGcP3dfG:1␤␤»
ShimmerFairy I'm _very_ tempted to say you shouldn't expect grep { /^\d/ } @list to work, but I don't know what the general consensus is. 14:32
* grep { /^\d/ }, @list
moritz grep /^\d/, @list 14:33
14:33 darutoko left
ShimmerFairy m: my $a = { /^\d/ }; $_ = 12; say $a($_) # weird magic doesn't work outside of a map, btw 14:34
camelia rakudo-moar 27f88c: OUTPUT«/^\d/␤»
14:34 baest_ joined
ShimmerFairy moritz: yeah, I'm not sure what possessed the test to put the regex in a block like that (except maybe clarity??) 14:35
ugexe masak: thanks for that suggestion 14:37
PerlJam ShimmerFairy: maybe the lack of "weird magic" outside of map/grep is the bug :)
masak ugexe: I'm a big fan of "utility ops", kind of like small local utility functions, except they're ops. 14:38
ShimmerFairy PerlJam: well, my current bugfix for the arity of grep breaks that weird magic expectation, and the only way to fix it, it seems, would be to introduce an ugly, ugly 1-arg special case.
masak ugexe: they're especially neat if you immediately turn around and do something like reduce on them.
ShimmerFairy OK, it _seems_ like both new failures are because of that expectation of magic, which I'm personally against (I've never liked usages of m// and such without ~~ , btw). It's either fixing the tests or an ugly workaround 14:40
14:41 amurf joined
masak ShimmerFairy: s/// without ~~ is pretty neat, though. 14:42
14:42 muraiki joined
ShimmerFairy masak: I'm sure it is, but I'm _so_ used to the $thing ~~ s/// form that I've been weirded out by the omission of ~~ ever since I first discovered that was possible :) 14:42
dalek kudo/multidim: 38fb1f7 | jnthn++ | src/core/Any.pm:
Fix a missing "is rw".
14:43
kudo/multidim: 0c530d3 | jnthn++ | src/core/ (2 files):
Basic :shape(...) and *-POS multidim impl in Array

The [...] indexer isn't updated yet to know about the new *-POS access approach for multi-dim, so testing this out requires using AT-POS and friends.
ShimmerFairy masak: ~~ is almost the "regex match" operator to me, at times :P
masak ShimmerFairy: weird. sounds like you simultaneously over-remember and under-remember p5 :P
ShimmerFairy masak: I've never touched Perl 5 :P 14:44
dalek kudo/socket-print-not-send: 98b3552 | hoelzro++ | src/core/IO/Socket.pm:
Deprecate Socket.send in favor of Socket.print

Users may confuse the send method (which is just a Str-friendly wrapper over write) with send(2), which is subtly different from write(2). To avoid this confusion, and open up the possibility of a true send(2) analogue in the future, I think that the current send should be renamed to print (thanks to jnthn++ for the suggestion)
geekosaur that's interesting because your grep typo earlier was a perl5-ism 14:45
ShimmerFairy I think the real question is if &a = { /regex/ }; &a($_) is supposed to ever be that magical.
geekosaur: the missing comma? That was just me not used to typing paren-less subs :) (except of course for things like 'say' , which are almost more like keywords than subs in my mind)
14:46 amurf left
ShimmerFairy m: my @a = 1,2,3,"abc"; say @a.grep: {/^\d/}; say @a.map: {/^\d/} 14:49
camelia rakudo-moar 27f88c: OUTPUT«1 2 3␤/^\d/ /^\d/ /^\d/ /^\d/␤»
ShimmerFairy ^ I think that settles it as grep doing the wrong thing. I'll fix the tests unless someone can give me a good explanation otherwise :)
PerlJam It's funny how two people can look at the same data and draw opposite conclusions. 14:51
(clearly map is doing the wrong thing :)
lucasb m: my @a = 1,2,3,"abc"; say @a.map: { /^\d/ ?? 'y' !! 'n' } 14:52
camelia rakudo-moar 27f88c: OUTPUT«y y y n␤»
ShimmerFairy PerlJam: that's combined with the previous show of $_ magic not happening. I conclude that it's not supposed to happen in general, it's just a quirk of the current grep implementation for Callables
RabidGravy what does "Cannot call AUTOGEN(....)" mean?
lucasb m: my $re = { /\d/ }; $_ = 42; if $re { say 'yes' } 14:53
camelia rakudo-moar 27f88c: OUTPUT«yes␤»
lucasb Interesting that I didn't need to call $re() in that 'if', just mention it
ShimmerFairy m: my $re = { /\d/ }; $_ = "a"; if $re { say 'yes' } 14:54
camelia rakudo-moar 27f88c: OUTPUT«yes␤»
lucasb oh nevermind, my mistake
hehe :)
PerlJam m: my $non-re = { say "hi" }; if $re { say 'yes' }
camelia rakudo-moar 27f88c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/nVfFBo3SDH␤Variable '$re' is not declared␤at /tmp/nVfFBo3SDH:1␤------> 3my $non-re = { say "hi" }; if 7⏏5$re { say 'yes' }␤»
PerlJam m: my $non-re = { say "hi" }; if $non-re { say 'yes' }
camelia rakudo-moar 27f88c: OUTPUT«yes␤»
14:54 tinyblak left
PerlJam can't even type my own thoughts correctly 14:54
14:55 andreoss joined
llfourn is it possible to put a 5to6 warning? ...given that grep { /^\d/ } doesn't make sense? 14:56
PerlJam thinks everyone is crazy now. 14:57
14:57 JimmyZ_ joined
PerlJam (either that or I'm crazy :) 14:57
14:57 Ven left
masak llfourn: why wouldn't that make sense? 14:58
llfourn: oh, you mean without the colon?
llfourn No I think it does I thought that it had been decided that it didn't ( I missed a few messages )
ShimmerFairy jnthn: should grep({ /^\d/ }) work like grep(/^\d/) ? If so, I'd have to add a workaround for passing $_ to 1-arg uses of grep? (Looks like I might need it anyway, though.)
masak ShimmerFairy: is the regex essential to that question? 14:59
ShimmerFairy yep, that's where the test failures I've encountered happen, using useless {} around a regex 15:00
masak ShimmerFairy: or do you just dislike *all* implicit uses of $_ in a grep block?
15:00 ][Sno][ joined
jnthn ShimmerFairy: I think you should just use the existing code-path for 1-arg forms 15:00
15:00 muraiki_ joined
jnthn ShimmerFairy: No reason we should make simple 1-arg grep more expensive 15:00
so if &callable.count == 1 { ...the orig thing... } else { ..the new thing... } 15:01
And that I guess magics away your new problem too :P
ShimmerFairy jnthn: OK. There was an explicit use of $_ in a grep that I saw break, so I would've had to anyway :)
masak: I guess because I never rely on implicit $_ (I always specify $_), I'm not very attached to things depending on it :)
masak ShimmerFairy: well, with the implementor hat on, you have to cater to the needs of people who don't code like you do ;) 15:03
ShimmerFairy masak: sure, it's just that I only found the expectation of implicit $_ in one case I tried to work as meaning it was a possible bug in the original code :) 15:04
15:06 FROGGS joined
masak ShimmerFairy: writing things as .foo instead of $obj.foo can be terribly convenient in some kinds of code. 15:07
ShimmerFairy: s/// without ~~ is part of that convenience package.
15:08 GgLaPoule joined, hobbified joined
ShimmerFairy masak: Yeah, I'm not saying implicit $_ is a terrible thing, just something I don't use often. So I may be a bit too eager to toss it at times by mistake :P 15:08
15:09 muraiki left, khw left, [Sno] left, dg left, skarn left, lsm-desktop left, hobbs left
ShimmerFairy masak: btw, did you notice my CoC draft while backlogging? 15:10
(adding the original code as a 1-arg case appears to have fixed the new errors I encountered; running full spectest now to be sure) 15:11
moritz didn't. WHere is it?
15:11 dg joined
hoelzro ShimmerFairy++ 15:12
ShimmerFairy moritz: gist.github.com/lue/6dfe2fec1579508dde30
PerlJam moritz: gist.github.com/lue/6dfe2fec1579508dde30
oops, too slow
moritz somehow I get "The page isn't redirecting properly" 15:17
15:18 Ven joined, lsm-desktop joined
ShimmerFairy moritz: here's the raw version, see if this works: gist.githubusercontent.com/lue/6df...b/coc.pod6 15:18
15:19 JimmyZ_ left, khw joined
moritz ShimmerFairy: I like it too 15:21
but, there's always a but :-)
1) it's too long for my taste 15:22
2) I don't like the idea to walk away (even if for a small time) if you're being attacked by a troll. If being nice towards a troll doesn't work, we should ban them, before our contributors walk away. Even if they only walk away for a short time. 15:23
</critic>
ShimmerFairy moritz: 1) is I think because my draft goes a ways to explain things, rather than simply state. And that's where 2) comes from; it's meant to offer general advice about how to handle conflicts (but I did consider the problem of discouraging contributors when writing that portion) 15:24
15:25 zakharyas left, lizmat left
[Coke] # TODO submix behavior still under discussion - assuming I should not unfudge these, then? 15:25
ShimmerFairy I think a code of conduct would be a (near-)perfect fit for S27 , by the way ("Perl culture") 15:26
tadzik oh, I'd like if it was a part of it
PerlJam ShimmerFairy: +1 15:28
japhb masak: Yeah, agree about #5 in my CoC attempt; I've removed the first 'first' as suggested by DrForr++, and I agree that's an improvement. 15:30
yoleaux 08:26Z <brrt> japhb: i like that form of code-of-conduct, it's short, too the point, and human rather than policital
japhb Thank you, brrt.
moritz japhb: where's your draft? 15:31
japhb moritz: gist.github.com/japhb/b76f7d3a816df4d65108
brrt you're welcome, japhb 15:32
PerlJam The hard part about maintaining our culture is not the egregious problems that most codes of conduct seek to address (discrimmination, sexism, etc.), but the little things that gradually erode it. Like, being intentionally mean in a "playing around" sort of way. Too much of that and then you can't tell when playing around crosses a line.
moritz japhb: ooh, +2 15:33
japhb I wonder if a short-style CoC the way I did it can be the TL;DR, and then a longer explanatory-style one like ShimmerFairy's, can be united into a single document to satisfy a greater set of audience needs.
PerlJam japhb: yes, that would be very nice.
raiph i'd much prefer coc/codb losing such titles and independent status and s27, with the title being "culture" or somesuch, being the #perl6 goto url that discusses behavior
japhb PerlJam: Agree about the "playful mean", that can be a real problem.
ShimmerFairy moritz: updated the portion you mentioned so that it doesn't suggest that the attacked to walk away: gist.githubusercontent.com/lue/6df...8/coc.pod6 15:34
japhb raiph: I'm fine with that. I'm using the CoC name as a recognized tag, not as a title I prefer.
raiph also, imo, the key is valuing equanimity and those who sustain it
RabidGravy deary, deary me panda. Reinstalling the same modules over and over again because of "Reverse Dependencies" is really not clever
15:35 JimmyZ_ joined
ShimmerFairy japhb: I could put my draft in the specs as a kind of S27 , if you think having a collaborate-able document would be helpful by this point 15:35
*S27 draft
moritz RabidGravy: writing a good package manager is surprisingly hard
RabidGravy I know
japhb ShimmerFairy: Maybe paste both into the same doc (mine in some sort of TL;DR or Overview or what have you at the top), and let the community iterate? 15:36
raiph s/those/supporting those/
ShimmerFairy japhb: sure, I could put it under SYNOPSIS in my draft for the time being if you prefer
japhb Yeah, actually, that WFM 15:37
PerlJam ShimmerFairy: I think you should go ahead and make a draft S27
(though, whenever this makes it to "book" form, S27 really needs to be something closer to S01.5 or something 15:39
)
masak PerlJam: agree fully about your "playing around" comment. this incident irclog.perlgeek.de/perl6/2009-03-16#i_989917 remains my go-to example of that.
llfourn is sub EXPORT always meant to work with is export? Right now they work together until the importer passes a positional. But if you pass a positional and :ALL it works.
( trying to write some docs :) ) 15:40
japhb scans masak's example and winces
masak PerlJam: people might have a bad day; it's easy to assume meanness; language barriers make it worse; etc
PerlJam indeed. 15:41
15:43 nige joined
PerlJam I like that such an interaction could become a learning experience (not just for the participants) 15:43
dalek ast: 5425477 | coke++ | / (15 files):
reduce the scope of some fudges.
15:44
PerlJam (though, like japhb, I too winced at first)
dalek ecs: df43216 | ShimmerFairy++ | S27-perl-culture-draft.pod6:
Add draft of S27

Initial contents by myself and japhb++ .
15:45
ShimmerFairy By the way, I just noticed pod6-files . Is the tool mentioned therein just a temporary solution?
moritz ShimmerFairy: it's temporary if somebody replace it with something better 15:48
japhb Thank you ShimmerFairy++
ShimmerFairy moritz: yeah, I should really get back to the converter I was working on ages ago :)
15:49 nige left
ShimmerFairy no problem, japhb :) 15:50
brrt y does stage parse take so long these days?
oh, no optimizations 15:51
sjn likes ShimmerFairy's S27 proposal 15:52
ShimmerFairy++ # codifying culture 15:53
15:53 nige joined
masak wonders if "disarming" is a concrete enough phenomenon to be highlighted in that document 15:54
dalek kudo/nom: bc01cae | ShimmerFairy++ | src/core/Any.pm:
Allow blocks given to grep have multiple arguments.

Fixes #71544
15:55
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...l?id=71544
masak using humor to disarm trolls, I mean.
15:56 brrt left
masak sometimes not taking ourselves all that seriously helps, too. 15:56
dalek ast: 3ddbccf | ShimmerFairy++ | S32-list/grep.t:
Unfudge test for #71544
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...l?id=71544
timotimo i'm not 100% on "our standard of behavior is awesome, if you are LTA, you'll be called out on it"
masak timotimo: oh, ugh. I see what you mean.
timotimo: that sounds like an impossible standard. :) 15:57
timotimo i do understand the intention behind it :)
ShimmerFairy masak: I do believe #71544 can be closed now :)
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...l?id=71544
timotimo yes, indeed
15:57 lizmat joined
PerlJam ShimmerFairy: Are there tests for the multi-param grep/ 15:57
?
masak timotimo: I think the sentence should be phrased in some other way, and then it will say what I first read it as :)
timotimo right
15:57 nys joined
ShimmerFairy PerlJam: there is one, which I just unfudged 15:57
PerlJam oh, I totalled missed that. 15:58
masak timotimo: maybe "...is tolerant; if you are LTT..."
lizmat good *, #perl6 from OSCON
masak hi, lizmat! \o
ShimmerFairy o/ lizmat
timotimo such an impossible standard invites the ability to throw out people selectively, because everybody potentially violites that standard
masak hi, OSCON!
lizmat T minus 3 for TheDamian's "Perl 6: Transparadigm Programming 101" 15:59
masak briefly considers kicking timotimo for saying that :P
lizmat
.oO( violites = senseless violins ? )
timotimo %) 16:00
colomon lizmat: where? oscon?
lizmat: nevermind, I see that
RabidGravy little violins, sold in packets in the supermarket
timotimo the violin players of the underground resistance force 16:01
the elite violites
moritz wonders if those violin players are volatile
timotimo something the MicroSF/F twitter accound would tell a story about
16:01 rangerprice joined
timotimo moritz: they play their violins with hair from volatails 16:02
RabidGravy nope panda is definitely going to die, this is the sixth time it has attempted to install Audio::Encode::LameMP3 this time twice in a row for now apparent reason
tadzik eh
rangerprice hi
16:02 ][Sno][ left
colomon We have an Audio::Encode::LameMP3? 16:03
timotimo RabidGravy: has been working on it
well, making it, really 16:04
tadzik RabidGravy: panda is going to change drastically soon
colomon OMG, smoker has finished three days in a row!!!!
tadzik for better or worse
moritz hopes for better
masak in sickness and health
RabidGravy colomon, I put it in the ecosystem this morning
colomon \o/ 16:05
RabidGravy++
RabidGravy but I have a fear that it make not work properly when compiled for some reason
timotimo tadzik: whoa, dude. soon?
PerlJam tadzik: hopefully for better and not worse :) 16:06
RabidGravy tadzik, it is going bonkers reinstalling the same modules repeatedly on a rebootstrap 16:08
16:09 nige left
timotimo RabidGravy: fortunately, you can ctrl-c rebootstrap at that point and still be left with a working panda (though not necessarily all working modules) 16:09
RabidGravy yeah, that's what I did 16:10
:)
tadzik RabidGravy: yeah, wonky revdep-rebuild :?
RabidGravy yep 16:11
japhb timotimo: I understand what you mean about the awesome behavior standard. I wrote that with my already-in-the-community blinders on. 16:13
RabidGravy and just so no-one feels left out "Cannot invoke this object (REPR: Null, cs = 0) in block at lib/OO/Monitors.pm:28"
japhb I don't think 'awesome' -> 'tolerant' captures all I wanted to say, but I am very open to suggestions, and I'll let it percolate at the back of my mind.
16:14 GgLaPoule left
PerlJam ShimmerFairy: It occurs to me that grep-index, first, and first-index should probably get similar treatment as grep. (Though, considering the *-index variants makes me think once again that they should go away) 16:15
ShimmerFairy I'm not even familiar with the -index varieties; they basically return an index instead of an element, right? 16:16
PerlJam ShimmerFairy: yes, or for your patch multiple indices
ShimmerFairy: btw, consider using a parameterized role. It cuts down on the code a bit. 16:17
ShimmerFairy I thought those were just for parameterizing types, so it didn't occur to me :) 16:18
16:18 yqt joined
japhb Re: the awesome behavior standard, it occurs to me that I want to also indicate that A) we know it's an aspirationally-high bar, and B) we aim to help people grow on their way to that goal. 16:21
I'd wager that most of the people who've been here for a long time can find instances where their EQ (emotional/social intelligence) rose because of the community's supportive environment. 16:24
ShimmerFairy m: multi foo() { say "OH HAI" }; multi foo(Int $a?) {}; multi foo(Str $a?) {}; foo # RT #74900 16:25
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...l?id=74900
camelia rakudo-moar bc01ca: OUTPUT«Ambiguous call to 'foo'; these signatures all match:␤:()␤:(Int $a?)␤:(Str $a?)␤ in block <unit> at /tmp/UOU7YtguPC:1␤␤»
ShimmerFairy masak: do you still that foo() should be considered narrower, perchance? :)
japhb Thankfully, they say EQ can (and often does) rise without bound over one's life.
16:25 atroxaper joined 16:28 Hor|zon_ joined 16:30 atroxaper left 16:31 Hor|zon left
b2gills ShimmerFairy: $S27 ~~ s/'Lost of times'/Lots of times/ ( I think 'A lot of the time' would be better though ) 16:33
16:34 tinyblak joined
PerlJam S32/Containers:217 16:35
synbot6 Link: design.perl6.org/S32/Containers.html#line_217
PerlJam ShimmerFairy: that entry could use some language that talks about your updated grep 16:36
ShimmerFairy PerlJam: is Matcher supposed to name some kind of type? 16:37
16:37 JimmyZ_ left
PerlJam I'm not sure. It seems to be used as a generic title right now rather than a type 16:38
masak ShimmerFairy: yes.
PerlJam (i.e. Matcher is NYI)
masak ShimmerFairy: `multi foo()` is more specific than `multi foo($something?)`, so it makes sense for it to be narrower.
ShimmerFairy: IIRC, `multi foo()` is already narrower than `multi foo(*@stuff)` 16:39
ShimmerFairy masak: and I think I'd agree with you :) (In fact, I was designing a toy language for fun a while back, and I think my own overload resolution rules would say foo() is narrower)
RabidGravy anyone got a clue how I can debug this "Cannot invoke this object (REPR: Null, cs = 0)" malrkey?
it's beginning to annoy me 16:40
jaffa4 Can I make my own stream?
PerlJam weird ... this IRC window is the only connection outside my local network that is working now.
ShimmerFairy m: multi sub foo() { say "NO ARGS" }; multi sub foo(*@a) { say "MAYBE MANY ARGS" }; foo;
camelia rakudo-moar bc01ca: OUTPUT«NO ARGS␤»
masak jaffa4: "stream"?
ShimmerFairy masak: ^ you are correct
jaffa4 I would like to replace $*OUT
flussence PerlJam: something dropping new connections, or did older ones break too? 16:41
masak ShimmerFairy: that one was argued for and implemented several years ago. maybe 2009 or 2010.
jaffa4: oh yes, that's entirely possible.
jaffa4: just put some other object in $*OUT
jaffa4: and feel free to use `my` or `temp` as you see fit
jaffa4 what methods should have that object? 16:42
PerlJam flussence: I guess it's just new connections.
ugexe jaffa4: see IO::Capture::Simple
masak jaffa4: it's two methods, but I forgot their name. trial and error will get you there. 16:43
ugexe print and flush
flussence PerlJam: if I had to guess, it's probably a NAT router having a bad day then.
masak m: my $*OUT = role {}; say "OH HAI"
camelia rakudo-moar bc01ca: OUTPUT«Too many positionals passed; expected 1 argument but got 2␤ in any at src/gen/m-Metamodel.nqp:1677␤ in block <unit> at /tmp/yY4bHCHiGu:1␤␤»
16:43 ][Sno][ joined
masak hurh. 16:43
PerlJam flussence: luckily, it's close to lunch time for me, so it's a good excuse to leave :) 16:44
16:45 domidumont left, abraxxa left
avuserow RabidGravy: I notice that you've been working on a bunch of audio related modules. Is there a particular goal you're building toward? I'm asking because I'm occasionally interested in music-related programming and wondering if we have similar interests here :) 16:46
16:47 telex left 16:48 telex joined
[Coke] d~. 16:49
dalek rl6-roast-data: 52d52f1 | coke++ | / (9 files):
today (automated commit)
osystem: 290aac2 | jaffa4++ | META.list:
Update META.list

added log d
16:50
RabidGravy avuserow, about a year ago I started making a new radio station software in P5 and a few months ago I decided I would make it instead in P6
though I'm easily distracted 16:51
avuserow Several years ago, I wrote a network jukebox in P5, and have been wanting to write a version in P6 that can take advantage of things like nativecall and parallelism rather than only subprocesses 16:52
dalek c: 7541576 | (Nick Logan)++ | lib/Type/Scheduler.pod:
[typo] s/rew/rw/
16:53
avuserow so your shoutcast work may end up very useful for that :)
16:53 dakkar left
RabidGravy yeah, it might ;-) though I may revert to using liquidsoap for some of this stuff 16:55
rangerprice Omg i really love the LWP library ! *.*
module*
tadzik speaking of coc: ┻━┻ ︵ヽ(`Д´)ノ︵ ┻━┻
huh, wrong paste
not the worst mispaste though, though it shows me from a different angle :) 16:56
anyway: todogroup.org/opencodeofconduct/
ShimmerFairy tadzik: yeah, I think that was one of the starters of the discussion in fact :) . Haven't given it a close read, however. 16:57
16:57 Hor|zon joined
jaffa4 Is there multithreaded support now? 16:58
tadzik oh :)
ShimmerFairy tadzik: at least, [Coke] sharing a link to github's blog post on it is when I first noticed the discussion :P 16:59
16:59 spider-mario joined 17:00 Hor|zon_ left
ShimmerFairy masak: wait, infix:<~~> is (supposed to be) chaining!? :) rt.perl.org/Ticket/Display.html?id=81336 17:00
TimToady it's at the chaining precedence level 17:01
yoleaux 10:54Z <jnthn> TimToady: S09 seems rather silent on what happens if you .map a multi-dim array, or .values, or .pairs, or... :) Also what happens if you iterate (which in turn I guess answers what things like map/grep/unique/squish are doing)
10:54Z <jnthn> TimToady: Well, .map *is* iterating, of course... :) I'm guessing the answers to all these are related, anyways.
japhb TimToady: Do you have any opinion on the nascent S27 work yet? 17:02
rangerprice I love the community of Perl, i love Perl, i love every developers that work on, and i love everybody in this IRC. 17:04
TimToady japhb: haven't looked yet 17:05
rangerprice: we can fix that :)
RabidGravy right now I hate perl and I hate all the developers that work on it
TimToady we're trying to fix that too :)
ShimmerFairy Where should tests for chained smartmatch go? I don't there are any atm. 17:06
japhb tadzik: Yeah, I read the OCoC; this was my response: irclog.perlgeek.de/perl6/2015-07-21#i_10928476
(That's actually in the middle of the discussion yesterday.
)
TimToady ShimmerFairy: an argument can be made for moving ~~ to Structural Infix
ShimmerFairy I think I can see that, so I won't be too eager to add chaining tests :) . 17:07
TimToady (if we decide it doesn't really make sense for it to chain or associate)
in fact, ~~ was first put into chaining way back when we viewed it as a symmetrical operator 17:09
ShimmerFairy I wonder if anyone out there is somehow depending on stuff like $a == $b ~~ $c meaning ($a == $b) ~~ $c ... 17:10
TimToady I doubt it
if so, we should break it sooner rather than later... 17:11
ShimmerFairy TimToady: considering this only came up when I was browsing through old bugs (and one that has no updates since the initial report), I'm guessing people don't expect it to be chaining already :)
avuserow RabidGravy: I'm not tied to shoutcast or anything, but I am interested in having portable audio streams so if I have multiple sets of speakers, then I can reroute audio without needing to restart things
TimToady lemme run a spectest with it at Structural Infix and see if anything breaks in the test suite 17:12
ShimmerFairy TimToady: now that I think about it, it would make a lot more sense to group ~~ with the other non-Bool comparison ops, instead of the Bool ones :) 17:13
avuserow RabidGravy: though right now I'm focusing on the metadata side of audio. let me know if you have any thoughts on that side of thing. I'm also looking into additional webservices that can be useful. MusicBrainz is higher on my list
TimToady ShimmerFairy: I'm intending to move it unless I see unexpected test fallout 17:14
RabidGravy yeah that works
jaffa4 m: if (2!=$a!=4) { say "h"; }
camelia rakudo-moar bc01ca: OUTPUT«5===SORRY!5=== Error while compiling /tmp/T3EI3u9L1f␤Variable '$a' is not declared␤at /tmp/T3EI3u9L1f:1␤------> 3if (2!=7⏏5$a!=4) { say "h"; }␤»
jaffa4 m: my $a = 2; if (2!=$a!=4) { say "h"; }
camelia rakudo-moar bc01ca: OUTPUT«Cannot modify an immutable Int␤ in block <unit> at /tmp/JQNzPM44Rp:1␤␤»
ShimmerFairy TimToady: even then, I'd only prevent it on some more serious kinds of fallout fallout :) (for example not precedence-expecting things like $a == $b ~~ $c) 17:15
m: my $a = 2; if (2 != $a != 4) { say "h"; } 17:16
camelia ( no output )
TimToady that would parse as $a == ($b ~~ $c) with this cahnge
just as $a == ($b cmp $c) does now
ShimmerFairy Huh, I wonder what kind of assignment op rakudo hopes != is without the spaces there
jaffa4 m: my $a = 2; if (3 != $a != 4) { say "h"; }
camelia rakudo-moar bc01ca: OUTPUT«h␤»
17:16 espadrine left
ShimmerFairy TimToady: yeah, so things like expecting $a == $b ~~ $c to mean ($a == $b) ~~ $c I wouldn't consider show-stoppers, esp. since I don't anticipate them to be common occurrences :) 17:17
RabidGravy I really do need to get a handle on this "Cannot invoke this object (REPR: Null, cs = 0)" it's beginning to upset me - I haven't a clue where to even start to look 17:18
TimToady it's probably parsing it like $obj.=method
only private
ShimmerFairy m: my $a = 42; $a!=4; say $a 17:19
camelia rakudo-moar bc01ca: OUTPUT«4␤»
ShimmerFairy welp
TimToady or maybe not
m: my $a = 42; say $a!=4; 17:20
camelia rakudo-moar bc01ca: OUTPUT«False␤»
TimToady std: my $a = 42; say $a!=4;
camelia std 28329a7: OUTPUT«ok 00:00 138m␤»
TimToady hmm, I think assignments are supposed to be too fiddly to negate
ShimmerFairy m: my $a = 42; say $a!=0 17:21
camelia rakudo-moar bc01ca: OUTPUT«True␤»
TimToady in any case, it's an odd ambiguity
std: my $a = 42; say $a!+=0;
camelia std 28329a7: OUTPUT«5===SORRY!5===␤Cannot negate += because assignment operator operators are not iffy enough at /tmp/6JuFg1nzpK line 1:␤------> 3my $a = 42; say $a!+=7⏏050;␤Parse failed␤FAILED 00:00 138m␤»
TimToady std: my $a = 42; say $a!=>0; 17:22
camelia std 28329a7: OUTPUT«5===SORRY!5===␤Cannot negate => because item assignment operators are not iffy enough at /tmp/l1RH5Dn4Cf line 1:␤------> 3my $a = 42; say $a!=>7⏏050;␤Parse failed␤FAILED 00:00 138m␤»
17:22 domidumont joined
TimToady curiouser and curiouser 17:22
ShimmerFairy There's a bug on this already, it seems: rt.perl.org/Ticket/Display.html?id=121108 17:23
TimToady std: my $a = 42; say $a!:=0;
camelia std 28329a7: OUTPUT«5===SORRY!5===␤Cannot negate := because list assignment operators are too fiddly at /tmp/I6iA1kclsN line 1:␤------> 3my $a = 42; say $a!:=7⏏050;␤Cannot negate := because list assignment operators are not iffy enough at /tmp/I6iA1kclsN line 1:␤--…»
jnthn back for a bit
TimToady jnthn: the historical intent was that .map produce another thing like the original, where the declared bounds of the array are the scope of the mapping 17:24
dalek kudo/nom: 52b6f29 | lizmat++ | src/core/QuantHash.pm:
Make Set/Bag/Mix more hash-like wrt to .grep
TimToady that's why [**] means that the official bounds of the array includes the leaves
17:25 brrt joined
brrt ok, i've thought about it over dinner, and i can see why alester was upset by masak's comment 17:25
not that it matters now, of course 17:26
TimToady however, it's not clear whether the default .map should have those semantics or some other semantics that ignore the official shape of the array
we need both sets of semantics available
ShimmerFairy m: my $a = 42; say $a!+=0; 17:27
camelia rakudo-moar bc01ca: OUTPUT«False␤»
TimToady in the past I'd been thinking that .map was shallow, as apposed to .deepmap or .duckmap
nwc10 lizmat: what's OSCON like this year? From the schedule, it looks like it's pivoting away from "hardcore" programming. Does it feel different, on the ground?
ShimmerFairy rakudo is apparently more consistent with it, at least :P
TimToady but I think of "shallow" as being the declared shape
brrt long time ago
TimToady not the top dimension 17:28
lizmat nwc10: basically no languages whatsoever... :-(
nwc10 seems, no databases either
jnthn TimToady: Yeah, question is even if .map isn't deep what it's getting :) 17:29
TimToady lizmat: that's why I didn't go, though turns out to be a good thing cuz I've had some medical shenanigans
jnthn TimToady: And .unique and .pick are a whole interesting kettle of fish too; I guess they work on the leaves though...
TimToady but it's the whole what's-a-leaf question 17:30
ShimmerFairy TimToady: at first I'd say .map simply applies the function on each set of values (as determined by number of args), but that kinda breaks down with trying, for example, [[1,2,3],[4,5,6]].map({$^a + $^b})
TimToady and the official declared shape is often the desired leafiness
jnthn ShimmerFairy: That case is shapeless so it's clear enough you get [1,2,3] and [4,5,6] :) 17:31
17:31 Ven left
jnthn TimToady: Yes, "official declared shape" is what I was thinking of for leafiness too 17:31
TimToady yes, the default shape is [*] or so :)
jnthn Yeah
ShimmerFairy jnhtn: sure, though I was using that as a shortcut for an example shaped array :P
jnthn TimToady: There's loads of little things we'll have to hash out the semantics of, anyways... 17:32
PerlJam ShimmerFairy: now that I have reliable network again ... here's how I would have coded your patch to grep: gist.github.com/perlpilot/d1bda29d0928a4133a1e I dunno if that is helpful or not, but I thought I'd share anyway
jnthn PerlJam: That will be fantastically expensive.
TimToady jnthn: like whether my @a[2;2] actually implies a .= new
or whether that can fall out of autoviv 17:33
17:33 rindolf left
PerlJam jnthn: probably. I don't have a feel for "expensive" or not these days 17:33
TimToady noting that @a[2;2] in a signature does not .= new, but is just a constraint
jnthn Yeah, we'll have to treat those rather differently in the signature 17:34
I was going to compile that into a where clause
TimToady on @array[].shape I note that zen slices return self, not a list
jnthn That'd make it an MMD tie-breaker. I think it's to data-y to work out as an official type.
TimToady: That does @array{} return? :) 17:35
PerlJam ShimmerFairy: so ... perhaps my version is an example of what not to do :)
ShimmerFairy PerlJam: it's certainly the shinier example, and probably what you'd prefer if cost wasn't such a concern :)
jnthn TimToady: Uh, *What* :) 17:36
17:36 rindolf joined
TimToady I think the alternate indexing of arrays can fail for a zen slice 17:37
jnthn *nod*
I guess we pick a different method name for the hash-y shape... 17:38
TimToady AT-CUSTOM maybe
jnthn Oh, I didn't mean that, I meant to introspect it 17:39
TimToady one thing to plan for is HoA and AoH though, with declarations like %hash{Int}[2;2] and @array[2;2]{Str()} 17:40
jnthn I was going to just have arrays with custom indexing implement AT-KEY...is there any reason not to do it that way?
huh...is that even valid syntax? :)
TimToady hup
jnthn std: my %hash{Int}[2;2]
TimToady yup
camelia std 28329a7: OUTPUT«ok 00:01 139m␤»
jnthn urgh
That's a hash with Int keys where the values are shaped as [2;2], yes? 17:41
TimToady yes 17:42
jnthn I guess that won't work out too bad.
TimToady AoH/HoA are rather common in Perl-land
jnthn @array[2;2]{Str()} looks weird though :)
TimToady {Str()} is the default hash
jnthn *nod*
TimToady we just don't do it with Str() yet 17:43
(that I know of)
jnthn No, the coercion types thing came quite late to the party :)
TimToady that probably wants to get unified at some point
but if we don't get to it before 6.0, that's probably okay, as long as we don't corner ourselves into a paint 17:45
jnthn Indeed...need to be a little careful on that. 17:46
Hmmm
17:46 Ven joined
TimToady iirc default hash keys are one of the reasons we realized we had a built-in that couldn't be expressed succinctly 17:46
(as p6)
jnthn The whole autovivifying whence thingy probably comes into this lot 17:47
TimToady praps, including the desire to optimize it away where possible 17:49
jnthn If we get that right we can
my @a[2;2]
Compile that to my @a := Array{ :shape(2;2) }
I've kinda hesitated on that whole thing though
TimToady I can argue it both ways 17:50
jnthn As it implies every method dispatch has to care about if it's being called on a whence-y thing
PerlJam Is my @array[-->Some-Object] still meant to be? (looking at S09 now) If so, how does that play with multi-dim?
jnthn I figure if we want to implement it at all then it means we just give type objects a storage slot 17:51
Or maybe an invokable closure
But it's where to trap it
Since the WHENCE'd type object is meant to have the exact same type as the type object. 17:52
I can't see the "but WHENCE" desugar for it either really...
It feels more primitive than "just a role" 17:53
TimToady another approach is to avoid whence by default for shaped arrays, and require special declaration for any shaped array that should autoviv 17:54
that would give a fast default of eager init
we'd like native shaped arrays to be fast, anyway 17:55
autoviv might be the wrong default for them
17:56 Ven left
jnthn *nod* 17:56
Well, the way that
my @a;
Is that we make an instance at compile time, install it in the static lexpad, and flag it as needing to be cloned on first access 17:57
But we can't do that for shaped arrays since the shape can be late-bound. 17:58
None of this is going through any kind of official WHENCE mechanism like described in S12 though
RabidGravy gist.github.com/jonathanstowe/2d58...f100fca51d - a) what is AUTOGEN and b) why doesn't the signature match what it obviously matches the last one 17:59
jnthn We simply don't have that. I guess there may be some trick involving STables and lies to get us a reasonably efficient failover-style implementation of what S12 wants.
But I still don't see it working out for arrays at all 18:00
As we don't store lexpad -> scalar -> array, just lexpad -> array 18:01
masak brrt: I remember even as that discussion with alester happened, that I thought it was a very small thing to get upset about. but I also decided not to bring that up at all -- simply because diminishing his hurt would have been a thing *I* would have regretted afterwards.
brrt right 18:02
masak there are so many such discussions that go the other way, with the joker defending his joke.
which is totally not the point of jokes
jnthn I could imagine us deciding that Foo{...} lives, but only is given attention in certain contexts (basically, auto-viv related ones) 18:03
But yeah, this stuff is...fiddly 18:04
Guess this is why NSA was picked as one of the big 3 :P
TimToady ayup
masak jnthn: method calls, list assignment and commas are fiddly :P 18:05
oh, and ranges and conditionals, apparently
18:05 yqt left
brrt nod 18:05
s
it's easy to misunderstand one another on IRC 18:06
masak brrt: that's the most offensive thing I've ever heard!
:P
jnthn masak: smartass :P
brrt :-P
bbl
18:06 brrt left
masak oh dear, I chased him away... D: 18:07
tadzik oh, deer! I chased him away...
18:08 Hor|zon left
masak .oO( no ay ay, deer! ) 18:09
RabidGravy poor rudolf
TimToady ode ear, eye chaste him aweigh
jnthn D'oh! Oh deer! A fleeing dear...
masak RabidGravy: time to rein in the jokes :P
18:09 domidumont left
TimToady ode ear, eye chaste hymn aweigh 18:09
RabidGravy what noise do reindeer make anyway?
TimToady (I shoulda said)
18:10 leaderprice joined
TimToady jingle, jingle 18:10
tony-o they make sneering noises at rudolph
RabidGravy bstards
jnthn The postcircumfix candidate taking a LoL is a wonderful bit of work that sadly won't adapt easily at all to us having real multi-dim arrays...
leaderprice rangerprice: no one loves you
masak TimToady: I don't suppose "anguish languish" will be a new concept to you? :)
tony-o post santa they started jingling
rangerprice seriously
ahahahahahaaa 18:11
TimToady jnthn: that's kinda why we had || special sugar for subscripts
masak rangerprice: oh, first time? wonderful. :)
rangerprice: this happens regularly here...
TimToady isn't clear that LoL is the best way to handle that
jnthn TimToady: Well, it's more that it assumes you access one dimension at a time so leaves all the hard work to the one-dim-at-a-time candidates.
masak (the puns, I mean. not someone coming and saying "no one loves you", that's new...) 18:12
TimToady jnthn: yes, we'd like to know more before dispatch time
rangerprice yes i understand masak
TimToady cause not all our optimizations want to be JIT
RabidGravy it has come to my attention that the:
m: multi trait_mod:<is>(Routine $r, :$foo!) { $r does Foo; }; class Bar { method boom() is foo {}; };
camelia rakudo-moar 52b6f2: OUTPUT«5===SORRY!5=== Error while compiling /tmp/b12UAWJrQF␤Cannot invoke this object (REPR: Null, cs = 0)␤at /tmp/b12UAWJrQF:1␤»
leaderprice So leaderprice is actually… an international enterprise ? Damn it. 18:13
18:13 zakharyas joined
RabidGravy still does that, 18:13
jnthn RabidGravy: Is that one RT'd?
masak leaderprice: what brings you to #perl6, dear sir or madam?
RabidGravy I thought I did and I thought it was fixed, but I'll check and if not will add, else re-open 18:14
18:14 atroxaper joined
jnthn TimToady: Yeah. One option we have is trying to steal back postcircumfix:<[ ]>(@a, 1, 2, 3) to be what @a[1;2;3] compiles into 18:14
rangerprice Rangerprice is better than Leaderprice
masak rangerprice: depends if you're in the market for a ranger or a leader :P
leaderprice masak: I want to ask rangerprice to stop trying to get people to come here and evangelize other people. He might not look like it but he's quite the fanatic outside of this place. 18:15
jnthn TimToady: Trouble is, at some point I really wanted an efficient way to do assignment that shortcutted the whole auto-viv, introduced ASSIGN-POS, and then needed a cheap way to dispatch to it and figured "ah, 3-arg postcircumfix:<[ ]> multi candidate is just the ticket!"
masak leaderprice: it's too late. we've already made rangerprice one of us.
18:15 skarn joined
masak leaderprice: one of us! one of us! one of us! 18:15
18:16 tinyblak left
rangerprice masak: yeah !!!! 18:16
masak gets something wild in his look
jnthn TimToady: I'm not sure if that's why we ended up with the LoL there today. I agree it's costly to construct them...
leaderprice Well I guess "we" will have to make him… not of one us. It was fun having him shitpost on other forums at 4am about Perl, though.
jnthn TimToady: But I don't want to lose the assignment opt either :)
masak leaderprice: this is not something I have knowledge of, sorry. 18:17
rangerprice Who you are leaderprice ? :hap:
leaderprice masak: basically this sournoishack.com/uploads/1036112996...42x104.png on some French forum. _Very_ often. 18:18
rangerprice: I am your shadow for you're not freed of your sins.
PerlJam that doesn't sound like evangelization to me.
rangerprice Do you are on the forum leaderprice ?
masak suspects that leaderprice indeed does are on the forum 18:19
18:19 amurf joined
leaderprice Well, I could have screenshot his trials at getting people to come here, and his praises of Perl. 18:19
I do are on the forum.
Now if you excuse me, I'll have to leave.
18:19 atroxaper left
rangerprice okay 18:19
leaderprice It was fun do areing with you.
rangerprice good bye
my friend
PerlJam rangerprice: Are you an over-zealous evangelist? 18:20
masak leaderprice: sorry about your forum suffering.
18:20 leaderprice left
rangerprice hum 18:21
masak rangerprice: you're not inconveniencing those poor forum users, are you?
rangerprice No i'm just a fanatic of Perl 18:22
18:23 amurf left
rangerprice PerlJam: Yes i am an over-zealous of Perl 6 18:23
18:24 xinming joined
masak rangerprice: leaderprice made it seem like you were fanatic in a way that could be perceived as bothersome to the other forum users. 18:25
raiph m: Proxy.new 18:26
camelia rakudo-moar 52b6f2: OUTPUT«Unhandled exception: Cannot invoke this object (REPR: P6opaque, cs = 0)␤ at src/gen/m-BOOTSTRAP.nqp:1288 (/home/camelia/rakudo-inst-1/share/nqp/lib/Perl6/BOOTSTRAP.moarvm::10)␤ from src/gen/m-main.nqp:40 (/home/camelia/rakudo-inst-1/share/perl6/run…»
rangerprice masak: Oh no, i talk about Perl and this IRC only on a forum dedicated to general discussing
jnthn raiph: Needs a FETCH/STORE providing; seems we want better error checking for that. 18:27
RabidGravy oh deary, deary me
getting "Frame has no lexical with name '$?PACKAGE'" if I look at this problem in a different way 18:28
PerlJam rangerprice: as long as you're doing unto others as you would have them do unto you (or us!) .... :)
masak rangerprice: I don't want to have to explain your behavior to leaderprice again, ok? :) 18:29
rangerprice: you're a grown lambdacamel, you should be able to make grown-up judgement calls...
RabidGravy who knows these days 18:30
masak rangerprice: something tells me that you can rise above the level of "shitposts at 4am"...
18:30 andreoss left
PerlJam masak: also keep in mind that one data point does not a trend make :) 18:30
18:30 [TuxCM] joined
masak oh, absolutely. 18:31
rangerprice masak: yes i understand, and i very sorry for the convenience. The modo of the forum hate me apparently 18:33
masak that's one interpretation of it.
rangerprice: you have a good heart. and I can tell that your zealotry is true. I guess it's up to you to ponder leaderprice's words.
rangerprice: even if you think he's wrong, he *is* the modo. consider that well. :) 18:34
masak .oO( even a ranger must listen to his leader sometimes )
TimToady well, we're all on the learning curve of understanding when our words will have the intended effect, and how to avoid our words having unintended effects 18:35
masak touché :) 18:36
er, I mean, how dare you!
rangerprice ahahahaha
masak whoever you are
TimToady those of us on the autistic spectrum are often surprised when our words don't do what they were supposed to :)
masak "when I use a word, it means exactly what I choose it to mean -- no more, no less"
TimToady the question is, who's to be master, that's all... 18:37
moritz TimToady: when our words dont do what they were supposed to, that's when you uncovered a copmiler error, right? :-)
RabidGravy but in better news it does actually appear that Audio::Encode::LameMP3 is actually quick enough to encode 512 frames of PCM in less than the time it takes to stream it :)
just not when it's compiled
PerlJam TimToady: I thought who was to be the doctor 18:38
RabidGravy I take back what I said earlier I only hate perl a little bit
TimToady I believe Humpty Dumpty was on first.
RabidGravy who's on first
TimToady HD was on first, but then he was off. 18:39
PerlJam puns and free-association ... it's what #perl6 is all about
masak it only looks like free-association to the untrained eye. #perl6 is really a substrate for quantum computations. 18:40
a bad pun can mean a whole week's results are destroyed 18:41
RabidGravy geez, I can't believe I made this set I'm streaming two years ago
18:41 rindolf left
PerlJam RabidGravy: I sometimes boggle that Jimi Hendrix died 45 years ago ;) 18:43
RabidGravy it wasn't me - I was only seven!
TimToady This is how you are to make it: the length of the ark three hundred qubits, its breadth fifty qubits, and its height thirty qubits. Genesis 8:15
er, 6:15 18:44
RabidGravy so you can only measure one dimension at any given time?
TimToady it's a 3-D quantum computer
masak :P
imagine an entanglement cluster of those! 18:45
ShimmerFairy @ark[300;50;30]
TimToady and people wonder how they could get all those animals on board...
RabidGravy Galifreans involved
ShimmerFairy
.oO(Clearly the ark was actually a Klein bottle!)
18:46
18:46 inokenty1 left
TimToady you have inside knowledge of that, eh? 18:46
RabidGravy o/ bottle of klein, fruit of the vine .. o/ 18:47
ShimmerFairy If I do, then technically everyone does.
TimToady well, it's lunchtime, catch you on the flip-side of the Möbius strip 18:48
masak suddenly feels the onset of nonorientability
jnthn ooh, yeah, food
jnthn stops hacking up slicing and goes to cook 18:49
18:49 rindolf joined
raiph jnthn: I can file a bug for that (Proxy.new). (Please confirm that would be helpful.) 18:49
jnthn raiph: Please do, it's a crappy failure mode
raiph jnthn: will do, enjoy nom
jnthn Well, gotta cook it first :) 18:55
l'oil is heating :)
RabidGravy jnthn stuck that one in as rt.perl.org/Ticket/Display.html?id=125662 18:56
18:56 zakharyas left 19:00 domidumont joined, domidumont left
raiph .ask jnthn the Proxy.new was an exemplar of getting "Cannot invoke this object". And your response illustrates the quick approach to debugging, namely getting your attention. ;) But do you have generic advice for how to debug things for oneself if one gets that message? (eg cf 125662 or Proxy.new or RabidGravy++'s "Cannot invoke this object" from e 19:01
yoleaux raiph: I'll pass your message to jnthn.
raiph arlier today)
19:01 domidumont joined
FROGGS raiph: if you don't get a line number, you usually pass --ll-exception to your perl6 invocation 19:04
19:05 Hor|zon joined
RabidGravy FROGGS, with those surprising "Cannot invoke ..." it almost always points into the core 19:06
lucasb m: int.()
camelia rakudo-moar 52b6f2: OUTPUT«Cannot invoke this object (REPR: P6int, cs = 0)␤ in block <unit> at /tmp/RX4PeuVfmY:1␤␤»
raiph m: multi trait_mod:<is>(Routine $r, :$foo!) { Bar }; sub boom is foo {} # FROGGS, I mean when this sort of thing happens 19:07
camelia rakudo-moar 52b6f2: OUTPUT«5===SORRY!5=== Error while compiling /tmp/CVpfvvBblY␤Cannot invoke this object (REPR: Null, cs = 0)␤at /tmp/CVpfvvBblY:1␤»
RabidGravy yeah the REPR: Null - always in the cire
lucasb --ll-exception shows those <unit>, <unit-outer> things, so I wouldn't know where to look at those. I guess I can't
dalek kudo/nom: dac0167 | PerlJam++ | src/core/Temporal.pm:
Add comparison ops for DateTime (RT#125555)
19:08
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=125555
dalek ast: 29f336c | PerlJam++ | S32-temporal/DateTime.t:
Test DateTime comparison ops (RT#125555)
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=125555
raiph (RabidGravy: REPR: anything) 19:09
19:09 jaffa4 left, Hor|zon left
FROGGS RabidGravy: yes, and when it points to the core you know where to start hunting down that bug 19:09
raiph: well, this example is kinda understandable me thinks 19:10
masak PerlJam++ # DateTime comparison ops 19:14
PerlJam: is != missing from that list...? 19:15
[Coke] shares some pain: <cfset currentDate = DateAdd("d", 1, currentDate)>
FROGGS [Coke]: that still better than <cfset currentDate = DateAdd("h", 24, currentDate)> :o) 19:17
that's*
... or adding 86400 seconds
FROGGS feels sorry about doing that when he was stupidier 19:18
ShimmerFairy masak: that reminds me, in case you missed it earlier, here's a mean bug/trick :P :
m: my $a = 1; say $a!=0; say $a;
camelia rakudo-moar 52b6f2: OUTPUT«True␤0␤»
19:19 zmikund joined
FROGGS - QAST::Op(call &METAOP_NEGATE) 19:19
- QAST::Var(lexical &infix:<=> :decl())
:o)
19:20 meisl joined
masak ShimmerFairy: yeah, I saw it flash by earlier. 19:21
ShimmerFairy: something weird with parsing, I bet.
ShimmerFairy I'd love to know what you could use negated assignment for, before it gets fixed :P
flussence quantum physics? 19:22
PerlJam masak: oops, != is missing.
masak PerlJam++ # got all the others :)
ShimmerFairy imagines a weird interpretation where $a!=1 is the same as $a=none(1) :P 19:23
PerlJam ShimmerFairy: careful saying "weird interpretation" ... next thing you know, it'll be canon ;) 19:24
dalek kudo/nom: e41624e | PerlJam++ | src/core/Temporal.pm:
Add missing != DateTime comparison op
ast: 7eabf40 | PerlJam++ | S32-temporal/DateTime.t:
Add test for DateTime !=
19:25 rindolf left
ShimmerFairy I wonder if there's ever been a debate about an infix operator for making none() junctions. 19:26
masak m: say 1 ^ 2 ^ 3 19:27
camelia rakudo-moar 52b6f2: OUTPUT«one(1, 2, 3)␤»
dalek ast: a673b4f | PerlJam++ | S32-temporal/DateTime.t:
update plan
PerlJam masak: he didn't ask if it existed, just if there was a debate about it :) 19:28
nwc10 java-- # SIGSEGV (0xb) at pc=0x00007f13d6165961, pid=2888, tid=139722564007680 19:29
ShimmerFairy tried implementing her own infix<!> for it a short while back, but it for some reason wouldn't work like the other junction ops
masak PerlJam: right. :) I just forgot what it was infix:<^> did ;)
ShimmerFairy: oh, I guess infix:<!> would be the name of that op :) 19:30
19:30 yqt joined
ShimmerFairy masak: that's what I would assume too, but I imagine there has to be some sort of parsing related reason for why we don't have it. 19:30
nwc10 (too many TEST_JOBS and it goes kaboomy)
masak ShimmerFairy: and it's not really a collision with the infix-prefix ! metaop, since nothing comes after it...
ShimmerFairy: to be honest, I never even use infix:<^> 19:31
ShimmerFairy: I do use infix:<&> and infix:<|> occasionally
ShimmerFairy: I guess the demand for infix:<!> is low because, if you read things in one pass as a human, getting to the `!` makes you feel tricked because you have to mentally negate the lhs. 19:32
ShimmerFairy m: sub infix:<!>(**@values) { Junction.new(@values, :type<none>); }; say 1 ! 2 ! 3 # boo :< 19:33
camelia rakudo-moar 52b6f2: OUTPUT«5===SORRY!5=== Error while compiling /tmp/qSFuZujLTS␤Negation metaoperator not followed by valid infix␤at /tmp/qSFuZujLTS:1␤------> 3on.new(@values, :type<none>); }; say 1 !7⏏5 2 ! 3 # boo :<␤ expecting any of:␤ infix␤ …»
masak heh, yeah. you're getting shadowed.
PerlJam or perhaps it's something like "none of this, and none of this, and none of this, and none of this ..." becomes mentally taxing
ShimmerFairy m: sub infix:<‽>(**@values) { Junction.new(@values, :type<none>); }; say 1 ‽ 2 ‽ 3 19:34
camelia rakudo-moar 52b6f2: OUTPUT«none(none(1, 2), 3)␤»
masak PerlJam: for some reason, that sounds like the mumblings of a raving character in an animated cartoon.
19:34 rindolf joined
ShimmerFairy masak: but then choosing a non-clashing symbol produces something not quite right. 19:34
(which is the second issue)
raiph FROGGS: Troo. But... is there a debugging doc, and if not, would it be helpful if I/someone started one, perhaps as a new design.perl6.org synopsis? 19:35
PerlJam masak: makes me think of Pinky and the Brain a little bit myself :) 19:36
19:37 espadrine joined
PerlJam ShimmerFairy: the real reason we don't have the infix none is that there are too many problems to solve and no one cares enough to solve them :) 19:37
raiph m: Proxy.new # filed as RT#125663
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=125663
camelia rakudo-moar 52b6f2: OUTPUT«Unhandled exception: Cannot invoke this object (REPR: P6opaque, cs = 0)␤ at src/gen/m-BOOTSTRAP.nqp:1288 (/home/camelia/rakudo-inst-1/share/nqp/lib/Perl6/BOOTSTRAP.moarvm::10)␤ from src/gen/m-main.nqp:40 (/home/camelia/rakudo-inst-1/share/perl6/run…»
ShimmerFairy PerlJam: just seems weird to have left out none() from the infix party, is all :)
19:39 silug_ joined
FROGGS raiph: I'm not sure if a debugging guide should live in the synopses 19:39
raiph FROGGS: OK, but does such a guide exist?
FROGGS I dont think so
lucasb The real reason problems don't get solved is because of lack of punctuation marks in ASCII :) 19:40
FROGGS :P
masak ShimmerFairy: for all I care, we could leave out one() from the infix party too ;) 19:41
nwc10 sadly Rakudo (currently) is nowhere near the performance of Perlito for this benchmar: blogs.perl.org/users/flavio_s_glock...hmark.html
curiously, MoarVM seems to be a factor of 2.77 faster than JVM
but MoarVM is a factor of 7.4 *slower* than Perl 5
ShimmerFairy masak: we should leave out either one or none. Two is just too much :P
19:41 lizmat left
PerlJam ShimmerFairy: leaving out both one and none is balance! Two in (any, all), and two out (one, none) 19:42
ShimmerFairy It's an all or none choice as far as I'm concerned :P 19:43
19:46 espadrine_ joined, espadrine left
masak I see what you did there 19:48
19:48 TEttinger joined 19:51 bin_005 joined
meisl PerlJam: sorry for horning in, but can't you express any of (any, all, none) in terms of any other from there + "not" - whereas you cannot do so for "one"? 19:52
hoelzro a/win1 19:53
oops
masak meisl: that's a good point.
ShimmerFairy masak: It's not like my code is littered with none()s all over the place and if only I had an infix op, it's simply an annoying lack of symmetry or whatever that none() is the only one without an infix equivalent. 19:54
hoelzro needs to script irssi to check for and warn about messages that have "/win" in them
19:55 rangerprice left
lucasb I remember I once suggested the 'many' junction with the meaning of "exists, and it's not only one" 19:55
meisl just thinking, not opting (yet) for any choice re which infix opts to offer or not
...but as far as gut feeling for "symmetry", or better "what to expect" goes - I'm kinda with ShimmerFairy ...I think 19:59
20:02 zakharyas joined 20:03 lizmat joined 20:05 pullphinger left
meisl lucasb: 'many' would be 'at-least-two'? 20:06
20:06 brrt joined, Hor|zon joined
lucasb meisl: yes, but I was half joking :) I guess many can be expressed as any() + not one() 20:07
but then I guess someone suggested that the value could be changed, some like "at least" and "at most" 20:08
brrt that might better be called 'some()' maybe
meisl lucasb: was about saying this :)
brrt a-few()
lucasb yeah, some() is a good name too :)
meisl gimme-some-fair-amount-but-not-too-few 20:09
PerlJam feels like taking an afternoon nap today
moritz throws in the scottish "wee"
20:10 vendethiel joined
meisl ...aka DWIM 20:10
20:10 darutoko- left, Hor|zon left
brrt masak: was walking :-) 20:13
20:14 lizmat left
meisl lucasb: (seriously now) let's push that a bit further - can we likewise derive an imaged "exactly-two"? (really, not joking) 20:15
masak brrt: you're back! :D 20:16
brrt of course :-)
hmm, i have a question for you to ponder
lucasb meisl: I don't have the skills for it, but maybe taking a look at Junction.pm and trying to implement it as a module wouldn't be that hard 20:17
brrt regarding communities 20:18
meisl lucasb: I'm pretty sure we cannot (derive "exactly-two")
20:18 TEttinger left
brrt some time ago, there was a ruffle about a particlar project developer who was being an asshole on twitter against some socially-not-completely-accepted minority groups 20:19
developers belonging to said minority group found out and requested the developer be removed from the project
lucasb brrt: is that the opal project, isn't it? that github issue as long 20:20
brrt now, i don't think that was a reasonable request, but the community responded with a very insensitive (and naive, imho) 'software is just technical'
right
meisl lucasb: actually I was trying to hint at that -given a specialized "exactly-n" ("exactly-one" here) we get "at-least-(n+1)" automatically
lucasb *was
brrt (so i guess comments about ruby community misogyny are not entirely misplaced :-(..) 20:21
anyway... how should a decent community solve such a thing?
20:21 lizmat joined
brrt \o lizmat 20:22
meisl lucasb: just put in 0 for n - what does that give you? 20:23
lucasb meisl: idk if I understand you, but yes, I think exactly-N is a generalized case of exactly-1
meisl lucasb: idk? 20:24
lucasb idk = i don't know
meisl oh... "exactly-0" = "none" = "all(not ...)" 20:25
..."not (all (not...))" = "exists" 20:26
(= "at-least-one") - see? 20:27
20:27 kaare_ left, mohij_mobile joined
brrt not all not is any 20:32
yay, another use for syllogisms
meisl brrt: sorry, said "exists" but meant "any" 20:33
brrt :-)
mohij_mobile @brrt: I suspect the deeper question is where the borders of a community are. And respectively for which parts of the life of an individual the community takes responsibility.
brrt hmmm
meisl some are even used to say "some" for "any" or "exists", you know
[Coke] in an ideal world, you'd get the developer to apologize, the community would note that their behavior was unacceptable, and everyone would move on. 20:34
vendethiel brrt: I think rust's community has been going to a good place
brrt my feeling is that not being an asshole in public in a relatable way to your project would be a decent thing to ask
vendethiel (github's new "code of conduct" seems a bit... "naive" and has been... criticized by some people already)
[Coke] if the dev stuck by what they said, I'd expect this community to err on the side of removing their privs. 20:35
brrt that's not what the opal community did, though 20:36
[Coke] we ain't them.
brrt no :-) 20:37
meisl lucasb: are you still with me? coz in way yes, "exactly-N" is a an abstraction of "exactly-1" BUT this abstraction is "different in kind", like "orthogonal" to what (I think) you'd expect
20:37 rindolf left
meisl (I think :) 20:37
[Coke] are we talking about exactly-N in terms of junctins?
meisl yes
20:37 ][Sno][ left
[Coke] that seems more like a set or bag question. 20:38
lucasb meisl: sorry, I was trying to hunt down on the internet that existential quantifier with a bar on the right
ShimmerFairy [Coke]: if you didn't catch it, there's an S27 draft in the specs repo now, based on japhb and mine's work earlier.
meisl ShimmerFairy: do you have a link at hand, for the lazy plz? 20:39
lucasb I remember learning that existential quantifier in discrete mathematics class, and it means "exists, and *only* one"
ShimmerFairy meisl: here it is :) github.com/perl6/specs/blob/master...draft.pod6 20:41
meisl lucasb: nono, the classical bare "reversed E" just means "at-least-one" and is dual to the upside-down A, ie: Ex.p(x) <=> not (Ax.not(p(x))) 20:42
20:42 domidumont left
brrt oh, yes, i'm going to be incredibly pedantic about that document, which i support, by the way 20:42
the second item in the top list 'we don't discriminate ... kind and positive member of our community' 20:43
20:43 FROGGS left
masak meisl: "exists exactly one" is written `∃!` or something 20:43
meisl ShimmerFairy: thx (I thought it was about the junctions discussion - but still thx)
brrt we may assume that anyone can be a kind and positive member, but for some people this is virtually impossible 20:44
that is sad, i think
20:44 muraiki_ left
masak brrt: I first read that as "a kind and positive number", and was about to look up what "kind numbers" are again... :P 20:44
brrt lol
kind number are those with sufficient friends and social skills 20:45
meisl masak: yes thx, I am not good at putting non-ASCII stuff here. My point was that `∃` is kinda basic and different from `∃!` - *quite* different
brrt anyway, i'm afk for now
see you :-) 20:46
20:46 brrt left
masak meisl: you're right; they're quite different. 20:46
oh no, I scared brrt away! D:
meisl masak: hey, I was planning to bother him as well...
20:47 lizmat left
masak meisl: he can take ∃! botherer... 20:47
20:47 pmurias joined
masak pmurias! \o/ 20:47
pmurias hi 20:48
vendethiel o/
timotimo o/
20:50 zakharyas left
pmurias any hackathons planned around YAPC::EU? 20:50
meisl masak: ic. how would you write "at-least-two" - and then how to implement that wrt brrt and the botherers?
RabidGravy There's definitely a pre-compilation problem with one or both of Audio::Libshout and Aidio::Encode::LameMP3 - code that consumes both will crap out with the aforementioned "Can't invoke ...." when loading pre-compiled versions 20:51
masak meisl: if perf wasn't an issue, I would grep and then test for 2 elements
meisl: if perf was an issue, I would loop while keeping a variable, and break as soon as it > 2 20:52
pmurias: that's a really good question.
I second pmurias++' question. :) 20:53
RabidGravy I'm sre I've done an "any(...) && (something else)" to get a certain number
meisl masak: I don't know how to "grep brrt" for botherer-cability, so I keep trying your 2nd approach :)
20:53 lizmat joined
jnthn I thought hackathoning was a SPW thing more than a YAPC::EU one this year :) 20:54
yoleaux 19:01Z <raiph> jnthn: the Proxy.new was an exemplar of getting "Cannot invoke this object". And your response illustrates the quick approach to debugging, namely getting your attention. ;) But do you have generic advice for how to debug things for oneself if one gets that message? (eg cf 125662 or Proxy.new or RabidGravy++'s "Cannot invoke this object" from e
RabidGravy every day's a hackathon 20:55
jnthn .tell raiph generally one of --ll-exception or set a breakpoint in Moar where it throws that if you need to dig deeper; trouble is that error is pretty much always telling you that some *other* thing is wrong
yoleaux jnthn: I'll pass your message to raiph.
masak jnthn: any hackathons planned around SPW? :P 20:58
meisl lucasb: maybe I misread what you said; guess by "that existential quantifier" you were stressing "that", ie you were referring to `∃!` as opposed to `∃`?
lucasb: if so, sorry for my saying "nono, ..." 20:59
21:00 lizmat left
jnthn masak: There's a hackathon *scheduled* *at* SPW :P 21:00
masak: Aren't you coming? :P
masak I... guess I am... :) 21:01
masak should pay more attention to schedules.
lucasb meisl: yeah, as I understand there is 2 existential quantifiers, with and without the "pipe" at the right; unfortunately unicode only has a character for one. (In P6, their meanings are any() and one())
meisl lucasb: as for P6 - yes. in general - no, not two but *infinitely* many (that's where I'm trying to get to) 21:02
lucasb meisl: yes, I understand what you're saying :) 21:04
21:05 inokenty joined
meisl lucasb: cool :) let's say `∃!` is just shorthand for `∃!1`, so `∃!2` means "exactly-two" and so on 21:05
lucasb: now obviously `∃!0` is NOT the same as `∃` but rather "exactly-zero" aka "none", as above 21:07
lucasb: now let me ask: "but isnt't `∃` a 'special-cased-shorthand' just like `∃!` was?" 21:10
masak 'night, #perl6 21:12
meisl g'nite, masak
jnthn 'night, masak 21:13
21:14 pmurias left
lucasb meisl: ok, I can see that as special case for some imaginary exists() thing, if that's what you are saying 21:14
21:15 skids left
meisl lucasb: how about taking `∃` as short for (the imagined syntax) `∃1`, meaning "at-least-one"? 21:16
lucasb: (you'll tell me if my style of asking "stupid questions" is annoying you, aren't you?) 21:18
21:19 Begi joined
lucasb meisl: It's ok. :) I just don't know where you are trying to get at 21:19
meisl lucasb: thx :) so: what'd `∃0` mean? 21:20
Begi Hey ! What's the easiest way to get data from a JSON file ?
yoleaux 10 Jul 2015 18:45Z <b2gills> Begi: This is how I might have started: `loop {␤prompt('> ') ~~ /^ \h* $<d> = ['-'?\d+] \h* $<s> = <[CF]> \h* $/;␤given $<s> {␤when 'C' { say "$<d> °C = { $<d> * (9/5) + 32 } °F" }␤when 'F' { say "$<d> °F = { ($<d> - 32) * (5/9) } °C" }␤default { last }␤}␤}␤` ( What you have is perfectly fine as well )
lucasb meisl: it means none() to me
meisl lucasb: but wasn't that `∃!0` (*with* a bang) already? 21:21
jnthn Begi: The JSON::Tiny module is a popular choice for that 21:22
lucasb meisl: yeah; I made a mistake; it doesn't mean none(); it means tautology, always true; do you agree?
Begi jnthn yeah. I'm watching your slides 'Exploring Perl 6 Through Its Modules'. So, should I create my own grammar ? 21:24
meisl lucasb: no. counter-example: `∃0x.p(x)` - this is not a tautology, provided that p(x) is ...? 21:25
jnthn Begi: No, just install/use the existing module
Begi: You can find it (and loads of other modules) at modules.perl6.org/ 21:26
meisl lucasb: (put in 1 for the 0, yielding `∃x.p(x)`, then try to transfer back to the 1-case) 21:27
lucasb: ("transfer back to the *0*-case", sorry) 21:29
lucasb meisl: sorry, this is getting too abstract for me :) I was just suggesting random ideas when I said about junctions. If you want to take a look at the code I would suggest you to see the implementation of Junction.Bool in the core.
Begi jnthn : Ok thanks. I think it will works now :) 21:30
meisl lucasb: sorry, too. I'm not after implementations (yet). But I think we 21:31
Begi I've got an another unnecessary question : when I use for exemple say from-json('{ "a": 42 }').perl, what's the utility of the .perl ?
21:31 ][Sno][ joined
meisl lucasb: sorry, too. I'm not after implementations (yet). But I do think you've hit an interesting question/void maybe in P6 design space. 21:32
lucasb: I do concede that the discussion I'm after is on a rather abstract level, and am trying to establish it with you :) 21:34
21:35 Begi left
meisl lucasb: so let me just say it: `∃0` is - nothing but "all(not ...)". Read it as "at-least-zero such that not ..." 21:35
21:38 raiph left 21:41 raiph joined 21:49 atroxaper joined
RabidGravy so does anyone have a handle on the other modules that are experiencing pre-compilation problems? I'd like to check them out to see if there are common patterns 21:50
meisl lucasb: hmm, hmm. not so sure myself now... sorry. let's have a break and think it over :) 21:51
21:52 TEttinger joined 21:54 atroxaper left 21:55 Hor|zon joined 21:57 amurf joined
meisl lucasb: I really have to apologize - `∃0` must be interpreted as "at-least-zero" which is indeed a tautology. Sorry for having confused you with my flawed attempt at "syntax-directed" insight-gaining. 21:59
22:00 Hor|zon left
jnthn RabidGravy: There's some in RT; I started digging into one of them last night... 22:00
(And fixed another nasty one a week or two back...) 22:01
Time for some rest &
RabidGravy cool
meisl lucasb: but still, I feel there's something interesting wrt to "which is the right way to abstract" here. Would love to get back to it later :)
22:01 amurf left 22:02 mohij_mobile left
lucasb meisl: ok. It was interesting, meisl++. Thanks for the talk; I'll be away now 22:03
meisl lucasb: thx for standing me, cu :)
22:05 lucasb left, xinming_ joined 22:08 xinming left 22:09 dha joined, felher left, bartolin left 22:10 bartolin joined
japhb .ask brrt I don't understand -- were you saying you liked the wording of S27 SYNOPSIS item 2 ("kind, positive member of our community") or did *not* like it? And if the latter, what would you prefer? 22:11
yoleaux japhb: I'll pass your message to brrt.
22:14 zacts joined
japhb giggles at a proposed wording for #3: 'Our standard of behavior is "awesome". If your behavior is LTA (Less Than Awesome), we will offer you a patch for your behavior module.' 22:15
dha So, one of my next p5->p6 docs is going to be a list of the essentials... the changes from p5 to p6 that will be most likely to be useful. I.e. You really need to know that method calls are made with C<.> rather than C<< -> >>, but chances are, most people don't need go know right off the bat that the bit shift operators have changed. 22:18
22:18 xnrand joined
dha I'm currently making a list of possibilities for this document, so I can figure out how best to structure it. 22:18
22:19 pRiVi joined
dha If you have any ideas/comments, that would be most helpful and appreciated. 22:19
Said list is at github.com/dha/perl5-to-perl6-docs...ntials.txt
22:20 zmikund left, bin_005 left
PerlJam dha: sigil invariance is essential, but I didn't see it in the list 22:21
22:22 RabidGravy left
dha Yes! 22:23
It's now on the list. Thanks! 22:24
22:24 broquaint joined
dha That's EXACTLY the kind of input I need. 22:24
PerlJam++
japhb dha: Consider explaining the general form of changes. For example, operators that had separate boolean and numeric forms became ?op and +op, and global special variables gained twigils indicating static compile time or dynamic runtime behavior.
Knowing some of those general rules will help them understand your more detailed docs, I think, because it will give them a mental structure to hang the details on. 22:25
(And has the side effect of showing off that the design of the language is based on these kinds of general rules, rather than happenstance and history.) 22:26
22:27 spider-mario left
dha Yes. Excellent. thanks. 22:28
22:32 Exodist left 22:35 Exodist joined 22:36 felher joined, felher is now known as Guest28157 22:40 raiph left 22:41 raiph joined 22:43 meisl left 22:49 skids joined 22:50 khw left, lizmat joined 22:51 espadrine_ left
TimToady .tell jnthn on average, the lexers visit each character in the setting about 4.3 times, due to relexing at each level of proto/alternation (and that's not counting the extra pass to actually match the data), so I suspect we can speed up the parser considerably by not rerunning sublexers when a superlexer already determined how the sublexer would turn out 22:55
yoleaux TimToady: I'll pass your message to jnthn.
22:57 vendethiel left 23:02 khw joined, vendethiel joined
japhb TimToady: Wow, that's a very telling statistic. Given your parenthetical comment about the "extra pass to actually match the data", is the ideal case that the 4.3 number drops to 0, or to 1? 23:04
TimToady 1, but hopefully we also get enough info out of the lexer to not bother rematching things that don't need capturing 23:05
23:24 amurf joined, vendethiel left 23:31 dha left
japhb Gotcha 23:32
23:35 dha joined 23:44 Hor|zon joined 23:48 Hor|zon left 23:49 mr-foobar left 23:51 pdcawley left, mr-foobar joined