Check your feather email | spec.pugscode.org | paste: sial.org/pbot/perl6 | pugs.blogs.com | www.treehugger.com/files/th_images/paradigm.jpg
Set by audreyt on 29 August 2006.
00:01 markstos joined
TreyHarris renormalist: thanks for looking at it :-) 00:02
jdv79 any idea on the status of the metamodel stuff? 00:04
00:04 weinig|food is now known as weinig
markstos What's the recommend tool for viewing the kwid in Perl 6 modules ? 00:06
renormalist TreyHarris: np :-)
svnbot6 r13050 | trey++ | [t/perl5/array.t] 00:07
r13050 | trey++ | Un-todo'd passing test. Wrapped some
r13050 | trey++ | failing tests in eval so that skip_rest
r13050 | trey++ | could be removed. Wrapped failing
r13050 | trey++ | expressions in eval, and tested them.
r13050 | trey++ | Removed voodoo that doesn't seem necessary
r13050 | trey++ | anymore.
TreyHarris renormalist: oh, if it's an easy hack, ? can't introduce a regex anymore, and since ?() is used all over the place in pugs' tests, it would be helpful if that were fixed :-) 00:14
theorbtwo Er, what's ?() now? 00:15
TreyHarris theorbtwo: boolean context 00:16
theorbtwo slaps his head.
TreyHarris like @() array context, %() hash context, !() boolean negating context, $() scalar context
theorbtwo I don't think of those as having parens after them, for some silly reason, so I was thinking of something more function-like and less operator-like. 00:17
(And you missed ~, string context, and +, numeric context.)
00:19 ludan joined 00:20 markstos left 00:21 markstos joined
TreyHarris yup. without the parens, my brain starts to hurt though. maybe i'll get more comfortable with ~expr versus expr1 ~ expr2 as time goes on.... 00:21
svnbot6 r13051 | trey++ | [t/perl5/array.t]
r13051 | trey++ | Uncommented and munged a hardfail into
r13051 | trey++ | something testable.
markstos To answer my own question about reading kwid. I found "perl-doc", but it is just currently a kwid to HTML translator. Are they are any direct kwid viewers ? 00:22
TreyHarris markstos: i've been meaning to look into that myself. there's an ext/Kwid-Event-Parser, but I don't know what it does 00:23
markstos I'm getting frustrated with reading the source of Test.pm each time I wonder about a specific testing method. 00:24
TreyHarris i must have run "perldoc ext/Test/lib/Test.pm" a hundred times....
lol
== markstos
spooky
markstos I prefer kwid to POD for looks, but I'm considering PODifying Test.pm until kwid tools catch up.
Can I get a ++ ? 00:25
TreyHarris markstos++
TreyHarris++
perlbot What kind of idiot karmas himself? Your kind of idiot!
TreyHarris lol
markstos lol
TreyHarris &'s for a few
markstos Ok. I'll PODify Test.pm now.
00:27 nekokak joined 00:31 renormalist_ joined
svnbot6 r13052 | markstos++ | convert Test.pm docs from kwid to POD as there are more tools 00:39
r13052 | markstos++ | and familiarity with POD now. Once there are kwid tools for
r13052 | markstos++ | easy viewing, we can change it back.
00:40 GeJ left
TreyHarris hmmm.... when a test in a loop is todo'd, and it succeeds some of the time, what to do? (pun unintentional.) untodo it? leave it todo'd? or go to the trouble of teasing that case out of the loop? 00:40
markstos Ah. feather.perl6.nl/~markstos/Test.pm.html 00:41
lambdabot Title: Test - Test support module for perl6, tinyurl.com/p2dor
markstos An easy Test.pm reference. :)
TreyHarris perlbot: learn perl6 Test.pm as feather.perl6.nl/~markstos/Test.pm.html 00:42
perlbot added perl6 Test.pm to the database
lambdabot Title: Test - Test support module for perl6, tinyurl.com/p2dor
markstos TestHarris: ideally-- extract the test case.
A simplified test case might be easier to work with anyway.
audreyt 00:39 < TreyHarris> actually, i know it's not. Proxy objects aren't implemented. 00:43
lambdabot audreyt: You have 1 new message. '/msg lambdabot @messages' to read it.
markstos but it's easy to be idealistic from afar-- you are the one staring it at. :)
audreyt actually, it's hacked in by schwern long ago :)
"user defined" proxy objects aren't implemented.
builtin ones like %*ENV or $*CWD works fine
markstos TreyHarris: so we do we get that information /out/ of perlbot later ?
perlbot: what is Test.pm? 00:44
perlbot I already have an entry for what
audreyt perlbot: Test.pm
TreyHarris audreyt: ah... what's the difference? they can be written in Haskell but not perl?
perlbot: perl6 Test.pm
perlbot feather.perl6.nl/~markstos/Test.pm.html
lambdabot Title: Test - Test support module for perl6, tinyurl.com/p2dor
audreyt TreyHarris: exactly. though I think the plumbing is here for userdefined proxy too
just need to be exposed 00:45
audreyt backlogeth
TreyHarris cool... if it were exposed, i think i could actually code up my cloning proposal rather than just describing it. oh... i guess i'd need user-defined trait_auxiliary:is support too
audreyt noted
is there test for latter? 00:46
markstos The test.pm docs say "This function currently uses require() since Pugs does not yet have a proper use() builtin." I've found the reverse to be true-- I've had better look with "use" than "require"
TreyHarris audreyt: i don't remember if i looked. i'll check, and if not, i'll write one asap
audreyt markstos: right it's a commentrot
markstos audreyt: so just remove the comment ?
audreyt TreyHarris: cool! I've been lately biased toward working at failing tests _with smartlinks_
TreyHarris often gets diverted when he starts looking at stuff inside t/ and comes up for breath hours later not having accomplished what he intended to
audreyt markstos: sure
TreyHarris audreyt: dunno if you watch the svn logs, but many of my recent commits have been smartlinking :-) 00:47
audreyt TreyHarris: that's fine... it all adds up :)
TreyHarris: I have :)
audreyt still reviews each and every diff... or at least s/review/skim/
TreyHarris i should clean up my "svn-explorer" script that lets me quickly work through recent commits trn-style and stick it in util/ 00:48
svnbot6 r13053 | markstos++ | Test.pm: remove note suffering from comment rot.
TreyHarris but it makes a lot of assumptions about my pugs installation right now.
markstos I'm close to getting a basic CGI::App port done with tests passing. After that, I might help improve the Test.pm docs and other testing stuff. 00:49
audreyt TreyHarris: that never stops pugs committers from checking things in :)
markstos: oooh
00:50 hikozaemon joined
markstos I saw that agentz recently commited so that this works: L<foo.com> 00:50
I like that because, because I can copy and paste Syn URLs from my browser. :)
s/because, // :) 00:51
TreyHarris markstos: oh, btw, i've cleaned up a few of your smartlinks recently. don't put the section name in quotes, do include pod directives like C<> in the section names, and run util/smartlinks.pl --check t/<mumble>.t before you checkin to see if they're all valid 00:53
markstos TreyHarris: Thanks for the tip! 00:54
TreyHarris audreyt: there's some ambiguity in the synopses as to whether it's written trait_auxiliary:is or trait_auxiliary:<is>. the latter is tested, the former is not 00:56
audreyt ok. I think :is is internal storage form, :<is> is canonical
so test for latter = correct
markstos just noticed t/README, which already includes all of trey's tips. 00:57
TreyHarris audreyt: thanks, i'll smartlink them :-)
audreyt moose! :)
audreyt goes grepping for breakfast -- bbiab 00:58
TreyHarris markstos: yup. good tips in /lib/Pugs/Doc/Hack.pod too, and IMHO it's too-well-hidden-away
markstos TreyHarris: link it it from the wiki, or pod2html ~/public_html/Hack.html, and link to /that/ from the wiki.
TreyHarris markstos: i don't have a feather account, would you mind? 00:59
markstos coming up 01:00
01:00 dolmans joined
audreyt @tell xerox install File::chdir from CPAN and use { local $CWD = '/foo'; ... } 01:01
lambdabot Consider it noted.
audreyt written, unsurprisingly, by the same Schwern. 01:02
TreyHarris oh... yes... i've used that myself. 01:03
TreyHarris smacks his head
markstos feather.perl6.nl/~markstos/Hack.html
lambdabot Title: Pugs::Doc::Hack - How to hack on Pugs
markstos Wow, looks really useful.
It should really be in doc/ --- that's where I'd expect to find it.
TreyHarris My memory for CPAN modules is not what it used to be
01:05 scook0 joined
TreyHarris markstos: you may want to go behind the tests you've added and fix their svn props as described in that doc. i've caught a couple of them as you committed them, but i haven't gone back and looked exhaustively. 01:06
markstos Ok. I'
I'm totally unaware of svn props usage, so I'm not surprised.
svnbot6 r13054 | markstos++ | Move lib/Pugs to docs/Pugs for consistency and ease of finding. 01:09
r13054 | markstos++ | I'll document this move the Pugs/Doc/Hack.pod layout docs.
markstos So the svn props util script is normally run just after adding new files? The doc said to run it... it didn't say /when/ :) 01:11
svnbot6 r13055 | markstos++ | reflect move of lib/Pugs to docs/Pugs
TreyHarris markstos: you can run it any time after you do the add. preferably before you do the commit :-) 01:22
markstos Ah.
svnbot6 r13056 | markstos++ | clarify when to run the svn props scripts. 01:26
markstos Should this emit an error? 01:28
?eval my @r; @r.push<hi>; say @r.perl;
01:28 evalbot_r13037 is now known as evalbot_r13055
evalbot_r13055 OUTPUT[[] ] Bool::True 01:28
01:28 peacock joined
TreyHarris i think it should emit an error. S06, I think, specifies that you can't call a subroutine like that 01:29
01:29 peacock left
TreyHarris even if the subroutine returns a hash, which that doesn't 01:29
01:29 peacock joined
TreyHarris s/subroutine/routine/g 01:29
markstos Ok. Adding test. 01:30
TreyHarris *laugh* that irc log stats thing somebody posted a couple weeks ago said that my favorite things to say were "i think" and "specifies". i think i just proved that it specifies my behavior accurately ;-)
markstos funny. 01:32
01:32 mako132_ joined
svnbot6 r13057 | markstos++ | [t/builtins/arrays/push.t] 01:35
r13057 | markstos++ | New failing test for @a.push<hi>: it should emit an error.
markstos I just porting the Dump function from CGI.pm-p5 and noticed there was a bug in it: 01:51
rt.cpan.org//Ticket/Display.html?id=21341
lambdabot Title: #21341: PATCH: Param names not escaped properly in Dump, allowing raw HTML throu ..., tinyurl.com/gbb6f
markstos s/just/was just/
obra seen nothingmuch 01:55
TreyHarris hmm. audreyt, what's your understanding of how @r.push<hi> should parse, if it should parse at all? 01:58
markstos TreyHarris: are you wondering whether it should parsefail, rather than be a runtime error ? 01:59
TreyHarris markstos: yep.
markstos Earlier feedback is always nicer.
TreyHarris markstos: apologies, i didn't think of the distinction until i saw your diff, or i would have mentioned it earlier
markstos No apology needed. I thought it as I was creating the patch, but I knew it could be refined later. 02:00
TreyHarris yep, it's just that in this case, if it should be parsefail, then "success" will be defined as failing not just that test, but any tests which later might follow :-) 02:01
i like to future-proof tests when possible, because a good change causing more test failures is demotivational ;-) 02:02
markstos But we would switch to using eval with a string, rather than dies_ok with a block, right ?
TreyHarris right. ok !(eval '...') is how i usually write it
or rather 02:03
right. ok !(eval '...; 1') is how i usually write it
markstos And that would cover a parsefail case, as well as a runtime error? Then it seems there's no downside to switching it now.
TreyHarris markstos: the downside is you're running string eval, which makes smoke slow. :-) correct tests are more important than fast tests though 02:11
markstos Oh. On the other hand, yesterday I got rid of two test scripts by consolidating them, so that should bring a small performance boost. 02:12
We can leave it as a dies_ok now, and then it it really does become a parsefail, someone will notice and fix the script. :) 02:13
TreyHarris true enough :-) 02:14
02:16 reZo joined 02:19 diakopter joined
dolmans markstos: you can use eval_dies_ok($str ... too, which is essentially ok !(eval $str ... 02:22
TreyHarris dolmans: yes, in this case it is. but eval_dies_ok runs the eval in its lexical context, so you can't use it when it refers to something in the test's lexical context 02:25
i've been bitten by that one many times
02:26 diakopter left
TreyHarris ok !(eval $str) always works, so I tend to just use that now :-) 02:27
dolmans TreyHarris: true, and sometimes package scope is annoying.
markstos TreyHarris: I can't reminder my password to register with FreeNode to msg you directly 02:34
TreyHarris ahh, ok, i'll make a channel 02:35
markstos or do this: /msg nickserv set unfiltered on
And you can get msgs from unregistered users
02:46 reZo joined
TreyHarris markstos: heh, my script fired that opped the last person on the channel before i left :-) 02:50
TreyHarris &'s to decommute
02:54 weinig is now known as weinig|zZz
markstos wraps up another blog post, encouraging more people to get involved in Perl 6 02:56
clkao markstos++
markstos clkao: Would you like a preview? 02:57
feather.perl6.nl/~markstos/three_reasons.txt
if you have feedback, I can incorporate it before I officially publish it. 03:00
clkao looks fine to me. surely you want to mention the irc? 03:02
markstos like "join us on #perl6" or something ?
clkao ya 03:03
markstos Ok.
TreyHarris markstos: oh, i was just heading out the door when i noticed my pugs make didn't even get off the ground because Hack.pod had moved. You may want to make a minor change to Makefile.PL so that people's Makefiles will rebuild
markstos will do. 03:04
TreyHarris &'s for real this time
markstos We're live: pugs.blogs.com/pugs/ 03:12
03:13 mako132_ joined
markstos I think we need to start Pugs::Diagnostics.. or something. To help people when they get errors like this: 03:16
Can't modify constant item: VUndef
What's my crime? 03:22
?eval my @result; for <a b> -> $param { @result.push("<li><strong>$param</strong></li>"); }
03:22 evalbot_r13055 is now known as evalbot_r13057
evalbot_r13057 Error: Can't modify constant item: VUndef 03:22
markstos I suspect I accidently involved some interpolation operator I'm unaware of.
Ah, it was $param< 03:23
svnbot6 r13058 | markstos++ | CGI.pm: implement code/docs/test for "Dump" method, like CGI.pm-P5 has. 03:45
TreyHarris ?eval my @result = gather { for <a b> -> $param { take "<li><strong>{$param}</strong></li>" } } 03:50
03:50 evalbot_r13057 is now known as evalbot_r13058
evalbot_r13058 ["<li><strong>a</strong></li>", "<li><strong>b</strong></li>"] 03:50
TreyHarris I like gather/take :-) 03:51
markstos I haven't used it yet.
Wouldn't a simple "push" work there, though? 03:52
TreyHarris of course, but I don't think push is simpler... it's only simpler from the perspective of being familiar to perl 5 programmers. you're not "pushing" anything in that case, there's no stack there... you want to gather up some things after they've been munged in a certain way 03:55
?eval <a b>.map:{ "<li><strong>{$^param}</strong></li>" } 03:56
markstos but in this case the "Munging" is just creating a string, and that part would remain with a push call there.
evalbot_r13058 ("<li><strong>a</strong></li>", "<li><strong>b</strong></li>")
TreyHarris might be more familiar to functional programmers. timtowtdi, of course :-)
i don't understand. push? push is something you do to stacks. you're creating a list of strings, aren't you?
markstos right. 03:57
Later to be joined with "\n".
You're say: conceptually, the stack is not a the best metaphor, and gather/take avoids it ? 03:58
TreyHarris ?eval <a b>.map:{ "<li><strong>{$^param}</strong></li>" }.join("\n")
evalbot_r13058 "<li><strong>a</strong></li>\n<li><strong>b</strong></li>"
markstos If you want to play with a refactor, I just check in the result to the CGI.pm as the Dump method.
The code is a mostly-straight port from the P5 Dump method. 03:59
Now I'm playing with "as_yaml" as an alternative, but I'm finding the structure that Pugs generates isn't as "clean" as I would have hoped.
TreyHarris right. "push == 'put something onto the end of a list'" is a perl5ism. whether it's a perl6ism as well remains to be seen. but i try to look at all perl 6 code from a new set of eyes, not as a translation of perl 5 with some nifty new features
markstos Yes: I'm definitely interested in learning about and evaluating new styles myself. 04:00
Simply translating P5 into a new-but-same syntax seems like a waste of time.
TreyHarris especially as we'll have tools to do that for us automatically ;-) 04:01
markstos you mean, to automatically waste time?
;-)
TreyHarris yes, of course. ever played WoW? :-)
markstos No, but I heard it is popular... must be for a reason.
TreyHarris the ultimate time-wasting tool ;-) 04:02
markstos TreyHarris: by the way, I did a 'make' with problem. 04:03
maybe you needed a "make clean" ... or something.
TreyHarris yes, i did. and anyone else who last built just prior to r13054 but later than... um... i'd have to dig up the exactly rev, will need to as well. i suggested you change Makefile.PL so they won't have to manually make clean 04:05
markstos Could you help me? I looked and couldn't find what needed to be changed.
TreyHarris nothing. just some change, so Makefile.PL's timestamp gets updated, forcing a make clean 04:06
markstos Uh oh, it's 00:01 o'clock. I'm going to turn into a pumpkin soon.
No wonder I couldn't find the right spot.
TreyHarris Makefile.PL automatically generates document targets from the podfiles it finds. you moved one of the podfiles, but didn't update Makefile.PL. but Makefile still has a reference to the old loc. so it bombs, unable to find Hack.pod in its prior location 04:07
svnbot6 r13059 | markstos++ | TreyHarris suggested making a trivial change after moving 04:09
r13059 | markstos++ | some files from lib/Pugs to docs/Pugs. Reportedly, this
r13059 | markstos++ | prevent a build-break for some people.
TreyHarris anyway gather/take becomes more useful when it's not just linearly mapping: 04:16
?eval my @vowels = <a e i o u>; my @after_vowel = gather { for each(@@vowels) -> $letter, $next { take $next if $letter eq any(@vowels) } }
04:16 evalbot_r13058 is now known as evalbot_r13059
evalbot_r13059 Error: Undeclared variable: "$next" 04:16
TreyHarris unfortunately that syntax doesn't work yet.
:-)
erm... that's not what i meant. 04:17
?eval my @vowels = <a e i o u>; my @after_vowel = gather { for each(@@<a..z>) -> $letter, $next { take $next if $letter eq any(@vowels) } }
evalbot_r13059 []
TreyHarris there we go. :-) still doesn't work, but progress ;-)
and wouldn't work anyway, unless the alignment happened to be right. but that was a contrived example i just pulled out of thin air anyway :-) 04:18
?eval my @vowels = <a e i o u>; my @letters = 'a'..'z'; my @next_letters = @letters[1..@letters - 1,0]; my @after_vowel = gather { for each(@letters;@next_letters) -> $letter, $next { take $next if $letter eq any(@vowels) } }; 04:24
evalbot_r13059 ["b", "f", "j", "p", "v"]
TreyHarris there we go. lol.
i think an iterative approach would be much clearer there ;-)
04:40 hermax_ joined 04:46 justatheory joined 04:47 justatheory joined 04:48 justatheory joined 04:49 justatheory joined 04:50 justatheory joined 04:51 justatheory joined 04:52 justatheory joined 04:55 justatheory joined 04:56 justatheory joined, drrho joined 04:57 justatheory joined 04:58 justatheory joined 04:59 justatheory joined 05:01 justatheory joined 05:02 justatheory joined 05:03 justatheory joined 05:04 justatheory joined, mjk joined 05:05 justatheory joined 05:08 justatheory joined 05:09 justatheory joined 05:10 justatheory joined 05:12 justatheory joined 05:14 justatheory joined 05:15 justatheory joined 05:16 bjoern_ joined, justatheory joined
bjoern_ ?eval 0xf6 + 0xffffffffffffffff 05:17
evalbot_r13059 18446744073709551861
05:17 justatheory joined, bjoern_ left 05:18 justatheory joined 05:19 justatheory joined 05:20 justatheory joined
nothingmuch obra: pong 05:20
05:21 justatheory joined 05:22 justatheory joined, statico joined 05:23 justatheory joined 05:24 justatheory joined 05:26 justatheory joined 05:27 justatheory joined 05:28 justatheory joined 05:29 justatheory joined 05:30 justatheory joined 05:31 justatheory joined 05:33 justatheory joined
TreyHarris 17:46 < audreyt> TreyHarris: cool! I've been lately biased toward working at failing tests _with smartlinks_ 05:34
05:34 justatheory joined
TreyHarris audreyt: does that mean that I should un-todo those tests? :-) 05:34
05:35 justatheory joined, kanru joined 05:36 justatheory joined 05:37 justatheory joined 05:38 justatheory joined 05:39 justatheory joined 05:40 justatheory joined 05:42 justatheory joined
Teratogen are we having fun yet? 05:42
05:42 justatheory joined 05:43 justatheory joined
TreyHarris ?eval .fun 05:43
evalbot_r13059 Error: No compatible subroutine found: "&fun"
TreyHarris guess not
05:44 justatheory joined 05:45 justatheory joined 05:48 justatheory joined
obra nothingmuch: I wanted to thank you for mailtomutt ;) 05:48
05:48 justatheory joined 05:50 justatheory joined
nothingmuch obra: wow 05:51
that's old
05:51 justatheory joined 05:52 justatheory joined
gaal audreyt: hey. two leftovers in Sig... 05:52
nothingmuch morning gaal 05:53
gaal first, we need to get the existential coercion to work again (ie, make p_unpacking :: Maybe PureSig again)
hey nothingmuch!
obra nothingmuch: I was a bit surprised to see your name on it
05:53 justatheory joined
gaal second, is there a less error prone way of threading traits/traits'/traits''' etc. in that function? 05:54
05:54 justatheory joined
nothingmuch obra: good surprised or bad surprised? ;-) 05:55
05:55 justatheory joined
gaal oh, actually there's a third thing, support for elided varnames (ie unpacked-only params). but there are two p6-l posts that need to be answered for that 05:55
nothingmuch ignores justatheory to see if it'll help 05:56
obra nothingmuch: just amused.
it seems to mostly do what I want
I'm tired to being unable to fully keyboard mail.app
nothingmuch it should be fixed up a bit
*nod* 05:57
05:57 justatheory joined 05:58 justatheory joined
nothingmuch the icon contains an easter egg you might appreciate, too ;-) 05:59
05:59 justatheory joined
TreyHarris nothingmuch: oh, is he still popping in and out? i ignored him an hour ago :-) 06:00
06:00 justatheory joined
nothingmuch ah, so appearantly it does help ;-) 06:00
06:01 justatheory joined 06:02 justatheory joined
nothingmuch goes to the post office to mail out A Pattern Language 06:03
06:03 justatheory joined 06:06 justatheory joined 06:07 justatheory joined 06:08 justatheory joined 06:09 justatheory joined 06:10 justatheory joined 06:11 justatheory joined
lumi /ignore justatheory JOINS QUITS 06:11
Under irssi 06:12
06:12 pinPoint joined 06:13 justatheory joined 06:14 justatheory joined 06:15 justatheory joined 06:16 justatheory joined 06:17 justatheory joined 06:18 justatheory joined 06:19 justatheory joined 06:20 justatheory joined 06:21 justatheory joined 06:22 justatheory joined 06:23 drrho joined, justatheory joined
TreyHarris what would cause a test to not print its trailing status, despite getting through the last test? 06:23
TreyHarris wishes for pugs debugger sometimes 06:24
audreyt TreyHarris: tried pugs -d ?
not quite a debugger, but in practice for me comes close
TreyHarris oh, you're kidding me.
oh. ok :-)
06:24 justatheory joined
TreyHarris i'll try it 06:24
audreyt pugs -d your_code_here.pl
it's a 10-min hack
don't expect too much :) but it's useful 06:25
TreyHarris cool.
i was semi-seriously asking before, though: should i un-todo those trait_auxiliary tests?
06:25 justatheory joined
audreyt you can use the force_todo device 06:26
as a crude hack.
not aware of better ways
TreyHarris no, i meant...
17:46 < audreyt> TreyHarris: cool! I've been lately biased toward working at failing tests _with smartlinks_
there are tests for it, but they're not failing 06:27
audreyt ah right. leave them failing
I'll todo or implement them as part of triage
thoug trait_aux is almsost definitely todo material for this week
TreyHarris no, they're not failing because they're todo
audreyt so the end result is likely same
TreyHarris *grin* ok :-)
audreyt :)
I finally repaird my ~/.svk space
syncing some 400 changes 06:28
sync the macbook went down
s/sync/since/
TreyHarris more of the fallout from your failing macbook?
audreyt yeah, finally seeing end of tunnel
TreyHarris i would just go insane
audreyt I considered that to
*too
decided to not do that 06:29
TreyHarris :)
06:31 justatheory joined
audreyt bbiab.. 06:31
06:34 justatheory joined
TreyHarris audreyt: i'd be willing to start implementing missing S29 builtins and S{none(29)} syntactic sugar in Perl 6 if you think it would be worthwhile 06:34
06:36 justatheory joined 06:37 joshmoore joined
TreyHarris joshmoore: josh moore formerly of ibiblio? 06:37
06:38 justatheory joined 06:39 justatheory joined
joshmoore nope, sorry. 06:39
TreyHarris joshmoore: np, just didn't want to snub you if you were an old coworker :-) 06:40
svnbot6 r13060 | trey++ | [t/packages/require_and_use.t]
r13060 | trey++ | Un-todo'd passing test.
r13060 | trey++ | Changed test messages in loops to include
r13060 | trey++ | the string being attempted, as the counter
r13060 | trey++ | was counterintuitive.
audreyt TreyHarris: it certainly would! more helpful even would be to separate them into src/perl6/Num.pm, etc 06:41
bbiab for real :) 06:42
06:44 justatheory joined 06:47 justatheory joined 06:48 justatheory joined 06:49 justatheory joined 06:50 justatheory joined 06:52 deepthink joined 06:54 justatheory joined 06:55 justatheory joined, deepthink left, justatheory joined 06:57 justatheory joined 06:58 f0rth joined 06:59 justatheory joined 07:01 f0rth joined 07:02 iblechbot joined 07:04 justatheory joined 07:05 justatheory joined 07:10 justatheory joined
pinPoint . 07:12
07:13 justatheory joined 07:14 justatheory joined 07:15 justatheory joined 07:16 justatheory joined 07:19 justatheory joined 07:20 stennie joined
svnbot6 r13061 | trey++ | [t/oo/traits/basic.t] 07:22
r13061 | trey++ | Added a missing test.
07:25 justatheory joined 07:28 justatheory joined 07:29 onsen joined 07:32 justatheory joined, mjk joined 07:33 justatheory joined 07:34 justatheory joined 07:35 justatheory joined 07:36 justatheory joined 07:38 justatheory joined 07:39 justatheory joined 07:40 justatheory joined 07:41 justatheory joined 07:42 justatheory joined 07:46 justatheory joined 07:47 justatheory joined 07:49 lilo joined
lilo hmmm, I'm going to be bad now 07:49
07:50 lilo sets mode: +b justatheory!n=justathe@dsl093-038-250.pdx1.dsl.speakeasy.net!##unavailable
nothingmuch reenables clothes optional mode 07:50
lilo make sure a channel staffer turns that off in a few hours, when the guy is back
nothingmuch audreyt: morning 07:51
lilo waves and &
pinPoint .
nothingmuch pinPoint: ? 07:52
08:00 tifo joined
nothingmuch cute =) www.designboom.com/contemporary/peg.html 08:08
lambdabot Title: &lsquo;clothes peg iconography&rsquo;, tinyurl.com/fwkqu 08:09
08:18 drrho joined 08:19 kane-xs joined 08:25 onsen joined 08:53 bsb left 08:55 ruoso joined 09:06 renormalist joined 09:08 f0rth joined
svnbot6 r13062 | renormalist++ | cperl-mode.el: handle regexp modifiers :Perl5 :perl5 :P5 more explicity 09:14
09:24 buetow joined 09:37 dok joined 09:44 tibbe joined, tibbe left
svnbot6 r13063 | audreyt++ | * Fix "make ghci" in conjunction with Perl5 embedding; 09:50
r13063 | audreyt++ | embed flags now never affects "make ghci" prompts, and
r13063 | audreyt++ | the _stub.o files, if any, are deleted prior to entering ghci.
09:54 elmex joined 09:55 ludan joined 09:58 xinming joined
TreyHarris audreyt: i ran ext/libwww-perl/t/live.t five times in a row, and three of those times I got sigbus, "illegal hardware instruction", once i got...oh, it scrolled off but it told me to report a compiler error to GHC, and once all tests passed :-) 10:04
10:04 nekokak_ joined
nothingmuch hmm 10:29
10:30 onsen joined
TreyHarris time for me to sleep 10:32
nothingmuch oh
i thought you woke up early
TreyHarris no, hacksies keep the sleepydust away ;-)
TreyHarris & zzzzz 10:33
nothingmuch woke up at 8:15 today... </impressive>
ciao
10:44 tifo joined 10:49 loumz joined 10:58 ruoso joined 11:29 agentzh joined
agentzh TreyHarris: i suggest you stick with eval_dies_ok as much as possible since it provides detailed parsefail diagnostic info via stderr. 11:31
11:34 xerox joined 11:35 xerox joined 11:37 loumz left 11:54 agentzh joined
agentzh TreyHarris: btw, for smartlinks, putting section name in quotes is okay. :) 11:55
11:55 chris2 joined
agentzh marstos: there's something wrong with the format of your last pugs blog post. i strongly recommend you to use pod to generate well-formed HTML. ;-) 11:57
*markstos
11:58 ruoso joined 11:59 stennie left 12:04 plisk joined 12:05 iblechbot joined
prism is it normal for compile to take over 800 hours? 12:11
77337 root 1 128 0 26684K 25112K CPU0 0 792:26 99.22% ghc-6.4.2
well nearly 800 hours
nothingmuch 800 hours is about 1 month
prism maybe thats minutes 12:12
nothingmuch *nod*
prism is it normal to take that long
nothingmuch in that case - maybe
prism its a fastish system
dual amd athlon mp
nothingmuch hmm
ghc 6.6 might improve the situation
how much ram does it have?
prism 4gb
nothingmuch should be plenty
prism each chip is around 2Ghz
nothingmuch i'm afraid i can't help much more
prism and its using 100% of bot chips 12:13
both*
nothingmuch it doesn't sound normal
chris2 13h seems a bit too much
prism hmm i think ill grab it from a package instead of using ports
chris2 even my slow ibook only needs ~8h, with a lot less ram
gaal prism: what file is the compilation on?
prism ../../../glafp-utils/mkdependC/mkdependC -f .depend -I. -Iinclude -I../../includes -- -O -I. -Iinclude -- cbits/directory.c cbits/rawSystem.c
/usr/ports/lang/ghc/work/ghc-6.4.2-boot/bin/i386-unknown-freebsd/ghc-6.4.2 -M -optdep-f -optdep.depend -osuf o -optdep--exclude-module=System.Directory.Internals -H16m -O -I. -Iinclude -Rghc-timing -ignore-package Cabal -I../../../libraries -fglasgow-exts -no-recomp Compat/Directory.hs Compat/RawSystem.hs Distribution/Compat/FilePath.hs Distribution/Compat/ReadP.hs Distribution/Compiler.hs Distribution/GetOpt.hs Distribution/Install
edPackageInfo.hs Distribution/License.hs Distribution/Package.hs Distribution/ParseUtils.hs Distribution/Version.hs Language/Haskell/Extension.hs
err
sorry for the mini flood 12:14
didnt realize it was that big
12:14 markstos joined
gaal er, what are you compiling? pugs or ghc? 12:14
prism pugs
nothingmuch looks like it's bootstrapping ghc to do that
prism ghc must be a dep
gaal ouch
nothingmuch get a binary ghc 12:15
prism permission for another mini flood?
gaal perlbot nopaste
perlbot Paste your code here and #<channel> will be able to view it: sial.org/pbot/<channel>
pasteling "prism" at 88.109.10.46 pasted "pugs" (7 lines, 584B) at sial.org/pbot/19486
gaal pugs depends on freetype? 12:16
prism according to ports it does
gaal that's.... interesting
prism its ok i grabbed it via pkg 12:17
its nearly installed now
but that compile was worrying
what is ghc anyway and why is it such a monster to compile
gaal prism: I don't know much about gentoo, but isn't is possible to get a binary ghc?
nothingmuch ghc is the glasgow haskell compiler
gaal ghc is the haskell compiler we use.
nothingmuch that's freebsd, not gentoo
prism gaal, i dont know much about gentoo either
gaal (and depend on)
oops, sorry, don't know much about freebsd either :) 12:18
prism :)
nothingmuch, hmm seems a big compile still.. its like compiling some of the big math programs for linear calculations
i set them things going before i go on holiday
lol
nothingmuch prism: same ballpark, methinks
haskell is a tricky language to compile 12:19
and ghc is a tricky project
since ghc is written in haskell...
gaal prism: yes you generally don't want to build your own ghc unless you really need to.
prism fuck ghc depends on compat 4x
yuck*
sorry bad typoe their*
nothingmuch heh
prism++ # cutet 12:20
prism :)
nothingmuch ack, your typos are infecting me
gaal what's compat 4x?
prism gaal, their are 4 primary releases so to speak of freebsd
4
5
and the latest 6
current is 7
4 has been dropped its well in-efficiant
gaal ouch again.
prism dragonfly is based on 4 it uses a diffrent threading model
5 was an improvement, to threading at least. 12:21
6 was the improvement again of 5
and 7 is a big improvement over 6
but the changes where so large they could not be put into the same 'id' i.e. 6.1-release 6.2-release etc.
so they had to up the entire 'id'
well version is probably a more correct word
12:22 Limbic_Region joined
nothingmuch prism: you might want to ask the freebsd folks on #haskell 12:22
they'll prollly know more
prism its ok i have the package now, I have never even seen a perl6 script im just goona install and fiddle around with it with google open, im mainly intrested in more sane if's
nothingmuch well, you can ask Juerd for an account on feather, the perl 6 devel box 12:23
so that you can toy around with a compiled pugs
prism if ($blah eq ($bleh || $test)) { .. } instead of: 'if (($blah eq $bleh) || ($blah eq $test)) { ... }
nothingmuch those are junctions
if ( $blah eq ( $bleh | $test ) ) { } # one pipe 12:24
gaal on e|
prism junctions you say hmm sorry incorrect terminology i just know it would help me alot when i have 20 or 30 nested
i have lines in standard perl that are so long it takes 5 minutes to get to the right coloum
nothingmuch if you have that many you should probably rely on polymorphism instead 12:25
some form of dispatch table
like OO, or a hash of subs
prism hmmm also i would like to get to know perl6 for when it eventually takes over perl5
8)
dont wanna be out in the cold
nothingmuch =) 12:26
prism does perl6 have poe and others?
nothingmuch not yet... it has some modules
but yoou can use perl5 modules in pugs
prism io::select etc?
nothingmuch hmm 12:27
i'm not sure if we have that yet
prism do we have cpan
nothingmuch a cpan like thing?
prism yes
nothingmuch not yet.. everyone commits to the pugs repo
btw, do you have a commit bit? 12:28
prism ah i can find perl6 modules in ports
no not yet
nothingmuch i doubt it
prism Port: p5-Perl6-Subs-0.05
Path: /usr/ports/lang/p5-Perl6-Subs
Port: p5-Perl6-Form-0.04
Path: /usr/ports/devel/p5-Perl6-Form
nothingmuch they're not really used in production yet
prism Port: p5-Perl6-Export-0.07
Path: /usr/ports/devel/p5-Perl6-Export
:)
nothingmuch that's a perl 5 module for perl 6 like things
prism oh
ah of course p5-
nothingmuch s/that's a/those are/
/msg me or gaal or someone an email address
you can say it out here, but this channel is logged on the web 12:29
prism paul@alchemy-networks.co.uk
nothingmuch and might be spam harvested
prism thats ok that email address is special
ill need to know what email address you send from though
nothingmuch okies, you're going to get an invite in a sec
hmm...
prolly [email@hidden.address]
but i'm not sure
prism ill just allow in openfoundry.org
I block all emails that are not on a list for that address 12:30
its for digests and the like
nothingmuch *nod*
prism wow its hot in england at the moment
nothingmuch UGHHHHHHH safari!! 12:31
run!
okay, invite sent 12:32
prism ok hehe :)
does perl6 depend on perl5 strictly for backwards compatability or can i mix and max modeules to 12:33
nothingmuch ?
prism include perl5 modules within a perl6 script that includes perl6 modules 12:34
do they integrate
nothingmuch ah
yes, they integrate
prism neat
nothingmuch there are some examples
prism i have a poe spam detection program im planning to run on freenode be nice if i could half progarm it in perl6 (sort of a personal development project) 12:35
im also trying to port it to erlang but that is well never dealing with erlang, slighly daunting.
nothingmuch 'd like to learn erlang some day 12:36
prism poe suffers slightly when your dealing with massive data structures, im just wondering if i should program my own sort of mini database instead of just using a 3 dimensional hash
nothingmuch BerkeleyDB?
if you want performance you won't find it with pugs
so far it's completely unoptimized
and roughly an order of magnitude slower than perl 5 12:37
prism --funrol-loops 8)
j/k lol
how does perl6 compare to perl5
equal or slower?
i imagined it being based in haskell it would be alot quicker
nothingmuch perl 6 in theory? or right now?
prism right now, and the future
nothingmuch well, it's an unoptimized interpreter written in haskell
vs an optimized interpreter written in C 12:38
perl 5 is faster right now
prism thats suprising
nothingmuch otoh, perl 6 is not just an interpreted language
12:38 kalven joined
nothingmuch it can be compiled, and it has static types 12:38
prism thats good
nothingmuch and the ability to declare classes etc as closed
prism has it got the portability perl5 has yet
nothingmuch not yet
prism say if i was a masochist i might want to run something on win32, that wasnt a format command
nothingmuch gaal: do you run pugs on windows? 12:39
Limbic_Region I do
particle does
I could dig up a few others if you forced me too 12:40
prism where can I checkout availible pugs packages
Limbic_Region by packages you mean modules?
they are in the ext/ dir in the repo
prism is the location of the repository contained in this email 12:41
Limbic_Region svn.openfoundry.org/pugs/ext/
lambdabot Title: Revision 13063: /ext
prism thank you
Limbic_Region you can find just about everything Pugs related from the pugs homepage
pugscode.org
lambdabot Title: Pugs - pugscode
nothingmuch goes back to hacking 12:42
Limbic_Region if you find something pugs related that is not mentioned on the pugs homepage, please bring it to our attention so it can be rectified
nothingmuch prism: good luck with pugs =)
hehhe, you said "rectified" </bevis & butthead>
prism if pugs does not have poe nro io::select can it handle multiple tasks in some kind of framework, such as multiple tcp connections or object manipulation
s/nro/nor
Limbic_Region prism - just because the frameworks haven't been written doesn't mean it can't be done 12:43
prism nothingmuch, also a note on erlang, the entire first part of the book is free online, it teachs you most of the basics, hang around in #erlang and the rest slots in pace :)
place*
Limbic_Region you have to understand that the Perl 6 language specification is perpetually being updated
prism I can get you a link if you wish
Limbic_Region, oh I know it can be done, I was just wondering if any frameworks have been written 12:44
Limbic_Region and the primary focus of pugs hackers are on getting the pugs internals to either implement spec'd features
prism Limbic_Region, anything is possible in any language :D
Limbic_Region or to keep up with the changing specs
nothingmuch prism: my big problem is timei ;-)
Limbic_Region or to boldly go where no one has gone before and suggest new specs
so with the focus primarily on internals - examples and modules take a back seat 12:45
there is a great deal of value however in volunteers writing examples and modules
so please, step up
prism Limbic_Region, how about p6-star-trek, pkg-descy a module for perl6 that gives warp speed calculations
Limbic_Region we end up finding bugs in pugs
prism 8-)
Limbic_Region unimplemented features
poor specs in corner cases, etc
nothingmuch or finding features and unimplemented bugs ;-)
prism nothingmuch, hehe not enough hours in the day 12:46
nothingmuch, I still have not received that email yet,
Limbic_Region prism - personally, I would rather the folks that can hack on Pugs internals (Haskell) continue to focus on the internals and leave the primarily perl 5 hackers to write examples and modules (perl 6) 12:47
prism Limbic_Region, who are the pugs hackers
Limbic_Region we all are
I guess you meant internal hackers
prism yes :)_
Limbic_Region there really aren't that many but I don't know of a list specific to internals 12:48
prism ok
Limbic_Region the AUTHORS file lists everyone who has contributed in some way to Pugs
at least everyone who has allowed themselves to be identified
prism is their a projected estimate on the time pugs6 will become release
Limbic_Region prism - again, you have to understand that the Perl 6 language specification is a constantly changing target 12:49
it can't be release ready until the language is
though
audreyt does have a timeline/release plan
prism excellent, is it availible online
Limbic_Region that would allow for a "we pretty much have enough to let you chew on for a while"
is what available online 12:50
the Perl 6 language specification?
yes
prism audreyt's plan
Limbic_Region oh, yes - also on the pugs homepage
prism thanks ill go check that out
Limbic_Region I believe it is at svn.perl.org/perl6/pugs/trunk/docs/...rview.html
lambdabot Title: Pugs Apocryphon 1, tinyurl.com/hnjwx
prism Ok 12:51
I have some reading to do, as the pkg for ghc/pugs is now installed
thank you for your help Limbic_Region, nothingmuch :)
Limbic_Region no worries - welcome aboard 12:53
please remind us in a while if your email still hasn't arrived
13:00 crem joined
gaal nothingmuch: rarely 13:02
13:08 crem_ joined
svnbot6 r13064 | agentz++ | [t/README] 13:13
r13064 | agentz++ | - added a sample for generic links without quotes.
agentzh hehe, prism was compiling ghc. so there's no wonder why the compilation took him *so much* time on a *so good* machine. 13:14
13:14 cjeris joined 13:31 rodi joined 13:41 prefiks joined
rodi ?eval my $a = sprintf("%b",1) 13:41
13:41 evalbot_r13059 is now known as evalbot_r13064
evalbot_r13064 pugs: Printf.printf: bad formatting char b 13:41
svnbot6 r13065 | agentz++ | [t/closure_traits/init.t]
r13065 | agentz++ | - added one more smartlink.
r13065 | agentz++ | - cleaned up the comments.
agentzh yeah, i also noticed that a few days ago...while adding tests to sprintf.t 13:42
rodi adding a few now :) 13:43
agentzh not sure if it's a bug or not.
since it's unspec'd
rodi It's spec'd:
agentzh so i held back.
oh? 13:44
rodi Functions.pod
errr...
Synopsis 29 doesn't count, does it?
agentzh it says sprintf is like C's sprintf.
it counts.
rodi Under "the directives are:" it lists b.
agentzh larry has blessed it as official more or less.
rodi oh, cool. 13:45
agentzh great
rodi: or you can even implement that except for writing tests. 13:46
:)
rodi agentzh: you've been listening to audreyt too much :-D
I actually spent the last week or so trying to get my head around Haskell, which I think 13:47
I have accomplished except for Monads, which I still don't grok.
agentzh rodi: i'm serious though. in Prelude.pm, using Perl 6. :)
but i'm not quite sure if it's better to implement that on Haskell land for efficiency reasons. 13:48
agentzh is still in fear of haskell. 13:49
gaal agentzh: Haskell is great fun! the way to overcome fear of it is to persist enough in learning it until you get to refactor something -- then you first realize how great it is 13:50
rodi but you still won't know what a Monad is...
agentzh gaal: i'm sure there's some day that i can grok pugs' haskell internals. thank you for your suggestions. :) 13:51
gaal rodi: yes, they're not easy but you don't have to know everything before knowing something 13:52
Limbic_Region audreyt - ping 13:53
gaal (baby haskell is fine, just like baby perl) 13:54
Limbic_Region perl5 embedding still doesn't work unless env variable is set PUGS_EMBED="perl5"
gaal the problem is that some basic things require monads, so it's a seemingly magical obstacle to voodoo around (=<< do >> <- fmap) until you get your cargo cult rites just so 13:55
the difference between Perl golf and Haskell golf is that (typically) to shorten Haskell code you employ a deep observation about your problem. In Perl golf you employ the visage of something from the abyss... 13:59
svnbot6 r13066 | rodi++ | added an eval_ok for sprintf() with "%b".
rodi Prelude.pm is actually not that daunting... 14:03
gaal Oh I didn't mean to imply Perl's a horrible language. I rather like it. :) 14:06
I meant that the hardcore golfage usually relies on quirks of the implementation
rodi LOL, that wasn't meant as a followup- merely as an independent discovery that temporally coincided :) 14:07
I am looking for the right place to muck with sprintf()
gaal ah
if you do it in Prelude.pm, all runcores benefit from it.
so if one of them doesn't have a native sprintf to exploit, tada. 14:08
nothingmuch likes to make the point that eveything should have at least a reference implementation, at least in principle, in pure Perl 6, and that the runtime chooses whether to override that with its own more efficient implementations. 14:09
14:09 onsen joined
gaal but... I thought there already *was* some printfy code in the prelude? 14:10
rodi there is.
looks like someone forgot %b :)
nope, I'm wrong.
it's there. 14:11
14:17 efunneko joined 14:18 christopher joined 14:22 ofer0 joined
agentzh Pugs::Internals::sprintf, hehe. 14:23
rodi yeah, where /is/ that?
agentzh HS land?
14:25 christopher_ joined, gugod_ joined
agentzh grep has told me it's defined in src/Pugs/Prim.hs 14:25
14:25 gugod_ is now known as gugod
rodi yup, looking at it. 14:25
agentzh src/Pugs/Prim.hs:op2 "Pugs::Internals::sprintf" = \x y -> do
rodi heh, 14:26
-- XXX printf should be wrapped in a catch so a mis-typed argument
-- doesnt kill pugs with a runtime exception.
agentzh ?eval { START { say "hello" } } 14:27
14:27 evalbot_r13064 is now known as evalbot_r13066
evalbot_r13066 OUTPUT[hello ] \Bool::True 14:27
14:27 onsen_ joined
agentzh ?eval my $sub = { START { say "hello" } }; 14:27
evalbot_r13066 \{Syn "block" {Syn "block" {Pad SState "$?START_RUN" := #<ref:0xb6e495dc> "$?START_RESULT" := #<ref:0xb6e49608> Syn "if" {App &postfix:++ (: Var "$?START_RUN"); Var "$?START_RESULT"; Syn "=" {Var "$?START_RESULT"; App (Syn "sub" {{Syn "block" {App &say (:
agentzh hey, could anyone tell me what's happening here? 14:28
gaal: is there a quick fix?
agentzh doesn't want to wrap the START {} tests with eval_is or eval_ok. 14:29
14:33 penk joined
rodi ?eval sprintf("%b",1) # where does the following error message come from? 14:45
evalbot_r13066 pugs: Printf.printf: bad formatting char b
14:46 gottreu joined
rodi aaaah, I see- Haskell land. 14:47
svnbot6 r13067 | agentz++ | [t/syntax/POD.t]
r13067 | agentz++ | - changed q(...) to q{...}.
agentzh START {} is behaving oddly in pugs. 14:48
oh, sorry, it's for's fault in fact... 14:49
?eval for 1..2 { say }
evalbot_r13066 OUTPUT[ ] undef
14:49 vel joined, gottreu left
agentzh ?eval for 1..2 -> $_ { say } 14:50
evalbot_r13066 OUTPUT[ ] undef
agentzh pugs--
rodi ?eval for 1..2 { $_.say }
gaal agentzh: you're getting the AST of the block
evalbot_r13066 OUTPUT[1 2 ] undef
gaal and re -> $_ say, I don't think builtins default to say any more...
you have to say ".say" 14:51
rodi So, it appears that pugs relies on Haskell's Printf, which appears to lack %b (at least in my '/usr/lib/hugs/libraries/Text/Printf.hs'). Am I probably missing some better Haskell library, or is this consistent with others' experience? 14:52
agentzh ?eval for 1..2 { .say }
evalbot_r13066 OUTPUT[1 2 ] undef
agentzh ?eval for 1..2 { say $_ }
14:52 evalbot_r13066 is now known as evalbot_r13067
evalbot_r13067 OUTPUT[1 2 ] undef 14:52
gaal agentzh: remind me, what does START mean?
agentzh: anyway (I don't know if this is correct or not, but) you're evaluating to the code block value itself, so that's being printed. *that* is correct. 14:53
viz
agentzh gaal: please see L<S04/Closure traits>
gaal ?eval {say "hi"}
evalbot_r13067 OUTPUT[hi ] Bool::True
gaal heh. 14:54
?eval {say "hi"}.perl
evalbot_r13067 "\{Syn \"block\" \{App \&say (: \"hi\")}}"
agentzh gaal: okay, i know what you mean, but i think the value of START {} should be returned.
START {} is the old FIRST {}
gaal: currently i'm suffering from weird parsefail of one test for START {} 14:55
gaal: i think it has relations with the for statement. 14:56
gaal huh, IRTR START is only parsed, not implemented at all?
agentzh gaal: it's perfectly implemented by luqui++.
gaal so that reduces to
?eval { { say "moose" } } 14:57
evalbot_r13067 OUTPUT[moose ] Bool::True
gaal er.
okay.
:)
agentzh all tests for START {} are passing except that this one...err, i'd better paste it.
14:57 rafl joined
pasteling "agentzh" at 210.22.200.67 pasted "A weird parsefail in a test for START {}" (29 lines, 495B) at sial.org/pbot/19491 14:58
agentzh that's a story about `for' or `$_', i'm afraid. 14:59
gaal: sorry, the previous outputs of evalbot are totally correct. 15:00
gaal: the real problem is in the paste.
gaal ?eval my $x = { { say "moose" } };
evalbot_r13067 \{Syn "block" {Syn "sub" {{Syn "block" {App &say (: "moose")}}}}}
gaal agentzh: yes, I agree 15:01
I don't know a fix off hand, sorry, and no tuits atm to look into it
agentzh gaal: it doesn't matter. :)
?eval my $s; for 1..2 { START { $s ~= $_ } }
evalbot_r13067 Error: unexpected "}" expecting comment Closure traits take no formal parameters
agentzh that's it. 15:02
15:02 mako132 joined
agentzh audreyt: please look into this START {} bug when you're back from $work. ;-) 15:02
gaal ok please commit this as a pugsbugs or whatever that's called this week :) 15:03
agentzh gaal: i'd rather put it into t/statements/start.t and wrap the parsefail with eval_is. :) 15:06
sorry, t/closure_traits/start.t
end of day for me & 15:08
svnbot6 r13068 | agentz++ | [t/closure_traits/start.t]
r13068 | agentz++ | - moved all the old tests from first.t to this file due
r13068 | agentz++ | to the recent FIRST {} renaming in the Synopses.
r13068 | agentz++ | - added many more tests and smartlinks.
r13068 | agentz++ | Status:
r13068 | agentz++ | - only the first group of tests are mysteriously
r13068 | agentz++ | failing. it's obviously a bug related to $_ or the
r13068 | agentz++ | ``for'' statement. fixes under src/ are welcome. :)
15:08 agentzh left
svnbot6 r13069 | malon++ | run-smoke, smokeserv-client: send both .html and .yml, allow multiple servers 15:11
15:19 weinig|zZz is now known as weinig|bbl
Limbic_Region particle ping 15:20
15:22 glasser left
gaal agentzh++ sure thing 15:29
15:35 marmic joined 15:40 weinig|bbl is now known as weinig 15:45 lichtkind joined 16:03 elmex joined 16:09 Psyche^ joined 16:19 [particle] joined 16:25 Psyche^ is now known as Patterner
mugwump audreyt: I'm told you've been doing recent work on 6pan. care to talk about it? 16:37
rodi so, not saying I'd do this, but... 16:45
Limbic_Region waits to hear what rodi is volunteering to do
rodi should `sprintf(%b, $n)` be implemented in Perl, could I just put it into Prelude.pm? 16:46
It looks like pugs has enough bit operators (though bit.t is in bad shape- more on that later) to do it
Limbic_Region: ;) 16:47
16:47 kanru joined 16:48 araujo joined
araujo hi! 16:49
:-)
rodi araujo: hi! 16:51
16:56 mauke_ joined
PerlJam mugwump: ping 17:02
mugwump hello 17:03
17:04 frederico joined
mugwump aims for closer adherance to IRCMP RFC by saying PerlJam 17:04
PerlJam mugwump: I was just reading the CPAN6 and Pause6 paper and something occurred to me: Why doesn't CPAN store rpms or debs? 17:05
wouldn't that be in the spirit of "comprehensive"?
17:05 bernhard joined
mugwump indeed, and we have dedicated much thought to this, too 17:06
PerlJam mugwump: 17:07
mugwump: Well, I must say that I like what I'm reading
araujo hello rodi
mugwump excellent, well, please sign up to the list! :) 17:08
PerlJam mugwump: I particulary like the idea of "distributed PAUSE" that you've got with scribes. (I was going to suggest it until I got to the part that described scribes :)
rgs mugwump: did you migrate accounts to older lists to pause6 and cpan6 ML ? 17:10
mugwump rgs: like 6pan etc?
rgs yes
17:11 mauke_ is now known as mauke
mugwump got a link handy, or can you help by e-mailing it to me? 17:11
rgs mugwump: well, the fact is that I've been just subscribed to pause6 :) 17:12
so that's why I'm asking
I was going to subcribe anyway
mugwump I invited a total of about 19 people
svnbot6 r13070 | malon++ | smokeserv - smartlinks-server.pl, refresh-smoked-synopses.pl added
r13070 | malon++ | * First try at producing synopsis versions with inlined smoke,
r13070 | malon++ | each time a smoke report is submitted
r13070 | malon++ | * The synopses will be offered as a new link, to the right of the
r13070 | malon++ | current Test::TAP::HTML link, on the smoke server index page.
r13070 | malon++ | This might not be the nicest arrangement, but it's an easy first step.
r13070 | malon++ | * Clients are already sending the necessary .yml smoke (since r13069)
r13070 | malon++ | * smartlinks-server.pl is branched from, and intended to replace,
r13070 | malon++ | smokeserv-server.pl.
r13070 | malon++ | * Either smartlinks-server needs to be renamed, or the clients
r13070 | malon++ | need to send the smokes to smartlinks-server.pl instead
r13070 | malon++ | * Might not work yet; contributions and reformatting are encouraged
mugwump argh, did you get subscribed completely? I swore I selected "Invite", not "Subscribe" 17:15
17:18 buetow joined 17:21 onsen joined
rgs mugwump: I was subscribed to one, invited to another (to which I confirmed) 17:23
obra mugwump: why not do this via perl.org lists?
TreyHarris where is the paper PerlJam speaks of?
obra wonders what to do with his 6pan domains
rgs sell them on ebay ! 17:24
or at a yapc auction
mugwump obra: I'd be happy to move them to a perl.org mailserver, it was in my ability to set this up myself 17:25
obra ok. how many lists do you need?
mugwump there are three main components; cpan6 (network), pause6 (administration), and the tools/clients. I didn't think separate cpan6/pause6 would be worthwhile initially 17:26
so, I made two lists
TreyHarris: see cpan6.org 17:27
PerlJam TreyHarris: cpan6.org
obra mugwump: I suspect that right now, one list makes more sense.
since I bet just about everybody will actually care about all three right now ;)
Though the one thing I'd beg is "evolution, not reinvention" ;) 17:28
TreyHarris huh, was there an annoucement somewhere that i just managed to miss?
[particle] it was most likely at yapc::eu
mugwump correct
I certainly see cpan6 as an evolutionary step forward, rather than competing or undermining cpan 17:29
obra I meant to actually evolve cpan ;)
given the way the community is going (6on5, etc), I'm not much in favor of creating a brand new cpan for perl6. 17:30
rgs concurs
mugwump we will distribute modules of all languages on cpan6
obra oh. this is freepan
PerlJam freepan minus the subversion repositories 17:31
obra ...that was freepan 1.0 ;)
mugwump yes, there are a couple of slides in the presentation that point out that cpan6 != Yet Another VCS
PerlJam Maybe call it CSAN if it's not to be perl-specific. Comprehensive Software Archive Network 17:32
nothingmuch mooooosen
obra so, really, a perl6-cpan list (following the other perl6 lists) wouldn't be appropriate for your vision, Sam?
[particle] hey nm. what's moose with you?
mugwump the project is currently called cpan6, and it is different to cpan - but it will include and support cpan 17:33
Mark picked the name
[particle] it seems a misleading name
P != Perl
6 != Perl 6
rgs c*anN
mugwump I'd rather we didn't bikeshed at this point, really. 17:34
[particle] i agree with that. what's in a name?
PerlJam picking a good name isn't so much bikeshedding IMHO.
obra mugwump: this is not a bikeshed. It's not a question about the name. it's a question about the spirit and intent of the project 17:35
PerlJam names are very important because you're modifiying the language people use to include this new thing you've created.
obra You've basically just defined freepan.
and, well, you've chosen a name that, if this were business land, would be begging for a cease and desist order.
mugwump no, it's more flexible than the freepan design
We asked Andreas first 17:36
obra it's the freepan vision I'm talking about. not ingy's implementation
Did you ask jarkko?
gaal what happened to the effort by kane and others?
j something
mugwump We sent early design documents to Jarkko, and AFAIK he hasn't responded yet
obra andreas is the PAUSE-master. Jarkko created and named CPAN.
[particle] gaal: jsan?
gaal no, I think it was something around .debs but I forget the name 17:37
[particle] oh. good, cause jsan's a whole other ball of wax
obra mugwump: I, in my capacity as the P6PM would like to humbly request that you use a less confusingly similar name.
gaal JIB
PerlJam resuggests CSAN :)
[particle] sounds like cpan6 would encompass freepan, cpan, jsan, and whatever else 17:38
gaal it was called JIB, and it's in the pugs repo, or used to be
obra CSAN sounds great ;)
. o O {"CTAN6"}
[particle] i like CSAR
PerlJam "R"?
[particle] one comprehensive software archive repository to rule them all
mugwump heh 17:39
I see the 6 as an exponent
obra mugwump: and everyone else on the planet sees it as "perl6"
PerlJam indeed
mugwump why don't we make this an opening discussion on the list?
obra Because the list is a closed forum of people you've specifically invited.
mugwump it's not closed 17:40
PerlJam mugwump: because the list is poorly named too! ;-)
17:40 weinig is now known as weinig|bbl
obra it's still composed of people you've invited who have accepted your invitation. 17:40
PerlJam obra: I wasn't invited, but I've subscribed.
obra Why not bring it up on one of the existing perl6 mailing lists?
I will note that this is something like the fourth project to try to recreate the cpan for perl6. 17:41
[particle] which... p6-users?
obra [particle]: I'd actually say p6-l.
mugwump I'm really not sure what your intent with all of this is, obra. Can we not just discuss the design, and once people have a better idea of what we're trying to do, then decide whether the name is wrong
gaal search.cpan.org/dist/Perl6-Bible/li...le/S22.pod
lambdabot Title: Synopsis_22 - CPAN [DRAFT] - search.cpan.org, tinyurl.com/gkufa
obra mugwump: because the thing you've described isn't CPAN and isn't focused on Perl6. 17:43
mugwump I think the name is quite appropriate; it's an evolutionary step forward from cpan6, that will include cpan, and the idea came from the requirements of perl 6.
er, s/6// :)
PerlJam Whatever it's called, I like the design that I've read so far. Whether it duplicates existing efforts or not. 17:44
obra The fact that you didn't even get jarkko's blessing to use the name...somewhat disposes me against you.
If jarkko gives it his blessing, I'll shut up 17:45
17:45 dok left
PerlJam obra: what if he gets aevil to give her blessing? That's a tougher test than having Jarkko bless it even ;-) 17:45
jdv79 once its up and running nobody will care about the name
obra PerlJam: but it's not her call. 17:46
PerlJam jdv79: they will.
jdv79 i don't care what CPAN is named - i just know that's where you go to get all things perl5
PerlJam jdv79: As soon as the name doesn't make sense; they will care.
jdv79 no, its doesn't matter - i go to 2 or 3 rpm repos - i dont care about the name - just whats in them and who's making then 17:47
them rather
17:48 hexmode joined
mugwump you could make the same complaint about any other variant on the name "cpan" 17:48
17:49 ruz joined
PerlJam mugwump: anyway, regardless of the name (I too disagree with it, but I can put that aside for now), why bother with XML when you're using YAML? 17:50
mugwump Because there exists standards for XML Schemata, and we want to encourage widespread adoption with other languages 17:51
[particle] wonders if there are yaml schemas
mugwump so, we will be transforming xml to yaml via a module of MarkOv's
including the XMLSchema documents. So you shouldn't need to touch XML from an early on point 17:52
kane-xs gaal: it's .jib and the problem is with perl's way of stacking @INC :) 18:06
gaal: till we mentally figure out what to do with that, the focus is on core-ifying CPANPLUS 18:07
mugwump: from what i heard via-via, jarkko was offering advise etc, but got ignored.. perhaps best ping him agian on this 18:08
TreyHarris i have a stupid question. why can't v6.pm be used to 6-ify the existing CPAN, and then CPAN is CPAN? (and surely for XS and other such things that can't be finessed like that, Makefile.PL's can take care of it). why do we need a separate Perl 6 CPAN?
kane-xs it's not 'CPAN.pm the code' taht's the problem currently :) 18:09
hurray for overloading terminology
TreyHarris kane-xs: sorry, i was referring to the archive, not the module. 6-ify the existing modules
kane-xs technically, perl5 is supposed to be able to run in perl6, no? 18:10
(just like p4 runs in p5)
TreyHarris why is a separate archive needed?
kane-xs so you wouldn't /have/ to touch the existing modules
TreyHarris kane-xs: right, that's my point, if we have forward and backwards compatibility, why a separate archive?
mugwump because, for instance, with perl 6, you can request any version of any module by any o^Hauthor
kane-xs the archive format has quite a few short-comings, from an 'admin' point of view
Makefile.Pls are not the best way to convey information to installers, etc 18:11
compare Makefile.PL to debians system forexample
TreyHarris mugwump: and it's a hard and fast limitation in the current cpan that can only be addressed by replacing the entire thing?
18:11 iblechbot joined
mugwump not alone, no 18:13
mugwump has dinner with family while he is still in London & 18:17
TreyHarris i guess that's my question. CPAN is Perl's crown jewel. If it's going to be replaced--coming from a totally uninformed viewpoint, which is where 99% of CPAN's users will be coming from--I'd only switch to a different archive if it was a) painless, b) obvious to me why i was doing so, and c) i didn't feel like i was going out on a limb to do so, that i would still be in the bosom of the Perl community and be able to count on continuing support. it ...
... sounds like the answers to those points at the moment are a) possible it could be painless, but very possible it won't, so who knows, b) i still don't understand the motivation--CPAN has too much momentum to be replaced just because it could be done better; c) it sounds like there's a great deal of controversy
maybe these are just PR issues and not actual ones. but reading cpan6.org, i don't see answers for these simple questions. 18:19
kane-xs TreyHarris: fair questions.. sounds like something mugwump could answer, surely :) 18:20
TreyHarris yeah, i was still typing when he left :-) 18:21
kane-xs hehe
he'll be back i'm sure 18:22
rodi I hate to bring this all back to mundanity, but... I'm still bit-munging, and have another (new!) question: 18:26
I have a Bool @array, and since:
?eval say Bool::False
18:26 evalbot_r13067 is now known as evalbot_r13070
evalbot_r13070 OUTPUT[ ] Bool::True 18:26
rodi I want to coerce the elements of the array to Int context, comme ca:
?eval say +Bool::False 18:27
evalbot_r13070 OUTPUT[0 ] Bool::True
rodi But I'm not sure how to do this to the whole array, to avoid:
?eval my Bool @a = (?0,?1,?0,?1); @a.say
evalbot_r13070 OUTPUT[11 ] Bool::True
rodi Anyone know either the answer or the right place to look?
[particle] ?@array= 0,1,1; @array.*+.say; # wild guess 18:29
TreyHarris rodi: do you need an answer today, or the canonical answer
svnbot6 r13071 | gaal++ | * Pugs.Parser - fix parsefail in closure traits referring to $_,
r13071 | gaal++ | reported by agentzh++. t/closure_traits/start.t now passes all
r13071 | gaal++ | tests.
[particle] nm, that's way wrong
TreyHarris +>>@a would numify all elements
but hyperops on unaries doesn't work today
rodi w00t!
hyperop.t, here we come!
[particle] :)
TreyHarris oh, wait 18:30
?eval my Bool @a = (?0,?1,?0,?1); +<<@a.say
evalbot_r13070 OUTPUT[11 ] Error: Hyper OP only works on lists
TreyHarris ?eval my Bool @a = (?0,?1,?0,?1); (+<<@a).say
evalbot_r13070 OUTPUT[0101 ] Bool::True
Limbic_Region particle - are you still having problems building with 6.4.1 with p5 embedding
TreyHarris there you go
:-)
rodi TreyHarris: wow.
thanks.
[particle] l_r: with and without perl5 embedding 18:31
i can't build pugs
Limbic_Region ok - I am in the same boat now
[particle] do you have a 6.6 workaround?
Limbic_Region at least at work, - will need to try from home tonight
in may be a Win32 issue and not a ghc issue
s/in/it/ 18:32
[particle] sure
TreyHarris oops, i think this is a bug
?eval my @a = (Bool::True | Bool::False) x 12
evalbot_r13070 [("" | "111111111111"),]
TreyHarris anyone want to argue it's not?
(i think i should get 12 true/false junctions) 18:33
[particle] why is that a bug?
oh, right, junction
gaal false is "" in stringy context
"" x 12 is "" 18:34
[particle] suspects gaal++ is right
TreyHarris gaal: yes, i know. so how to i construct a list of 12 elements, each (Bool::True|Bool::False)?
gaal if you want 12 junctions, say xx
?eval (True|False) xx 12
evalbot_r13070 ((Bool::False, Bool::False, Bool::False, Bool::False, Bool::False, Bool::False, Bool::False, Bool::False, Bool::False, Bool::False, Bool::False, Bool::False) | (Bool::True, Bool::True, Bool::True, Bool::True, Bool::True, Bool::True, Bool::True, Bool::True, Bool::True, Bool::True, Bool::True, Bool::True))
gaal whee.
TreyHarris oh dear.
i thought i *did* use xx
thanks gaal :-) 18:35
gaal that's not very right though.
TreyHarris no, it's the list of 12 falses or the list of 12 trues
i want the list of 12 false-or-trues
gaal ?eval [True|False] xx 3 # I assume 3 is as good as 12 here
18:35 evalbot_r13070 is now known as evalbot_r13071
evalbot_r13071 ((Bool::False | Bool::True), (Bool::False | Bool::True), (Bool::False | Bool::True)) 18:35
gaal better.
TreyHarris when did True andd False show up? i must have missed that diff 18:36
[particle] why is false coming first? (not that it matters, really)
TreyHarris [particle]: junctions are definitionally unordered
[particle] ok
TreyHarris well, except when you compose one with any() and immediately use it in selective list context ;-) 18:37
then it's guaranteed to maintain the original order of the leftmost any() :-)
18:38 frederico joined
gaal proposes True be renamed to TrUe or something more annoying to type, to prevent code like "if ($the_value_to_check == TRUE)" 18:39
TreyHarris lol
gaal bad code is only funny when you don't have to maintain it yourself 18:40
[particle] why not have a smart compiler that warns on TRUE/true ?
TreyHarris gaal: yes, i know people who would loudly maintain that 'if ($the_vaule_to_check == TRUE)' is far more clear and maintainable than 'if $the_value_to_check'.
gaal supposedly these people think "if (($the_vaule_to_check == TRUE) == TRUE)" is exquisite. 18:41
[particle] true true 18:42
TreyHarris it's the 'verbosity, that is to say, a great, almost, but not quite to the point of, excessive circumlocutory utterance, promotes clarity" school of style ;-)
mugwump TreyHarris: you are asking good questions, and I hope as you read the design documents that you will see we are actually on the same page on those questions. 18:43
TreyHarris mugwump: you expect all CPAN users to read those documents?
mugwump no
they won't need to
TreyHarris mugwump: you should be able to answer in one sentence all my worries.
otherwise, you're not going to get uptake. cpan is *huge*. 18:44
mugwump how about "cpan6 is distributed cpan, updated for security and multiple programming languages" 18:45
rodi take that! Stephen Wolfram, all your pretty pictures are belong to Perl 6!
TreyHarris "meh. i only use it for Perl, and i've never had a security issue with my CPAN modules. I'll stick with CPAN."
mugwump and of course you'll be able to!
TreyHarris and if everyone does so--or just those set who only use CPAN for Perl (100%) and haven't had a security issue with CPAN (>90% i'm sure), CPAN6 can still be a success? 18:47
lumi Just show how the cpan6 tools will make uploading a package 4 characters less
18:47 weinig|bbl is now known as weinig
mugwump actually most people use CPAN for Perl and XS 18:48
svnbot6 r13072 | gaal++ | remove debug print 18:49
mugwump that's two languages
then there's also pir, pasm, pbc, etc
TreyHarris mugwump: i think that's sophistry. XS is Perl, for a wider definitition of Perl, as are the rest of those. 18:50
mugwump right, so can you upload and fetch pir modules using cpan?
or perl6? 18:51
TreyHarris mugwump: ok. so there's your PR line then: "CPAN will stop working once you move to Perl 6. Use this instead."
That rather unfortunately kills one of the promises made by Perl 6's designers... but... 18:52
rodi anyone have a feeling about where in examples/ I should put a script to output wolfram-style cellular automata? 18:53
mugwump a good thing thats not he only pr line, that we have a comprehensive set of documents outlining the problems we are solving.
kane-xs mugwump: is there a quick faq one could point people at with 1 line problem, 1 line solution + link to more reading? 18:54
mugwump not established yet
TreyHarris mugwump: my point is that mere incremental technical prowess never caused any technology to overtake a very-well-entrenched one. 18:55
mugwump and a good point that is. I would value your continued input in this process. 18:56
TreyHarris just take a look at how many better keyboards have come out since qwerty :-)
18:56 rindolf joined
TreyHarris clearly their inventors didn't write enough technical documents for people to understand what problems they were solving :-) 18:56
mugwump I think in that case, it's just that the problems weren't big enough 18:58
svnbot6 r13073 | rodi++ | Example script (ported from an earlier Perl 5 version) to output 19:01
r13073 | rodi++ | Wolfram-style cellular automata in a terminal.
rodi the silence must be everyone rushing off to try my shiny, new script! 19:18
any objection to my any("removal","replacement") of >> and << from t/operators/bit.t? 19:20
19:20 frederico joined
TreyHarris rodi: i'm sorry? i can't see any recent changes to t/operators/bit.t 19:25
rodi TreyHarris: I'm making changes, just wondering if there's any reason >> and << are still in there, since they're not part of Perl 6, AFAIK
Limbic_Region no, that's a question in advance TreyHarris
rodi - what did they get replaced by? 19:26
rodi ?>, +>, etc.
lambdabot Maybe you meant: . bf id pl v wn
rodi LOL
sorry, lambdabot
Limbic_Region rodi - I think I am confused - which Synopsis is this from
TreyHarris rodi: ah... yes. the lack of smartlinks and the "mostly copied fro perl 5.8.4" is a giveaway :-) 19:27
rodi Limbic_Region: Synopsis 3
TreyHarris S02
3
typo
Limbic_Region ok
rodi TreyHarris: hehe, I "needed" some of those operators in my recently committed script, along with sprintf("%b",$i), but worked around it for now, 19:28
just want to add my tests in, figured I'd clean up while I was there.
TreyHarris Limbic_Region: L<S02/Changes to Perl 5 operators/Bitwise operators get a data type prefix> ;-)
rodi copies into bit.t 19:29
Limbic_Region yes, but the >> and << operators still exist
that's my confusion
TreyHarris oh dear
Limbic_Region they just serve a different purpose
TreyHarris oh
Limbic_Region hyperoperators
rodi Ahh, hyperops.
TreyHarris lol
Limbic_Region though they are technically unicode
TreyHarris they're different operators, then. they're just isolexographic
rodi LOL 19:30
Limbic_Region actually, all unicode chars have reg ascii counterparts AFAIK, they just usually require more typing
The Unicode characters Ā» (\x[BB]) and Ā« (\x[AB]) and their ASCII digraphs >> and << are used to denote
TreyHarris yes. >>, Y... what else?
Limbic_Region that's quoted from S03
TreyHarris - I am not keeping a list 19:31
I was just confused when I saw "should I remove >> and << as they are no longer part of Perl 6"
I guess I should have looked at the test name to see that it was for bit operations
TreyHarris ?eval 'a'..'d' Y 1..4 19:32
19:32 evalbot_r13071 is now known as evalbot_r13073
evalbot_r13073 (("a", 1), ("b", 2), ("c", 3), ("d", 4)) 19:32
PerlJam It's the Y combinator!
;)
TreyHarris no, the Y combinator is spelled &?BLOCK ;-)
rodi while I'm at it... what do other folks here use for Unicode input in KDE? 19:33
Limbic_Region PerlJam - did you read aristotle's use.perl journal entry on the Y combinator
PerlJam rodi: << and >> have gone away as bit shifters, but they've been replaced by +> and +< I do believe
Limbic_Region: I did indeed.
Limbic_Region still can't think of a good use for it in perl
PerlJam - yes yes - just not the way I interpreted rodi's original comment 19:34
19:34 [particle] joined
PerlJam Limbic_Region: the Ycomb is useful in perl when you want to live in a restricted universe of pure functional programming. 19:34
TreyHarris perl is an imperative language at its core style, no matter how many oo and functional and whotheheckknows what else gets poked onto it. the Y combinator seems rather odd... 19:35
== PerlJam. much more succinctly than i was going ;-)
PerlJam Think of it as validation. Perl can do the Ycomb, ergo it's got all the same nifty magic that makes other languages important ;-) 19:36
Limbic_Region PerlJam - I suppose. Perl's main paradigm is definately imperative but it allows you to do both OO and Functional to a certain degree. I just see no need not to put perl's flair on things
IOW - A good Fortran programmer may be able to write Fortran in any language but that doesn't mean they should 19:37
Just because I have the Y combinator doesn't mean I should use it when plenty of other tools will suffice
Juerd I try to write Perl in every language.
PerlJam Juerd++ me too 19:38
And that's why it takes me a while to shift gears when I write C code :)
TreyHarris Juerd: I try too, and alas, the language often doesn't let me :-)
PerlJam PIR is perly enough that I can write it easily. 19:39
Limbic_Region Oh, I didn't see stvn's reply to how it will look in Perl 6
PerlJam there were no replies when I read it .... /me looks
TreyHarris Limbic_Region: URL? i didn't either
Limbic_Region sub ($n) { return 1 if $n < 2; return $n * $?SUB.($n - 1); }
no need for URL
PerlJam hrm. use.perl.org is bizarro for me right now. 19:40
Limbic_Region I can see use for Perl 6's ability to anonymously refer to the current code block while in that block without having to predeclare it 19:41
TreyHarris i thought it was &?BLOCK, not $?SUB
Limbic_Region though I think they are mostly evil
TreyHarris - stvn didn't claim the syntax was 100% correct
TreyHarris oh... $?SUB is the current lexical *named* sub. &?BLOCK is the current runtime block 19:42
S02 and S06 do not seem to be entirely consistent on these points. but maybe i need another reading 19:43
TreyHarris needs a Perl 6 rabbi
nothingmuch TreyHarris: it's both
but with a & sigil
block is the current block 19:44
(Which is also a sub)
&?SUB is the current declared sub
which might be anon
i think
if it's only named there's no point in having it
TreyHarris oops. yes, i meant declared, not named. thanks. 19:45
thinko
but this business of some things being named by their sigilless forms and some named by their sigilfull forms is starting to get to me
19:46 weinig joined
Limbic_Region ?eval my @foo = 1..10; @foo>>++; ~@foo 19:46
evalbot_r13073 Error: Can't modify constant item: VInt 1
TreyHarris @a and $a, different vars. @.a and $.a, same attribute. &?BLOCK and $?BLOCK, same var. @?INC and %?INC, different var
lambdabot Maybe you meant: all-dicts arr ask . v
Limbic_Region hmm - shouldn't that work?
TreyHarris Limbic_Region: markstos added a test for this just a couple days ago IIRC 19:47
TreyHarris must run, back soonish. &
Limbic_Region okie dokie
Patterner hmm.... <quote> Warning: retaining unknown function `Pugs_trap_exit' in output from C compiler </> 19:48
Limbic_Region ?eval my @foo = 1..3; @foo.>>say
evalbot_r13073 Error: unexpected ">" expecting ".", subroutine name, variable name, array subscript, hash subscript or code subscript
Limbic_Region ?eval my @foo = 1..3; @foo>>say
evalbot_r13073 Error: unexpected ">" expecting "::", term postfix, comment, operator, postfix conditional, postfix loop, postfix iteration, ";" or end of input
svnbot6 r13074 | gaal++ | * cleanups to parameter and signature parsers. also caught a bug 19:55
r13074 | gaal++ | that would have parsed :( :($moose) ) as a named param with no
r13074 | gaal++ | explicit label.
19:55 [particle] joined 20:06 efunneko_ joined
rodi Should ?| and ?& be thought of as bitwise operators? 20:07
gaal no,
^| and ^& are.
rodi They're in L<S02/Changes to Perl 5 operators/Bitwise operators get a data type prefix> 20:08
Juerd rodi: + is for numeric bitwise
rodi: ~ is for stringy bitwise
rodi: ? is for boolean "bitwise", but forget the bitwise part there. 20:09
rodi Juerd: yep, writing tests in t/operators/bit.t now, and they're all in S03 together,
Patterner "segmentation fault ./pugs ./examples/ca_wolfram.pl"
rodi trying to decide whether to put tests in there.
Patterner: wha!
Juerd gaal: Mhat's ^ in that?
gaal er, meant +|
Patterner rodi: sorry
rodi I think gaal meant ~^, etc.
Patterner: that makes me so sad! runs great for me. Which pugs version you got? 20:10
gaal I think gaal meant +^ etc but I have insider information :)
rodi LOL
Patterner Version: 6.2.12 (r13073)
it said ".............................x" and "............................xx", then died...
rodi Patterner: any error message? 20:12
Patterner nope
rodi and the other scripts in that dir work fine?
Patterner 0x00002b556679ebb8 in Parrot_FixedPMCArray_destroy () from ../parrot/blib/lib/libparrot.so.0.4.6 20:13
TreyHarris Patterner: try it again? 20:14
gaal z& 20:15
TreyHarris I get semi-random segfaults from pugs, and 9 times out of 10 just running again fixes it. I can't explain this.
Juerd gaal: zoolean? :)
rodi Juerd: nice, I'm adding that to t/operators/bit.t now...
20:15 penk joined
Patterner well, i got 5 seg faults out of 5 tries... 20:15
TreyHarris ah. 20:16
03:03 < TreyHarris> audreyt: i ran ext/libwww-perl/t/live.t five times in a row, and three of those times I got sigbus, "illegal hardware instruction", once i got...oh, it scrolled off but it told me to report a compiler error to GHC, and once all tests passed :-)
so i've seen some weird behavior before :-)
Patterner sendmoremoney => No compatible subroutine found: "&collapse"
rodi wow, that's fun. Patterner: I'm recompiling 13074, see if it wfm. 20:17
TreyHarris it just ran start-to-finish fine for me
at r13059
Patterner running test for 13074 now... 20:19
svnbot6 r13075 | fglock++ | Pugs-Compiler-Rule - inner loop optimizations; makes v6.pm another 7% faster 20:31
20:36 Eimi joined 20:38 polettix joined 20:44 Eimi joined
svnbot6 r13076 | rodi++ | Names for all tests, linkbacks to S03, additional tests for bitwise and 20:59
r13076 | rodi++ | shift operators, removed Perl 5 cruft. Left some commented-out tests
r13076 | rodi++ | that are not valid for one reason or another.
21:06 Limbic_Region joined
rodi Patterner: I just recompiled w/revision 13074, and can still run ca_wolfram.pl fine... not sure what's going on :( 21:07
Limbic_Region ok - for sure, pugs is b0rk on Win32 21:13
pasteling "Limbic_Region" at 24.35.57.240 pasted "Win32 problem with embedding Perl 5 (header issues apparently) - setting PUGS_EMBED="!perl5" of no help" (432 lines, 13.5K) at sial.org/pbot/19498 21:15
Limbic_Region fwiw - this started happening in the last day or so and is a problem regardless of GHC versoin 21:17
version even
audreyt ping # if you backlog, see the Win32 issue nopasted above 21:18
obra What's the current status of Pugs on Javascript? 21:27
Limbic_Region obra - have you checked the smoke status? 21:28
obra yes
they show no tests passing on JS since um. january 21:29
Limbic_Region apparently 0%
yeah
not good
rodi ironpugs++
Limbic_Region Pugs 6.2.12 18 Aug 2006 16:05 Fri 152.60 min 0.00 % ok
the interesting thing is - it took 2.5 hours to come up with the goose egg 21:30
TreyHarris hmmm... i didn't even smoke javascript
looks like make smoke doesn't do so by default?
Limbic_Region no
smokeall would test all backends
smoke just does the Perl 6 on GHC IIRC
rodi I heard smoking javascript causes cancer anyway... 21:31
obra the pugs smokes need a serious cleanout
TreyHarris ah. given that make smoke takes 12 hours for me, i think i'll pass on the smokeall :-)
oh, not 12 hours. 4. 21:32
Limbic_Region well, there should be a way to smoke JS individually too
TreyHarris "jssmoke", according to the makefile 21:33
i'm trying it
Limbic_Region for a time - all the hackery was focused on the alternate backends
that appears to have died off though
TreyHarris but of course it's recompiling pugs first. *sigh* am i the only one who gets recompilation even when no sources have changed? 21:34
Limbic_Region that was supposed to have been fixed
wait is it actually compiling anything or is it just going through the motions to see if anything needs to be compiled 21:35
TreyHarris ah. if that were fixed, then my "sudo make install" littering root-owned files in my working copy would go away
Limbic_Region I can't confirm/deny ATM without reverting pugs as the current rev doesn't compile on Win32
TreyHarris perhaps it just "goes through the motions", but: 21:36
% TZ=UTC ls -l pugs
-rwxr-xr-x 1 trey admin 37802496 Sep 6 21:35 pugs
it is creating a new pugs
Limbic_Region hrm - I really did think that was fixed 21:38
rodi thanks, everyone, for the help with bitmunging today. 21:39
TreyHarris hmm. every single test is saying "Error: Precompiled Prelude ("...perl5/PIL2JS/pil2js.pl") does not exist... Can't bless non-reference value at "...pil2js.pl line 77" 21:40
which would explain 0% success :-)
i cancelled the smoke. no point I think :-) 21:42
Limbic_Region nope 21:45
Limbic_Region saw obra volunteer to clean this all up though 21:47
obra Not a chance in hell 21:48
"I'm just the project manager" ;)
TreyHarris how do you smoke v6.pm?
Limbic_Region pulls out his glock and asks TreyHarris to hold the wiggly bugger above his head 21:55
22:02 jon_ joined
jon_ ?eval @x=<1 2 3>;print "@x"; 22:05
22:05 evalbot_r13073 is now known as evalbot_r13076
evalbot_r13076 Error: Undeclared variable: "@x" 22:05
jon_ ?eval my @x=<1 2 3>;print "@x";
evalbot_r13076 OUTPUT[@x] Bool::True
mauke ?eval my @x=<1 2 3>;print "@x[]" 22:07
evalbot_r13076 OUTPUT[1 2 3] Bool::True
statico ?eval gerbils 22:08
evalbot_r13076 Error: No compatible subroutine found: "&gerbils"
jon_ thank you mauke 22:09
TreyHarris or ?eval my @x=1..3; print "{@x}" 22:14
?eval my @x=1..3; print "{@x}"
evalbot_r13076 OUTPUT[1 2 3] Bool::True
TreyHarris or, if you're feeling particularly oo-ish: 22:15
?eval my @x=1..3; @x.join(" ").print
evalbot_r13076 OUTPUT[1 2 3] Bool::True
TreyHarris (of course, you probably want C<say>, not C<print>....)
22:22 plisk joined 22:23 plisk left
jon_ thanks TreyHarris, but while I like OO where it makes sense, I prefer things like say "@x[]" or say "{@x}" 22:23
TreyHarris well, those are just exactly "@[]".say ;-) 22:24
jon_ I know... it's just the aesthetics 22:25
TreyHarris which becomes $*OUT.say("@[]")
yep, i understand and agree :-)
jon_ cool... someone shares my quirks/foibles :) 22:26
TreyHarris now, let's not go too far ;-) 22:27
22:28 lisppaste3 joined
TreyHarris I can't tell you how many times I've written 'print $fh: "blah blah"' in the past few weeks though when writing perl 5 code 22:28
indirect-object syntax without a colon just looks SO WRONG to me now. 22:29
avar haha:) 22:37
when you do "@[]".say what's the delimiter? S28 says $" is gone in place of @x.join, so what's { local $" = $str; print "@_\n"; } in Perl 6? 22:41
S28 draft that is
22:43 weinig is now known as weinig|bbl 22:44 jferrero joined 22:47 markstos joined
avar b.t.w. has noone started writing the equivalent of perldoc in p5 for p6? The synopsis are really replacements for the Camel Book more for anything like that 22:47
22:49 lollan joined
obra do you mean perldoc the command, perldoc the format or "the docs for perl"? 22:49
avar *more than ...
I mean stuff like perlvar, perlre etc.
obra nod 22:50
avar i.e. the actualy document shipped with the language for core functions et al.
obra I belive that the intent is to morph the synopses into that
TreyHarris ?eval my @a = 1..4; say "{@a.join(":")}" 22:55
evalbot_r13076 OUTPUT[1:2:3:4 ] Bool::True
markstos I started a new wiki page so we can help each other figure what some of less intuitive Pugs error messages mean:
TreyHarris avar: I think the above is the replacement
markstos rakudo.org/perl6/index.cgi?pugs_diagnostics 22:56
avar TreyHarris: So no, you can't do that:)
TreyHarris the idea being that spooky-action-at-a-distance vars, even localized, or being eschewed
avar: why can't you?
avar TreyHarris: I'm not displeased with that, just wondering what the default delimiter was
markstos I'm currently trying to figure out this one out:
Can't modify constant item: VUndef
avar TreyHarris: I mean you can't define custom stringification delimiters with syntax sugar anymore:)
"{@a.join(":")}" not $"=":";"@a" 22:57
TreyHarris avar: ah. well, not implemented this way yet, but I would assume that there's a multi method Array::as (Str) { self.join($mumble) }, and you'd change $mumble 22:58
and if $mumble were a package var or a class attribute, you could localize it 22:59
but if seriously $" is gone gone, it would be a private lexical or a constant, so you couldn't.
avar Yeah, but not really friendly:)
TreyHarris I dunno. { temp Str.delimiter = ":"; say "@_" } seems friendlier to me... 23:00
avar "@_[]" :) 23:01
TreyHarris right. :-) 23:02
23:11 cjeris left
markstos design question: If I have an object that want to serialize as YAML, but the YAML is /different/ than what a ".yaml" would normally produce, should I: 1. override ".yaml" to use a custom format for that object or 2. avoid the conflict and choose another name like ".as_yaml" ? 23:12
avar different how? 23:14
Is it invalid YAML or is the YAML module broken?
markstos This is for CGI.pm P6. It's useful to dump out the name/values of the params as YAML, but that's different than what you get if you just do $q.yaml 23:15
It's probably better to avoid confusion by not using the builtin name. 23:16
avar ah, sorry
Well on the other hand, if it's compatable yaml I don't see why not 23:17
it could still be unserialized when needed by other yaml libs
23:17 mako132_ joined
markstos I guess if people want the regular yaml, they could do something like $q.perl.yaml, which get the raw Perl, and then the raw yaml. 23:18
23:19 jferrero joined 23:43 [particle] joined
markstos The follow creates an infinite loop, and I think it's a bug: 23:53
class Foo { method yaml { my %s; return %s.yaml } } Foo.new.yaml;
The bug is that %s.yaml calls "yaml" in the Foo class, even though %s is not a Foo object. 23:54
Thus, a loop is created.
Agreed ? I can create a test case if so. My test case will include a clause for stopping after a couple of loops. :) 23:55