»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
Set by moritz on 22 December 2015.
00:03 firstdayonthejob left 00:05 yqt left 00:10 cdg left, cdg joined 00:14 johndau joined 00:16 cdg left
lucs class Foo { has $n } ; class Bar is Foo { 「new should simply return an instance with $n set to 42」 } # How do I BUILD (I suppose) this? 00:20
timotimo you can call self.Foo::new(:n(42)) if you want 00:22
as in, from Bar's method new
lucs Hmm... 00:23
(trying)
Xliff SrKeys, that gave me a migraine, dammit! 00:25
SrKeys lmao
Xliff I'm not yet up to the changes in map, and deepmap? WTF?
And flat? Are you trying to say something derogatory about certain women?
Shame on you, sir!
00:26 BenGoldberg joined
SrKeys no i'm just trying to say 'ayy lmao' 00:26
Xliff Well you got me to do that, sir.
Xliff doffs hat.
Of course, my laugh was more pronounced like "Aaaaaieeeee!"
lucs timotimo: Yep, thanks.
Xliff SrKeys, You know... you could always have done "say 'ayy lmao'" -- but where's the fun in that? 00:27
SrKeys exactly
Xliff Hay. It's been a good day. I made an Amen break in Hydrogen. 00:28
Xliff loves the Amen break.
diakopter *BLINK*
00:29 Ben_Goldberg left
TEttinger Xliff: sped up, slowed down, whatever it is it sounds like... a thing 00:40
Xliff TEttinger, I very rythmic thing.
s/I/A/
www.youtube.com/watch?v=qwQLk7NcpO...l=malminho 00:41
timotimo hmm. i wonder how we'd expose OOB message bytes to users of our sockets 00:42
Xliff It's one of those things I've always wanted to replicate in a drum program. But first I needed the right drum program.􏿽xA0Then I needed the right samples.
00:42 synopsebot6 left, synopsebot6 joined
Xliff Then I needed to program it all. 00:42
Today I accomplished all three.
*yay*
timotimo neat :)
Xliff And who'd have guessed the secret was #perl6? 00:43
00:43 Actualeyes joined
TEttinger nice! 00:44
www.youtube.com/watch?v=P9NWXe9mHNY
Xliff Ooh! The warble.
TEttinger lots of good drum sampling in that 00:45
Xliff But oh, the pattern programming!
O_O
TEttinger heh
Xliff throws his hands up and starts bopping his head, instead.
I could not imagine doing this by hand. 00:46
This requires drum pads.
00:47 jameslenz left 00:52 nienacko_ joined 00:53 nienacko left 00:58 spider-mario left, wamba left
timotimo wow, tcp oob is pretty much uesless :\ 00:59
01:05 lizmat left 01:07 lizmat joined
Xliff timotimo: Wow. Even trying to read about TCP OOB is useless! =) 01:08
timotimo yeah, potentially because nobody cares about it
Xliff Bingo
timotimo all it can really do is tell you up front "there's going to be a single byte of OOB information coming up some time soon!" and where exactly that OOB was inserted in the stream 01:09
Xliff www.gnu.org/software/libc/manual/ht...-Data.html
timotimo i read that, too 01:11
it wasn't terribly helpful
Xliff Well, thank god. I can stop reading, now. 01:12
Man, I just love it when corporations remove useful data from the internet. 01:14
AlexDaniel chrs?? 01:15
Xliff Then I have to hit the Wayback Machine and hope.
web.archive.org/web/20090228185102...03s07.html
AlexDaniel m: say ‘hello world’.chrs
camelia rakudo-moar 72ba5a: OUTPUT«This type cannot unbox to a native integer␤ in block <unit> at /tmp/d7kh4ACv_I line 1␤␤»
AlexDaniel aah
m: say (50, 60, 60).chrs 01:16
camelia rakudo-moar 72ba5a: OUTPUT«2<<␤»
AlexDaniel m: say (Inf).chrs
camelia rakudo-moar 72ba5a: OUTPUT«This type cannot unbox to a native integer␤ in block <unit> at /tmp/SmdxV925rN line 1␤␤»
AlexDaniel m: say (-10).chrs
camelia rakudo-moar 72ba5a: OUTPUT«chr codepoint cannot be negative␤ in block <unit> at /tmp/jHtVndttHo line 1␤␤»
AlexDaniel fine.
m: (999999).chrs.say 01:17
camelia rakudo-moar 72ba5a: OUTPUT«󴈿␤»
AlexDaniel m: [[97, 98], [99, 100, [101, 102, 103]]].chrs.say 01:20
camelia rakudo-moar 72ba5a: OUTPUT«This type cannot unbox to a native integer␤ in block <unit> at /tmp/XJuD72avfe line 1␤␤»
AlexDaniel star: [[97, 98], [99, 100, [101, 102, 103]]].chrs.say
camelia star-m 2016.01: OUTPUT«a bc d e f g␤»
AlexDaniel Hmm… 01:21
01:24 geekosaur left 01:25 vendethiel joined 01:26 geekosaur joined 01:46 vendethiel left
BenGoldberg The sole and exclusive use of tcp oob that I know of is within telnet, when you press the break key on your keyboard. 02:01
geekosaur tcp oob isn't really oob, so it's kinda useless for most things you'd want to use oob for 02:02
02:08 mr-foobar left
BenGoldberg It's use in telnet kinda makes sense. Let's suppose you accidentally typed 'cat really_long_file' ... if you typing control-c did nothing more than kill the 'cat' process, you still might end up with many unwanted pages of data scrolling up your terminal. But by using an oob byte (one in each direction), and discarding everything prior to the oob byte, less is displayed and the problem is reduced. 02:09
geekosaur well, yes, as long as you only need to do it once 02:10
BenGoldberg If you send a second oob signal over tcp, the recipients oob pointer is altered from the first location to the second, so more bytes of unwanted data get discarded. 02:12
Of course, if you send a couple of oob bytes, the location of that earlier one is forgotten, which could be a bad thing, if we were doing anything other than discarding stuff..
geekosaur exactly 02:13
this is not OOB, this is a hack that is more or less only useful for telnet
02:14 cdg joined, mr-foobar joined 02:18 molaf_ left 02:25 tmch joined 02:26 shicheng left 02:29 cdg left, kid511 left 02:37 tmch left 02:38 semigloss joined 02:43 shicheng joined 02:45 ilbot3 left 02:47 ilbot3 joined 02:49 noganex joined 02:52 noganex_ left 02:55 kalkin- left, kalkin-_ joined 02:59 cdg joined 03:00 sno left, sno joined, perturbation left
Xliff Does Perl6 have a module that groks XPath? 03:17
Hopefully XPath2?
Please?
03:17 khw joined
AlexDaniel Xliff: Not yet, as far as I can see 03:21
I've also found this: github.com/supernovus/perl6-xml-xpath hehe :)
Xliff There are some on github using the same namespace.
XML::XPath -- one for Xpath 1.0, the other for XPath 2.0
XPath 2 - github.com/fjwhittle/p6-xml-xpath
XPath 1 -- github.com/supernovus/perl6-xml-xpath 03:22
AlexDaniel oh, interesting
Xliff Which sucks because I had a thought about doing something with Perl6 and XPath 2 to get my feet wet. 03:23
Although maybe I can get away with XPath 1 03:24
AlexDaniel Xliff: well, if you want to get your feet really wet then you can try that module by fjwhittle
Xliff I may try both, although I might suggest that fjwhittle rename his to XML::XPath2 03:25
AlexDaniel Xliff: last commit Jun 29, 2015 – which is before the release, and, if I am not mistaken, pre-GLR
Xliff Might put in a pull request for that.
pre-GLR?
AlexDaniel Xliff: which means that this modules will not run as is
this module*
well, the chances are not high :) 03:26
Xliff: yeah, great list refactoring
Xliff Yikes! And the XPath1 fromn supernovus is later than that!
s/later/earlier/
AlexDaniel Xliff: well, if you look closely there's nothing in that repo
just a readme…
Xliff LOL
I didn't get that far... no.... :P 03:27
AlexDaniel which is why I said “hehe :)” :)
Xliff =P =P
Xliff facepalms
AlexDaniel Xliff: OK so there were some huge changes in the way the lists are handled (like what flattens and what doesn't) 03:28
Xliff This looks more promising though... github.com/supernovus/perl6-xml-query
AlexDaniel Xliff: so some pre-GLR code requires some tiny changes. Like, sometimes you have to add “flat”
Xliff And I still say that having a "flat" operator may be insulting to some females. 03:29
And males too!
=-D
AlexDaniel m: say 42.69.nude.flat 03:30
camelia rakudo-moar 72ba5a: OUTPUT«(4269 100)␤»
Xliff And "nude" too?
Perverts!!
03:32 noganex_ joined
AlexDaniel m: say ‘x’ leg ‘y’ # :) 03:32
camelia rakudo-moar 72ba5a: OUTPUT«Less␤»
03:33 BenGoldberg left
TEttinger best not mention rack-mounted servers 03:33
Xliff We want MOAR leg, not LESS! 03:34
So supernovus aparently hangs around here, sometimes.
!seen supernovus
03:35 noganex left
Xliff .seen supernovus 03:35
yoleaux I saw supernovus 28 Dec 2015 18:21Z in #perl6: <supernovus> At some point I should look at rakudobrew to replace my moon script that I've been using for the last 4 years.
AlexDaniel m: say ‘ant’ leg ‘spider’ # oh look! An operator that counts the number of legs! 03:37
camelia rakudo-moar 72ba5a: OUTPUT«Less␤»
SrKeys ?p6> ('z' leg 'a').subst('re', 'ar').say 03:38
m: ('z' leg 'a').subst('re', 'ar').say
camelia rakudo-moar 72ba5a: OUTPUT«Moar␤»
SrKeys always use the wrong command in the wrong channel
03:39 semigloss left
Xliff Heh. 03:47
Well. Thought XML::Query might have been a good replacement, but that too is written by supernovus. At least that one is in the ecosystem, but it is not compiling. 03:48
Rather. It's failing tests.
AlexDaniel Xliff: by the way, what are you trying to do? 03:50
03:50 labster1 joined, labster left
Xliff AlexDaniel: I'm just randomly thinking about something to work on and trying to find modules to help. 03:51
One of the things I was thinking about doing was updating an old project that used regular expressions to screen scrape. 03:52
Replacing the extraction algorithm with something more modern.
AlexDaniel so you're actually parsing HTML? 03:53
then use Gumbo
04:02 cdg left 04:05 vendethiel joined, nowan left 04:07 nowan joined 04:11 MadcapMobile joined
Xliff AlexDaniel, Gumbo? Will look into it. 04:12
AlexDaniel yeah, github.com/Skarsnik/perl6-gumbo
Xliff Looking now. 04:13
Although, at first blush, I -really- don't like the syntax.
Too used to XPath and jQuery, I guess.
And filtering only on one attribute is the real deal breaker. 04:16
MadcapMobile Xliff: how do you mean? 04:17
Xliff Gumbo is a tag based filter, and will only allow you to filter one attribute of that tag. 04:18
So you can't get all elements of the same class, regardless of tag.
At least I think that's what I'm reading.
parse-html(Str $html, :$nowhitespace, *%filters) 04:20
So does this match the above signature? - "parse-html($html, :TAG<p>, :SINGLE);"
Nevermind. $nowhitespace isn't given so everything after $html is slurped into %filters 04:23
This is going to take some getting used to.
MadcapMobile github.com/google/gumbo-parser/blo...nks.cc#L33 04:24
Xliff: ^ looks like you can find any attribute 04:25
Xliff Yes, but what if I want to filter based on -2- attributes? 04:26
The docs aren't quite clear on that.
MadcapMobile you would do two separate calls to gumbo_get_attribute (or whatever the P6 wrapped equiv is), that'd be something great to provide in perl6-gumbo actually (not played with it yet though) 04:27
Xliff Would like to do something as simple as: 04:28
$xmldoc.root.elements(:TAG<div>, :class<mainDiv>, :name<element-*>) 04:29
Although :name<element-*> might be asking too much
Also would need positional concepts. You don't know how useful the following construct is when dealing with the DOM 04:31
$('div ul li.myClass') 04:33
skids It will be very interesting to see how DOM idiomizes in Perl6, and we'll probably see that soon with -js looming.
Xliff -js?
skids rakudo-js
Xliff Oooooo
Yes. Veeery interesting.
MadcapMobile, put simply, I want to have flexible selectors and Gumbo might be a start but will probably not do everything I need. 04:34
Not even close since it doesn't do positional filtering.
$('div ul li.myClass') -> Return all <LI> nodes with class "myClass" that is inside a UL. That UL must be inside a DIV. 04:35
Note that between the DIV and UL and the UL and LI, any number of containing tags may be included since we aren't using the ">" selector. 04:36
MadcapMobile yes your idea sounds really neat, I'm not knowledgeable enough on Gumbo nor the wrapper to tell you whether that'd be easy, I'm in the midst of wrapping MyHTML which this is all great insight into how the high-level P6 api should work
Xliff :)
MadcapMobile so essentially you'd like to use css selector language? ala jQuery 04:37
04:39 skids left 04:40 isBEKaml joined
Xliff Doesn't have to be. XPath would work. 04:44
Heck, I could even deal with a programmatic API as long as there's enough syntactic sugar so I don't have to remember the whole spec. 04:45
04:45 isBEKaml left
MadcapMobile It'd be neat to map that to a 6y API, 6y definitely wouldn't be a string-based DSL but maybe something hash-like: S(div => ul => li.myClass) 04:45
Xliff $xmldoc.root.find('a', :class<neat>).find('ul', :class<not>).find('b') -- Returns the jQuery equivalent of $('a.neat ui.not b') 04:46
04:47 khw left
Xliff Mind you I] 04:48
I'm mixing metaphors from the various projects I've looked at, today.
MadcapMobile that's not too bad for a wrapped C library, the sugary versions should be a module out from the C wrapper, I think
04:50 tmch joined 04:53 MadcapJake left 04:54 MadcapMobile is now known as MadcapJake
Xliff I'm getting sick of all of these mobile games that want to shove ads in your face (for their shit or someone else's) every 5-10 seconds. 04:58
Big Fish games are the worse. I am getting sick of seeing the Facebook "F" everywhere. 04:59
AlexDaniel m: say (^99999999999999999999999999999)[999999999999999] 05:00
right…
skids++ 05:01
camelia rakudo-moar 72ba5a: OUTPUT«(timeout)»
Xliff MadcapJake, wrapping " myhtml_get_nodes_by_tag_id(tree, NULL, MyHTML_TAG_TITLE, NULL);" into something useful might not be that hard.
He says... with tongue firmly in cheek.
AlexDaniel, I put that in my perl interpreter. How many years should I have to wait until it finishes? 05:02
AlexDaniel Xliff: it seems like after this patch you will get the answer instantly: github.com/rakudo/rakudo/pull/728 05:03
Xliff Oh, SPIFF
Lemme see if I can pull that now. 05:07
SrKeys m: my &pretty-list = *.join(', ').trans(/', '(\w+)$/ => {", and $0"}); say "I'm " ~ pretty-list <cool great cool> 05:08
camelia rakudo-moar 72ba5a: OUTPUT«I'm cool, great, and cool␤»
SrKeys the code doesn't lie
05:09 vendethiel left
MadcapJake Xliff: Once I sit down and put a couple more (2-4 really) hours into it (HTML::MyHTML), I should have the bindings and some low-level wrappings done. Then I was planning on doing some kind of high-level module that gives you the spiffy/sugary wrapping in the vein of jQuery (maybe called 6Query/sixQuery?). 05:11
AlexDaniel sexQuery
MadcapJake o_O that might be a bit too provocative! 05:12
AlexDaniel just a little bit
again, how do I make an infinite list of one same element? 05:13
MadcapJake :P I was thinking of even finding a symbol that I could commandeer into the jQuery-style `$('string of css selectors')`
AlexDaniel: « 1 xx Inf »?
05:14 vendethiel joined
Xliff "sexQuery" too provocative for a language with "flat" and "nude" functions? 05:16
Seriously?
-_o
MadcapJake lol
maybe I could use ¢ or ¤ as they are both easily reachable unicode (a2 & a4) and would evoke that jQeury vibe 05:18
Xliff Now that I'm running WinCompose, I'm surprisingly OK with that. 05:19
c/
􏿽xA2
05:19 synopsebot6 left
Xliff See? 05:19
05:20 synopsebot6 joined
Xliff I don't know what that second symbol was... 05:20
MadcapJake nice! that's really easy, I need to setup compose
Xliff I need a cheatsheet for my cheatsheet.
MadcapJake it's the generic currency symbol and apparently it's even on some european keyboards!
Xliff ě 05:21
Hummm... this font might not have the right glyps
=l
05:22
That's L=, not =L
AlexDaniel m: my @l = <one two three four>; say [~]((@l.reverse Z ‘ and ’, |(‘, ’ xx ∞)).flat.reverse[1..*])
camelia rakudo-moar 72ba5a: OUTPUT«one, two, three and four␤»
AlexDaniel that's not too short
SrKeys: ↑ 05:23
Xliff Whoot!
MadcapJake Xliff: try « o x » or « x o » for WinCompose to get the generic currency symbol
Xliff > say (^99999999999999999999999999999)[999999999999999]
999999999999999
Was instant!
􏿽xA4
05:23 synopsebot6 left
Xliff 􏿽xA4 05:23
05:23 synopsebot6 joined
Xliff MadcapJake, Yup. Thanks. 05:24
MadcapJake no prob! For a symbol I just learned about today, it apparently is common and used :P
synopsebot6 seems to be having some issues
SrKeys AlexDaniel: I wasn't golfing :p 05:25
AlexDaniel SrKeys: but… but…
SrKeys: that's some regular code that I write…
SrKeys why not just
(', ' xx *)
instead of ∞
AlexDaniel ∞ looks more infinite 05:26
SrKeys fair
MadcapJake I kind of think using * there is a bit misleading as it's used elsewhere to indicate "whatever you got" 05:27
SrKeys here it can mean
whatever you need
:p
?p6> {grep 2..$^x-2: {[==] $x.polymod($_ xx*)}}(99).say # like this golf code 05:28
m: {grep 2..$^x-2: {[==] $x.polymod($_ xx*)}}(99).say # like this golf code
camelia rakudo-moar 72ba5a: OUTPUT«(10 32)␤»
SrKeys damnit
MadcapJake lol, right just feels slightly unclear
SrKeys m: {grep 2..$^x-2: {[==] $x.polymod($_ xx*)}}(90).say # like this golf code
camelia rakudo-moar 72ba5a: OUTPUT«(14 17 29 44)␤»
AlexDaniel MadcapJake: synbot does not like unicode… for some reason
MadcapJake: see this: github.com/tadzik/synopsebot/issues/8
SrKeys also your thing doesn't include the oxford comma AlexDaniel 05:29
for shame
MadcapJake synopsebot6: help
what does synopsebot6 do?
oh tickets and what's Snn? 05:30
synopsebot6: botsnack
synopsebot6 om nom nom
AlexDaniel SrKeys: if I had a comma there I wouldn't really need “and”!
m: my @l = <one two three four>; say join ‘, ’, @l
camelia rakudo-moar 72ba5a: OUTPUT«one, two, three, four␤»
MadcapJake synopsebot6: S02
AlexDaniel look! It's great! :)
MadcapJake synopsebot6: S02:12 05:31
synopsebot6 Link: design.perl6.org/S02.html#line_12
SrKeys well
sure
but the command with and gives you all the nice
while avoiding any ambiguity
one, two and three could be [one, two, three] or [one, [two, three]] 05:32
but
one, two, and three is only the first
s/command/comma/
05:35 vendethiel left 05:46 perlawhirl joined
perlawhirl hi nightshift, how are we all 05:47
05:48 Cabanossi left 05:50 Cabanossi joined 05:51 AlexDaniel left
perlawhirl am i able to rename a method (eg. grep) to something else... or rather, create a method that basically points to grep 05:52
SrKeys can someone confirm that this is O(n) 05:58
{@^a.first(* > max @a[^floor @a/e]) // @a[*-1]} 05:59
I don't want to get yelled at on codegolf
(whitespace added for readability) 06:00
06:02 CIAvash joined 06:13 shicheng left 06:21 geraud left 06:22 mr-foobar left 06:29 mohae_ left 06:30 mr-foobar joined 06:32 vendethiel joined 06:34 colomon left 06:50 wamba joined, shicheng joined 06:54 vendethiel left 07:00 domidumont joined 07:03 cdg joined 07:04 domidumont left 07:05 domidumont joined, araujo left, perlawhirl left 07:07 cdg left 07:13 araujo joined 07:14 araujo left, firstdayonthejob joined 07:15 araujo joined, araujo left, araujo joined 07:17 araujo left, araujo joined 07:19 araujo left, araujo joined 07:21 araujo left 07:22 araujo joined
Xliff WTF is codegulf 07:27
TEttinger shortening code so it's in as few chars as possible 07:28
Xliff Yeah, OK. 07:30
codegolf.stackexchange.com/question.../4827#4827
Coding for laughs.
Unfortunately, my brain doesn't work that way. Too straight forwward.
HOLY CRAP! Jelly is crazy! 07:33
07:34 z8 left 07:35 sno left
Xliff o7 07:36
07:36 Xliff is now known as Xliff_ZZZZ 07:42 nakiro joined 07:44 cpage_ left 07:45 cpage_ joined
tadzik AlexDaniel: fwiw, I have no idea who actually runs synbot and what code is it using 07:45
07:48 _nadim joined, TimToady left 07:50 jack_rabbit left 07:53 molaf joined 07:55 TimToady joined 07:57 firstdayonthejob left, fireartist joined 08:07 maybekoo2 joined 08:12 sno joined 08:16 abraxxa joined 08:17 darutoko joined 08:18 ely-se joined 08:22 FROGGS joined 08:24 bpmedley left, nowan left 08:27 cpage_ left, nowan joined 08:29 cpage_ joined 08:31 perlawhirl joined 08:33 zakharyas joined 08:34 zakharyas left 08:35 zakharyas joined 08:38 nakiro left 08:39 CIAvash left 08:41 nakiro joined, araujo_ joined 08:43 araujo_ left 08:44 araujo_ joined, araujo left 08:45 shicheng left
_nadim morning! 08:51
I wonder if eqv is implemented for Match.
moritz mlenz@mlenz-workstation:~/p6/rakudo (nom)$ git grep 'eqv.*Match'|wc -l 08:52
0
looks like a "no" to me
might be a nice exercise for a new-ish-comer
08:53 perlawhirl left 08:57 Gentoolman joined, sortiz left
Gentoolman Hi 08:57
Is anybody there?
moritz just us bots
Gentoolman How can install rakudobrew for all users? 08:58
on a Linux
moritz Gentoolman: what I did was create a separate user account with a world-readable home directory, and installed rakudobrew there
Gentoolman: and told everybody to source /home/rakudobrew/rakudobrew-bash or whatever I called that script that sets up the environment variables 08:59
Gentoolman moritz: But why a new user, if we can make just a new folder?
in /usr/perl6 for example
moritz Gentoolman: but it's a rather atypical workflow to have rakudobrew for global installation; it's usually much better to install release into /opt/rakudo-2016.02/ etc for example 09:00
Gentoolman: rakudobrew looks in the user's home directory for files by default, so a separate user is cleaner/easier
09:00 Gentoolman left
moritz Gentoolman: it's a also a security feature, so that if compiling rakudo ever accidentally removes files or so, it can only remove files from the rakudobrew user 09:01
_nadim moritz: I found hat by accident when two dumps said they were equivalent but obviously not. 09:02
09:05 zakharyas left
nine Please do not use rakudobrew for a system wide installation. It has never been inteded for that use case. 09:13
09:13 vendethiel joined 09:17 kurahaupo_ left 09:19 kurahaupo joined 09:25 Gentoolman joined
Gentoolman Is there a way to install perl6 module system-wide? 09:25
moritz Gentoolman: sure 09:30
Gentoolman: the easiest way is to install a Rakudo Star system wide, which comes with panda
Gentoolman: then as a user that has write access to the system-wide installation (don't make that root; just give the files to somebody else) you can do 'panda install Math::Model' or something like that
Gentoolman I have gentoo and there r only rakudo, nqp and moarvm ebuilds. The panda ebuilds i found doesn't working 09:31
moritz Gentoolman: rakudo.org/downloads/star/rakudo-st....01.tar.gz 09:32
building from source isn't hard
Gentoolman I know, but i need to register it in my ports system
I better write a ebuild for panda 09:33
moritz Gentoolman: where does that need come from? 09:34
09:40 maybekoo2 left 09:43 rindolf joined
nine Gentoolman: Please do not use rakudobrew for a system wide installation. It has never been inteded for that use case. 09:44
Gentoolman: I would hold off on the packaging modules. There are a couple of issues that make packaging a lot harder than it should. Fixes are in the works and will take a couple of weeks and should be well worth the wait. 09:45
09:49 dakkar joined 09:52 maybekoo2 joined 09:55 vendethiel left
moritz installing to a location that the package manager doesn't control (/usr/local or /opt, typically) is not too nice, but not too hacky either 09:56
09:58 donaldh joined, trnh joined, trnh left, trnh joined 10:00 TEttinger left 10:01 johndau left 10:05 vendethiel joined, bpmedley joined 10:06 ely-se left 10:14 CurtisOvidPoe joined
CurtisOvidPoe My apologies in advance. I’ll have a TechBeacon.com article on Perl 6 published soon, and they’ve gone with the click-bait title of ‘Why Perl 6 is the “Game of Thrones” of Programming Languages’ (in reference to a comment I made that A Song of Ice and Fire (GoT) started in 1991 and has been worth the wait, even though it’s not “finished”. 10:15
DrForr Dun dun duhhhh duh dunn dunn... 10:16
moritz CurtisOvidPoe: there are worse titles I could imagine :-) 10:17
CurtisOvidPoe Makes me nervous, though. Certainly wasn’t the title I originally had, but I admit that it’s a hell of a lot more attention grabbing. 10:18
xiaomiao CurtisOvidPoe: if I didn't know that I'd just ignore it 10:19
clickbait poop is not worth the attention
:\ 10:20
DrForr www.youtube.com/watch?v=SVaD8rouJn0
Juerd CurtisOvidPoe: The sad thing about clickbait is that it actually works.
masak CurtisOvidPoe: as long as we're not all dead by the end of Perl 6, I'm fine with the title 10:21
jnthn
.oO( I knew Rat.nude would come in useful for something... )
CurtisOvidPoe masak: Heh :)
masak well, I'm fine with that too, actually. at least if it means Perl 6 survives for 700 years or something.
DrForr I'll take Tyrion's role :) 10:22
masak how impish of you
DrForr "All men must die... who are related in any way to Sean Bean." 10:23
10:23 nadim joined, RabidGravy joined
moritz
.oO( John Barleycorn must die )
10:25
10:26 _nadim left, Gentoolman left, Gentoolman joined 10:27 vendethiel left 10:31 _nadim joined, araujo_ left 10:32 azawawi joined
azawawi hi 10:32
.seen ugexe
yoleaux I saw ugexe 22 Mar 2016 18:49Z in #perl6: <ugexe> ==>> seems like it would do what i want (but nyi)
azawawi ugexe: ping
10:32 Gentoolman left 10:33 nadim left 10:34 ely-se joined 10:39 zakharyas joined 10:40 trnh left 10:43 trnh joined, trnh left, trnh joined
timotimo i'm on hack and i'd like to figure out what exact version of Net::IRC::Bot is installed 10:45
nine > cat bin/pmversion 10:48
perl -M$1 -E "say \$$1::VERSION"
timotimo oh, duh :) 10:49
azawawi .tell ugexe how do i force zef into fetching the latest sources for my repo... i updated META.info and tried 'zef update'. didnot work until i did a 'zef nuke StoreDir'
yoleaux azawawi: I'll pass your message to ugexe.
10:50 azawawi left
timotimo "could not find symbol '&VERSION'" 10:50
could be because on hack, the system-wide rakudo is 2016.01
moritz oh, nine's answer was for perl 5 :-)
nine There is a Net::IRC::Bot for Perl 6? Oh how time flies by
10:51 ely-se left 10:52 trnh left, maybekoo2 left
timotimo has been for quite some time 10:54
RabidGravy timotimo, gist.github.com/jonathanstowe/0d53...b9df58d5c6 - adjust to taste 10:55
RabidGravy has snippets for everything
timotimo i wonder why i can't just panda --installed list
RabidGravy: you decided to not share the first line and the first character of the "for" with me, though? 10:57
10:57 trnh joined, labster1 left
RabidGravy hahaha 10:58
it's an exercise for the reader
timotimo oh lord
the "version" was last touched april 2011 10:59
so ... yeah ... i have "the latest version"
11:08 trnh left 11:10 z8 joined 11:14 kentnl left 11:19 kid51 joined 11:29 nadim joined 11:32 _nadim left, virtualsue joined 11:38 _nadim joined 11:39 trnh joined 11:40 nadim left 11:44 mojca joined
mojca I'm experiencing a failure when upgrading panda from 2015.12 to 2016.02 11:44
cd "/path/to/panda/work/panda-2016.02" && /opt/local/bin/perl6 bootstrap.pl --prefix=/opt/local
Unhandled exception: Missing or wrong version of dependency 'gen/moar/stage2/QRegex.nqp' (from 'src/Perl6/Pod.nqp') at <unknown>:1 (/opt/local/share/nqp/lib/Perl6/Pod.moarvm:<dependencies+deserialize>)
timotimo sounds like you haven't "make install"'d 11:45
mojca If someone can help me out with this ...
which part should I install?
timotimo rakudo
mojca I have MoarVM 2016.03 installed, nqp 2016.03
RabidGravy you may get this error if you are in the rakudo build directory and run another rakudo
timotimo well, something is out of date, probably the Pod.moarvm file
mojca and rakudo 2016.02 (because there is no 2016.03 yet available)
RabidGravy, I don't understand 11:46
can I actually use rakudo 2016.02 with MoarVM/nqp 2016.03? 11:47
timotimo yeah
mojca And if so, should I rebuild rakudo after upgrading MoarVM from 2016.02 to 2016.03?
timotimo as long as you're fulfilling the minimum required nqp version and your nqp fulfills the minimum moarvm version you're fine
mojca the file /opt/local/share/nqp/lib/Perl6/Pod.moarvm is binary, so I have no clue whether it is outdated or not 11:48
timotimo there are some points where you have to rebuild rakudo when your moarvm got newer
mojca ok, so I'll try to rebuild rakudo and then try again
RabidGravy [jonathan@coriolanus perl6]$ cd rakudo
[jonathan@coriolanus rakudo]$ perl6 -e 'say foo'
Unhandled exception: Missing or wrong version of dependency 'gen/moar/stage2/QRegex.nqp' (from 'src/Perl6/Pod.nqp')
there
that's what I mean
mojca is there any plan to have 2016.03 released?
timotimo you can rm -rf the whole nqp/ folder and re-install all these things
mojca ok, "perl6 -e 'say foo'" crashes with the same error
I'll rebuild rakudo
RabidGravy If you are in a directory that you built rakudo in yes 11:49
DrForr CurtisOvidPoe: Maybe throw www.youtube.com/watch?v=1CLCOvZOh1o into the comments :)
lizmat mojca: I think the plan is for today
mojca if it's going to be released today, I might just as well wait with a rebuild 11:50
I'm asking just in case: does panda also have to be reinstalled/rebuilt after upgrading rakudo? 11:51
11:52 kid51 left
mojca I'm actually unable to rebuild rakudo 2016.02 11:52
it "crashes" with "Stage parse : This type cannot unbox to a native string at gen/moar/stage2/QASTNode.nqp:863 (/opt/local/share/nqp/lib/QASTNode.moarvm:symbol)"
nine mojca: upgrade should not affect panda
mojca nine: thanks
nine mojca: all your modules will still be there
mojca in any case it seems that I'll have to wait for rakudo 2016.03 11:53
lizmat mojca: perhaps you need to run configure again to get the latest nqp / moar 11:54
mojca I already have the latest moarvm and nqp
and I configure from a clean directory
RabidGravy yeah, because it does work "This is Rakudo version 2016.02-200-g54ce66e built on MoarVM version 2016.03"
mojca for me it runs until "/opt/local/bin/moar --libpath="/opt/local/share/nqp/lib" perl6.moarvm --setting=NULL --ll-exception --optimize=3 --target=mbc --stagestats --output=CORE.setting.moarvm gen/moar/m-CORE.setting" 11:55
lizmat mojca: it's just that that error feels to me like a version mismatch somehow
mojca and then Stage parse : This type cannot unbox to a native string
timotimo ...wtf? :) 11:56
mojca I'll check the latest commit from github to see if that helps
jnthn mojca: Are you trying to rebuild it against nqp 2016.03?
timotimo oh, wait
this is 2016.02, the *release* 11:57
jnthn Generally you've got quite a lot of slack in using future MoarVM versions from Rakudo
mojca yes, I have installed moarvm 2016.03, then nqp 2016.03 … and only then noticed that rakudo 2016.03 has not been released yet
timotimo i didn't realize thet, sorry
jnthn But NQP versions need to kmatch more closely.
*match
timotimo i thought you were using latest from git
mojca no, I was using released versions only
but with the latest git commit of rakudo it seems better 11:58
nine I can reproduce: MoarVM 2016.03 with nqp 2016.03 will give you a "Stage parse : This type cannot unbox to a native string" in rakudo 2016.02 11:59
RabidGravy so don't do that then
mojca I'll package the latest git commit of rakudo until new version gets released (to avoid users complaining; because I already committed an upgrade of moarvm and nqp) 12:00
timotimo you're packaging for a distro?
mojca MacPorts
I don't believe we have many users anyway 12:01
will started the ball rolling
timotimo there's also potential users we should worry about
sorry to mislead you like that ;(
12:02 virtualsue left
mojca I'll just upgrade rakudo to a commit from git, then I hope users won't experience problems 12:02
RabidGravy I'd guess that what's in there right now is a "release candidate" 12:03
mojca but I should really discuss packaging of panda with you experts
12:04 pierrot left 12:05 donaldh left
mojca and I would be really grateful if someone would look into dyncall, libtommath, libuv in MoarVM 12:05
RabidGravy "look into" 12:06
mojca because I had to mark a conflict between MoraVM and those three libraries, otherwise they all install the same files to the same locations
timotimo well, you can already use a system-wide installed version of at least some of the dependencies
mojca it would be great if MoarVM would install those dependencies to some private prefix, so that other software wouldn't find them there 12:07
timotimo i don't think we're supposed to install these libraries
RabidGravy I thought it did do that
mojca I tried to use system-wide dependencies, but it lead to a number of problems
and at some point I "gave up" because I wanted to get the job done
and some developers advised me that many libraries are simply not new enough in their latest release 12:08
with "perl6 -e 'say foo'" 12:09
I now get
===SORRY!=== Error while compiling -e
RabidGravy which is right
psch m: say foo
camelia rakudo-moar 176285: OUTPUT«5===SORRY!5=== Error while compiling /tmp/C8wbVjMH2E␤Undeclared routine:␤ foo used at line 1␤␤»
timotimo yeah, you don'thave a foo at all 12:10
mojca Undeclared routine: foo used at line 1
timotimo we could of course ship "foo", "bar" and "baz" and also "quux"
with some default implementation
RabidGravy when I typed that ^ I new it would fail before it started to parse
mojca ok, perl6 -e 'say "foo"' works
12:10 perlpilot_ joined 12:11 perlpilot left
mojca I'm sorry, I've never actually used perl6, I didn't think of the example you provided me too much 12:11
12:11 colomon joined, cpage_ left
mojca timotimo, yes, moarvm still ships $prefix/include/libuv/uv.h, $prefix/include/libtommath/tommath.h, $prefix/include/libatomic_ops etc. 12:14
and this is a bit annoying
timotimo yeah, that's not so good
timotimo doesn't grok the build system :(
12:16 virtualsue joined
FROGGS mojca: we dont install libtommath stuff if you configure moar with --has-libtommath 12:20
timotimo well, at least that
FROGGS mojca: same is true for --has-dyncall and --has-libuv 12:21
mojca I need to check, but isn't there some statement that at least some of these libraries are too old and that MoarVM includes the latest unreleased version?
FROGGS in fact, should be true for all of: --has-libtommath, --has-sha, --has-libuv, --has-libatomic_ops, --has-dynasm, --has-dyncall and --has-libffi
mojca: depends on what distro you are... 12:22
mojca I can try to do the installation again, but the last time it started bugging me with some completely unrelated alternative dependencies
I'm in my own distro :) :) :)
ok, joke aside
FROGGS mojca: it is surely true for libtommath, but this might get released this year
mojca we generally provide the latest versions of released software 12:23
because there are no releases, it's a "rolling" package manager
FROGGS mojca: yes, you have to compare the versions we rely on to the versions that exist for your distro before you try to use them
mojca I can start following libtommath
but this still doesn't change the fact that it' a very bad practice to install libraries to the same place where the original library would put them 12:24
and I still believe that MoarVM should fix that
wxWidgets also installs a large number of libraries, but they are all well hidden
12:25 z8 left
timotimo right, we shouldn't put them quite as globally 12:25
mojca for example: github.com/MoarVM/MoarVM/issues/320 12:26
there are two examples where I was struggling to get external dependencies working (and then gave up) 12:27
RabidGravy I'm sure I've already made something for www.mybunnyhug.org/fileformats/pgm/ but can't find it 12:28
12:29 nowan left
[Coke] mojca: see #p6dev, #perl6-release - 2016.03 rakudo will be uploaded today. 12:32
(evening eastern time)
we had a ticket that I thought was a blocker, but turned out to not be, and then $dayjob interfered. 12:33
mojca thank you
12:35 virtualsue left, wamba left
[Coke] mojca++ keeping macports updated! 12:35
12:35 wamba joined
mojca I hope you'll keep testing the packages to make sure that they don't end up in a broken state 12:35
and make some suggestions about Panda 12:36
I really don't like the current hacky approach
12:38 z8 joined
RabidGravy I'm sure patches would be appreciated 12:39
12:42 kent\n joined, kent\n left, kent\n joined 12:47 Sgeo__ left 12:49 perlpilot_ is now known as perlpilot 12:52 nowan joined 12:54 nowan left 12:56 cpage_ joined, nowan joined
gregf_ m: if ( 10 < 1 ){ print "nope"; } 12:56
camelia rakudo-moar 08a760: OUTPUT«5===SORRY!5=== Error while compiling /tmp/LSznfPQLPc␤Missing block␤at /tmp/LSznfPQLPc:1␤------> 3if ( 10 < 1 ){ print "nope"; }7⏏5<EOL>␤ expecting any of:␤ block or pointy block␤»
gregf_ m: if ( 10 < 1 ) { print "nope"; } 12:57
camelia ( no output )
gregf_ the compiler is looking for whitespaces :|
or parser
psch m: say %( a => 1, b => 2){'a'} 12:59
camelia rakudo-moar 08a760: OUTPUT«1␤»
psch because that wants to work
well, maybe not *only* because of that :)
perlpilot gregf_: you don't need parens there. And yes, whitespace between ) and { would be required for Rakudo to parse it correctly. 13:00
gregf_ perlpilot: yeah, i saw that, but just for better readability 13:01
RabidGravy Is there anything in the ecosystem that will parse "Mon, 14 Mar 2016 13:28:19 +0000" as a DateTime? DateTime::Parse doesn't quite manage it 13:02
ah DateTime::Format::RFC2822 13:04
13:11 cdg joined
gregf_ im not able to figure out why this code is failing 13:15
gist.github.com/anonymous/ee9caad3bc145cdfef37 13:16
do i need to instantiate Prime? can i not just call it as a class method?
psch m: gist.github.com/anonymous/ee9caad3bc145cdfef37
camelia rakudo-moar 08a760: OUTPUT«Cannot look up attributes in a type object␤ in method is_prime at /tmp/zfmMGEiTJi line 12␤ in method test at /tmp/zfmMGEiTJi line 24␤ in block <unit> at /tmp/zfmMGEiTJi line 29␤␤»
ilmari RabidGravy: does it handle all the date formats in youtu.be/JENdgiAPD6c?t=11m4s ? 13:17
timotimo m: say Int.new(99)
camelia rakudo-moar 08a760: OUTPUT«99␤»
ilmari including comment-folding-white-space
psch m: say Int.is-prime
camelia rakudo-moar 08a760: OUTPUT«Invocant requires an instance of type Int, but a type object was passed. Did you forget a .new?␤ in block <unit> at /tmp/QoDaxnJyqi line 1␤␤»
gregf_ hmm :|
timotimo gregf_: you have to create a new Prime instance otherwise $.start won't work
gregf_ true :|, my bad 13:18
timotimo :)
psch similarly, an uninstantiated MyInt doesn't have a value either
gregf_ can it be made a class variable/ static?
13:18 vendethiel joined
RabidGravy ilmari, I'm sure you can fix it to do so 13:18
gregf_ psch: im instantiating it in the first map
RabidGravy I on the other hand only want to parse one particular format 13:19
psch oh, right, didn#t see that, sorry :)
gregf_: you could do 'my $start = 2' instead of 'has $.start is rw = 2', but then you have to reset it at the end of your is_prime 13:20
gregf_ ah, right
psch (you could also use CORE::<&is-prime> instead... :) ) 13:21
gregf_ timotimo: psch: Thanks!
oh , ok :)
psch m: say ^1000 .grep: *.is-prime
camelia rakudo-moar 08a760: OUTPUT«(2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 211 223 227 229 233 239 241 251 257 263 269 271 277 281 283 293 307 311 313 317 331 337 347 349 353 …»
psch it's probably faster, too :)
13:21 mprelude_ joined
gregf_ hmmm 13:22
13:23 pierrot joined, trnh left
RabidGravy oh dear, that module can't *parse* those dates at all 13:23
or any dates 13:24
c'mon you slackers do I have to make everything for myself
perlpilot RabidGravy: you make everything for everyone else too :) 13:25
13:25 mprelude left, skids joined
DrForr I'm guessing that the interest in is-prime is because of the recent prime-number bias that's been found? :) 13:29
RabidGravy we need more people actually writing software
psch is compiling 13:30
timotimo since i'm into making video games, i'm kind of blocked by performance :) 13:31
but to be fair, i've never actually maked a game yet
13:31 wbill joined
DrForr So far my talks on web development seem to be the popular thing :) 13:31
RabidGravy DrForr, I've noticed that the tests for Prancer only seem to test GET routes, is this because POST/PUT/DELETE don't work or you just haven't got round to it 13:32
jnthn is writing the MoarVM heap snapshot analyzer in Perl 6 *right now*! :) 13:33
RabidGravy jnthn++
I'm writing a thing to manage icecast servers 13:34
but the date thing might block me
jnthn Ugh. So far I've fixed 2 perf bugs (one in Rakudo, one in Moar) that were in my way... :) 13:35
DrForr The latter, but I'm not going to go to too much work as there's nothing in the code that distinguishes between GET and the others.
timotimo it surprises me that you actually got a performance problem out of a sync read blocking the GC 13:36
though i suppose when you're reading a line that's a megabyte or two long ... 13:37
RabidGravy so it's just try it and see what happens
13:39 brrt joined
jnthn timotimo: Command line app that processes stuff while waiting for you to type a query :) 13:40
(So it might be ready when you are)
timotimo right 13:42
13:43 vendethiel left 13:46 dalek left, vendethiel joined, dalek joined, ChanServ sets mode: +v dalek
El_Che <old man pointing at clouds mode> Go's stdlib command line handler is as weird as Perl6's: switches before arguments and anti-posix look and feel. Overwriting functions (e.g. usage) is more flexible though<cloud passed> 13:53
moritz more flexible than allowing a custom USAGE sub?
El_Che yes, e.g. wrapping the existing function and adding stuff. Instead of replacing the complete usage funciont 13:56
(my argument is that perl6 approach is more flexible)
xiaomiao Go is quite horrible because it doesn't distinguish short and long opts 13:57
it's the little detail that create friction ... :\
El_Che xiaomiao: I am using this: github.com/docopt/docopt.go
It would be nice to see this ported to p6: docopt.org/ 13:58
RabidGravy feel free
El_Che looking at it now
xiaomiao El_Che: nice, but why is that not the standard ;)
El_Che xiaomiao: I feel your pain
xiaomiao El_Che: no, you don't ;) the real pain is "go get" and github together
El_Che xiaomiao: unversioned remoted github dependencies? mmm :) 13:59
xiaomiao El_Che: we see on average 3% connection failure rate 14:00
14:00 shicheng joined
xiaomiao with 30 dependencies on github ... well ... bash has nice loops to force success ;) 14:00
perlpilot Didn't Damian do something like that for Perl 5? (write your command line doc using the normal conventions and it auto-processes the command line)
RabidGravy also I'd really like Int("unlimited") to be Inf 14:01
moritz would really dislike that
timotimo we can't reasonably support Inf to be stored in Int objects
14:01 shicheng left
moritz seems like a very English-centric thing to do when parsing strings 14:01
RabidGravy yeah, it's just this pain in the arse data is "some integer or 'unlimited'" 14:02
14:03 khw joined
RabidGravy though, I'm not entirely sure that: 14:05
m: my Int $a = Int.max
camelia rakudo-moar 08a760: OUTPUT«Type check failed in assignment to $a; expected Int but got Num (-Inf)␤ in block <unit> at /tmp/ieQWDjOhLc line 1␤␤»
RabidGravy is very useful at all
perlpilot It certainly seems counter-intuitive 14:06
lizmat m: my Int $a = int.max; # works fine :-) 14:08
camelia rakudo-moar 08a760: OUTPUT«Type check failed in assignment to $a; expected Int but got Num (-Inf)␤ in block <unit> at /tmp/kkBZbpL5GA line 1␤␤»
lizmat no?
14:08 vendethiel left
lizmat hmmm... 14:08
14:09 mkz_ left, BinGOs left
RabidGravy goes with some very big number instead 14:09
14:09 zakharyas left, [Tux] left, timotimo left, cognominal left, Azry left, ssm left 14:10 Azry joined, Upasaka left, cognominal joined, TreyHarr1 joined, Upasaka joined, [Sno] joined, BinGOs joined, mkz_ joined
lizmat m: dd int.Range # confused it with this 14:10
camelia rakudo-moar 08a760: OUTPUT«-9223372036854775808..9223372036854775807␤»
RabidGravy actually I'd be surprised if "unlimited" in this context is more than (2**32) - 1
lizmat m: dd int8.Range # confused it with this 14:11
camelia rakudo-moar 08a760: OUTPUT«-128..127␤»
14:11 sjn left 14:12 mst left 14:15 Cabanoss- joined 14:18 mst joined, TreyHarris left, Cabanossi left, sno left, vytas left, Cabanoss- is now known as Cabanossi, vytas joined 14:20 sjn joined 14:22 timotimo joined 14:24 [Tux] joined, ssm joined 14:25 zakharyas joined 14:27 mojca left
skids www.theregister.co.uk/2016/03/23/np...pad_chaos/ # What we don't want happening to our ecosystem 14:30
lizmat well, in fact, we had that happen already...
:-( 14:31
tony-o what did we have like that
lizmat: what do you use for determining where an application is spending most of its time? IE if some loop is using most of the time the process runs, etc ? is there something like that in p6 currently? 14:33
lizmat tony-o: somebody pulling their modules from github and the ecosystem 14:34
because they didn't like github
tony-o: wrt to profiling: --profile is your friend :-)
tony-o lizmat: oh really? i thought maybe it happened with SF left, didn't know about the github piece
RabidGravy yeah, installing from gh is a little fragile 14:35
timotimo yes, we don't want to rely on that for much longer
ilmari ranguard and co are working on perl6 support for cpan, no? 14:36
tony-o it seems it should work from any git - i have a server i can set up gitlabs on if you guys want some access to it
i remember having an issue with bitbucket installs 2 years ago
timotimo jdv is working on something. i know that much
tony-o lizmat: the profile came out with a bunch of {{var}} stuff in it - is there something i need to do to get those values filled in? 14:37
oh, i need to be patient :-)
timotimo yeah, takes a little bit :S 14:38
lizmat yeah, the generated HTML is usually large :-)
tony-o this is a great tool. i'm trying to figure out why a parallel testing thing i'm working on is slower than 'prove -j9' but now i can see why : 14:40
it's faster than just 'prove', at least
14:41 brrt left 15:01 zakharyas left 15:03 maybekoo2 joined 15:05 mathw left 15:07 iH2O joined 15:12 AlexDaniel joined
MadcapJake How difficult would it be to make perl6 work with this github.com/whyrusleeping/gx 15:14
15:14 brrt joined
AlexDaniel well, ideally it should be possible to have non-github modules 15:15
in fact, it would be even better if it was possible to provide several mirrors
Woodi hi today :) 15:16
15:16 virtualsue joined
iH2O hi Woody 15:17
_nadim im: my %a = <a 1 b 2> ; my @l = (%a<a>, %a<c>) ; @l.perl.say ;
m: my %a = <a 1 b 2> ; my @l = (%a<a>, %a<c>) ; @l.perl.say ;
camelia rakudo-moar e57e63: OUTPUT«[IntStr.new(1, "1"), Any]␤»
stmuk_ I'd assume the ecosystem would work with gitlabs although I've not actually tried it
tony-o MadcapJake: AlexDaniel: the CUR stuff is improving and getting to a point where that is possible without CORE changes
_nadim How do I write the line above soif %a<c> doesn not exist, itis not added. IE: not get theAny on thelist. 15:18
tony-o stmuk_: i was going to test that out in a bit
MadcapJake AlexDaniel: gx works with IPFS so each person could be a repo of modules
lizmat _nadim: what makes you think it was added ?
m: my %a = <a 1 b 2> ; my @l = (%a<a>, %a<c>) ; dd %a 15:19
camelia rakudo-moar e57e63: OUTPUT«Hash %a = {:a(IntStr.new(1, "1")), :b(IntStr.new(2, "2"))}␤»
AlexDaniel m: my %a = <a 1 b 2> ; my @l = (%a<a>, %a<c>) ; dd @l
camelia rakudo-moar e57e63: OUTPUT«Array @l = [IntStr.new(1, "1"), Any]␤»
lizmat m: my %a = <a 1 b 2> ; my @l = (%a<a>, %a<c>:v); dd @l
camelia rakudo-moar e57e63: OUTPUT«Array @l = [IntStr.new(1, "1"), ()]␤»
lizmat hmmm
m: my %a = <a 1 b 2> ; my @l = (%a<a>, %a<c>:v); dd @l.elems 15:20
camelia rakudo-moar e57e63: OUTPUT«2␤»
_nadim lizmat: I mean added to the list I am creating
lizmat hmmm.
ok
sorry, misunderstood
_nadim no problems :)
lizmat m: my %a = <a 1 b 2> ; my @l = %a<a c>:v; dd @l
camelia rakudo-moar e57e63: OUTPUT«Array @l = [IntStr.new(1, "1")]␤»
AlexDaniel well, you can grep it out but…
lizmat _nadim: ^^^
AlexDaniel right!
lizmat :v will grep only existing entries out for you 15:21
_nadim OK!
15:21 iH2O left
_nadim what's this dd that dumps the structure? 15:21
timotimo "dump data"
MadcapJake tony-o: that's what I was hoping! The concern I have is, can I have a package depend on an individual package/vendored directory for dependencies? so that all dependencies are internal to a module/project
_nadim timotimo: is that standard? 15:22
15:22 mohae joined
lizmat _nadim: yes it is 15:22
it's the tiny data dumper, so tiny it lost the t
tony-o MadcapJake: i'm not sure i'm understanding your question - the distribution stuff ugexe is working on will be able to select based on module/vendor/version/auth so that is in the works currently 15:23
the other part of your question, i don't know what that would look like from a repository side, how would you include all of the depends without explicitly packaging them as part of your module? 15:24
_nadim m: my %a = <a 1 b 2> ; my @l = (%a<a>, %a<c>:v) ; dd @l ;
camelia rakudo-moar e57e63: OUTPUT«Array @l = [IntStr.new(1, "1"), ()]␤»
_nadim lizmat: it still returns a enpty list
timotimo _nadim: you need to fix the "width of terminal makes tests either fail or pass" thing, that's super unfortunate 15:25
_nadim timotimo: it done already ;)
ranguard ilmari: CPAN supports perl6... it's just downstream that has issues
mst is looking at those I think 15:26
_nadim i just needed to see if it was not something else on someone else's compuer
lizmat _nadim: why are you not using the slice?
%<a c>:v ?
_nadim because in reality I am using two different hashes.
lizmat ah, ok
m: my %a = <a 1 b 2> ; my @l = %a<a>, %a<c>:v; dd @l 15:27
camelia rakudo-moar e57e63: OUTPUT«Array @l = [IntStr.new(1, "1"), ()]␤»
lizmat m: my %a = <a 1 b 2> ; my @l = %a<a>, |%a<c>:v; dd @l
camelia rakudo-moar e57e63: OUTPUT«Unexpected named parameter 'v' passed␤ in block <unit> at /tmp/UhH15PHb_S line 1␤␤»
lizmat m: my %a = <a 1 b 2> ; my @l = %a<a>, |(%a<c>:v); dd @l
camelia rakudo-moar e57e63: OUTPUT«Array @l = [IntStr.new(1, "1")]␤»
lizmat _nadim: I guess for now you need to slip it
ranguard tony-o: not sure why people feel the need to re-implment a working distributed network with specific release control and archiving built in 15:28
ilmari ranguard: downstreams as in (meta|search\.)cpan?
Woodi that's idiotic what Kik lawyers did... story: there is students pub/disco/club in my university town named 'Imperial'. And that club was first opened somewhere in the soc-realism era (70s probably). Of course censors intervened... "How you can name something like that ?? That's worse then capitalism !!!1". But then one of the students showed them *few* labels of products named 'Imperial', one of them was popu
MadcapJake ranguard: cpan is a distributed network?
ranguard ilmari: cpan testers / irc bots etc
Woodi lar canned fish :) so lawyers ... 15:29
... just interned-killed that Kik-something...
ilmari ranguard: ah
ranguard MadcapJake: mirrored on 235 servers around the world
_nadim lizmat: hmm, no it comes from the same hash, I was wrong. but still, it is goodto know for next time. now, what do you mean with "slip it"?
ranguard MadcapJake: metacpan.org/mirrors
lizmat prefix it with | 15:30
Woodi 'C' is from 'Cloud' ? :)
ilmari Woodi: no, but N is for Network
timotimo _nadim: is it? i just ran "panda install Data::Dump::Tree" in a narrow terminal ("only" half of one of my screens) and it failed
Woodi ah ;)
ilmari Comprehensive Perl Archive Network
it long predates "cloud"
it's just a network of mirrors 15:31
MadcapJake ranguard: but is that really distributed? npm has mirrors all around the world too
ranguard MadcapJake: backpan never deletes
ilmari MadcapJake: and CPAN mirrors are run by disparate organisations and individuals, whereas AIUI all the npm mirrors are run by NPM, Inc 15:32
ranguard there are at least 4 backpans that I know off, and that doesn't count the tools built around CPAN (CPAN::Mini, Carton etc) that let you run your own easily
Woodi npm use some specific license ?
ranguard this is a solved problem.. (ok, there are edges that could be better) but I've not seen a better RUNNING solution 15:33
tony-o ranguard: what do you mean re-implement a working distributed network? are you referring to cpan? 15:34
ranguard tony-o: yea 15:35
15:35 _nadim left 15:36 fireartist left
tony-o ranguard: i'm sure some of that need is the lack of gui type tools, plus it isn't 'pretty' 15:37
stmuk_ I think CPAN can be used as a backend but the requirements for perl 6 module installation are very different to perl 5 and the devil is in the details 15:39
RabidGravy yeah it's the tools not the storage that are at issue
MadcapJake tony-o: gx downloads packages/modules to a vendor directory in your workspace and I'd like to have perl6 compile into this vendor directory instead of the global dir, could I just dynamically change RAKUDO_PRECOMP_DIST for each workspace? 15:41
mst I'd also note that the last time somebody tried legal shit on us, they called me in, and p3rl.org/Nagios::Plugin was the result 15:42
it helps when the people running your centralised SPOF have a spine 15:43
tony-o MadcapJake: in zef (at least a long time ago) i wrote in a way to override the install dir to be local to the directory (like npm does). i'd need to ask ugexe or dig through that code again to see if it still exists
MadcapJake: the result was having to add a relative dir to PERL6LIB environment var IIRC and it probably got taken out as a result 15:44
MadcapJake tony-o: I could have the gx-perl6 tool manage the PERL6LIB var 15:46
tony-o MadcapJake: it's most likely doable currently with a shell script, i'm not intimately familiar with gx but if were able to install a distro to a user's workspace and set their PERL6LIB var to that workspace then you'd be there 15:47
the module/auth/vers thing isn't working as expected yet, though afaik 15:48
ranguard tony-o: yea, people like the pretty :) 15:49
RabidGravy it works for "use" but not in the requires of a META.info afaik
ranguard RabidGravy: well, the storage not allowing things to easily dissapear kind'a helps :) 15:51
MadcapJake tony-o: awesome! gx provides a series of hooks for specific language tools to use (similar to npm builtin scripts) so I'd just need to do the perl6 specific stuff (compiling and changing PERL6LIB) and the gx tool will provide the interface to IPFS and the downloading
RabidGravy mst, strangely a monitoring framework is one of the things on my list 15:57
Hmm, it looks like I'm about to re-do a lot of the things that I'm doing for Sofa but for the icecast XML data rather than JSON 16:01
TIME FOR REFACTORING!
16:02 brrt left 16:03 brrt joined
Juerd RabidGravy: I'd love a monitoring framework based on TAP. I wrote something in p5 and I actively use it, but I kind of abandoned the project. 16:04
pastebin.com/BeyFyWpe # example of a test script I use for monitoring 16:06
16:07 zakharyas joined
Juerd This is also where the idea for an 'except' operator came from (line 23: @forum except 'www.wegenforum.nl') 16:07
This thing does both ipv4 and ipv6 so every test is actually two tests, unless "no ipv6;" or "no ipv4;" is in effect. 16:08
I've found many inconsistencies between ipv4 and ipv6 configs using this thing.
ugexe you can pick here it installs to, you just cant control where the precomp goes to
yoleaux 10:49Z <azawawi> ugexe: how do i force zef into fetching the latest sources for my repo... i updated META.info and tried 'zef update'. didnot work until i did a 'zef nuke StoreDir'
RabidGravy Looks nice
go for it
I'm mostly using monit these days 16:09
ugexe azawawi: `zef update`, or `zef update p6c` (to just update the normal ecosystem)
MadcapJake ugexe: there's no way to control where precomp goes?
Juerd RabidGravy: It's already on my wishful-thinking-to-do-list, but I'm afraid to mention tuits because someone might give me a wooden coin and except me to start working on it :P
s/except/expect/ 16:10
ugexe MadcapJake: precomp location is determined by the CompUnit::PrecompilationRepository
MadcapJake ugexe: can I change it? :)
16:10 brrt left
RabidGravy you can set $*REPO to something that does 16:11
ugexe MadcapJake: you could probably subclass CURI to use a custom CU::PrecompilationRepository
16:12 brrt joined
psch RabidGravy++ 16:12
Audio::PortMIDI is fun
gist.github.com/peschwa/aaeb20debb7afb36c09b
16:12 brrt left
psch ...note that the Positions enum clearly only fits onto ionian 16:13
ugexe getting it to precomp to a specific location you can do realatively easy though i believe. its the actual using of the location
MadcapJake ugexe: is that a viable way to do a local set of precomps?
RabidGravy psch, that almost looks like a module you have going there ;-)
ugexe MadcapJake: for a local set of precomps you are currently stuck with using ~/.perl6 afaik 16:14
psch Audio::DrunkPiano or what..? :P
RabidGravy :)
16:14 nakiro left
psch RabidGravy: fwiw, i'm not really happy with... most of it 16:15
as in, i have trouble thinking of a way to make it fit onto different modes
ugexe you can direct the directory of the precomp files via the first `-I` command
if you do -Ilib, it gets put in lib/.precomp. if you do -I. you get a .precomp. this can be abused 16:16
MadcapJake ugexe: oh I could totally use that, is there going to eventually be a facility to control precomp location? 16:19
ugexe nine has been working on precomp stuff, and i believe may have solved the $?FILE problem which may lead to using relative paths in precomp
16:20 araujo joined
ugexe and ive been working on internal Distribution stuff to allow a user to supply some of that type of functionality from the outside 16:20
so all that type of stuff will get an upgrade in the next few months i would imagine
i want to be able to have a FatPacked CompUnit::Repository, or even just a bundled 16:21
16:22 uvtc joined
uvtc What is the Perl-6-equivalent to Python's `for i,x in enumerate(arr): ...` (where `i` is the index and `x` is the elem)? That is, for the case where you want to iterate over an array but want the index too. 16:23
RabidGravy Now if I could just generalise this github.com/jonathanstowe/Sofa/blob.../Method.pm to deal with xml as well as json then all would be good
SrKeys uvtc: for @a.pairs 16:24
ugexe @a.grep(*.so, :p)
jnthn m: my @arr = <a b c>; for @arr.kv -> $i, $v { say "$i = $v" }
camelia rakudo-moar e57e63: OUTPUT«0 = a␤1 = b␤2 = c␤»
SrKeys Oh right 16:25
Kv
Not pairs
Doi
jnthn Well, paris does work too
*pairs
SrKeys I do prefer kv though
16:25 trnh joined, trnh left, trnh joined
RabidGravy we'll always have Paris 16:25
uvtc Oi!
SrKeys Pairs makes me think it does .rotor(2)
uvtc Oui
SrKeys Rather than interleave the index
uvtc Thanks, @a.kv was what I was looking for. 16:26
SrKeys m: <a b c d>.pairs.say
camelia rakudo-moar e57e63: OUTPUT«(0 => a 1 => b 2 => c 3 => d)␤»
SrKeys Oh
m: <a b c d>.kv.say
camelia rakudo-moar e57e63: OUTPUT«(0 a 1 b 2 c 3 d)␤»
SrKeys I see 16:27
16:28 uvtc left
SrKeys Rude 16:29
Didn't stick around for good times
ugexe is there a better way to "take the .value of a Pair if its a string, otherwise assume .value is a hash and take .value.keys[0]" other than `$_.value ~~ Str ?? $_.values !! $_.values.keys[0]` ?
{"x
getting `y` from both: {"x" : "y" } {"x" : {"y" : "z"} } 16:30
the purpose of attaching arbitrary meta info to leaf node "y" (extending it for some subclass) while still allowing the first format to be understood 16:31
16:31 uvtc joined
SrKeys Maybe do some fun recursing traversing 16:31
ugexe the conditional above handles it. i was hoping there was some list operation though that could pull it off 16:32
lizmat ugexe: if it were the .values[0] of the list you're after
you could do something like $_.value.pairs[0].value
m: dd 42.pairs[0].value 16:33
camelia rakudo-moar e57e63: OUTPUT«42␤»
uvtc SrKeys, huh? Me rude? Thank you for the help. Unable to stay logged in ATM.
Plus, the good times never stop around here. It's 24-7. :) 16:34
tony-o mst: what happened with the nagios module? i used that several years ago, iirc
SrKeys I was just joking uvtc
:p
FROGGS NO LOL, NO PROJECT EULER 16:35
16:35 Khisanth left
SrKeys Check out this fun recursing traversing gist.github.com/johnspurr/6e5b92102c342eea449d 16:35
16:35 uvtc left
mst tony-o: did you read the current tombstone release? I pretty much described it 16:35
SrKeys Ignore any poor form in there 16:36
Or weird hacky bits
It was just a quick script to make life easier
tony-o mst: tombstone release? the document you linked to?
mst tony-o: yeah 16:37
I mean, like, the first two paragraphs basically summarise what went wrong originally 16:38
tony-o that's kind of a dumby [audible b] move from nagios
i liked their software, now they seem like a bunch of twats
16:38 sufrostico joined
mst yes, but they're forever doing things like that 16:39
Naemon is basically "the outside guy who did most of the work for Nagios Core 4 was summarily kicked off the project because he was being offered consulting work and they didn't want to share" 16:40
RabidGravy wasn't nagios something else before
tony-o i don't think it would be difficult to one up their software, configuration wise it is a bear and the concept of how they test is very simple
RabidGravy like ten or more years ago
mst www.legendiary.at/2014/01/23/nagios...-the-mama/
covers even more insanity
tony-o i like that title.
RabidGravy ah yes, netsaint 16:43
16:45 ggoebel16 joined
stmuk_ hasn't nagios been forked to something more open source now anyway? 16:46
mst it's been forked repeatedly
stmuk_ icinga 16:47
mst I literally just meantioned Naemon, the most recent one
and icinga, and there's at least one other I think
16:47 domidumont left 16:48 Khisanth joined
ugexe lizmat: my problem is when the leaf is also the root 16:49
m: sub foo($x) { $x.pairs[0].key }; say foo(%( :x(:y(1)) )); say foo(%( :x("y") )); say foo("y");
camelia rakudo-moar e57e63: OUTPUT«x␤x␤0␤»
ugexe m: sub foo($x) { $x.values[0] ~~ Str ?? $x.values[0] !! $x.values[0].keys[0]; }; say foo(%( :x(:y(1)) )); say foo(%( :x("y") )); say foo("y"); # ugly
camelia rakudo-moar e57e63: OUTPUT«y␤y␤y␤»
16:51 abraxxa left
ugexe my Pairs example is flawed, but demonstrates what im looking for (Str can also be treated as a list, so hoping for some list method that would happen to align the stars to handle that) 16:51
16:54 shicheng joined 16:55 shicheng left 16:56 FROGGS left, shicheng joined
Woodi stuck somehow in Mon era... 16:56
16:58 shicheng left 16:59 shicheng joined, virtualsue left
stmuk_ cricket! 16:59
17:00 shicheng left
RabidGravy goats! 17:01
17:01 sena_kun joined, trnh left 17:02 sena_kun left, trnh joined
RabidGravy Oooh a planetccrma RT kernel *the same version* as the stock kernel 17:03
that's never happened before
17:03 sena_kun joined 17:05 vendethiel joined, Xliff_ZZZZ is now known as Xliff
Xliff What is Match? 17:05
RabidGravy say ( "foo" ~~ /o/).perl 17:06
m: say ( "foo" ~~ /o/).perl
camelia rakudo-moar e57e63: OUTPUT«Match.new(ast => Any, list => (), hash => Map.new(()), orig => "foo", to => 2, from => 1)␤»
moritz the return value of a successful regex match
17:06 jkramer joined
jkramer Hello! 17:06
dalek osystem: 0853a27 | Altai-man++ | META.list:
We have a snowball stemmer module in bindings.md, but not in the ecosystem.
osystem: e2801f2 | (Zoffix Znet)++ | META.list:
Merge pull request #177 from Altai-man/master

Snowball module: See github.com/Sufrostico/perl6-snowball/
Xliff Ah.
Woodi about installing from github: it's nice except commit granularity is to fine... and release too coarse - waiting a month is hard is some environments ;) release is something to what devs should py attention so maybe tags can be used as when there is known good for users state of internals ?
SrKeys So risk-averse woodi 17:07
Woodi SrKeys: why ? :)
jkramer I want save some kind of action (would say code ref in p5) as attribute in an object and change it to some other callback every once in a while. How do I do that in p6?
SrKeys jkramer: probably just have an attribute &foo 17:08
And store a callable in it
jkramer I currently have a "has Callable $.action" in the class but it dies with "Cannot modify an immutable Callable" whenever I want to change it
SrKeys Why not
moritz jkramer: you have to make it 'is rw' to able to change it from the outside
SrKeys has &.foo
Oh right 17:09
That too
jkramer I'm in the inside though - kind of
RabidGravy m: class D { has &.foo is rw = sub { say "foo" } }; my $d = D.new; $d.foo.(); $d.foo = sub { say "bap" }; $d.foo.();
camelia rakudo-moar e57e63: OUTPUT«foo␤bap␤»
moritz jkramer: then you need to assign to the ! form
jkramer: so &!foo = ...; instead of &.foo = ...; 17:10
jkramer One problem might be that the callback itself needs to be able to change the callback attr to a new callback. I guess that's outside?
moritz jkramer: yes, unless the callback code is also on the inside
jkramer The callback is called by the object
And is also defined by a method of the object
Ah, just adding the "is rw" seemed to help. It still crashes, but it seems to be a different problem now :) 17:11
Thanks!
17:13 virtualsue joined 17:20 araujo_ joined 17:22 sufrostico left 17:23 araujo left
Xliff Is anyone on the "panda look" bug where it blocks further execution "perl6" in interactive shell mode? 17:23
17:25 araujo_ left, pmurias joined
hoelzro Xliff: I opened an editor before I went to work with the intent of looking at it after work 17:25
granted, I have a social thing after work tonight, so no promises there =/
pmurias hi
hoelzro o/ pmurias 17:26
Xliff hoelzro: No problems. Thanks for answering. I ran into that one, yesterday.
If I could help, I would. :/
hoelzro I remember!
Xliff A feature request for panda would be to have the equivalent of "look" that -doesn't- require the sub-shell. 17:27
Like I want to download and inspect the sources in a more permanent manner.
I'm kinda in that situation, right now. 17:28
stmuk_ just "panda info" and git clone the url? 17:29
actually that would make a useful new option IMO
Xliff Huh! Didn't think about it that way, but yes.
"panda inspect" 17:30
RabidGravy but without the subshell you won't be in the directory when panda exits
hoelzro I think `panda get $module` that downloads and prints the destination directory would be nice 17:31
17:31 tmch left
sena_kun Also, about panda's options. Is it modulary enough to write modules without knowing its all codebase? I'd like to write one or two, but I don't know is it needed and easy enough. Also, panda had some troubles with "remove module" option before, is it related to question? 17:34
RabidGravy you don't really need to know anything about panda to write a module 17:43
just make the META file correctly and you're good
17:44 shadowpaste left, z8 left, dakkar left
sena_kun RabidGravy, no, I meant a different thing. I meant, for example, to write for panda some new feature to call it from a command line. 17:44
RabidGravy I don't understand the question then 17:45
17:46 zakharyas left
stmuk_ sena_kun: if you want to add options to panda just try forking it and modifying the code 17:47
ugexe `zef fetch XXX` fetches and tells you where it extracts to 17:48
sena_kun stmuk_, oh, okay. 17:49
ugexe zef also allows you to write plugins for different stages of the install process that you can turn on/off with a custom command line option (--cpan or --/cpan for instance)
dalek c: e9bbef9 | (John Gabriele)++ | doc/Language/control.pod:
Add `@foo.kv` example to `for` sample code.
17:50
ugexe also uninstalls if the rakudo is a little newer than 6.c 17:51
17:51 shadowpaste joined
Xliff OK. So here's a question. 17:51
What would make a Match object equivalent? 17:52
$.orig, $.from, $.to are easy. It's $.made and $.CURSOR that confuse me.
moritz well, $a.made eqv $b.made 17:53
CURSOR isn't all that intersting; the sub-captures are
Xliff Yeah. Thought so. How are the sub-captures represented. Thought those would be in $.CURSOR 17:55
I'm just poking through Match.pm for .... I dunno
Halibut
arnsholt Xliff: Let me answer with a different question: For what purpose do you want to compare match objects? 17:57
Xliff eqv?
Doesn't exist yet.
There would be recursion, I would expect. 17:58
skids gist.github.com/skids/d1552470ba7c4ca6d318 might help but might have some stale parts.
moritz Xliff: I'd expect there to be recursion in infix:<eqv>(Match, Match), yes 18:00
18:00 domidumont joined
moritz because Match is basically a tree 18:00
Xliff Yeah.
18:00 travis-ci joined
travis-ci Doc build failed. John Gabriele 'Add `@foo.kv` example to `for` sample code.' 18:00
travis-ci.org/perl6/doc/builds/118040250 github.com/perl6/doc/compare/8fa79...bbef91d198
18:00 travis-ci left, z8 joined
Xliff And I'm trying to figure out how to descend it. 18:00
Or ascend it, if you are upside down.
18:01 virtualsue left, johnP joined
pmurias jnthn: what makes a VMException stringify to the message? 18:02
tony-o mst: JC that's a lot of drama
especially for people trying to expand a community for free
mst tony-o: indeed 18:03
18:03 virtualsue joined 18:04 jevin left
jnthn pmurias: Hm, perhaps that smart_stringify thingy 18:04
18:05 wbill left
pmurias jnthn: thanks 18:05
18:05 pochi left, pochi joined 18:06 jevin joined 18:07 nchambers is now known as DeerGod 18:14 araujo joined, araujo left 18:17 araujo joined, araujo left, araujo joined 18:24 johnP left 18:26 abaugher left, trnh left 18:27 abaugher joined 18:28 cdg left
jkramer How does p6 feel about circular dependencies lately? I just noticed it'll use up lots of CPU and hang when two modules use each other, but then again I noticed I'm moar-2015.12. 18:28
Just upgrading, but will that fix it? Should I open a report?
18:29 cdg joined, virtualsue left
jkramer Seems to be still open: rt.perl.org/Public/Bug/Display.html?id=126688 18:29
moritz the fix will be a better error message 18:30
jkramer Hmm, guess I need to find another way to do it. 18:32
moritz aye
psch idk, i think prevent an obvious circular dependency from eating all memory is something we maybe should consider
as in, Foo.pm with "use Bar;" and Bar.pm with "use Foo;" doesn't seem like it should eat all my memory 18:33
18:33 cdg left
Juerd I think it should fail gracefully. 18:33
Or be handled in a sane way, if that's at all possible.
But death by infinite loop isn't a nice thing :) 18:34
psch on the other hand we do accept similar things with recursion or regex, so maybe modules are just something i don't recognize the obvious pitfall as one
jkramer Meh, now I have to think about my OOP design instead of getting my stuff done :D 18:37
A global variable might solve all my problems 18:38
RabidGravy or define the two classes in the same scope so you can predeclare with a stub 18:39
18:40 pierrot left 18:41 telex left
psch or a global stub that you inject into Any /o\ 18:41
RabidGravy :) 18:42
18:42 _nadim joined, telex joined
jkramer They all don't feel right, it's like working around obstacles the language creates for no reason. I mean, there are probably good reasons for not allowing circular deps, but I don't know 'em :) 18:42
RabidGravy if they are so tightly coupled it doesn't make sense to me for them to be in different files 18:43
psch jkramer: the fact that the ticket (#126688 that is) exists means to me that it's not something that's finished
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=126688
jkramer What would be a good OOP design for this situation: I have a server class which can have x client sessions as an array attribute. However the clients need to access the server object in order to communicate with other clients. 18:44
psch: Yeah but as moritz said, the solution will be an error message 18:45
skids define a role containing the functions that a client should be using from the server, in a third file. Use that as the type contraint on Client.server 18:46
RabidGravy yeah, that was my third option
skids (or visa versa client/server)
RabidGravy but
psch jkramer: right. practically, i'd go with what RabidGravy suggests; e.g. < unit module Thingy; class Thingy::Server { ... }; class Thingy::Client { ... } > or somesuch 18:47
jkramer BTW the server is a singleton and all I need to use the server class for is to get the instance method :)
Xliff Is uniq still in perl6?
RabidGravy m: module Thing { class Server { ... } ; class Client { has Server $.server; }; class Server { has Client @.clients };
camelia rakudo-moar e57e63: OUTPUT«5===SORRY!5=== Error while compiling /tmp/GuhMBeAyc4␤Missing block␤at /tmp/GuhMBeAyc4:1␤------> 3; class Server { has Client @.clients };7⏏5<EOL>␤»
RabidGravy m: module Thing { class Server { ... } ; class Client { has Server $.server; }; class Server { has Client @.clients; }; 18:48
camelia rakudo-moar e57e63: OUTPUT«5===SORRY!5=== Error while compiling /tmp/L2IWVi9MvJ␤Missing block␤at /tmp/L2IWVi9MvJ:1␤------> 3 class Server { has Client @.clients; };7⏏5<EOL>␤»
RabidGravy m: module Thing { class Server { ... } ; class Client { has Server $.server; }; class Server { has Client @.clients; } };
camelia ( no output )
RabidGravy too many curlies
psch RabidGravy: that's why i left two out!
jkramer RabidGravy: Still doesn't feel right because both classes are fairly big and complex, but I guess it's the best solution now
RabidGravy or what skids said
define roles in separate files and use that as a typeconstraint 18:49
that has a side benefit
skids Well, with a singleton just used as a handle, I'd just go with a global, personally.
psch Xliff: .unique is 18:50
Xliff: the hummanization was deemed not worth it, *nix legacy not withstanding
err, huffmanization 18:51
18:51 maybekoo2 left
Xliff LOL 18:53
OK. Next question. Can you manually enter subroutines in perl6 interractive mode?
18:54 edenc_ joined, hobbs left, edenc left, camelia left, alnewkirk left, hobbified joined
Xliff If not, I will script. Probably easier. 18:54
18:55 silug left, broquaint left, gabiruh left
psch Xliff: you can define subs in the REPL, yes 18:55
skids I believe recent enough rakudos can multi-line as well.
18:55 xinming left, arcetera left, ilmari left
psch skids: isn't that still in a branch? 18:55
18:55 arcetera joined, ilmari joined
skids I thought part of it was merged with more left in a branch? 18:55
Maybe I am wrong.
18:55 eyck_ left, Bucciarati left, xiaomiao left, gabiruh joined 18:56 sftp left, mojca joined, alnewkirk joined, broquaint joined
skids > sub a { 18:56
* 1.say
* }
sub a () { #`(Sub|74101808) ... }
psch huh 18:57
18:57 xiaomiao joined
psch hm, the repl6 branch has a commit today though 18:57
18:57 skarn joined
psch so yeah, probably the base mechanism merged already and hoelzro++ keeps expanding it 18:57
18:57 eyck joined
hoelzro the multi-line stuff is in nom 18:57
skids Or redoing the hacky bits better. 18:58
hoelzro repl6 is the REPL re-implemented in Perl 6 instead of NQP
psch hoelzro: ohh, okay
skids OHAI hoelzro :-)
hoelzro I'm going to merge repl6 back into nom after 2016.03 goes out, in case it blows up =)
o/ skids
psch hoelzro: does repl6 still have the BEGIN hangup?
awwaiid nom nom nom
psch or was that already solved anyway..?
hoelzro psch: which BEGIN hangup? 18:59
18:59 z8 left
psch as in, a BEGIN somewhere during a multi-line input reevaluates the BEGIN for every new line 18:59
hoelzro yes
I'm only working on low hanging fruit atm =)
psch yes solved or yes still there?
oh, so yes still there
:)
hoelzro if you want to know what I've done vs not: gist.github.com/hoelzro/6bb9aa5163c7f79016ff 19:00
19:01 sftp joined
awwaiid still wants MY::repl for that list :) 19:01
hoelzro awwaiid: feel free to fork that gist and send it to me so I can merge it in =) 19:02
19:02 Bucciarati joined 19:03 uvtc joined, labster joined
awwaiid hoelzro++ # open source life 19:03
19:03 araujo_ joined 19:04 AlexDaniel left
uvtc Hi, #perl6. I made a tiny commit earlier to the docs, but then the doc build broke. I didn't think my change would break anything. Anyone know what the cause of the breakage was? 19:04
19:04 xinming joined
tony-o zef seems to install from a gitlab repo without any issues, does panda install from a url - is there an easy way to test that without mucking up the module ecosystem? 19:06
SrKeys anyone else doing google codejam in perl 6
?
psch yeah, the gist is impressive
SrKeys idk if anyone here is into code jam
tadzik tony-o: if you feed it a git-like url it will probably install it
tony-o: or used to :P
19:07 araujo left 19:08 SrKeys is now known as Hotkeys
[Coke] uvtc: one moment. 19:09
tony-o tadzik: hmm, doesn't seem to like that
uvtc Thanks, [Coke]. The Travis report is at <travis-ci.org/perl6/doc/builds/118040250>. That log makes it look like it does an entire new rakudo/moar build just to then build the docs with it.
19:10 DeerGod is now known as nchambers
[Coke] looks like a segfault running make html. 19:10
if I run it locally, it gets past that point, however. 19:11
if the docs get updated, don't worry about it, if it seems like the site doesn't get updated, then we can worry.
19:11 olinkl_ joined 19:12 mithaldu__ joined
uvtc [Coke]: well, the doc I edited was updated, and the site shows the update. Thanks. 19:13
19:13 labster1 joined 19:14 zacts_ joined, cxreg2 joined 19:15 camelia joined 19:16 shadowpaste left, roguelazer left, mithaldu_ left, olinkl left, labster left, zacts left, risou left, cxreg left, skarn left, gabiruh left, Hotkeys left, mithaldu__ is now known as mithaldu_, gabiruh joined 19:18 retupmoca joined
awwaiid hoelzro: well... forking your gist seemed like a good idea, but I have no idea how to PR against it now. gist.github.com/awwaiid/338cc538f660f95ff7a5 19:19
hoelzro awwaiid: I think I'll have to merge them by hand, which is ok
thanks!
19:19 ChanServ sets mode: +v camelia
awwaiid :) 19:19
19:19 shadowpaste0 joined, silug joined, Hotkeys_ joined, risou_ joined, roguelazer_ joined, roguelazer_ is now known as roguelazer 19:20 olinkl_ is now known as olinkl, dalek left
tadzik tony-o: ah crap :( 19:20
awwaiid Hotkeys_: I didn't know you could do it in other languages
19:20 arnsholt left, arnsholt joined, dalek joined, ChanServ sets mode: +v dalek 19:21 solarbunny left
tadzik tony-o: even if the url starts with "git://"? 19:21
19:22 solarbunny joined 19:23 skarn joined
tony-o i'll give it a shot once i finish this pre-build image of moar/p6 for travis 19:23
awwaiid Hotkeys_: ah, any language it looks like. nice
19:24 teatime left
tony-o tadzik: i tried it with https:// 19:24
it looked like it was just searching that package listing for a module with the name 'http ... '
tadzik yeah, the code just checks for leading "git://". Suboptimal 19:25
tony-o i'll give it a go with git://
19:29 teatime joined 19:31 araujo_ left 19:33 uvtc left 19:36 molaf left, firstdayonthejob joined 19:44 pmurias left 19:50 virtualsue joined 19:52 FROGGS joined 19:54 maybekoo2 joined
Xliff How's this for the start of a Match eqv? It's raw since I had to keep the debugging code in, but my simple test case works -- pastebin.com/ct76gh5H 19:57
I'm sure there's a Better Way to Do It, but I'm only 2 perl6 days old.... =) 19:58
moritz Xliff: missing $a.made eqv $b.made
Xliff *sob* 19:59
Adding
Fixed
moritz Xliff: the .list comparison is unreliable
Xliff Yeah, but since Match is comprised of both, that was the best way I could figure out how to do it. 20:00
moritz Xliff: if $a.list is false but $b.list isn't, it returns a match when it shouldn't
Xliff Ah! That I can solve.
psch m: my $m = "abc" ~~ /$<a>=a (b)/; say $m.list; say $m.hash # .list and .hash also aren't exclusive 20:01
camelia rakudo-moar e57e63: OUTPUT«(「b」)␤Map.new((:a(Match.new(ast => Any, list => (), hash => Map.new(()), orig => "abc", to => 1, from => 0))))␤»
moritz Xliff: if you call it as multi sub infix:<eqv> instead of sub MatchCheck, you can recursive into eqv directly
Xliff: $a.list eqv $b.list 20:02
Xliff moritz: That is the eventual plan.
psch ...but maybe i've not been reading closely enough
moritz Xliff: then you don't need to check for truthiness of the lists at all
Xliff OK. 20:03
moritz Xliff: and you can also recurse into $a.hash eqv $b.hash, I think
so the whole thing can be be boiled down to the simple attribute check && $a.list eqv $b.list && $a.hash eqv $b.hash 20:04
Xliff OK. So I overthought the heirarical comparison, then.
moritz the beauty of recursion and multis :-) 20:05
20:08 colomon left 20:10 darutoko left
Xliff OK. Updated 20:13
Tests still work. I will try moar tests and see if I can get it to break.
Actually, if this works, I won't need to explicitly reference the array elements at the end... 20:16
Here's a thought. 20:18
Should the following two regexs be equiv?
my regex yyy { ($<t1> = [aa] ) ($<t2> = a) a } ;
my regex zzz { ($<t1> = [aa] ) ($<t2> = a) a } ;
So: 20:19
my $m3 = $string ~~ m:g/<yyy>/;
my $m4 = $string ~~ m:g/<zzz>/;
$m3 eqv $m4 # True or False???
20:20 yqt joined
psch Xliff: fwiw, they look textually identical here..? 20:23
well, except for the name 20:24
so, i guess that's a good question... :)
20:25 edenc_ is now known as edenc, edenc is now known as edenc_, edenc_ is now known as edenc, edenc left, edenc joined 20:26 gabiruh left, teatime left 20:27 gabiruh joined, teatime joined
psch hm, but Regex eqv Regex is different than Match eqv Match 20:29
tony-o hi all - i have a nightly build of rakudo (via rakudobrew) being pushed to repo github.com/tony-o/perl6-travis-bin.git - you're welcome to clone and use this repo for travis testing if, like me, you're impatient and don't care about testing your modules on JVM -
see the sample.travis.yml for how to use the repo
20:30 sena_kun left
psch Xliff: take that to mean that i personally don't have an opinion whether the Regexen themselves should be equivalent, but i do think the Match objects returned against identical Str should be equivalent 20:30
Xliff psch: OK, that means that the Match equivalence test should eleminate the rexexp name from the test, which my current implementation doesn't. 20:32
I would posit that you are correct Regexp yyy and zzz are equivalent, but ($m3 eqv $m4) are not. 20:33
psch m: say ("foo" ~~ my regex baz { .+ }).perl;
camelia rakudo-moar e57e63: OUTPUT«Match.new(ast => Any, list => (), hash => Map.new(()), orig => "foo", to => 3, from => 0)␤»
20:33 colomon joined
psch the Match object doesn't contain any reference to the producing regex 20:33
Xliff: ...i'm pretty sure i said almost the exact opposite. the Match objects should be equivalent, but the equivalence of the Regex objects depends on whether the name matters 20:34
Xliff m: $a = "foo" ~~ my regex bas { .+ }); say $a.perl
camelia rakudo-moar e57e63: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ByeYvEIfWH␤Variable '$a' is not declared␤at /tmp/ByeYvEIfWH:1␤------> 3<BOL>7⏏5$a = "foo" ~~ my regex bas { .+ }); say ␤»
20:35 domidumont left
psch m: no strict; $a = "foo" ~~ my regex bas { .+ }); say $a.perl 20:35
camelia rakudo-moar e57e63: OUTPUT«5===SORRY!5=== Error while compiling /tmp/M0b2Hcpzjh␤Unexpected closing bracket␤at /tmp/M0b2Hcpzjh:1␤------> 3trict; $a = "foo" ~~ my regex bas { .+ }7⏏5); say $a.perl␤»
Xliff m: ($a = "foo" ~~ my regex bas { .+ }); say $a.perl
camelia rakudo-moar e57e63: OUTPUT«5===SORRY!5=== Error while compiling /tmp/QWfAoZKLiA␤Variable '$a' is not declared␤at /tmp/QWfAoZKLiA:1␤------> 3(7⏏5$a = "foo" ~~ my regex bas { .+ }); say ␤»
Xliff m: (my $a = "foo" ~~ my regex bas { .+ }); say $a.perl
camelia rakudo-moar e57e63: OUTPUT«Match.new(ast => Any, list => (), hash => Map.new(()), orig => "foo", to => 3, from => 0)␤»
Xliff m: (my $a = "foo" ~~ my regex bas { .+ }); say $a.hash
camelia rakudo-moar e57e63: OUTPUT«Map.new(())␤»
Xliff m: (my $a = "foo" ~~ my regex bas { .+ }); say $a.list
camelia rakudo-moar e57e63: OUTPUT«()␤»
Xliff Hmmm....
psch it doesn't capture anything
tony-o zero door handles in this building open upwards, this is a hostile work environment
oops, not meant for this channel 20:36
Xliff m: (my $a = "foo" ~~ my regex bas { [.+ ]}); say $a.perl
camelia rakudo-moar e57e63: OUTPUT«Match.new(ast => Any, list => (), hash => Map.new(()), orig => "foo", to => 3, from => 0)␤»
psch m: no strict; $a = "foo" ~~ my regex bas { $<f>=f (oo) }; say $a.perl
camelia rakudo-moar e57e63: OUTPUT«Match.new(ast => Any, list => (Match.new(ast => Any, list => (), hash => Map.new(()), orig => "foo", to => 3, from => 1),), hash => Map.new((:f(Match.new(ast => Any, list => (), hash => Map.new(()), orig => "foo", to => 1, from => 0)))), orig => "foo", to …»
psch m: no strict; $a = "foo" ~~ my regex bas { $<f>=f (oo) }; say $a.list; say $a.hash
camelia rakudo-moar e57e63: OUTPUT«(「oo」)␤Map.new((:f(Match.new(ast => Any, list => (), hash => Map.new(()), orig => "foo", to => 1, from => 0))))␤»
Xliff OK, that's odd.
The regex name is definitely getting captured in my Match objects
psch the point of note is that the Match object does not know that the Regex it comes from has a name 20:37
Xliff: gist and then m: it?
'cause that'd be interesting :)
Xliff Oh. 20:38
dalek osystem: 7381a1e | tony-o++ | META.list:
flow multiplex testing with full flex
20:39
Xliff m: my $a = "foo"; my regex bas { [.+ ]}; my $m = $a ~~ m/<bas>/; say $m.perl 20:40
camelia rakudo-moar e57e63: OUTPUT«Match.new(ast => Any, list => (), hash => Map.new((:bas(Match.new(ast => Any, list => (), hash => Map.new(()), orig => "foo", to => 3, from => 0)))), orig => "foo", to => 3, from => 0)␤»
Xliff So in the examples I was using the regex is used as a named capture. 20:41
psch m: my $a = "foo"; my regex bas { [.+ ]}; my $m = $a ~~ m/$<foo>=<.bas>/; say $m.perl
camelia rakudo-moar e57e63: OUTPUT«Method 'bas' not found for invocant of class 'Cursor'␤ in block <unit> at /tmp/9ChDRQcRx1 line 1␤␤»
Xliff THAT's why its showing up in my Match objects.
psch hrm, almost :)
m: my $a = "foo"; my regex bas { [.+ ]}; my $m = $a ~~ m/$<foo>=<&bas>/; say $m.perl
camelia rakudo-moar e57e63: OUTPUT«Match.new(ast => Any, list => (), hash => Map.new((:foo(Match.new(ast => Any, list => (), hash => Map.new(()), orig => "foo", to => 3, from => 0)))), orig => "foo", to => 3, from => 0)␤»
psch Xliff: yeah, using a regex as <foo> binds to a named capture. the above example shows one way around that 20:42
Xliff OK. So I mis-stated my test, above.
psch (note that inside a grammar you'd probably use <.bas> instead as in my failed attempt. <&foo> looks up lexicals, while <.foo> looks up methods)
Xliff So $m3 eqv $m4 IS false since different name captures are used. 20:43
psch Xliff: yes, but that obliges you to add a test that binds to a identically named capture and test that those *are* eqv :) 20:44
Xliff m: say ("foo" ~~ my regex baz { .+ }); say ("foo" ~~ my regex bar { .+ });
camelia rakudo-moar e57e63: OUTPUT«「foo」␤「foo」␤»
psch m: my regex baz { .+ }; say "foo" ~~ &baz
camelia rakudo-moar e57e63: OUTPUT«「foo」␤»
Xliff psch: True. And I will have to do that.
psch ^^^ that was the idiom i was thinking of when i said they should be eqv, fwiw 20:45
Xliff But the match objects resulting from your initial example would still be eqv based on what I wrote since the name capture isn't used.
psch which, incidentally, is another bunch of test cases :)
Xliff YAY!
psch Xliff++
Xliff I'll spend more time writing test cases than I did the infix:<eqv> 20:46
*sigh* such is life.
OK 20:49
my $ml1 = $string ~~ my regex y1 { ($<t1> = [aa] ) ($<t2> = a) a };
my $ml2 = $string ~~ my regex y2 { ($<t1> = [aa] ) ($<t2> = a) a };
$ml1 eqv $ml2 #True 20:50
Oh, let me try that other idiom. 20:51
TimToady psch, Xliff: the other reason for the rename is that *nix's uniq doesn't actually do .unique, but .squish 20:52
Xliff TimToady, LOL. Didn't know that.
Hah!
psch: Idiom test also holds true. 20:53
my $ml3 = $string ~~ &yyy;
my $ml4 = $string ~~ &zzz;
$ml3 eqv $ml4 # True
And since matches turn out arrays, let me ditch the [0]s in my test cases and see if they still work. 20:54
Still working, although I am not seeing the say statements I emit in the infix:<eqv> sub as much as I'd expect. 20:56
20:59 rindolf left 21:01 FROGGS left 21:05 skids left 21:12 TEttinger joined 21:14 colomon left 21:18 cpage_ left 21:26 [Sno] left
Xliff Anyone have any more test cases for Match object eqv? 21:29
moritz m: say ('aaa' ~~ /a(..)/) eqv ('aaa' ~~ /a../) 21:35
camelia rakudo-moar e57e63: OUTPUT«False␤»
moritz m: say ('aaa' ~~ /a(..)/) eqv ('aaa' ~~ /a./)
camelia rakudo-moar e57e63: OUTPUT«False␤»
21:37 firstdayonthejob left 21:38 firstdayonthejob joined 21:39 colomon joined
Xliff moritz: You already have Match eqv? 21:39
21:41 cdg joined 21:42 geekosaur left
Xliff Well shucks. 21:43
Match eqv is already in there.
Was a nice excercise in writing, though.
psch m: say ('aaa' ~~ /a(..)/) eqv ('aaa' ~~ /a(..)/)
camelia rakudo-moar e57e63: OUTPUT«True␤»
21:43 geekosaur joined 21:44 firstdayonthejob left 21:46 zakharyas joined 21:50 wamba left, [Sno] joined
moritz Xliff: no, it's not there 21:53
Xliff: it's just a fallback from (Any, Any), which gives wrong results 21:54
Xliff So should "('aaa' ~~ /a(..)/) eqv ('aaa' ~~ /a../);" return true? 21:56
Due to capture, I find that hard to believe.
21:56 firstdayonthejob joined
Xliff O. wait. () isn't capture anymore. 21:56
Hmmm... 21:57
Or is it.... Still looks like capture to mer.
s/r\.//
> ('aaa' ~~ /a(..)/) 21:58
「aaa」
0 => 「aa」
> ('aaa' ~~ /a../)
「aaa」
21:58 _nadim left 21:59 xinming left, xinming joined
Xliff moritz: Do you have an example where the (Any, Any) fails for Match eqv? 22:00
moritz m: say ('a' ~~ /./) ~~ ('a' ~~ /./) 22:03
camelia rakudo-moar e57e63: OUTPUT«「a」␤»
moritz m: say ('a' ~~ /./) eqv ('a' ~~ /./)
camelia rakudo-moar e57e63: OUTPUT«True␤»
moritz m: say ('a' ~~ /(.)/) eqv ('a' ~~ /(.)/)
camelia rakudo-moar e57e63: OUTPUT«True␤»
moritz hmmm
m: say ('a' ~~ /(.)/) eqv ('ab' ~~ /(.)/)
camelia rakudo-moar e57e63: OUTPUT«True␤»
moritz Xliff: ^^ that should be False 22:04
m: say ('a' ~~ /(.)/) eqv ('b' ~~ /(.)/)
camelia rakudo-moar e57e63: OUTPUT«True␤»
moritz it seems it comparse *only* the captures, but not the root node of the Match
*compare
22:07 zakharyas left 22:08 Sgeo__ joined 22:09 virtualsue left 22:12 cpage_ joined 22:17 labster1 left
psch yeah, the one that should be False i definitely agree with. the .orig is different and that should be reflected 22:24
22:25 labster joined 22:37 cpage_ left, cpage_ joined 22:39 labster left 22:40 vendethiel left 22:42 cpage_ left 22:43 vendethiel joined 22:44 cpage_ joined 22:45 cpage_ left 22:47 kid51 joined 22:48 geraud joined, cpage_ joined 22:50 cpage_ left, cpage_ joined
Xliff my $t_im1 = ('aaa' ~~ /a(..)/) eqv ('aaa' ~~ /a../); 22:56
my $t_im2 = ('a' ~~ /(.)/) eqv ('ab' ~~ /(.)/);
$t_im1 = False / $t_im2 = False # my Match eqv implementation 22:57
Ulti m: say [+] 1..9999999999999999 23:00
camelia rakudo-moar e57e63: OUTPUT«49999999999999995000000000000000␤»
Ulti ^ that is really quite fast compared to the more obvious things in Perl 5
not to mention bigint just works too 23:01
List::Util::sum(1..blah) goes nuts on bigger ranges on my laptop and a postfix for loop sum over the range takes ages 23:02
in Rakudo is that compiling down to anything special?
23:04 roguelazer left 23:05 riatre left, riatre joined, vendethiel left 23:06 hobbified left, [Tux] left, avenj left, [Tux] joined 23:07 jack_rabbit joined 23:09 perlawhirl joined
perlawhirl hi perlers 23:09
i asked a question earlier but got no replies. being on aussie time means i'm usually in here when it's quiet
but anyways... 23:10
am i able to rename a method (eg. grep) to something else... or rather, create a method that basically points to grep
23:11 roguelazer joined 23:12 molaf joined 23:16 hobbs joined
perlawhirl it's times like these i need a tumbleweed unicode 23:18
23:18 AlexDaniel joined 23:19 RabidGravy left, jack_rabbit left 23:22 labster joined
geekosaur I think someone did answer that question at one point, negatively 23:29
there may be something hacky you can do with the MOP
...but I think that mixes in an anonymous role rather than changing the class 23:30
23:31 BenGoldberg joined, BenGoldberg left 23:32 arcetera left, arcetera joined 23:33 BenGoldberg joined
perlawhirl yeah, i have a (probably misguided) design proposal and wanted to see if I could do it in a module first... though by the sounds of it I might not be smart enough :D 23:33
geekosaur: would you mind reading my ramblings and give me your opinion. gist.github.com/0racle/ea0523759e2da15758d4 23:34
geekosaur I'm probably the wrong person to do it. I am not a p6guts expert or anything like that 23:35
perlawhirl but from a user pov, do you think that seems nice 23:36
if it existed, would you use it instead of grep. i think i would, as it reads more like english 23:37
or am i just a weirdo ?
geekosaur I feel like grep is largely a concession to perl5, and there are other mechanisms in perl6 already? but I could be wrong 23:38
23:38 cpage_ left
perlawhirl perhaps... like i said, i'm probably misguided (and a weirdo :D) 23:39
23:40 cpage_ joined 23:41 geekosaur left 23:42 geekosaur joined 23:44 kid511 joined 23:46 kid51 left 23:50 zacts_ left 23:51 cpage_ left 23:52 zacts joined 23:53 ChoHag left 23:56 cpage_ joined 23:57 johndau joined 23:59 cdg left, cdg joined