»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend!
Set by sorear on 4 February 2011.
dalek Heuristic branch merge: pushed 18 commits to panda/pod-installing by tadzik 00:00
nda: 551cdc5 | tadzik++ | / (4 files):
First attempt at installing pod aside .pms and .pirs. Tests work, modules not really
panda: 395943c | tadzik++ | ext/File/Find.pm:
panda: Merge branch 'master' into pod-installing
00:00 dalek left
tadzik eh, I'm a dalek-murderer today 00:00
00:01 dalek joined, ChanServ sets mode: +v dalek
diakopter dalek: wb 00:01
japhb_ dalek needs to be taught not to suicide, either by spacing out the commit reports, or by cutting them short even when they don't meet the threshold of "Heuristic branch merge" 00:05
dalek c: e64715c | tadzik++ | META.info:
Add META.info
diakopter japhb_: it has a bit of flood prevention built in; it was based on the botnix framework
japhb_ nodnod 00:06
Though it seems to need some tuning (or is there special dispensation we can get from Freenode for it?)
diakopter since my first iteration though, sorear has redone it completely at least once
dalek osystem: 27e7687 | tadzik++ | META.list:
Add p6doc
tadzik yeah, I'm quite satisfied with panda now :) 00:07
maybe not quite code-wise, but at least feature-wise
japhb_ Good! 00:08
What do I need to do to test your latest changes (the doc stuff)? Or are you ready for that?
tadzik it's all in master
I went full hardcore :)
japhb_ heh 00:09
tadzik panda install p6doc should work now
and then 'p6doc Str' or so
japhb_ So need to pull and build rakudo, then run reboostrap.pl from panda, and then panda install p6doc?
tadzik yep
japhb_ OK, that first part is going to take a while. ;-)
tadzik japhb_++ # testing my mad creations :) 00:10
oh, you need to install p6doc with --notests
it fails some
japhb_ tadzik++ # mad creations :-)
OK, got it
BTW, does one need to (in general) pull panda before running rebootstrap.pl, or does it download a fresh copy of panda to install in ~/.perl6? 00:11
(I know the modules it needs are bootstrapped locally, I'm wondering about panda itself) 00:12
Although I guess it would be silly to pull a new copy of just panda, it might need new copies of the dependent modules
nm
tadzik japhb_: rebootstrap.pl uses bootstrap.pl, which uses the local files 00:13
japhb_ yeah, brain fizzle on my part 00:14
tadzik phenny: tell moritz one of the tests in p6doc/t/typegraph.t fails 00:15
phenny tadzik: I'll pass that on when moritz is around.
TimToady well, boarding time, see you on the flip side 00:16
tadzik fly safely TimToady
japhb_ TimToady, safe flight!
TimToady at least it'll be summer if we land in the arctic :)
afk &
tadzik japhb_: any further ideas for panda? 00:18
Aside from windows support existing at all :)
japhb_ tadzik, does this version work under both Rakudo and Niecza? 00:19
tadzik I don't think so :( 00:20
japhb_ That would be a biggie
tadzik colomon's been working on panda-niecza some time ago
yeah, that'd be cool
japhb_ Not needing an external program to fetch the projects list would be a nice item
colomon niecza doesn't have exceptions
tadzik oh 00:21
diakopter wat. news.stanford.edu/news/2010/august/...82310.html you mean radioactive dating could be *way* off if solar activity was pretty different in the past 100k years?
darn, moritz's not around to give physics opinion
tadzik hm 00:22
diakopter linked from /. sorry
tadzik but maybe I could make panda run on rakudo, but compile modules using niecza ;>
japhb_ Being able to see just the installed modules (`panda list` variant showing just installed stuff) without needing to manually look at ~/.panda/state, especially if you can see whether they were installed normally or --notests or such.
tadzik omh 00:24
* omw
japhb_ ?
diakopter on my way?
tadzik japhb_: I have a locally lying getfile.pir, which could work instead of wget
yes, on my way
dalek nda: b37c702 | tadzik++ | bin/panda:
Add panda list --installed, listing only installed modules
00:26
00:26 bruges left
colomon tadzik: oh! that might well work. can't see any obvious reason it wouldn't... 00:26
00:27 bruges joined
tadzik it may be a matter of switching `env perl6` to point at niecza 00:27
and then explicitely running panda with rakudo
japhb_ Oh, clearly I'm slow to realize my own thought processes today -- In the face of rebootstrap, ~/.panda/state needs to know about --notests invocation, otherwise it will fail to reboostrap. :-) 00:31
00:32 spider-mario left
tadzik oh, indeed :) 00:36
japhb_ tadzik, all working well so far (including panda list --installed, tadzik++ for rapid turnaround!)
tadzik :)
japhb_ I'll see if I can fix that doc test fail
tadzik I'm now fighting Q:PIR and LWP/UserAgent from Parrot 00:37
japhb_ :P
tadzik it used to work. Like, few months ago, and as a standalone pir...
00:37 whiteknight joined
tadzik in file '(file unknown)' line 31400315 00:38
this is totally awesome :)
00:38 whiteknight is now known as Guest66935
japhb_ chuckles -- the test is just wrong 00:39
tadzik I looked at it, but I wasn't sure what's happening there :)
dalek c: db7f995 | (Geoffrey Broadwell)++ | t/typegraph.t:
Fix out-of-date test
00:40
japhb_ I think he got unlucky and used a type with no explicit parent that actually did have a parent -- which had been missing from the source file early on. 00:41
tadzik is there any up-to-date module using Q:PIR? 00:42
japhb_ W00t! # p6doc installed without --notest, and working
tadzik ...and parrot objects...
\o/ japhb_++
japhb_ Hmmm, I think we have enough real-world Pod documentation to start tweaking Pod::To::* to render more readable stuff 00:48
tadzik I was considering teaching it to use Term::ANSIColor if available 00:49
japhb_ tadzik, another useful bit for 'panda list' might be showing the source url that something will fetch from (or *was* fetched from, plus perhaps its 'git describe', if installed) 00:51
tadzik something like 'panda info' for everything?
japhb_ tadzik, that might end up being a false economy (because what you need to do to highlight things well when you have pure text versus ANSI codes may be too different), but I can certainly see Pod::To::ANSI inheriting from Pod::To::Text ... 00:52
tadzik well volunteered :) 00:53
japhb_ tadzik, yeah, but in tabular form so we get one line per module (otherwise it will scroll away)
tadzik hm
japhb_ BTW, what does this line in 'panda info Pod::To::HTML' mean?
tadzik why would you want so many info in panda list?
japhb_ "Pod::To::HTML" => "*"
tadzik oh, that's version 00:54
most modules have version set to *
as in "no versioning, disregard"
japhb_ Ah!
gotcha
I meant, a well-used ~/.panda/state might have a lot of modules in it. In 'panda info' format, each one takes 6 lines vertically; displaying them all would scroll. 00:55
So I'm asking for the one-line-per-module of 'panda list', but the detail of 'panda info'
:-)
tadzik hmm 00:57
panda info --short or such?
japhb_ Or 'panda list --verbose' ;-)
but yes
That's what I mean
tadzik so, long story short: you want detailed, but readable list of installed modules? 00:58
japhb_ Yes, but I do like being able to do both 'panda list' and 'panda list --installed'. But I'd settle for something that does just the latter with more detail. 00:59
tadzik okay. Want to implement it? :) 01:01
japhb_ Well, sure, I suppose I could give it a try. :-)
01:02 ObseLeTe left
tadzik argh, I can't PIR 01:03
/o\
benabik tadzik: Need helps?
tadzik benabik: oh yes
benabik: gist.github.com/3365227
r: gist.github.com/3365227 01:04
p6eval rakudo efde6e: OUTPUT«use of uninitialized value of type Mu in string context in any <anon> at src/gen/BOOTSTRAP.pm:104␤␤use of uninitialized value of type Mu in string context in any <anon> at src/gen/BOOTSTRAP.pm:104␤␤===SORRY!===␤error:imcc:syntax error, unexpected '=', expecting '…
tadzik it doesn't like the 'new'
ua = new ['LWP';'UserAgent']
01:05 scott_ joined, scott_ is now known as Guest71402 01:06 gongyiliao joined
benabik tadzik: You never declared ua as a variable. 01:06
tadzik huh 01:07
<facepalm>
benabik .local pmc ua
tadzik yeah, but that still fails, same errors
benabik Yeah.
tadzik ok, same for response 01:08
and outfile
benabik Yeah.
tadzik and now it's Null PMC access in set_integer_native(), so at least PIR parser :)
s/parser/parses/
benabik I think that has something to do with the interface between Q:PIR and 6model-land 01:09
That I dunno.
tadzik yeah
yes, works! \o/ 01:10
benabik++
thank you
benabik NP
01:10 jeffreykegler joined
benabik I think it's not allocating a scalar or something. Might want to do something like my $ret = Q:PIR and then $ret or die 01:11
tadzik I fixed it with %r = perl6_box_int $I0 01:13
rakudo expects %r to be a perl6 object
benabik Ah, right. Boxing is good.
tadzik aye 01:14
interestingly, it didn't like nqp::p6box_i Q:PIR
benabik Probably because it's doing something between the Q:PIR and the p6box
tadzik yep 01:15
dalek nda: 02eb2a8 | tadzik++ | lib/Panda/Ecosystem.pm:
Use Parrot LWP::UserAgent instead of system wget. benabik++ for pir help
01:16
tadzik and now panda doesn't need wget :)
benabik tadzik++
tadzik it's one step further from niecza compatibility though
I think I'll try to sleep a bit now 01:22
good night #perl6
japhb_ o/ 01:24
01:25 gongyiliao left, dayangkun joined 01:26 ranguard left 01:27 gongyiliao joined 01:30 Guest66935 left 01:37 UncleFester6 joined 01:39 ranguard joined 01:41 UncleFester6 left 01:52 ranguard left, lichtkind left, ranguard joined 01:53 cognominal left 01:54 cognominal joined 01:58 japhb_ left 02:00 jaldhar joined 02:01 tokuhiro_ left 02:02 ranguard left 02:10 leprevost joined
[Coke] someone proposed working on pod2latex for p6 to the TPF. 02:14
(if you want to see that, go comment on the proposal on the tpf site)
02:20 ranguard joined 02:31 JimmyZ joined
JimmyZ [Coke]: link ? 02:32
benabik news.perlfoundation.org/2012/08/201...prove.html 02:40
I think
It's expanding WriteAt, a p5 module built on top of Perl6::Pod. No less useful for that though. 02:41
02:43 orafu left, orafu joined
JimmyZ doesn't care about p5 02:48
03:05 JimmyZ left 03:17 Circlepuller_ joined, [particle]1 joined 03:18 daniel-s left, daniel-s joined, scott_ joined 03:19 dayangkun left, scott_ is now known as Guest86841, [particle] left, Guest71402 left, sftp left 03:20 Circlepuller left 03:21 dayangkun joined
[Coke] feather.perl6.nl/~coke/roast/ 03:21
(a chart of passing tests against time by the big 3) 03:23
03:25 sporous left, sporous joined 03:27 woosley left, cognominal left 03:29 daniel-s left, Vlavv_ left, DarthGandalf left, sudokode left, geekosaur left, skids left 03:34 daniel-s joined, Vlavv_ joined, DarthGandalf joined, sudokode joined, geekosaur joined, sudokode left 03:36 ranguard left 03:37 ranguard joined, daniel-s left 03:43 daniel-s joined 03:51 jeffreykegler left 04:05 sudokode joined 04:13 telex left 04:15 funeral joined, funeral left 04:16 blabity joined
blabity Hi, I'm new to the Perl community. I'm really interested in the Parrot VM more than anything, so would it make more sense to learn Perl 6 over Perl 5 to start with? 04:18
04:22 blabity left, telex joined 04:28 jlaire_ is now known as jlaire 04:29 telex left 04:33 violent joined, violent left 04:35 telex joined 05:02 leprevost left 05:18 birdwindupbird joined, xinming left 05:20 xinming joined 05:30 prammer left, prammer joined
japhb uh, what happened to feather.perl6.nl:3000/projects.json ? It's about 1/5 the size it was when I grabbed it last (a few hours ago, maybe?) 05:38
masak good morning, #perl6. 05:51
shachaf Good 22:52, masak. 05:52
masak hey, it's UGT morning everywhere. :)
shachaf Oh, I guess sorear is in .de by now? 05:53
Or .lu or something. 05:54
tadzik good morning 05:57
japhb: it seems that github is throwing up 503's
masak teaching & 06:07
06:07 kaleem joined 06:24 wtw joined 06:26 SamuraiJack joined 06:28 fhelmberger joined 06:30 UncleFester6 joined 06:33 fhelmberger left 06:34 fhelmberger joined 06:40 cognominal joined
moritz \o 06:41
phenny moritz: 00:15Z <tadzik> tell moritz one of the tests in p6doc/t/typegraph.t fails
moritz [Coke]++ # feather.perl6.nl/~coke/roast/
diakopter shachaf: no way... it's a 15-20 hour trip depending 06:44
shachaf wasn't sure when he left. 06:45
My sense of time is a bit distorted recently. I guess he said ~12 hours not that long ago. 06:46
diakopter seen sorear 06:47
aloha sorear was last seen in #perl6 9 hours 31 mins ago saying "n: say "00" eqv "0"".
shachaf Yep. 06:48
arnsholt I'd guess he's about halfway 06:50
06:57 thou left 07:12 brrt joined 07:15 hoelzro|away is now known as hoelzro 07:18 siff left 07:24 fhelmberger left 07:38 ObseLeTe joined 07:41 cognominal_ joined 07:44 cognominal left
japhb tadzik, I've gotten partway to implementing a couple of the changes I'd thought of for panda. Unfortunately, until I can fetch a valid projects.json, I can't test them properly. :-/ 07:48
07:53 UncleFester6 left
hoelzro morning perl6 07:55
brrt hi hoelzro 07:56
07:58 ObseLeTe left 08:01 aloha joined 08:06 fgomez joined, fgomez left, fgomez joined 08:10 fgomez left 08:12 fgomez joined, fgomez left, kresike joined
kresike good morning all you happy perl6 people 08:12
jnthn morning 08:14
08:18 Psyche^ joined 08:22 Patterner left, Psyche^ is now known as Patterner 08:25 dakkar joined 08:31 fgomez joined 08:33 fgomez left 08:40 sergot joined
sergot hi o/ 08:40
08:45 fgomez joined 08:46 daxim joined 08:48 brrt left 08:53 bbkr joined 08:55 fgomez left 09:01 brrt joined 09:03 dayangkun left 09:09 thelazydeveloper joined, sirrobert left 09:33 fhelmberger joined 09:35 broquaint joined 09:38 daxim left 09:39 odoacre left, daxim joined 09:40 larks left, odoacre joined 09:41 larks joined 09:49 fridim_ joined
hoelzro does running 'make test' in Rakudo automatically checkout roast and run against it as well? 09:50
hmm..guess not.
jnthn make spectest 09:53
hoelzro jnthn: I just saw that, thanks =) 09:54
tadzik at Poznań airport 10:00
japhb: yeah, looking into that
japhb: it seems that github got mad at feather for some reason 10:02
10:02 brrt left
tadzik but it's still smaller for some reason :/ 10:04
jnthn tadzik: Happy flying 10:06
jnthn leaves for the airport in ~1h
10:08 Guest86841 left
felher hoelzro: If you have a multicore system, doing something like "TEST_JOBS=x make spectest", where x is a suitable number of jobs to be running in parallel, will make testing much faster :) 10:11
tadzik japhb: okay, the list seems ok now 10:12
thanks for noticing
bah, my battery's terrible. Good that the flight's soon 10:15
hoelzro felher: awesome, thanks for the tip!
felher hoelzro: you're welcome :) 10:16
10:19 UncleFester6 joined 10:34 spider-mario joined 10:42 DarthGandalf left 10:45 DarthGandalf joined 10:54 dbr left
jnthn airport & 10:55
10:55 dbr joined 10:58 tarch joined, tarch left 11:03 kaleem left 11:06 fhelmberger left 11:07 kaleem joined 11:13 kaleem left, leont joined 11:14 kaleem joined
leont Anyone have a phonenumber of Flavio Glock? 11:15
(if so, send it in pm please) 11:16
hoelzro leont: I happen to work a few dozen meters from him 11:19
would you like me to relay a message?
leont It's been taken care of :-) 11:21
(and I'm pretty sure he's not at work right now ;-) ) 11:22
hoelzro ah =) 11:29
jnthn: that fix you suggested last night didn't work =( 11:30
for the qualified + punning call
here's the error I got: Nominal type check failed for parameter ''; expected R but got Consumer instead 11:31
11:31 gongyiliao left 11:35 UncleFester6 left 11:49 MayDaniel joined 11:57 ObseLeTe joined 11:58 ObseLeTe left 12:08 SamuraiJack left 12:12 SamuraiJack joined 12:32 SamuraiJack left 12:34 SamuraiJack joined
[Coke] wishes every happy hacking at yapc:eu. I'll just sit here and keep writing java then, shall I? ;)( 12:44
er, ;)
12:49 cognominal_ left, cognominal joined 12:56 UncleFester6 joined 12:59 PacoAir_ joined 13:01 [particle]1 is now known as [particle] 13:02 PacoAir left, PacoAir_ is now known as PacoAir 13:03 cognominal left 13:04 cognominal joined 13:16 orafu left, orafu joined
colomon [Coke]: solidarity! I'll just sit here and keep writing C++, a little Perl 6, and ABC coding up tunes for next week. 13:19
PerlJam too (though it's Perl 5 and a little Perl 6) 13:21
13:26 JimmyZ joined 13:28 bluescreen10 joined
colomon hopes there's some wild p6 hacking at yapc::eu! 13:29
pmichaud good afternoon, #perl6 13:31
hoelzro o/ pmichaud
or \o
I'm not sure.
pmichaud either works :-)
PerlJam pmichaud: good ugt to you!
pmichaud \o/
13:33 erkan joined, erkan left, erkan joined 13:34 skids joined
PerlJam Did you guys see that khanacademy now has a CS program? www.khanacademy.org/cs 13:34
13:34 nodmonkey joined
daxim old hat. news.slashdot.org/story/12/03/01/14...o-language 13:36
PerlJam yeah, but now they've done something with it :) 13:38
13:40 atrodo joined
daxim not CS slashdot.org/comments.pl?sid=304870...d=40990295 13:43
14:01 fridim_ left 14:10 kaleem left 14:12 kaleem joined
JimmyZ aloha 14:14
pmichaud is in eu now?
*at 14:15
14:17 fridim_ joined
pmichaud yes, I'm in .eu now 14:21
14:22 ObseLeTe joined
[Coke] pmichaud: I am slowly working my way towards your per test roast information: feather.perl6.nl/~coke/roast/ - next I'll add a per synopsis breakdown like I did on the old google doc page, then start getting into std and per test stuff. 14:24
JimmyZ there are four days before yapc:eu?
pmichaud Coke++ 14:25
JimmyZ [Coke]: the hint is a bit wrong
[Coke] JimmyZ: the hint seems to be stuck on the first value in the series. 14:27
JimmyZ aye 14:29
14:30 sftp joined 14:32 thou joined 14:36 kaare_ joined, tokuhiro_ joined
[Coke] I change the tooltip so that it's least more obvious it's stuck. 14:45
14:48 araujo left 14:54 wtw left 14:55 localhost joined
[Coke] JimmyZ: fixed. also bumped off a few months of early data. 14:57
kresike bye all 14:59
14:59 kresike left
[Coke] !! 14:59
er, ~~
15:05 Tedd1 left 15:06 Tedd1 joined 15:09 araujo joined 15:12 jeffreykegler joined
dalek pan style="color: #395be5">perl6-examples: 7d9c163 | (Ryan Connelly)++ | 99-problems/P (26 files):
Added my own solutions for 99-problems/P01-P26.

All currently run correctly on both rakudo and niecza.
15:12
15:16 UncleFester6 left 15:18 UncleFester6 joined, tokuhiro_ left, Tedd1 left 15:20 Tedd1 joined 15:23 _fall0ut_ left 15:25 _fall0ut_ joined 15:26 ObseLeTe left
moritz \o 15:28
colomon o/ 15:29
moritz short backlog is short 15:32
colomon is wishing svn had a "stash" 15:35
shachaf git-svn does! 15:36
colomon yes, but git-svn does not work well for my needs. :( 15:37
moritz swaggadocio.com/post/428927895 the 'tap' method is a K combinator. Do we want that in Perl 6 too?
given that we already have several million methods in any, .tap wouldn't hurt IMHO :-) 15:38
_sri++ for asking
_sri \o/
shachaf I wouldn't really call that the K combinator... 15:39
_sri ruby folks coined the term i believe
leont finds .tap confusing because of TAP 15:40
colomon doesn't look like it would be too hard to implement...
shachaf It's a reasonable method for working with Ruby, but only incidentally similar to K. :-)
_sri it's fun syntax sugar
15:41 cognominal left
colomon if you were purely function, the K combinator would basically be a no-op, right? 15:41
_sri ruby-doc.org/core-1.9.3/Object.html#method-i-tap # the documentation for it btw
colomon *functional
shachaf Well, not a no-op -- it would take two arguments and return the first one. 15:42
It would have no effects, but then again, nothing would "if you were purly functional". :-)
colomon ah, yes. but it wouldn't do anything with the second argument
shachaf Right.
colomon whereas it appears to point of the Ruby version is for side effects 15:43
shachaf (Actually it would take an argument X and return a function that ignores its argument and returns X.)
japhb tadzik, BTW, given what happened when I ran panda after the projects.json was shortened ... I'm thinking reboostrap.pl should back up the state file before rebuilding things. Because if the projects.json is incomplete, the installs after the local boostrap will fail ... but the local bootstrap has already written a fresh state file.
shachaf (It's called "const" in Haskell, and it's not useless.)
(Using K as well as another combinator, S, you can write any function. :-) )
PerlJam Why is it called tap?
pmichaud "tap into a method chain" 15:44
shachaf Hah, that post has a bug, I think.
def logger; @logger || Logger.new(STDOUT); @logger.blah; @logger; end
Er, ||= 15:45
Should become def logger; (@logger ||= Logger.new(STDOUT)).tap {|l| l.blah }; end
Oh, wait.
.blah is just initialization here, so it doesn't matter in this particular case.
pmichaud there have been a fair number of times where I've wanted to invoke a method for its side effects but return the original invocant; we even have a mechanism to do this in PAST 15:46
although it's not nearly as straightforward as .tap :-)
colomon just implemented it for niecza. ;)
I think.
nr: gist.github.com/3371209 15:47
p6eval rakudo efde6e, niecza v19-21-gc86e8e5: OUTPUT«11␤10␤»
colomon that's 10.tap({ say $_ + 1 }).say;
is that the right idea?
PerlJam looks like it 15:48
colomon 's little boy is experimenting with with derailers after 1) seeing a rail one in a museum last week 2) having a big piece break off some Thomas wooden railway track, making a natural derailer for the wooden railway. :) 15:49
if I've got it correctly, it would be very trivial to add to our p6 implementations.
pmichaud are there any arguments involved?
i.e., perhaps &block(self, |$capture) ? 15:50
(just wondering a bit)
shachaf There's another name for it in the Ruby world, apparently: weblog.jamisbuck.org/2006/10/27/min...-returning 15:52
That's possibly nicer than a method.
PerlJam um ... but it is a method. :) 15:54
15:55 JimmyZ left, jeffreykegler left
colomon pmichaud: adding |$capture wouldn't actually let you do anything more, it just might make it more elegant, correct? 15:58
moritz also "returning" doesn't fit well in Perl 6, because 'return' is bound to routines, not blocks
PerlJam "tap" doesn't fit well IMHO because is has other connotations. 15:59
15:59 fhelmberger joined
moritz
.oO( KitchenSink )
16:00
16:02 jeffreykegler joined 16:03 jeffreykegler left
PerlJam $logger //= en-passant Logger.new: { $_.datetime_format '%c' } 16:03
(yes, I know the name stinks, but that's kind of what's going on: create this object and while you're at it, do this other thing with it
)
pmichaud .do 16:04
$xyz.do( { block })
moritz $xyz.modify( { block } )
16:04 hoelzro is now known as hoelzro|away
pmichaud modify implies a change to $xyz; makes me think of .= 16:04
colomon likes .do best so far 16:05
PerlJam .btw
colomon .tee
moritz and you do it for the side effects, which are usually modifications
PerlJam: .lol
:-)
pmichaud interestingly, the example given in the ruby docs doesn't modify self :-) 16:06
which is why I'm not so certain of "usually modifications"
colomon moritz: I've got to think the most common usage is going to be simply printing out something.
it would be awesomely handy for debugging long chain statments. 16:07
moritz aye
pmichaud .aside
PerlJam .also
moritz @array.map(...).sort.also(&say).join('|') 16:08
shachaf .btw
PerlJam shachaf: yes, I said that already :)
shachaf Oh, yes.
PerlJam (that's still my favorite too :)
pmichaud .btw doesn't have the 'selfness' implication that I'd want to see 16:09
moritz btw always makes me think of comments in LOLCODE
pmichaud it could also be a metaoperator, similar to .* .? etc 16:10
_sri .mesh
colomon still likes .do 16:11
moritz pmichaud: meta operator on invocation?
colomon though there's something to be see for .also
PerlJam colomon: do Logger.new: { ... } # even if used like this ?
pmichaud well, there's a statement:do that we have to be aware of
_sri .also is neat 16:12
shachaf .don't
To be more honest to the K combinator.
PerlJam shachaf: heh!
colomon PerlJam: maybe there's something I don't understand here, but wouldn't do Logger.new: { ... } create a Logger, pass it a block, and then throw away the result?
pmichaud gee, if it's a k-combinator, then just .k() :-P 16:13
moritz 'do Logger.new: { ... }' is just indirect method syntax for 'Logger.new.do: { ... }'
colomon ah
shachaf Does it go both ways?
pmichaud ...except that there's already a "do" statement, iirc.
colomon pmichaud: right.
PerlJam which is why I don't like .do at all :)
moritz shachaf: the other way (using a sub with method syntax is) 'foo'.&say('bar') 16:14
shachaf moritz: Ah, OK.
moritz nr: 'foo'.&say('bar')
p6eval rakudo efde6e, niecza v19-21-gc86e8e5: OUTPUT«foobar␤»
shachaf .after()? 16:15
foo.after(&say)
pmichaud .apply(&say) is close
colomon oooo, .apply ...
pmichaud but $obj.apply(&block) feels a bit backwards.
moritz .oh-my 16:16
geekosaur futz-with :p
PerlJam .btw is still my favorite (.also is a close-ish second, but doesn't feel right in prefix position) 16:17
Where's a linguist when you need one? ;) 16:18
shachaf .after() or .post() or something is declarative.
"it's still foo, just after we called this procedure"
pmichaud .btw bugs me a bit, btw 16:19
PerlJam we all have our quirks :)
colomon pitches .tee again -- it's unix-y but almost exactly right
pmichaud tadzik++ suggests ".inject"
colomon hmmm 16:20
PerlJam heh, we can confuse rubyists with that one
IIRC inject is like reduce
(in rubyland) 16:21
shachaf And Smalltalkland.
(Well, OK, no one lives in Smalltalkland.)
benabik en-passant?
pmichaud bypass
shachaf .detour
colomon .siding
PerlJam .detour kind of works 16:22
16:22 cognominal joined
PerlJam en-passant is "in passing" like "on your way to the store, stop by the post office" the post office is en passant of the store journey (or something like that) 16:23
which is why .detour kind of works for me.
(and .btw) 16:24
16:24 cognominal left, cognominal joined, cognominal left 16:25 fhelmberger left, cognominal joined
_sri .btw or .also 16:25
dalek c: 68c9352 | (Gabor Szabo)++ | lib/Str.pod:
add some Str examples
16:26
c: e7a4202 | (Gabor Szabo)++ | lib/Str.pod:
more Str examples
c: 15eeda8 | (Gabor Szabo)++ | / (27 files):
Merge branch 'master' of github.com:perl6/doc
pmichaud there's always .self :-P
$obj.self({...}) 16:27
very declarative if done that way
16:28 spider-mario left
_sri winner 16:28
pmichaud it's kind of like "sink" in that sense -- we evaluate for the side effect but then ignore the result.
colomon but sort of weird with self $obj: { ... } ? # still think .self might be a winner, just trying to think it out
pmichaud well, have to again be careful with "self" in term position. 16:29
it's like "do" in that sense.
16:31 broquaint left, kaleem left, broquaint joined
masak morning, #perl6. 16:34
16:35 leont left
PerlJam nr: say lines $*IN:; 16:38
p6eval rakudo efde6e: OUTPUT«===SORRY!===␤Confused␤at /tmp/IzWwB5bkN2:1␤»
..niecza v19-21-gc86e8e5: OUTPUT«===SORRY!===␤␤Invocant handling is NYI at /tmp/cPHKVF1Quj line 1:␤------> say lines $*IN:⏏;␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 1402 (die @ 5) ␤ at /home/p6eval/niecz…
16:38 leont joined
PerlJam Looks like we don't have to worry about that notation anyway as neither rakudo nor niecza grok it ;) 16:38
moritz szabgab++ # Str examples 16:43
UncleFester6 r: use MIME::Base64; 16:46
p6eval rakudo efde6e: OUTPUT«===SORRY!===␤Could not find MIME::Base64 in any of: /home/p6eval/.perl6/lib, /home/p6eval/nom-inst/lib/parrot/4.4.0-devel/languages/perl6/lib␤»
16:49 birdwindupbird left
moritz star: use MIME::Base64; 16:50
p6eval star 2012.07: ( no output )
UncleFester6 star: use MIME::Base64; my Buf $b .= new(0xe2, 0x80, 0xbe); say $b; my Str $s = $b.decode("utf-8"); say $s.chars; say $s; MIME::Base64.encode_base64($s)
p6eval star 2012.07: OUTPUT«Buf:0x<e2 80 be>␤1␤‾␤FixedIntegerArray: index out of bounds!␤ in method encode_base64 at /home/p6eval/star/lib/parrot/4.6.0/languages/perl6/lib/MIME/Base64.pm6:7␤ in block <anon> at /tmp/0Iskn9dcgx:1␤␤»
UncleFester6 was testing base64 on a w3 sample utf8 file ... 16:51
16:53 dakkar left 16:54 odoacre left
tadzik in Perl 16:55
diakopter :) 16:56
moritz will arrive there in 26 hours, didn't manage to get there earlier :/
[Coke] should write something that pulls down RC samples and makes integration tests out of them. 16:57
moritz [Coke]: that would be very neat 16:58
dalek rl6-roast-data: 77b6294 | coke++ | / (4 files):
today
c: 2ecf87d | (Geoffrey Broadwell)++ | lib/Str.pod:
Fix an incorrect example and a whitespace error in Str.pod
PerlJam An RC smoker would be awesome too.
moritz most (all?) RC examples write to $*OUT 17:00
[Coke] well, if we had something that auto-updated rc tests, you'd see it in perl6-roast-data when it failed
moritz so we could just write a common wrapper that overwrites $*OUT with something that captures the output instead of printing that
[Coke] we'd need to have a way to mark off RC code in the .t, test its output (or expected result), and a script to pull down new versions of RC code when they changed. 17:01
17:01 bluescreen10 left 17:03 bluescreen10 joined 17:04 bbkr left 17:07 crab2313 joined 17:08 Tedd1 left
moritz aye 17:12
17:16 localhost left
[Coke] moritz: feather.perl6.nl/~coke/sierpinksi_triangle.txt 17:22
17:23 crab2313 left
moritz [Coke]: wow, that looks nice 17:23
[Coke] so, there's (ugly) markers to denote which part is the code from RC, there's some boilerplate to save the output, there's our expected output when we run the RC code, and then boilerplate to run the test.
(the hardest part was getting the right text for the triangle. we're generating trailing spaces! ;) 17:24
moritz $output.lines>>.trim-trailing.join("\n") 17:25
:-)
[Coke] so, there's some potential there for automating creating the test, and then potential for automating the upkeep of the RC code.
and I'd probably put the tests under a new roast dir, "rosettacode". 17:26
17:27 leont left, mucker joined 17:29 localhost joined 17:38 sftp left 17:40 sftp joined
dalek ast: e488f73 | coke++ | S02-types/hash.t:
use *-1 to indicate from end of list.

std++
17:52
ast: 73f0563 | coke++ | rosettacode/ (3 files):
Add in some rosettacode tests and a plan.
[Coke] moritz: there's 2 samples to start with.
moritz \o/ 17:53
colomon [Coke]: I think the whole point of that test was that it was -1 instead of *-1? 17:54
The test should maybe be rewritten to be dies_ok, or something like that.
[Coke] colomon: its on hash access.
not array access. 17:55
so, we can check both, but the intent as I read it was "you can't read from the end of a hash"
(even if you do it the right way)
colomon ah
[Coke]++
[Coke] also, the test didn't parse in std.
(so, right, if that is the intent, we need to wrap it.) 17:58
18:04 daxim left 18:10 odoacre joined
japhb tadzik, for panda do you prefer pull requests or to hand out a commit bit? 18:15
18:16 pyrimidine left 18:17 cognominal_ joined 18:19 cognominal left 18:23 birdwindupbird joined 18:33 UncleFester6 left 18:49 spider-mario joined
masak I just found the best Chinese idiom ever: 瓜田不納履,李下不整冠 18:51
"don't tie your shoelaces in a melon field, and don't tidy your hat under a plum tree" 18:52
(meaning, avoid activities that make you *look* culpable)
japhb phenny, ask tadzik I'm making decent progress locally on panda fixes and improvements; would you prefer I send pull requests, or do you prefer to hand out commit bits? 18:55
phenny japhb: I'll pass that on when tadzik is around.
18:57 UncleFester6 joined 19:12 jaldhar left 19:14 jaldhar joined 19:16 mucker left
arnsholt masak: That was completely opaque to me, until I read your explanation on the next line; after which it was completely obvious =D 19:17
masak arnsholt: same here. :) 19:18
arnsholt Typical of idioms, really
Either you get it, or you don't
masak Wikipedia says of it: "The literal meaning of the idiom is impossible to understand without the background knowledge of the origin of the phrase." 19:19
oh, but this seems to refer to the abbreviated version of the idiom: 瓜田李下 -- "melon field, beneath the plums". 19:20
how very Chinese. :)
arnsholt It's not the worst idiom in terms of grokkability 19:22
PerlJam Perl--either you get it, or you don't ;) 19:23
arnsholt My favourite in terms of weirdness is in Norwegian
"Ugler i mosen"
UncleFester6 eval: print "hello\n"
buubot_backup UncleFester6: hello 1
arnsholt Literal meaning is "owls in the moss" =D
19:24 SamuraiJack left
UncleFester6 eval: use MIME::Base64 qw(encode_base64); use Encode qw(encode); $encoded = encode_bas64(encode("UTF-8", "\x{a2}")); print $encoded, $/; 19:24
buubot_backup UncleFester6: ERROR: Can't locate MIME/Base64.pm in @INC (@INC contains:) at (eval 20) line 1. BEGIN failed--compilation aborted at (eval 20) line 1.
PerlJam sounds like a warning
arnsholt Although it's somewhat improved by knowing that it's actually stolen from Danish, where it's "ulver på myren" (wolves on the moor)
masak arnsholt: oh! so that's where it's from. 19:25
arnsholt: Swedish has "ugglor i mossen", too.
I never asked myself where it came from.
arnsholt Yeah, it's really, really weird as far as idioms go
Knowing the Danish origin helps a bit, but I still don't quite grasp how we went from wolves on a moor to owls in moss ^_^ 19:26
UncleFester6 perll: use MIME::Base64 qw(encode_base64); use Encode qw(encode); $encoded = encode_bas64(encode("UTF-8", "\x{a2}")); print $encoded, $/;
perl: use MIME::Base64 qw(encode_base64); use Encode qw(encode); $encoded = encode_bas64(encode("UTF-8", "\x{a2}")); print $encoded, $/;
PerlJam Are Danes and Swedes afraid of owls?
UncleFester6 Is there a way to run that little p5 script through evalbot? 19:27
masak arnsholt: mis-borrow, I guess.
arnsholt: you need to watch this: www.youtube.com/watch?v=_hM_mWG2Cbc :)
19:27 sirrobert joined
arnsholt "ser inte skogen för alla ben" =D 19:29
(modulo Swedish spelling)
19:29 jaldhar left, jaldhar joined
masak it came out correct :) 19:30
arnsholt But that was a delightfully absurd clip =D 19:33
masak "Nile City". way before its time. 19:34
arnsholt Oh, goody. Sometimes I can intuit the changes required for Swedish, and sometimes I'm just way off-target
masak it was possible to watch it years later, and find it hilarious.
arnsholt Yeah, that clip was very Monty Python
Reminded me of some more recent Norwegian stuff as well
masak but at the time it came out, the reaction among Swedish viewers was a little "eeeeh. ok..."
arnsholt Team Antonsen 19:35
I can imagine the reception was a bit cautious, yeah
19:35 _fall0ut_ left
UncleFester6 p: use MIME::Base64 qw(encode_base64); use Encode qw(encode); $encoded = encode_bas64(encode("UTF-8", "\x{a2}")); print $encoded, $/; 19:36
p6eval pugs: OUTPUT«pugs: *** Unsafe function 'use' called under safe mode␤ at /tmp/U4JjUAdObb line 1, column 1␤»
arnsholt masak: I assume other Norwegians have shown you the Team Antonsen/Ut i vår hage takes on Swedish and Danish? =) 19:38
masak arnsholt: yes. :)
19:40 UncleFester6 left
masak "kamelåså". :) 19:43
ChoHag I know this isn't strictly the right place to ask but I'm already in here - In þe old perl 5, how do I use split a row delimited by || and on each side 0 or more whitespace? The naiive \s*\|\|\s* doesn't work - the capture buffers keep their preceeding whitespace. 19:47
PerlJam eval: [ split /\s*\|\|\s*/, "foo || bar || baz" ] 19:49
buubot_backup PerlJam: ["foo","bar","baz"]
masak PerlJam++ 19:50
ChoHag Ah wait. not.
The space is captured previously by another regex.
masak 'night, #perl6 19:53
PerlJam masak: sleep well! 19:54
20:01 kaare_ left
[Coke] and dream of large macros. 20:05
geekosaur still has nightmares about those...
colomon [Coke]++
geekosaur then again they were m4 macros
PerlJam Any contest where you can say "my macro is bigger than your macro" means that you've already lost. 20:08
sirrobert anyone know of a p6 javascript grammar? 20:10
or, really... JSONP =) but I guess that would have most of javascript 20:11
20:11 jeffreykegler joined 20:16 jeffreykegler left
geekosaur PerlJam, I'm tempted to say any time you have to bring in macros, you've already lost 20:17
But sometimes it's less of a loss than *not* having them...
moritz I think macros are a tool like any other: they have their valid uses, but if you overuse them, you're in trouble
same with the chain saw :-) 20:18
geekosaur 15000+-line m4 macro collection (ignoring comments) for accell/sql. *twitch* 20:19
moritz puts it firmly into the "overuse" category 20:20
japhb
.oO( For example, if you were to try to carve a detailed statue out of a small block of wood using a chainsaw, that would be really bad ... oh wait )
PerlJam geekosaur: I have 20 routines that all look like this: sub FOO(SOME-SIG) returns RET_VAL is export is native(SOME-LIB) { ... } It sure would be nice if I could have written a macro to abstract out the common bits.
geekosaur might be showing excessive exposure to haskell, but thinks that feels like a type alias 20:21
although "is native" does mix the levels a bit, haskell-think-wise 20:22
moritz hm
20:22 brrt joined
moritz PerlJam: I wonder if a hack like perlgeek.de/blog-en/perl-6/2012-rak...lists.html could help you for that 20:23
PerlJam geekosaur: macros are a useful tool. :-)
geekosaur I didn;t say they weren't, I said they're often the *lesser* evil 20:24
but they're always evil
PerlJam macros are innately evil? 20:26
moritz only if you also think that funcitons/subroutines are also always evil 20:27
sirrobert or reason =)
20:31 brrt1 joined 20:32 brrt left
geekosaur m4 macros certainly are... 20:32
other kinds, well, it depends. but even various "hygienic" macros often strike me as workarounds for insufficiently general lower level design (while noting that we don't know how to make the lower level general enough in many cases) 20:33
20:37 brrt1 is now known as brrt 20:46 brrt left 20:48 tokuhiro_ joined
moritz if the lower level stuff were general enough, it would be higher level :-) 20:48
moritz wonders if there will be some syntax for creating arbitrarily nested hashes 20:50
something like my %h; %h{ [;] @keys } = $value; or so 20:51
20:51 cognominal_ left
moritz since @a[1][2] and @a[1;2] are supposed to be (roughly?) the same, that might work-ish 20:51
20:52 japhb_ joined
moritz has answered www.perlmonks.org/?node_id=987872 and now wonders if it can be made even easier in Perl 6 20:52
anyway, sleep time here, ttfn 20:54
20:55 PacoAir left 20:56 PacoAir joined
skids I never got the impression that @a[1][2] and @a[1;2] were related in any way... 21:00
ChoHag Quick one: Could s/=/==/ be a valid operator (though not ever being a sensible one)? 21:07
skids
.oO(Oh right, zen slice.)
21:11
PerlJam skids: perlcabal.org/syn/S08.html#Multidimensionality
ChoHag: What do you mean?
ChoHag You can define new operators, like +- for 'if $x = 10 +- 3'. Can s/=/==/ be a valid operator? 21:12
sub infix:<s/=/==/> or whatever.
benabik r: sub infix:<s/=/==/>(*@) { say 'crazy' }; 1 s/=/==/ 2 21:13
p6eval rakudo efde6e: OUTPUT«crazy␤»
PerlJam oh.
benabik Well, it appears to work. O.o
PerlJam benabik++
benabik n: sub infix:<s/=/==/>(*@) { say 'crazy' }; 1 s/=/==/ 2
p6eval niecza v19-21-gc86e8e5: OUTPUT«crazy␤»
ChoHag PerlJam: I think you mean "oh dear" :)
21:14 birdwindupbird left
PerlJam ChoHag: perhaps :) 21:14
21:17 alester joined, phenny left 21:18 skids left, mattp_ left, mattp_ joined 21:20 daxim joined 21:21 bluescreen10 left
daxim www.reddit.com/r/perl/comments/y6ba...l6/c5u5tz5 21:23
someone with a reddit account tell him these are two different languages
21:24 nodmonkey left 21:28 ObseLeTe joined 21:29 phenny joined 21:33 cognominal joined
benabik nr: sub foo { say 'bar' }; foo(1,2) 21:43
p6eval niecza v19-21-gc86e8e5: OUTPUT«Unhandled exception: Excess arguments to foo, used 1 of 2 positionals␤ at /tmp/ddy1yV_llJ line 0 (foo @ 1) ␤ at /tmp/ddy1yV_llJ line 1 (mainline @ 4) ␤ at /home/p6eval/niecza/lib/CORE.setting line 3929 (ANON @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setti…
..rakudo efde6e: OUTPUT«===SORRY!===␤CHECK FAILED:␤Calling 'foo' will never work with argument types (Int, Int) (line 1)␤ Expected: :()␤»
benabik nr: sub foo { say @_ }; foo(1,2)
p6eval rakudo efde6e, niecza v19-21-gc86e8e5: OUTPUT«1 2␤»
21:58 tokuhiro_ left 22:10 MayDaniel left 22:59 fridim_ left 23:09 whiteknight joined, whiteknight is now known as Guest59712 23:10 benabik left 23:12 scottdware joined, scottdware left, scottdware joined 23:13 scottdware left 23:26 benabik joined 23:53 thelazydeveloper left, ObseLeTe left