Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2005-04-10

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:17 mjh has quit IRC (Remote closed the connection)
00:29 Ovid has joined #perl6
00:31 ninereasons has joined #perl6
00:37 larsen has quit IRC ("later")
01:10 castaway_ has joined #perl6
01:28 castaway has quit IRC (Read error: 110 (Connection timed out))
01:28 theorbtwo has quit IRC (Read error: 110 (Connection timed out))
01:29 Odin-LAP has quit IRC (Read error: 104 (Connection reset by peer))
01:30 Odin- has quit IRC (Read error: 110 (Connection timed out))
01:37 Odin-LAP has joined #perl6
01:37 Odin- has joined #perl6
02:13 jabbot pugs - 1704 - mark a few asavige failed tests as TODO
02:13 jabbot pugs - 1703 - re-enable some test that no longer parse
02:13 jabbot pugs - 1702 - added some tests for new ^^/xor operator
02:13 jabbot pugs - 1701 - Added some XXX comments to pleac for Ovi
02:13 jabbot pugs - 1700 - Added test for NaN segfault
02:13 jabbot pugs - 1699 - Skip arithmetic tests that make pugs/GHC
02:13 jabbot pugs - 1698 - Added the "Problem" as pod to each recip
02:13 jabbot pugs - 1697 - -p and -n now officially work. Both auto
02:13 jabbot pugs - 1696 - Promoted todo test in given - when \d+ {
02:14 jabbot pugs - 1695 - * `$var.substr @param` must be written a
02:14 xern autrijus: what part did you say that it was the best for me to contribute?
02:16 Ovid Juerd, are you here?
02:16 gugod hi xern
02:17 xern hi gugod
02:19 elmex has quit IRC ("leaving")
02:19 stevan ninereasons: you around?
02:20 stevan hey Ovid :)
02:20 Ovid Hi stevan.
02:21 Ovid You wrote CGI.pm, right?
02:21 stevan saw you are doing the PLEAC stuff
02:21 stevan very nice
02:21 stevan yeah I did that :)
02:21 stevan Ovid: it started out as a 1 hour hack/proof of concept and turned into a full blown project
02:22 Ovid Glad to see it getting started.  You might want to consult the real CGI.pm tests.  You probably don't want to duplicate that functionality because it has many issues, but there are some tricky corner cases for CGI handling you may wish to know about.
02:23 Ovid For example, the semi-colon is the preferred separator for query string params (even though most still use the ampersand)
02:24 stevan Ovid: I had not even gone near the CGI.pm test suite actually (I should though)
02:24 Ovid I can't seem to run the CGI.pm tests, though.  How do I build it?
02:25 stevan I actually think that I will wait on OO functionality in Pugs before I do too much more on it though
02:25 stevan Ovid: the easiest way is to cd into the ext/CGI directory
02:25 stevan and then prove -l t/*.t should work
02:25 stevan (assuming your have the right ENV values set up that is)
02:26 Ovid Much better!
02:26 Ovid What ENV values?
02:26 stevan yeah since the main test suite fails, the others tend to not run
02:26 Ovid Failed 2/6 test scripts, 66.67% okay. 26/62 subtests failed, 58.06% okay.
02:27 stevan can you paste the full output?
02:27 ninereasons has quit IRC (Read error: 104 (Connection reset by peer))
02:27 stevan perlbot nopaste
02:27 perlbot Paste your code here and #<channel> will be able to view it: http://sial.org/pbot/<channel>
02:27 Ovid Yup.  Hold on.
02:28 stevan Ovid: the ENV values so Pugs can find PERL6LIB I think is all
02:28 stevan I tend to just keep one Pugs window open running tests and such all the time,.. so it is all set up for me
02:28 pasteling "Ovid" at 66.167.139.72 pasted "Perl6 CGI.pm failures" (24 lines, 1.3K) at http://sial.org/pbot/9157
02:29 stevan Ovid: those errors are from a Pugs parse bug, autrijus fixed it yesterday I think
02:29 Ovid I just updated.
02:29 stevan so if you build the latest SVN it should work
02:30 stevan Ovid: from where?
02:30 Ovid svn
02:30 stevan openfoundry or perl.org?
02:31 stevan what OS are you on?
02:31 Ovid I think it was openfoundry.  How do I check?  I don't remember :)
02:31 stevan hmmm, good question
02:31 Ovid hmmm, bad answer :)
02:32 stevan svn info
02:32 Ovid URL: http://svn.openfoundry.org/pugs/ext/CGI
02:32 stevan wow,.. very strange
02:32 stevan I just ran it with no issues
02:33 jabbot pugs - 1705 - some test suite spring cleaning
02:33 stevan let me do 'make' again,... possibly something broke
02:34 Ovid I just updated again, just to be sure.  Same errors.
02:35 stevan when was the last time you built pugs?
02:37 Ovid D'oh!  That makes sense.  It explains another error I had earlier, too.  
02:37 * Ovid rushes off to rebuild pugs.
02:37 stevan :)
02:38 Ovid So should I send you bug reports about CGI.pm, or just fix it?
02:39 stevan Ovid: just fix it please :)
02:39 Ovid OK :)
02:39 ninereasons has joined #perl6
02:39 stevan Honestly I dont think I want to end up owning that beast :)
02:40 Ovid So if I want to start a general discussion about managing pleac so it's useful, should that go to the Perl6 compilers or language list?  Or somewhere else?
02:40 stevan Ovid:  I would say the p6c since it is in Pugs
02:41 Ovid OK.
02:41 stevan but I am not the final voice of authority by any stretch of the imagination
02:41 stevan :)
02:41 Ovid Well, if they yell at me, I'll yell at you.  Fair?
02:42 stevan sounds good to me :)
02:42 stevan I take the heat for yah :P
02:47 hawkaloogie has quit IRC (Read error: 54 (Connection reset by peer))
02:48 hawkaloogie has joined #perl6
02:49 stevan Ovid: wow,.. I just looked in examples/pleac/
02:49 stevan very nice
02:49 Ovid Thanks!
02:49 Ovid I wanted to make it easy for anyone to look up recipes and, if they wanted to, contribute their own recipes.
02:49 elmex has joined #perl6
02:50 stevan yes, very nicely organized :)
02:50 Ovid I just worry about whether or not those file names are portable.
02:52 stevan I have no idea, although I assume that most modern systems can handle it,.. its the VMS's and Mac pre-X of the world you have to worry about
02:53 stevan although both of those GHC doesn't run on :) so it is probably of little concern
02:53 Ovid Heh :)
02:55 Ovid Hmm... I think I should put it in perl6-language.  That's where Tim Bunce made the original suggestion.
02:55 elmex has quit IRC ("leaving")
02:57 Schwern has joined #perl6
02:58 Schwern Paging Steven Schubiger
03:01 metaperl has quit IRC (Read error: 145 (Connection timed out))
03:03 jabbot pugs - 1706 - Added a few more recipes.  Minor tweaks.
03:09 Ovid All CGI.pm tests pass.
03:09 Ovid Whew.
03:11 stevan nice
03:11 ninereasons the coookbook idea is very nice & really looking forward to seeing webpages served up by pugs/perl6
03:12 Ovid Steven, I assume you also wouldn't object if I alter how CGI.pm behaves, yes?  Spaces should be decoded as %20, not +.  The plus sign is the old fashioned way :)
03:13 stevan Ovid: it is all yours :)
03:13 Ovid OK.  Thanks!
03:13 jabbot pugs - 1707 - Fixed a bad suffix.
03:13 Ovid Though I question whether or not I should thank you :)
03:13 stevan Just so you know,.. I copied a bunch of that from CGI::Lite  and some of it CGI.pm
03:13 Ovid Er, is "no_plan" supported for Perl6 tests?
03:14 stevan Ovid: not really,... just don't specify any plan
03:14 Ovid The important thing is to ensure that correct behavior is respected and promoted, but still maintain backwards compatability.
03:14 stevan and it behaves just as is you said "no_plan"
03:14 Ovid OK.  Thanks!
03:15 * Ovid idly wonders about multipart/form-data ...
03:15 stevan Ovid: I agree, however, keep in mind that this CGI.pm is not meant to be the monstrosity that perl5 CGI.pm is
03:15 stevan Ovid: we dont have a read() builtin in pugs yet,.. so you probably cant do that
03:15 Ovid Oh, absolutely!  I have no desire to replicate that.
03:16 Ovid Ah.  Bummer.
03:16 stevan yeah it only supports GET now really
03:16 stevan and I am thinking that cookie support probably really needs OO to do it right
03:17 Ovid I saw a bunch of OO tests passing for pugs.  Are they just stubs?  Do we not have classes yet?
03:17 stevan although I have high hopes for the ITypes refactoring autrijus is working on right now
03:18 stevan Ovid: they are todo tests right now,.. and no classes yet
03:18 Ovid OK
03:18 stevan we only just got multi-dims this week :)
03:19 stevan however,... mugwump is doing a bunch of work classes right now (in Haskell)
03:19 Ovid I see the same issue with CGI.pm as with pleac.  If we keep writing code, we'll write "baby Perl6" and it will easy to have a bunch of bad code out there that doesn't get updated.  Still, if it doesn't get out in the wild ...
03:20 stevan Ovid: yes that is a problem. Much of my motivation for CGI.pm and File::Spec was to do larger examples/tests
03:20 Ovid I see.  That makes sense.
03:20 stevan unit tests only go so far
03:20 ninereasons Ovid, IMO I think that pleac is much more likely to be maintained as a work in progress, than our other test suites and examples.
03:20 stevan ninereasons: I agree
03:21 ninereasons the structure commends itself to improvement
03:21 stevan Ovid: my hope is that these baby-modules will not only uncover bugs as we build them, but as other people play with them too
03:21 Ovid I certainly hope so.  I think pleac could become a huge resource for folks.  In fact, I believe that once someone knows a bit of Perl6, I suspect that pleac will be their first stopping point.
03:21 Ovid ninereasons:  I don't understand your last comment.
03:22 ninereasons yes, Ovid it's a bridge from perl5 to perl6
03:22 ninereasons Ovid, i mean that people will look at the examples and think, "I could write a better recipe than that"
03:23 Ovid That will be great if they do.  I should put that in the README.
03:23 ninereasons but a "running test is a good test".  doesn't invite improvement
03:24 stevan ninereasons: excellent point :)
03:25 ninereasons thank you, stevan :)
03:30 stevan I am off to watch some TV and sleep, night all
03:31 ninereasons night.
03:31 ninereasons I wish that pleac were named differently, though.
03:31 Ovid Night.
03:32 ninereasons I'd suggest "rosetta"
03:32 Ovid ninereasons:  I don't like the name either, but that's what autrijus asked for and it matches the pleac project.
03:32 Ovid I think I'd be happy with examples/cookbook, myself.  (Though 'rosetta' is awesome)
03:33 autrijus yo.
03:34 autrijus Ovid: $obj.meth @param  should cause parsefail as of yesterday
03:34 Ovid Hi autrijus.
03:34 autrijus Ovid: if that syntax worksforyou, rebuild pugs :)
03:34 Ovid Heh :)
03:36 Ovid Hmm, is "$data.split($value)" supposed to be equivalent to "split($value, $data)"?
03:36 autrijus it's unspecced. prod rod :)
03:37 Ovid OK.  That explains the failures, then.  
03:40 autrijus quick questions. what do you think these statements should do:
03:40 autrijus my &code = sub { say "Hi!" };
03:40 autrijus $*OUT = [ 1..10 ];
03:40 Ovid A lexically scoped sub for the first, yes?
03:40 autrijus say %*ENV[9];
03:40 autrijus Ovid: note the "="
03:41 Ovid Ahh ...
03:42 autrijus also, anyone knows if
03:43 autrijus @$_
03:43 autrijus still works?
03:43 autrijus I know that @{$_} works
03:43 ninereasons my &code = sub{ say $^a };
03:43 ninereasons code("hi");
03:44 autrijus I know this works in pugs :)
03:44 autrijus question is, should it?
03:44 ninereasons I like it :)
03:44 autrijus shouldn't you be writing := instead?
03:44 ninereasons when I put the sigil & on the front, I think :=
03:45 ninereasons maybe Iwhouldn't ..
03:47 ninereasons $*OUT = [ 1..10 ]; # I don't like this, though.
03:47 ninereasons It's surprising.
03:49 ninereasons say %*ENV[9]; # I think is dwimmy
03:52 ninereasons but maybe %*ENV[9].pairs[9] is more sensible :(
03:53 jabbot pugs - 1708 - Did a little reformatting of CGI.pm to m
03:53 ninereasons %*ENV.pairs[9] that is
03:54 Ovid I need to stop for the evening.  See ya!
03:56 autrijus see you Ovid
03:56 autrijus so, my point is that all the three above should be either compile time error or runtime error :)
03:57 ninereasons I suppose so; although I still like &code =
03:57 ninereasons :)
03:57 xern autrijus: do you remember what part you said that it was the best for me to contribute?
03:57 Ovid has quit IRC ()
03:57 autrijus xern: maybe you can work on examples/pleac/ :)
03:57 autrijus xern: or any other examples you'd like
03:58 autrijus or port your CPAN modules
03:58 xern pleac is for?
03:58 autrijus see the README in it
03:58 xern ok
03:59 ninereasons :q
04:01 autrijus brb
04:21 ninereasons with "warnings" will we still get '"my" variable $var masks earlier declaration in same scope" ?
04:43 gaal has joined #perl6
04:51 Khisanth ninereasons: why not?
04:52 ninereasons it's not a big deal; it's just that in pleac, there will be many "my $declaration"s
04:53 ninereasons many more than in the perl5 cookbook.
04:53 Khisanth well not having the warning would be tying the noose as well as giving you the rope to hang yourself with :)
04:54 ninereasons I would think that the cookbook examples should drill in the point of "strict by default"
04:54 autrijus lunch, bbiab. :) &
04:56 ninereasons at the same time, I wonder if many "my" variables in the same scope, in the examples, will teach a bad habit
04:56 ninereasons do you see what I mean, Khisanth ?
04:59 Schwern I sure don't.
04:59 ninereasons :( ok
05:00 ninereasons well, looking through pleac.sourceforge.net
05:01 ninereasons I see many places where "my" would show up.
05:01 Khisanth ninereasons: I don't see why it is good to write very confusing programs where this $declaration is not the same $declaration that I saw a few lines ago
05:01 ninereasons that's sort of my point, Khisanth.
05:01 Schwern ninereasons:  Do you have a specific piece of code?
05:02 Khisanth ninereasons: so it SHOULD warn you
05:02 ninereasons http://pleac.sourceforge.net/pleac_perl/strings.html
05:02 Schwern ninereasons:  Which part?
05:02 ninereasons for example (yes, it should, Khisanth )
05:02 Schwern I hope you don't mean the "Introduction" code!
05:03 ninereasons no.  I mean what is beginning to form under examples/pleac
05:03 ninereasons compared to the sf page
05:03 * Schwern looks
05:04 ninereasons there's hardly anything there, yet.  I'm just ttrying to think ahead.
05:04 Schwern Thinking ahead to what?
05:04 ninereasons to what that example should look like, and how the variables should be named, and how they should compare to the perl5 cookbook
05:05 Schwern AHHHHH
05:05 Schwern As opposed to "we shouldn't warn when the same variable is declared twice in the same scope"
05:05 nothingmuch has joined #perl6
05:06 ninereasons perhaps, Schwern
05:06 nothingmuch morning
05:06 ninereasons I just note that there is no "my" on that sf page.
05:07 Schwern A lot of small code snippet examples just drop it along with strict.  It gets repetative.
05:07 Khisanth the purpose of warnings is to help programmers avoid potentially nasty pitfalls isn't it? :)
05:07 Schwern I know I've stopped bothering in my own documentation.
05:08 ninereasons yes;  I was just checking; since in this warning would be raised by many of our t/ tests
05:08 Schwern ie. C< $foo = $obj->bar >
05:08 nothingmuch if i ever publish code, even if it doesn't contain "use strict" i try to remember to make it work either way
05:08 Khisanth ninereasons: then the tests need fixing :)
05:09 ninereasons sorry I took the long way around to that .
05:09 ninereasons ;)
05:11 Khisanth as for the cookbook, should people really be using code where they don't know what the code is doing?
05:11 ninereasons no
05:12 ninereasons and all of the examples should execute.
05:12 nothingmuch but they do it anyway
05:12 ninereasons (which of course, they would not do, if "my" is not used in original declarations - thus, the question)
05:13 nothingmuch should testgraph switch to HTML::Template or even something more spunk?
05:13 * nothingmuch might be tempted to make a petal fork
05:15 Schwern ninereasons:  I'm still not seeing examples which have that problem
05:15 Schwern ninereasons:  Could you point one out?
05:15 Schwern (Granted, I'm not looking very hard)
05:16 ninereasons The pleac.sourceforge.net page, on strings, for example, does not have a single use of "my"
05:16 Schwern Ok.  But this doesn't prevent the code from running.
05:16 ninereasons for our examples to execute, they _must_ use "my".
05:16 Schwern Why?
05:17 nothingmuch has quit IRC ()
05:17 Schwern Don't just blindly apply strict to 3 lines of code.
05:17 ninereasons because pugs won't let you run otherwise.
05:17 Schwern ?!
05:17 Schwern Well then fix that
05:17 ninereasons you have to turn off strict - which is on, by default
05:17 ninereasons it's in the spec
05:17 Schwern That's not Perl 6 last I checked.
05:18 Schwern strict is on inside a class.
05:18 Schwern I thought it was off in main and one-liners.
05:19 ninereasons the only place that it's off is inside of blocks, using $^a type variables.
05:19 Schwern You sure about that?
05:19 ninereasons well, that's defacto pugs
05:19 ninereasons I don't know about the spec on that point
05:19 Schwern I'm not talking about Pugs, I'm talking about Perl 6
05:19 ninereasons yes, I don't know
05:19 Schwern Ahh.  I can say with a fair amount of confidence that Pugs is wrong on this count.
05:20 ninereasons "strict by default" is sprinkled liberally through the mailinglists and Synopses;
05:21 ninereasons but I don't read them with the sort of diligence you have
05:21 Schwern No, you've got more dilligence than I have.  This is news to me.
05:21 Schwern I see the update in Apoc 1 now
05:22 Schwern Don't know how I feel about that.
05:22 Schwern I liked the old compromise.
05:22 Khisanth where is the updated A01?
05:22 Schwern Perl6::Bible
05:22 Schwern http://search.cpan.org/dist/Perl6-Bible/lib/Perl6/Bible/A01.pod#RFC_16:_Keep_default_Perl_free_of_constraints_such_as_warnings_and_strict.
05:22 Khisanth hmm
05:23 Khisanth ok is anything on dev.perl.org NOT out of date? :/
05:31 ninereasons reading above, I feel compelled to say that nothing I wrote should be read with the slightest hint of sarcasm ;  I really did assume that you probably knew better than i
05:31 ninereasons (hope that doesn't break autrijus's "no politeness" rule)
05:31 ninereasons :)
05:37 autrijus hi Schwern.
05:37 autrijus S01: "Perl 5 code is not strict by default, while Perl 6 code is. But it should be easy to relax with -e or maybe even a bare version number:"
05:37 autrijus it is a pugs TODO to relax strictness when seeing a bare "v6".
05:37 autrijus but it's not a pugs bug to enforce strictness by default.
05:37 autrijus S01 wins over A01 :)
05:38 autrijus hth :)
05:38 Schwern How'd they justify the change?
05:38 Schwern Did all the sysadmins unsubscribe from p6l?
05:39 xern autrijus: working on examples/pleac seems fine with me now during my limited off-military hours
05:39 autrijus I guess sysadmins can live with #!perl -e.
05:39 autrijus xern: cool!
05:39 autrijus but, I don't know, I'm just this implementation monkey :D
05:39 autrijus if you want S01 changed, raise on p6l
05:39 Schwern Yeah
05:40 ninereasons <autrijus> it is a pugs TODO to relax strictness when seeing a bare "v6".
05:41 ninereasons do you mean, when "not seeing" ?
05:41 autrijus when seeing.
05:41 autrijus see S01
05:41 autrijus use v6; # strict
05:41 autrijus v6; # non
05:41 ninereasons ah...  that's what that meant.  I puzzled over the sentence and went on without digesting.
05:42 Schwern How weird
05:42 Schwern Why does the use or lack of "use" imply strict/non-strict?
05:43 Schwern Where's the bloody p6l channel?
05:43 autrijus it's here.
05:43 autrijus Schwern: see "Update:" in A01
05:43 autrijus "[Update: Nowadays the main program is also strict by default, as soon as we know it's Perl 6 and not Perl 5..."
05:44 ninereasons maybe I'm not reading it wrong after all, autrijus
05:44 ninereasons "ou specifically tell it you're running Perl 6 code in some other way, such as by:"
05:44 ninereasons #
05:44 ninereasons    #!/usr/bin/perl6
05:44 ninereasons    use v6.0;
05:44 ninereasons    v6;
05:44 Schwern autirjus:  That says what, it doesn't really say why.
05:45 ninereasons it looks like a list of synonyms
05:45 autrijus no.
05:45 autrijus ninereasons: please look at the bullet below.
05:45 autrijus starting with "Scaling"
05:45 Schwern Unless the implication is that "v6" is a "less formal form" of "use v6" thus implying less formality thus less strictness.  A bit of a stretch.
05:45 autrijus it is not a list of synonyms ;)
05:45 autrijus Schwern: that is the implication.
05:45 Schwern Ugg.
05:45 ninereasons I see; next bullet
05:45 ninereasons yes.
05:46 ninereasons confusing arrangement
05:47 gaal has left
05:47 ninereasons I really wonder if it's a typo (maybe I'm crazy)
05:47 ninereasons or stubborn of stupid.
05:47 * autrijus purrs.
05:48 ninereasons "maybe even a bare version number: "
05:48 ninereasons and then to illustrate that with v6; $x = 1;
05:48 ninereasons makes no sense.
05:48 autrijus why?
05:48 autrijus v6; # bare version number
05:48 ninereasons if what is meant is "I said v6 becaus I mean v5"
05:48 autrijus $x = 1; # now legal, stricture off
05:48 autrijus argh.
05:49 autrijus "use v6" # perl 6, strict
05:49 autrijus "v6" # perl 6, non-strict
05:49 ninereasons yeah yeah, I get that.  It's still confusing.
05:49 ingy hi Schwern
05:50 ingy autrijus: also I added S26, S28 and S29 to the bible
05:50 autrijus woot! woot!
05:51 autrijus clearly making them as drafts, I hope?
05:51 ingy yes, I will do that
05:51 autrijus ingy++
05:51 autrijus also "p6bible" cmdline itself should probably show all bibles
05:51 ingy p6bible -c
05:52 ingy p6bible --contents
05:52 autrijus add that to SYNOPSIS?
05:52 ingy ok
05:53 Schwern ingy:  Hey, Jenn is somewhere in your vacinity
05:53 ingy time to go dancing...
05:53 jabbot pugs - 1709 - Synopsis 26 - Perl Documentation
05:53 ingy Schwern: really?
05:53 ingy I thought she went backto Pr0tland
05:53 Schwern ingy:  Oh, then you know more than I do. :)
05:54 Schwern Last I heard she was looking for a place to crash and then planning on going over to the San Juan Islands.  That was a few days ago.
05:54 ingy &
05:54 Schwern She found you?
05:54 ingy no
05:54 ingy I was bedridden from jetlag
05:54 ingy ddddddddddd &
05:58 Odin-LAP has quit IRC (tolkien.freenode.net irc.freenode.net)
05:58 castaway_ has quit IRC (tolkien.freenode.net irc.freenode.net)
05:58 masak has quit IRC (tolkien.freenode.net irc.freenode.net)
05:58 autrijus has quit IRC (tolkien.freenode.net irc.freenode.net)
05:58 stevan has quit IRC (tolkien.freenode.net irc.freenode.net)
05:58 Maddingue_ has quit IRC (tolkien.freenode.net irc.freenode.net)
05:58 webmind has quit IRC (tolkien.freenode.net irc.freenode.net)
05:58 arcady has quit IRC (tolkien.freenode.net irc.freenode.net)
06:00 Odin-LAP has joined #perl6
06:00 castaway_ has joined #perl6
06:00 masak has joined #perl6
06:00 autrijus has joined #perl6
06:00 stevan has joined #perl6
06:00 Maddingue_ has joined #perl6
06:00 webmind has joined #perl6
06:00 arcady has joined #perl6
06:01 ninereasons alright.  clearly I need to get some sleep. reading it for the sixth time, it obviously says what you said it does.
06:02 dngor has joined #perl6
06:02 castaway has joined #perl6
06:03 webmind_ has joined #perl6
06:03 ninereasons but you knew that ;)
06:03 autrijus_ has joined #perl6
06:06 stevan_ has joined #perl6
06:08 Aankhen`` has joined #perl6
06:10 Corion has joined #perl6
06:10 Corion sleep++ # I found the (trivial) solution to my continuation problem
06:11 Corion ... now I Just have to implement it (in 8 hours, as I'll be afk today)
06:11 hawkaloogie has quit IRC (Read error: 54 (Connection reset by peer))
06:12 hawkaloogie has joined #perl6
06:14 arcady_ has joined #perl6
06:15 masak_ has joined #perl6
06:15 Odin_ has joined #perl6
06:15 Maddingue has joined #perl6
06:15 autrijus has quit IRC (Connection timed out)
06:18 webmind has quit IRC (Connection timed out)
06:18 arcady has quit IRC (Connection timed out)
06:19 stevan has quit IRC (Read error: 110 (Connection timed out))
06:19 Maddingue_ has quit IRC (Read error: 110 (Connection timed out))
06:19 bradb has joined #perl6
06:19 masak has quit IRC (Read error: 110 (Connection timed out))
06:19 Odin-LAP has quit IRC (Success)
06:20 autrijus_ hey bradb
06:20 bradb autrijus_: hi :)
06:20 autrijus_ is now known as autrijus
06:20 castaway_ has quit IRC (Connection timed out)
06:21 dynweb has joined #perl6
06:22 autrijus bradb: so, got some time for pleac work? :D
06:23 autrijus or anything else that strikes your fancy
06:26 bradb autrijus: for the moment, consider me an interested lurker. ;)
06:26 crysflame i am cheerleader
06:26 Khisanth converting p5 cookbook to p6?
06:26 autrijus Khisanth: yup
06:27 crysflame bradb: i'm coral, incidentally.
06:27 bradb ah
06:28 dynweb i'm dynweb, incidentally.
06:30 crysflame hello
06:30 * crysflame hands out pom poms
06:30 ninereasons night.
06:30 ninereasons has quit IRC ("Leaving")
06:48 xern pugs> %a{"k"}++;
06:48 xern *** Error: cannot modify constant item at undef
06:48 xern doesn't look like the same as that in perl5
06:48 xern how could i solve this ?
06:48 xern %a is now empty
06:48 Khisanth no autovivification yet?
06:49 autrijus i'm working on it
06:49 autrijus it should work real soon now :)
06:49 xern autrijus: i see :)
06:53 Corion autrijus: I put the tests that make baby Pugs segfault into t/pugsbugs/segfault_nan_calculation.t
06:53 autrijus danke
06:57 xern HERE doc is not supported yet?
06:58 autrijus Heredocs are no longer written with C<<< << >>>, but with an adverb on
06:58 autrijus any other quote construct:
06:58 autrijus    print qq:to/END/
06:58 autrijus        Give $amount to the man behind curtain number $curtain.
06:58 autrijus        END
06:58 autrijus S02
06:58 autrijus and no, that's not yet supported. feel free to add test
06:58 xern i see
06:58 autrijus it's trivial, just need to hack Parser.hs a bit
06:59 Schwern Good, looks like they went with the "use the indentation of the terminator to determine how much leading space to chop off" scheme.
07:02 crysflame nice
07:03 jabbot pugs - 1711 - Minor typo fix
07:03 jabbot pugs - 1710 - First pass at the introduction to the St
07:04 * Corion goes outside in the bright large grey room.
07:11 nothingmuch has joined #perl6
07:13 jabbot pugs - 1712 - A small bit to example/pleac
07:13 * xern is starting to commit via minor bits first.
07:14 autrijus xern++
07:14 rootmj has joined #perl6
07:17 * xern needs to borrow a paperback Haskell book.
07:17 nothingmuch autrijus: i'm catching up on the weekend:
07:17 nothingmuch http://www.nntp.perl.org/group/perl.perl6.compiler/521
07:17 nothingmuch the hash bit
07:17 nothingmuch it looks, err, sillyt
07:18 nothingmuch both haskell and perl6 have lazy lists
07:18 nothingmuch why should you have firstkey and nextkey?
07:18 nothingmuch this limits to one iteration at a time
07:18 nothingmuch introduces state not concerning the hash to it's external use scope
07:18 nothingmuch and generally keeps a useless limitation from p5
07:18 autrijus note "minimum"
07:18 nothingmuch see also ZeroOneInfinityRule on c2.com
07:19 autrijus if you can gen all keys, you can just define fetchKeys
07:19 nothingmuch isn't it simpler and more minimal to make a list, and then lazify it as required?
07:19 nothingmuch lets say i write a generator using firstkey and nextkey
07:19 nothingmuch how would i introduce state carrying?
07:19 autrijus by keeping the state in the object
07:20 autrijus clearly
07:20 nothingmuch (bad bad bad),
07:20 autrijus just as p5 does
07:20 nothingmuch or lugging it around
07:20 autrijus or that, yeah.
07:20 nothingmuch p5's statefulness vs. perl6 laziness - one must win
07:20 nothingmuch they just can't get along
07:20 nothingmuch if you iterate a hash in a gather/take construct
07:20 nothingmuch you are bound to castrate yourself later
07:20 nothingmuch unless:
07:21 nothingmuch variable states are stored in the lexical scope
07:21 nothingmuch thus we pretend the state is in the object
07:21 autrijus you know what? I agree.
07:21 nothingmuch but it's actually in the stack
07:21 * autrijus drops firstKey/nextKey
07:21 autrijus thanks :)
07:21 * nothingmuch keeps reading onwards
07:22 nothingmuch btw, fetch/store should take lists
07:22 nothingmuch either of pairs, or of keys
07:22 autrijus why?
07:23 nothingmuch doorway to optimizations later
07:24 nothingmuch they should be at least variadic
07:24 nothingmuch that is, there is a store that takes a Pair
07:24 nothingmuch and a store that takes an List of Pair
07:24 nothingmuch s/an/a/
07:24 nothingmuch in theory
07:24 nothingmuch sometimes the bulk concept is easier to do, too
07:24 autrijus premature optimization etc.
07:24 autrijus when we need it we can add it back to Types/Hash.hs
07:25 nothingmuch nono, that's not it
07:25 nothingmuch what I really want it for
07:25 nothingmuch :
07:25 autrijus note that %*ENV needs to support all of them
07:25 nothingmuch all the times I've tied something in p5 it's underlying structure was just a plain old hash anyway
07:25 nothingmuch why?
07:25 autrijus because %*ENV is Hash
07:26 autrijus it needs to support Hash IType.
07:26 nothingmuch Hash.hs should use singular if aggregate is not available
07:26 nothingmuch this is like OO, no?
07:26 autrijus well then!
07:26 nothingmuch we have a superclass for a hash
07:26 * autrijus reiterates: "minimal implementation"
07:26 nothingmuch with the derivables redone
07:26 nothingmuch wait wait wait
07:26 nothingmuch my point is:
07:26 nothingmuch most of the time I would have liked to have the notion of an assignment as a whole
07:26 nothingmuch (think of CVS and it's lack of changesets)
07:26 autrijus %h = 1..10;
07:26 nothingmuch exactly
07:27 autrijus you don't want it to be made into
07:27 autrijus five STORE calls
07:27 autrijus that's the gist of it?
07:27 nothingmuch i'd like to have that in one call
07:27 nothingmuch and several times i've resorted to evil hackery
07:27 nothingmuch not only that
07:27 nothingmuch it's also easier to sometimes just assign @_, conceptually
07:27 nothingmuch when reading
07:27 autrijus ok, your wish granted :)
07:28 nothingmuch woot
07:28 autrijus so the deal is
07:28 nothingmuch btw, job is interested in testgraph.pl
07:29 nothingmuch so i will work on it a bit, and make a better impression ;-)
07:29 nothingmuch finally some pugs work
07:29 saorge has joined #perl6
07:30 Corion has quit IRC (Read error: 110 (Connection timed out))
07:32 autrijus we have a "reference val type" for each IType
07:32 autrijus IScalar would be Val
07:32 autrijus IArray would be [Val]
07:32 autrijus IHash would be [(VStr,Val)]
07:32 nothingmuch ah
07:33 nothingmuch so basically you can coerce each primitive, bidi, into a sort of simplification
07:33 autrijus and the aggrecate "IVar" data type has
07:33 nothingmuch in terms of other structures?
07:33 autrijus data IVar v where
07:33 autrijus    IScalar :: ScalarClass a => a -> IVar IScalar
07:33 autrijus which means that it holds anything that "does" Scalar
07:33 nothingmuch ook, my smoke loop died
07:33 autrijus and can, at any time, read a simple Val form it
07:33 autrijus from it
07:34 autrijus as well as writing a simple Val to it
07:34 nothingmuch goody
07:34 autrijus same applies to IHash
07:34 autrijus nothingmuch++ # good idea
07:34 nothingmuch that seems to make sense
07:34 nothingmuch but i think i'm interpreting the way i want to
07:34 nothingmuch ;-)
07:34 autrijus GADTs++ # good technique
07:34 autrijus I think your interpretation is right :)
07:35 nothingmuch they seem to be stuff i've dreamed of a lot
07:35 nothingmuch i want Inline::GHC for p5
07:35 nothingmuch i want to use the haskell i think know
07:35 nothingmuch but not lose all the stuff i know how to use and where to find in p5
07:35 nothingmuch CPAN is just too valuable
07:36 autrijus Inline::GHC is actually not _that_ hard to write :)
07:36 autrijus have you worked with Inline::* before?
07:36 autrijus look at Inline::CPP
07:37 autrijus basically just use GHC as your C compiler
07:37 autrijus and instruct it to emit "foreign export"
07:37 autrijus that's all
07:37 nothingmuch what about type conversion?
07:37 nothingmuch anywho, i'm not up to it
07:38 nothingmuch if i had free time it would go into pugs
07:38 nothingmuch Devel::Cover is so reusable
07:40 autrijus :D
07:42 Schwern has quit IRC ("My work here is done.  If you need me again admit that you're screwed and die.")
07:45 Aankhen`` has quit IRC (Read error: 104 (Connection reset by peer))
07:50 Aankhen`` has joined #perl6
07:53 autrijus hm, larry seems to want conflicting things.
07:53 autrijus or I'm confused.
07:53 autrijus my @a = (1..Inf);
07:54 autrijus say @a[3];
07:54 autrijus # this should work, right?
07:54 Khisanth I would hope so
07:54 Khisanth otherwise what would be the point of my @a = (1..Inf);?
07:55 autrijus ok, then I can see shift and unshift working.
07:55 autrijus but how does pop and push work at all?
07:55 Khisanth throw exception?
07:56 autrijus my @a = (1..Inf); pop @a;
07:56 * autrijus frowns
07:56 Khisanth actually ... is (-Inf..Inf) legal? :)
07:56 nothingmuch i would like it to be
07:56 autrijus well, not sure how you count -Inf + 1
07:56 Khisanth how would you use it though?
07:56 autrijus so I imagine it to be not legal
07:56 autrijus since it'll just be
07:56 autrijus -Inf, -Inf, -Inf ...
07:57 autrijus it's already implemented like that in pugs
07:57 autrijus also, parrot array pmc is strict
07:59 autrijus oh well. I'll deal
07:59 * nothingmuch thinks perl6 should also design itself to an update-by-append data access model
07:59 nothingmuch and that it should have unzip
08:00 nothingmuch to allow pipelines
08:00 nothingmuch update-by-append:
08:00 Khisanth unzip @a, 3 -> $x, $y, $z ?
08:01 nothingmuch think about tying in the sense that $x = 5 really makes $x record a change
08:01 nothingmuch that is part of a timeline
08:01 nothingmuch either $x is an accumilator
08:01 nothingmuch or is really a stack in disguise, or something like that
08:01 nothingmuch my (@even, @odd) = unzip (0 .. 10);
08:01 nothingmuch context sensitive, ofcourse
08:01 nothingmuch and for the 50th time i want taint generalization
08:02 Khisanth ok we mean the samething then :)
08:02 Khisanth I was thinking for unzip ...
08:03 autrijus you will have taint generalisation, young nothingmuch
08:03 autrijus it's called value traits
08:03 autrijus and is propagated with value.
08:03 autrijus see A12
08:03 nothingmuch will they be contageous?
08:03 nothingmuch i.e.
08:03 nothingmuch $x = $b ?? $a :: $b;
08:03 nothingmuch sorry, a b, c
08:03 nothingmuch beh, i'm typing like a drunk today
08:03 nothingmuch i'd like to be able to infect $x with some traits from $b
08:04 nothingmuch if those traits want to do that
08:04 autrijus sure, that "=" does that.
08:04 nothingmuch and i also want to control the infection policy
08:04 nothingmuch perhaps i meant $x = ($a ?? $b :: $c);
08:04 nothingmuch i'd like to have a taint model where $x is tained by $a, and another where it isn't
08:04 nothingmuch and i'd like to implement that taint trait in a way that is controllable
08:05 nothingmuch and i'd like to be able to do certain things when traits are infecting
08:05 autrijus I think that could work.
08:05 nothingmuch basically, i'd like callback hooks for every op
08:05 nothingmuch like the mmd interact, being called per statement
08:05 nothingmuch on $x, $a, $b, $c, in this caser
08:05 Khisanth my @a = (1..Inf); push @a, 3; say pop @a; say pop @a# 3\nInf? would this be very confusing?
08:05 nothingmuch for levels of indirection
08:06 nothingmuch and touch($x, $b) if $a is true
08:06 autrijus Khisanth: it's very confusing.
08:06 nothingmuch Khisanth: what about the next pop?
08:06 autrijus my @a = (1..Inf); @a[-2];
08:06 nothingmuch is it inf too?
08:06 autrijus jinx
08:07 nothingmuch is @a before the pop longer than @a after the pop, if both are Inf?
08:07 Khisanth heh
08:07 nothingmuch what's the length after the push?
08:07 nothingmuch personally i think it makes some sense:
08:07 Khisanth I was thinking the length of an array containing an infinite list should always be infinite
08:07 nothingmuch @a = (Inf .. 0); pop @a == 0; pop @a == 1;
08:07 autrijus problem being we don't always know if it's an infinite list.
08:08 nothingmuch Khisanth: but infinite comes in many sizes
08:08 nothingmuch between 0 and 1 there are Inf numbers
08:08 Khisanth then how do you avoid going into an infinite loop with "for @a {}"?
08:09 nothingmuch which is clearly less than the Inf numbers between 0 and Inf
08:09 nothingmuch Khisanth: you don't
08:09 nothingmuch you break the loop some how
08:09 nothingmuch and if there will be a warning saying "possible inadvertant traversal of infinite list" i will shoot larry wall
08:09 nothingmuch this is something i want
08:10 Khisanth something seems missing from that argument
08:17 autrijus gah. @a[0] is TiedScalar but @a[1] is Scalar
08:17 autrijus that is legal, right?
08:17 nothingmuch how are we going to localize and tempize encapsulated data, especially inside an opaque?
08:17 autrijus very carefully, I think
08:18 autrijus (i.e. I don't know)
08:18 nothingmuch i'd like to raise this on p6l
08:19 nothingmuch i'll draft a more accurate spec of how debugging/taint generalization should be done, IMHO
08:19 nothingmuch and how taint generalization on containers should be used to optimize itself
08:19 nothingmuch and raise some issues
08:19 * nothingmuch makes note
08:20 rootmj has quit IRC ("Miranda IM! Smaller, Faster, Easier. http://miranda-im.org")
08:20 nothingmuch btw, how are containers going to look inside perl?
08:20 nothingmuch i hope they are useful objects/values in their own right
08:21 nothingmuch lots of utility/Devel:: could use passing them around
08:22 nothingmuch also, are statements objects too? or just blocks?
08:29 autrijus statements are AST objects.
08:29 autrijus you can do things to them during the so-called "compilation" pharse
08:29 autrijus phase
08:34 nothingmuch what about runtime?
08:34 nothingmuch can you fudge them
08:34 nothingmuch and make the compilation sort of invalidate
08:34 nothingmuch like a cache?
08:35 nothingmuch i.e., it's better if you don't play with it
08:35 nothingmuch but if you do it's transparently recompiled?
08:35 nothingmuch (in theory
08:35 nothingmuch not in pugs_
08:35 autrijus code, not word, please
08:35 nothingmuch i'm asking, not telling =)
08:36 autrijus yeah, but I have no idea what you're talking about :)
08:36 nothingmuch how would you play with the AST in BEGIN {} etc?
08:36 nothingmuch do you have an object model you can get from some global
08:36 nothingmuch and then you just walk it?
08:39 autrijus yes.
08:39 autrijus that is the idea.
08:39 autrijus you can declare things as "macro ..."
08:39 autrijus which will receive Exp instead of Val as arguments
08:39 autrijus and you can dictate how it receive Exp with the "is parsed" trait
08:39 autrijus when you have Exp objects, you can munge them
08:39 autrijus then return it
08:40 autrijus which is injected back into the AST
08:40 autrijus or you can return a string and trigger reparse.
08:41 nothingmuch can you inject stuff into the AST after BEGIN {}?
08:41 * autrijus hands nothingmuch the handy "eval" thing
08:41 nothingmuch eval is for strings
08:41 nothingmuch i'd like to change, not necessarily add
08:42 nothingmuch i'd like to say (eval "foo").ast
08:42 nothingmuch and $&SUB.ast
08:42 nothingmuch which will be sane trees
08:42 nothingmuch that i can modify
08:42 autrijus not sure if it makes sense to modify them really.
08:42 autrijus by runtime they are assembly
08:44 nothingmuch why??
08:44 theorbtwo has joined #perl6
08:44 nothingmuch s/\?$//;
08:44 nothingmuch (i wasn't shouting)
08:44 nothingmuch lets say we know the AST for that assembly
08:44 nothingmuch it's assembly
08:44 nothingmuch because it's fast
08:44 nothingmuch and standardized
08:44 nothingmuch and stable, etc etc
08:44 nothingmuch but if i change the AST
08:44 nothingmuch the assembly should just be invalidated, and regenerated
08:45 nothingmuch for that branch of the AST
08:45 nothingmuch like a cache violation
08:45 nothingmuch i don't grok conts yet
08:45 nothingmuch but:
08:46 nothingmuch do they make sense for callbacks?
08:46 autrijus sure.
08:46 nothingmuch callbacks have a weird problem
08:46 nothingmuch how does the callback change behavior?
08:46 nothingmuch what order?
08:46 nothingmuch how do you resolve conflicts, that is, two callbacks wanting to do things
08:46 nothingmuch that require, say, changing the order things are executed
08:46 autrijus usually by registration order.
08:46 nothingmuch right
08:46 autrijus with maybe some api for "priority".
08:46 nothingmuch but if a callback wants to change that
08:46 nothingmuch phooey that
08:46 autrijus like the "is tighter" trait.
08:47 autrijus well, I think it makes sense
08:47 autrijus how else would you want to do that?
08:47 autrijus it's essentially a set of dependencies
08:47 nothingmuch if a callback gets called, with a cont for the dispatcher
08:47 nothingmuch and when it continues over to that, dispatch resumes
08:47 nothingmuch you could do much funnier stuff, right?
08:47 nothingmuch or maybe i don't know conts at all?
08:47 nothingmuch Class::Publisher, Class::Trigger <-- get along very well without deps
08:47 autrijus I find english hard to understand. :)
08:47 nothingmuch why add them?
08:48 nothingmuch by using conts a callback can decide more flexibily wether to break dispatch or not
08:48 nothingmuch and when
08:48 nothingmuch ... to continue
08:48 nothingmuch and from where, too
08:48 nothingmuch right?
08:48 autrijus uh because Class::Trigger does not allow for multiple callbacks under same name.
08:48 autrijus if you add that restriction, of course ordering does not matter
08:49 nothingmuch right
08:49 nothingmuch strip that down
08:49 nothingmuch callbacks have no name
08:49 nothingmuch hold on, i'll type some pseudo code, and it's trace
08:50 nothingmuch and maybe i can explain where i'm digging
09:00 nothingmuch perlbot nopaste
09:00 perlbot Paste your code here and #<channel> will be able to view it: http://sial.org/pbot/<channel>
09:00 pasteling "nothingmuch" at 212.143.92.226 pasted "perl 6 debugging hooks?" (60 lines, 2K) at http://sial.org/pbot/9170
09:01 nothingmuch this assumes that with fore-knowlege MMD can be predispatched
09:01 nothingmuch and entirely thrown away when whiteholed
09:02 autrijus yeah.
09:02 autrijus it assume a lot of preknowledge from compiler side.
09:02 nothingmuch i assume this is true because MMD on a loop like 'loop (my $i = 0; $i <= 1000; $i = $i+1) {}' will make perl 6 a very slow and useless language
09:02 nothingmuch now, what i meant about conts:
09:03 nothingmuch debugging hooks should be able to do funny things
09:03 nothingmuch like delay execution
09:03 nothingmuch force it to return a certain value
09:03 nothingmuch and so on
09:03 metaperl has joined #perl6
09:04 nothingmuch does that snippet make any sense?
09:04 autrijus sure, it does.
09:04 autrijus from the pugs side it's trivial
09:04 autrijus I don't quite know how to do that in the parrot side.
09:04 nothingmuch how do we make Xe, Xs, etc into p6 objects?
09:04 nothingmuch is that for the design team to decide?
09:04 nothingmuch i'd like to be able to introspect Xe
09:05 nothingmuch and i'd like to be able to tempize things in Xe
09:05 autrijus that is the missing "Macro" spec.
09:05 nothingmuch ok
09:05 nothingmuch so they'
09:05 nothingmuch ll take care of that, appearantly
09:05 nothingmuch and no one will know about it till it's too late
09:05 * nothingmuch has lots of criticism for the closedness of p6l workings
09:05 nothingmuch stuff should be jotted down openly, at least
09:06 ingy nothingmuch++
09:06 nothingmuch they don't have to explain it in detail till it's "official"
09:06 nothingmuch but i'd like to know the ramblings
09:06 nothingmuch and i'd like to see what nifty tricks larry pulled of with his p5 based converter
09:06 nothingmuch and i'd like to know what the next synopses are
09:06 nothingmuch and what exactly do the precentages in the grant application really mean
09:06 ingy nothingmuch: write them yourself :P
09:06 nothingmuch and i'd like to be able to help
09:06 nothingmuch not that I would, but others will
09:06 nothingmuch ingy: many people already have
09:07 autrijus if you have time, I encourage you to write the Macro synopsis :)
09:07 ingy aye, I just finished one ;_
09:07 castaway except jotted such things down inevitably invites comment, which then requires people to join in discussions about what they jotted, or other people will get even more frustrated.. (maybe)
09:07 masak_ has left "Lämnar"
09:07 castaway s/jotted/jotting/
09:07 nothingmuch so they say: that stuff will not be clarified
09:07 ingy autrijus: did you read S26?
09:07 nothingmuch due to time constraints we will only discuss what is official
09:08 nothingmuch but i would like to have some ideas from their ramblings
09:08 nothingmuch so that my thought process is refined by the time they officialize
09:08 nothingmuch lots of p6 was QA'd to hell by pugs
09:08 nothingmuch proven utterly wrong, and in need of redesign
09:09 nothingmuch like the lazy vs. side effect issue
09:09 autrijus ingy: yes. I think it is good enough to raise on p6l for a stub listing in svn.perl.org
09:09 nothingmuch in a language that is not facist like haskell
09:09 nothingmuch our mad golfer has found many of these
09:09 ingy autrijus: ok cool
09:10 autrijus nothingmuch: yup. so, politically, what I'm trying to do is to get more people writing draft synopses :)
09:10 nothingmuch and with things becoming more open, we can help make this process have lower latency
09:10 ingy anyone know what S27 would be called?
09:10 nothingmuch again, i have no time
09:10 autrijus as well as examples like pleac
09:10 nothingmuch i have it in 10 minute chunks
09:10 autrijus nod. in that case, find someone else :)
09:10 castaway yeah, well I agree that nailing things down before actually trying them out is asking for trouble
09:10 ingy mugwump left out S27 in the bible...
09:10 autrijus ingy: http://svn.perl.org/perl6/doc/trunk/plans/design_docs.pod
09:11 autrijus =item 27. Perl Culture
09:11 Khisanth ingy: grab a copy of the camel and flip through the TOC?
09:11 autrijus (licensing, etc.)
09:11 ingy Khisanth: I have no copy to grab :(
09:11 ingy that's why I asked
09:12 autrijus ingy: see the link above and http://www.oreilly.com/catalog/pperl3/toc.html
09:12 ingy thx
09:14 autrijus np
09:16 ingy I should write S30
09:16 ingy THERE IS NO STANDARD PERL LIBRARY
09:16 autrijus ooh go ahea
09:16 autrijus yup
09:16 autrijus ... but there needs to be more than that.
09:16 ingy actually there is plenty to write about on that
09:17 nothingmuch autrijus: so where would that debugging hooks thing go?
09:17 autrijus nothingmuch: S20
09:17 nothingmuch ah, i see
09:17 nothingmuch where do i check that in?
09:18 autrijus pugs/docs/S20draft.pod
09:18 nothingmuch aye
09:18 nothingmuch i'll make it into an apocalypse
09:18 nothingmuch because i do'
09:18 nothingmuch n't know how it's structured
09:18 autrijus eh. ;)
09:18 autrijus that means you get to review all the relevant RFCs.
09:18 autrijus fun!
09:19 nothingmuch that much i don't minsd
09:19 nothingmuch reading is less work than writing
09:20 autrijus cool
09:20 nothingmuch (in english anyway)
09:24 nothingmuch btw, are IRC logs summarized for p6l?
09:26 autrijus not generally
09:27 castaway volunteering, nm?
09:27 nothingmuch no chance
09:27 nothingmuch i meant p6 summary
09:27 castaway :)
09:28 * nothingmuch is very accusative todayy
09:28 nothingmuch bad mood
09:28 nothingmuch dermatitis is making my eyes and inherently my head hurt
09:28 * castaway hugs nothingmuch
09:28 castaway ouch
09:28 nothingmuch thanks, castaway
09:28 * nothingmuch hugs back
09:28 * ingy pugs nothingmuch
09:29 * nothingmuch bugs autrijus
09:29 * Khisanth arrest ingy for using an attack dog
09:30 ingy IT WAS A PUG!
09:30 ingy god
09:30 dvergin has joined #perl6
09:30 dvergin NickServe IDENTIFY LangByBay
09:30 Khisanth ahem
09:30 ingy howdy to you to dvergin
09:30 dvergin oops!
09:30 * castaway hands the hobbit a /msg
09:31 theorbtwo Anybody have rights to delete that from the log?
09:31 dvergin greets, all
09:31 Khisanth best to change the password :)
09:31 dvergin <grin>
09:31 * castaway deletes it from memory
09:32 dvergin castaway: thanks
09:32 autrijus hi dvergin
09:32 castaway problem is its still on the scren ,)
09:32 castaway screen
09:33 autrijus just change the password :)
09:33 dvergin and in the archive -- I just checked. Drat!
09:34 autrijus is Pair a IType? can I say
09:34 autrijus my $foo is Pair; ?
09:34 autrijus does a scalar contain a Pair, or a reference to a Pair?
09:34 autrijus in other words, does it make sense to change only the key part or the value part of the pair?
09:35 theorbtwo Yeah, I think it does -- that's what %foo<bar>='baz'; does, after all.
09:35 autrijus it is?
09:35 autrijus that's new to me
09:35 theorbtwo Mm, perhaps not so much.
09:36 theorbtwo On a conceptual level, perhaps.
09:36 autrijus perhaps not.
09:36 autrijus %foo<bar>.key = "bleh";
09:36 autrijus # makes ~ no sense
09:36 theorbtwo Yeah, it doesn't.
09:36 theorbtwo But changing the value for a given key does.
09:36 autrijus but that's fine
09:36 autrijus so a pair is merely a tagged val
09:36 theorbtwo My first instinct would certianly be to not call it an IType; I expect itypes to have sigils.
09:36 autrijus it's still a single val
09:37 autrijus that can be stored in an scalar.
09:37 * castaway gets confused as to whether this is haskell or p6 thats being discussed ,)
09:37 autrijus castaway: p6
09:37 autrijus theorbtwo: IO however is an IType
09:37 autrijus that has no sigils :-/
09:37 castaway and those < > are for what?
09:37 theorbtwo Point.
09:37 autrijus castaway: hash deref
09:37 autrijus %hash<key>
09:37 theorbtwo It's a combination of qw<> and hash deref.
09:38 theorbtwo %hash<key> is the same as %hash{'key'}.
09:38 castaway oh
09:38 autrijus %hash<key val> is same as %hash{'key','val'}
09:38 autrijus s/val/key2/
09:39 castaway ah, its a slice
09:39 autrijus theorbtwo: alright, I'll keep pair unITyped then
09:40 autrijus theorbtwo: I'm also surprised to descover there is no such thing as a "array value"
09:40 autrijus in p5, that is
09:40 autrijus it's always a list value, or an ITyped array.
09:40 autrijus i.e.
09:40 autrijus ++([1..10]->[3])
09:40 autrijus always works
09:41 autrijus I'm having this sinking feeling that I was writing perl with a mental model that doesn't quite fit with the implementation ;)
09:43 theorbtwo s/implementation/specification/?
09:43 theorbtwo I'm getting that recently too, with this shuffling of references under the carpet.
09:44 theorbtwo Perhaps at the hackathon Larry will convince me he's not lost it, or I'll convince him that he has.
09:44 theorbtwo (Somehow, the earlier seems more likely.)
09:49 * castaway passes around the lemon cake
09:49 nothingmuch A20.pod, r1713... the bottom has a very good example (IMHO) of how taint mode generalization is useful,
09:50 nothingmuch based on discussions with theorbtwo
09:51 nothingmuch basically it's like database constraints on drugs
09:51 nothingmuch and they have saved me many times from making stupid stupid bugs
09:51 nothingmuch especially UNIQUE
09:51 theorbtwo .oO(I'm useful?)
09:51 nothingmuch multicolumn unique
09:51 nothingmuch theorbtwo++; # very useful
09:52 autrijus yay pugs finally compiles!
09:52 castaway of course you are love
09:52 autrijus ship it!
09:52 nothingmuch btw, isn't GATD's usefulness to pugs the same thing?
09:52 autrijus 6 hours of type system debugging ;)
09:52 nothingmuch only easier, since this is haskell?
09:52 nothingmuch oh my
09:53 nothingmuch ITypes in?
09:53 autrijus soon soon
09:53 jabbot pugs - 1713 - debugging hooks pseudopcalypse
09:53 autrijus I'll commit it when it's not breaking 100% of tests.
09:53 autrijus like, 90% is fine
09:53 nothingmuch =)
09:53 nothingmuch tests are a good measure of a project's encapsulation?
09:54 theorbtwo nm, under THE TAINTED TRAIT, some haskell syntax snuck in to your p6.
09:54 dvergin Is there any hope for qx() or backticks - it's been a while since either has been mentioned
09:54 castaway psuedopalypse++
09:54 autrijus I renamed A20.pod to A20draft.pod.
09:55 nothingmuch goody
09:55 nothingmuch theorbtwo: yeah, i know
09:55 nothingmuch i like that syntax
09:56 theorbtwo Ah.  OK.
09:56 nothingmuch =)
09:56 co3 has joined #perl6
09:57 autrijus actually that syntax doesn't conflict with perl6's param parsing.
09:57 autrijus anyone want to propose that? ;)
09:57 autrijus multi sub (_, _, $z) { $z + 3 }
09:57 autrijus multi sub foo (_, _, $z) { $z + 3 }
09:57 * nothingmuch thinks it might be bad design in a non functional language
09:57 autrijus where "_" means "I don't care"
09:58 theorbtwo I'm not sure we actually want to encourage people to ignore parameters.
09:58 nothingmuch but since p6 is /also/ functional
09:58 autrijus yet we allow
09:58 nothingmuch it might be a good thing
09:58 autrijus multi sub foo (0, 0, $z) { $z + 3 }
09:58 nothingmuch recommend strictness
09:58 nothingmuch allow laxness
09:58 autrijus which is ignoring parameters in a way.
09:58 nothingmuch plus, theorbtwo: you can't make up for other's bad design easily
09:58 nothingmuch especially with more encapsulation in p6 by default
09:58 autrijus I guess you can write "Any".
09:58 nothingmuch you need ways to cleanly work around
09:58 autrijus multi sub foo (Any, Any, $z) { $z + 3 }
09:59 nothingmuch so, is any one not convinced by L<DATA SEGREGATION> that this is useful?
10:00 autrijus I think it's useful.
10:00 autrijus I also think it belongs to a module
10:01 autrijus and p6 needs to make writing such modules possible.
10:01 nothingmuch exactly
10:01 metaperl tof, where is the link to DATA SEGREGATION?
10:01 metaperl nothingmuch, where is the link to DATA SEGREGATION?
10:01 cognominal has quit IRC (Read error: 60 (Operation timed out))
10:01 nothingmuch metaperl: http://svn.openfoundry.org/pugs/doc/A20draft.pod
10:01 nothingmuch autrijus: precisely
10:02 nothingmuch debugger is a module (or script, but please let it be a script based on a module)
10:02 nothingmuch autrijus: furthermore, taint mode is a module
10:02 nothingmuch metaperl: correction: http://svn.openfoundry.org/pugs/docs/A20draft.pod
10:02 theorbtwo Also, full watchymacalliting.
10:03 nothingmuch another useful side effect:
10:03 nothingmuch you could have tainting expressions:
10:03 jabbot pugs - 1714 - * A20draft.pod, not A20.pod
10:03 theorbtwo Um, that thing whereby you can see what bits your test suite is executing.
10:03 metaperl quick flood:
10:03 metaperl A  ext/LWP-Simple/lib/LWP
10:03 metaperl A  ext/LWP-Simple/lib/LWP/Simple.pm
10:03 metaperl A  ext/LWP-Simple/Makefile.PL
10:03 metaperl svn: Failed to add directory 'ext/FileSpec': object of the same name already ex\
10:03 metaperl ists
10:03 metaperl terry@Abulafia:~/haskell/pugs/pugs$  
10:03 nothingmuch trap_eval(Xe is tainting, *@prms){ $_ does tainted for *@prms }
10:03 larsen has joined #perl6
10:03 autrijus metaperl: just rmrf that
10:04 autrijus and svn up again
10:04 nothingmuch abulafia is a nice bakery in jaffe
10:04 nothingmuch theorbtwo: yep... it's good for code coverage too
10:04 nothingmuch perhaps not for profiling
10:04 theorbtwo Coverage!  Thank you!
10:04 * nothingmuch notes that
10:04 metaperl ok it worked
10:04 theorbtwo No, probably not good for profiling, too much overhead.
10:04 nothingmuch maybe purified profiling
10:04 nothingmuch in which case the callbacks deduct themselves
10:07 gaal has joined #perl6
10:07 gaal nothingmuch: ping
10:07 nothingmuch pong
10:07 theorbtwo Mornin, gaal.
10:08 gaal hey, i noticed the report at http://nothingmuch.woobling.org/pugs_test_status/ is broken at places
10:08 gaal hey, theorbtwo.
10:08 nothingmuch yes it is
10:08 nothingmuch the loop is also dead
10:08 gaal wondered if it's a bug in the tools ot just a flaky run.
10:08 gaal "the loop"?
10:08 nothingmuch shell script to regenerate it
10:08 ingy theorbtwo: are you going to yell at me at the hackathon?
10:08 nothingmuch i've seen it for a long while
10:08 nothingmuch thanks for reminding me
10:08 castaway do you need yelling at?
10:08 * nothingmuch wants hackathon
10:08 nothingmuch no $$$ though
10:09 * castaway might ;)
10:09 * castaway comforts nothingmuch
10:09 theorbtwo Only if you need to be yelled at, ingy.
10:09 * castaway has yet to define how we're getting there ;)
10:09 gaal nothingmuch: we have 4(?) folks here, maybe we can arrange a minihackathon of our own?
10:09 nothingmuch gaal: good idea,
10:10 nothingmuch over passover, perhaps?
10:10 autrijus dons++ # helping us getting inline haskell working
10:10 autrijus theorbtwo++ # working with dons
10:10 * autrijus goes back to the IHashEnv class
10:10 gaal actually, i will probably have serious availability soon
10:10 castaway ooch
10:10 gaal availability problems
10:10 ingy theorbtwo: did you get it all to work?
10:10 theorbtwo Not yet.
10:10 gaal this is a good place to ask, i suppose:
10:10 theorbtwo But at least I have some clue as to what I'm doing.
10:11 gaal i need games you can play by yourself with pencil and paper
10:11 castaway games? code ,)
10:11 gaal no computer
10:11 castaway on paper
10:11 shapr I know a few.
10:11 * castaway ruffles shapr
10:11 shapr Nothing very exciting though.
10:12 * shapr is ruffled
10:12 * gaal may be spending some time in jail soon
10:12 castaway (damn, someone apply normalize to our music collection)
10:12 castaway whyso?
10:12 theorbtwo Doing the concencious objector thing?
10:12 nothingmuch gaal: jail?
10:12 nothingmuch military or civilian?
10:12 gaal i have reserve duty coming up, in the occupied territories, and i don't intend to comply.
10:12 nothingmuch castaway: musicbrainz should in theory be useful
10:13 nothingmuch it has a new client called picard
10:13 nothingmuch which should help you do that
10:13 gaal i wish i had a copy of HOP to take with me
10:13 nothingmuch i've been meaning to try it
10:13 ingy gaal: .il ?
10:13 castaway I could just apply normalize, just havent gotten around to it
10:13 jabbot pugs - 1717 - adjusted for strictness
10:13 jabbot pugs - 1716 - S26 editing...
10:13 jabbot pugs - 1715 - Okay, some big assumptions and known iss
10:13 gaal ingy, yes.
10:13 nothingmuch but wxGTK and wxpython 2.5 are not easy to get on gentoo
10:13 nothingmuch ingy: see also lightstep, myself.... ?
10:13 castaway they're not? I have them
10:13 nothingmuch oh, and lumi
10:13 nothingmuch but he hasn't been around in a while
10:14 ingy the main YAML guy is from .il
10:14 gaal i'm not dead set to go to jail, so if something else works out (eg if they offer me a task i agree to do), i'll be gone just a few weeks
10:14 ingy his reserve duty is all behind computers
10:14 castaway lucky
10:14 * gaal met him once briefly
10:15 ingy Oren?
10:15 gaal didn't know he was into that at the time. it was long ago
10:15 theorbtwo gaal, if you do go to jail, how long will you be in for?
10:15 * nothingmuch is freeeeeeee.... aaaah
10:15 nothingmuch theorbtwo: standard is 28 days
10:15 gaal no telling.. but i guess a month
10:15 gaal yeah
10:15 nothingmuch that's the maximum they're allowed to detain without trial
10:15 gaal so, people: please send me game suggestions :)
10:15 nothingmuch though they can release you and immediately arrest you again
10:15 gaal huh? there most certainly will be a trial
10:15 nothingmuch what they usually do to people who don't change their mind
10:16 metaperl has quit IRC (" HydraIRC -> http://www.hydrairc.com <- Chicks dig it")
10:16 nothingmuch gaal: it took my aunt's husband about 2-3 months, a month of which he was jailed
10:16 gaal no, nm, you're thinking standard draft, not reserve duty
10:16 nothingmuch or two weeks, maybe
10:16 nothingmuch as for re-arrests: yes, i have heard that about draftees
10:17 gaal anyway: games :)
10:17 gaal also lets fix the smokers
10:17 nothingmuch gaal: aren't you allowed to take books in?
10:17 gaal am, am
10:17 gaal but i doubt i'll be able to concentrate much
10:17 shapr When completely without input, I tend to explore math or programming patterns in my head.
10:18 nothingmuch gaal: you can draft design specs ;-)
10:18 gaal :)
10:18 ingy on your jail laptop
10:18 gaal work though Haskell in 12 lessons
10:18 gaal I'm printing and binding that
10:19 gaal too bad HOP isn't online yet
10:22 nothingmuch smoke loop restarted, nearing end of compilation now
10:23 gaal anyway -- i have to go now -- bbl
10:23 nothingmuch ciao gaal
10:23 nothingmuch good luck
10:23 jabbot pugs - 1718 - Note profiling + coverage
10:23 gaal thanks - i still have a week of freedom :)
10:24 * castaway attempts to crash nms SEE
10:25 castaway oh, not running?
10:25 autrijus argh. if @a[0] is tied, assigning to @a does not trigger STORE magic
10:25 autrijus but evaluating @a does trigger FETCH
10:26 autrijus I got it wrong again.
10:26 * autrijus curses some more and goes back fixing the model
10:26 castaway nothingmuch ?
10:27 castaway t/magicals/pid..............................ok
10:27 castaway        1/1 unexpectedly succeeded
10:27 nothingmuch si?
10:27 nothingmuch ook
10:28 castaway can you kickstart the SEE on 6944 pls?
10:28 nothingmuch i think someone rebooted eris
10:28 nothingmuch one sec
10:28 castaway eris? I thought it was pasta..
10:28 nothingmuch yup: Window Server communications from outside of session allowed for root and console user only
10:28 nothingmuch pasta is the gentoo box
10:28 nothingmuch ah, dad is logged in
10:29 nothingmuch ok, openened that
10:29 nothingmuch i'll try to share
10:29 * castaway wonders which is the mac
10:29 nothingmuch eris is the mac
10:29 castaway I'm still getting connection refused
10:29 castaway ah
10:29 nothingmuch syeeda is also a mac, as is aku
10:30 nothingmuch princess & chef used to be macs, but they're R.I.P
10:30 nothingmuch divine is a mac running ydl
10:30 castaway aww :)
10:30 theorbtwo So confusing!
10:30 nothingmuch buttle is mom's junk PC
10:30 castaway (how many boxes?)
10:30 nothingmuch that's it
10:30 * theorbtwo sighs, wonders when his Mac mobo is going to arrive.
10:30 nothingmuch i keep the machines around because i like the names ;-)
10:30 castaway anyway..
10:31 nothingmuch can you connect now?
10:32 castaway nope
10:32 castaway just trying telnet.. 6944 refuses right away, 6942 waits around a while but doesnt connect
10:33 nothingmuch darn, it's not working
10:33 nothingmuch 6942 is forwarded to syeeda, which is not at home
10:33 nothingmuch 6944 is forwarded to eris
10:33 castaway :(
10:34 nothingmuch which for subetha is open
10:34 nothingmuch but it's not sharing, i think
10:34 castaway and presuambly running?
10:34 nothingmuch osascript is not cooperating
10:34 nothingmuch it's running, yes
10:34 castaway hmm
10:35 nothingmuch one second, i think i got it
10:35 nothingmuch perlbot: nopaste
10:35 perlbot Paste your code here and #<channel> will be able to view it: http://sial.org/pbot/<channel>
10:35 nothingmuch autrijus: read nopaste
10:36 pasteling "nothingmuch" at 212.143.92.226 pasted "osascript vs. subetha" (22 lines, 657B) at http://sial.org/pbot/9178
10:36 nothingmuch that's your code, sort of... i presume you've seen such errors?
10:36 metaperl has joined #perl6
10:37 autrijus did you turn on accessibility?
10:37 ingy crap: kwiki.org box is down
10:37 nothingmuch i reckon he didn't
10:37 nothingmuch that's it, then
10:37 autrijus I hadn't seen that error before, no
10:37 ingy which means I can't release Perl6-Bible
10:37 ingy I should try svk ;)
10:38 autrijus it's never too late ;)
10:38 ingy :P
10:38 nothingmuch bwahahaha! svn lamege has 0wn3d j000!
10:38 nothingmuch centralized VCS is teh suxx0r
10:43 jabbot pugs - 1719 - * As suggested by nothingmuch, I have re
10:45 nothingmuch is t/pugsbugs/segfault_nan_calculation.t supposed to take forever?
10:45 nothingmuch or maybe the tesst right after it?
10:46 castaway given up, nm?
10:46 nothingmuch on see?
10:46 castaway jo
10:47 theorbtwo nm, on my machine it segfaulted quickly, on Corion's it segfaulted after about 5s.
10:47 ingy autrijus: posted to p6l on S26
10:47 nothingmuch i can't open it now, i have to pull weird magic i don't know how to pull
10:47 theorbtwo (Well, the win32 equiv of segfaulting.)
10:47 nothingmuch or log in, which i can't
10:47 castaway Ok
10:47 castaway GPFing
10:47 nothingmuch on mine it's been going strong for about 5 minutes now, 100% cpu usage
10:47 autrijus ingy: wonderful
10:48 ingy we'll see...
10:48 ingy night all&
10:48 autrijus night ingy
10:48 nothingmuch night ingy
10:48 castaway night ingy
10:48 theorbtwo Night, ingy.
10:52 nothingmuch well, it finished
10:52 nothingmuch i don't know how it ended: top ruined the output
10:55 nothingmuch for some reason the svn rev is wrong
11:00 autrijus bbiab... dinner &
11:01 * castaway waits for make test to finish (this year maybe?)
11:02 iblechbot has joined #perl6
11:06 castaway ooh, it did
11:21 elmex has joined #perl6
11:25 perdix has joined #perl6
11:38 joejiang has joined #perl6
11:53 jabbot pugs - 1720 - More movement on external haskell -- req
11:54 Forth has joined #perl6
11:57 co3 has quit IRC ("bye")
12:03 jabbot pugs - 1721 - Er, fix makefile so installing hs-plugin
12:10 mjh has joined #perl6
12:13 jabbot pugs - 1723 - correcting the name of File::Spec in the
12:13 jabbot pugs - 1722 - added parens to change precedence
12:16 pjcj d
12:19 pjcj running make gives me:  Could not find module `Plugins':
12:19 pjcj any suggestions?
12:20 shapr ftp://ftp.cse.unsw.edu.au/pub/users/dons/hs-plugins/snapshots/hs-plugins-20050410.tar.gz
12:21 metaperl you mean Pugs is stretching the seams of Haskell once again?
12:21 shapr As usual.
12:21 shapr It's a symbiotic relationship.
12:21 metaperl 1: adapted pugs 2: Template Haskell 3: requires plugins
12:21 metaperl good god
12:22 theorbtwo Perhaps I should figure out some sort of magic to stub out when the package is not available.
12:28 pjcj shapr: thanks
12:29 * pjcj wanders off to get the autoconf tools
12:30 mjh hmm
12:31 mjh there's something about rewriting %h{"foo"} as %h<foo> which seems ugly, somehow
12:31 mjh what if I don't want to interpolate my foo?
12:32 theorbtwo Then use {} without quotes?
12:32 theorbtwo Oh, or use {} with single quotes.
12:33 mjh i guess
12:33 mjh the huffmanization seems to have messed up the nice symmetry slightly there, tho'
12:33 mjh shame
12:33 * mjh returns to wading through synopses
12:34 theorbtwo {} is the general form.
12:34 theorbtwo There's a specific optimization using <> for a specific need.
12:35 mjh fair enough.
12:36 |hugues has joined #perl6
12:38 mjh i guess that if thought of in terms of qw/foo/ being written as <foo> and qq/$foo/ as <<$foo>> it makes more sense :)
12:41 stevan_ how come I cant compile pugs??
12:42 stevan_ Could not find module `Plugins':
12:43 * theorbtwo sighs -- yep, need to do something about that.
12:43 stevan_ :)
12:43 stevan_ I got hs-plugins
12:43 stevan_ is that what I need?
12:43 castaway (why is it when I go make lunch for 10 mins, #p6 gets all busy?)
12:44 pjcj stevan_: shapr pointed me at ftp://ftp.cse.unsw.edu.au/pub/users/dons/hs-plugins/snapshots/hs-plugins-20050410.tar.gz
12:44 stevan_ pjcj: I got that,.. but when I do the recommended ./configure; make; make install
12:44 stevan_ I get errors
12:45 mjh I'm probably being horribly thick here, but shouldn't my $a=<foo bar>; not assign an actual list to $a, but just the second element?
12:45 theorbtwo hs-plugins, yep.
12:45 pjcj stevan_: I'm not even that far yet ;-)
12:45 mjh (just like perl -e '$a=qw/foo bar/; print $a;' yields bar)?
12:45 stevan_ theorbtwo: you made this mess :P any thoughts
12:45 theorbtwo Nope, mjh.  The wierd behavior of the comma operator is dead dead dead.
12:46 theorbtwo stevan_: What errors in hs-plugins?
12:46 stevan_ ./configure wont run... it doesnt exist
12:46 autark-jp run autogen.sh
12:46 stevan_ autark-jp: that worked
12:47 stevan_ hmm,.. someone should update that README
12:47 mjh so one is allowed to store lists/arrays in scalars nowadays?
12:48 theorbtwo Of course you are.
12:48 theorbtwo You get a reference to the list/array.
12:48 stevan_ mjh: its all part of the auto-dereference functionality
12:48 mjh ah, that makes a whole lot more sense
12:48 theorbtwo Well, this would be automatic enreferencing.
12:48 mjh apologies for my lack of tuits :)
12:49 stevan_ theorbtwo: yes, what you said
12:50 stevan_ has quit IRC ("Leaving")
12:50 stevan has joined #perl6
12:52 nothingmuch has quit IRC ()
12:52 stevan horraaaaaayyyy,.. Pugs is compiling again
12:54 theorbtwo Cool, stevan.
12:54 * stevan goes off to make breakfast for the kids while Pugs 'make optimized'-es
12:54 shapr To build hs-plugins, "autoreconf && ./configure && make" (then as root if you want system-wide) install with "make install && make register"
12:54 castaway (and lunch, and dinner.. )
13:00 stevan autrijus: If you want me to do the Changelog again, just let me know when you need it by, and I will take care of it
13:02 stevan Whoa!!!
13:02 stevan thats on looooooong error message
13:03 stevan theorbtwo: is there anyway to skip hs-plugins? because it is proving problematic
13:04 stevan a line to comment out or something ? as a temporary fix so I can compile
13:05 theorbtwo Temp fix: Change line 8 of src/External/Haskell.hs to #if 1
13:05 theorbtwo Real fix: Working on it.
13:05 stevan theorbtwo++ # for concurrent temp and real fixes :)
13:06 wilx has joined #perl6
13:08 stevan theorbtwo, castaway: are you two confirmed for the hackathon?
13:10 theorbtwo Yeah.
13:10 theorbtwo But we still need to figure the fine details of transportation.
13:11 cwest has quit IRC (Remote closed the connection)
13:11 stevan theorbtwo: thats where I am at as well
13:16 cwest has joined #perl6
13:24 stevan hmm, now I am getting a bunch of AST errors
13:24 theorbtwo stevan: What sort?
13:25 stevan a lot of them
13:26 stevan I can't find the begining of them actually
13:28 stevan hold I will try again
13:33 jabbot pugs - 1724 - adding Autrijus and Ovid to the AUTHORS
13:33 theorbtwo Hm?  Autrijus and Ovid have been in AUTHORS for ages...
13:34 stevan for CGI.pm
13:34 theorbtwo Oh.
13:34 stevan perlbot nopaste
13:34 perlbot Paste your code here and #<channel> will be able to view it: http://sial.org/pbot/<channel>
13:35 pasteling "stevan" at 67.186.136.119 pasted "the start of the error" (8 lines, 364B) at http://sial.org/pbot/9187
13:35 stevan theorbtwo: that is the "start" of the error
13:35 stevan the whole thing is HUGE
13:38 theorbtwo Hm, interesting.
13:38 theorbtwo What bit is it compiling at the time?
13:38 theorbtwo That's a "core lint" message; it's a bug in ghc itself.
13:38 shapr Yeah, we wanna know
13:39 xerox Any HaskellGoPeople in the mood for a game?
13:39 stevan AST.hs
13:39 shapr Is AST.hs using GADTs?
13:39 * shapr looks
13:39 stevan the line before the error: Compiling AST              ( src/AST.hs, src/AST.o )
13:39 theorbtwo Did you try doing a make clean?
13:40 stevan theorbtwo: yup
13:40 theorbtwo Are you compiling with make optimized?
13:40 stevan theorbtwo: yes
13:40 stevan should I not?
13:40 theorbtwo Ah, that'd explain why you get it and I don't.
13:40 stevan I think I got it with plain make too
13:40 stevan ok I will make clean and try a  plain make
13:41 * shapr tries make optimized
13:42 * theorbtwo tries to focus -- oh, yeah, I was trying to make the compile not die in the no-plugins case.
13:44 shapr Wow, that's a big error.
13:44 stevan :)
13:44 shapr That's the largest Haskell error I've ever seen, and I've seen quite a few.
13:44 stevan ok 'make' is working (at least it got past AST)
13:45 theorbtwo The one on Parser.hs ran several meg, IIRC.
13:46 stevan whoops
13:46 stevan Linking ...
13:46 stevan ld: can't locate file for: -lHSrts_thr_debug
13:46 stevan make: *** [pugs] Error 1
13:46 stevan soooo close,.. but yet soooo far
13:46 theorbtwo Oy.
13:47 theorbtwo Edit Makefile.PL, line 57, remove -dcore-lint -debug.
13:48 stevan ok trying again
13:48 shapr silly question, how can I redirect this output to a file? "make 2> bigerror" doesn't work.
13:48 shapr oh wait, 2> is only stderr? I should use &> right?
13:49 shapr yay
13:50 shapr At first glance, I'd guess this is a big in some part of GHC's optimizer(s).
13:50 theorbtwo So would I, shapr.
13:50 shapr s/big/bug/
13:50 theorbtwo Somebody ci that change to the Makefile.PL, please.
13:50 stevan theorbtwo: will do
13:51 theorbtwo (Though removing the -dcore-lint is going to allow people to be exposed to the optimizer bug, whatever it is.)
13:51 shapr right
13:51 theorbtwo ...wherever it lurks...
13:51 shapr I'll mail this error to ghc-bugs
13:51 stevan theorbtwo: should I wait then?
13:52 theorbtwo Hm, get rid of the -debug, keep the -dcore-lint.
13:52 stevan well lets see if it works first :)
13:53 mjh should %h<<foo>> work?
13:56 xkb_ has joined #perl6
13:59 stevan ok theorbtwo it works I wil check it in
14:00 theorbtwo Thanks.
14:00 joejiang has quit IRC (Remote closed the connection)
14:01 stevan ok I am off to do dirt world errands
14:02 stevan autrijus: just let me know about the ChangeLog (i will start working on it later just in case)
14:03 jabbot pugs - 1726 - some more test suite spring cleaning
14:03 jabbot pugs - 1725 - removing -dcore_lint at theorbtwos sugge
14:05 theorbtwo Does >/dev/null 2>/dev/null work in system('') on win32?
14:05 hawkaloogie no
14:05 hawkaloogie for many reasons
14:05 hawkaloogie one: \ for dir, two: no \dev\null
14:06 theorbtwo Well, hawkaloogie, that matters less then you might think -- on ``, perl itself emulates it.
14:06 shapr theorbtwo: btw, hs-plugins won't immediately work on win32 because it doesn't handle path translation from / to \
14:06 shapr dons said there's logic in GHC to do that you likely steal
14:27 ninereasons has joined #perl6
14:28 shapr Greetings ninereasons
14:29 ninereasons hi.  thanks for the hello, shapr
14:29 * shapr bounces cheerfully
14:30 * castaway grins
14:32 ninereasons pugs doesn't build.  something about plugins.
14:32 theorbtwo Oy.  Anybody know how to do my $ret = system("ghc-pkg show $package >/dev/null 2>/dev/null") portably?
14:32 shapr ftp://ftp.cse.unsw.edu.au/pub/users/dons/hs-plugins/snapshots/hs-plugins-20050410.tar.gz  - To build hs-plugins, "autoreconf && ./configure && make" (then as root if you want system-wide) install with "make install && make register"
14:32 ninereasons ah . lots in the irc log.
14:37 ninereasons I can't find ./ -name autogen.sh
14:38 ninereasons without it, I don't seem to have ./configure
14:38 shapr Can you run autoreconf in that directory?
14:38 ninereasons `configure.ac' or `configure.in' is required
14:39 shapr Hm, I have a configure.ac
14:39 shapr Did you run autoconf in the hs-plugins-20050410/ directory?
14:39 shapr um, autoreconf
14:40 ninereasons oh.  
14:40 ninereasons :)
14:40 ninereasons haven't unzipped the plugins
14:42 shapr foo, pugs-smoke is broke
14:49 theorbtwo Hold on, I'm about to check in a fix.
14:49 theorbtwo (I think.)
14:50 theorbtwo r1727.
14:52 dvergin 1727 still chokes in windows with: Could not find module `Plugins'
14:53 ninereasons so far, so good with plugins installed (linux, though)
14:53 jabbot pugs - 1727 - Smarter checking for hs-plugins.
14:53 theorbtwo Do you see a -DPUGS_HAVE_HSPLUGINS=1 on the compile command?
14:54 dvergin looking...
14:56 dvergin FWIW I do see: You do not have hs-plugins installed; disabling haskell dynamic modules
14:57 theorbtwo Hm, interesting.
14:58 theorbtwo Oh, forgot to ci the change to src/External/Haskell.hs that makes it actually care.
14:58 dvergin Okay, output redirected and grepped. The string DPUGS_HAVE_HSPLUGINS is not found
14:59 theorbtwo r1728.
14:59 * dvergin hits the button again
14:59 dvergin ...
15:01 ninereasons what's lost, without the plugins ?
15:01 dvergin Bingo! It compiles on WinXP. Thanks, theorbtwo.
15:02 theorbtwo Yey!
15:02 theorbtwo ninereasons: At present, not much.
15:02 dvergin Gotta run. Catch you all down the bitstream.
15:03 jabbot pugs - 1728 - Make it actually care about the new Make
15:03 theorbtwo In theory, we should be able to write modules in haskell and load them, the same way you can do in C with XS in perl5.
15:08 larsen has quit IRC ("later")
15:15 MoneyCat has joined #perl6
15:17 dvergin has quit IRC ("Chatzilla 0.9.66 [Mozilla rv:1.7.3/20041001]")
15:19 theorbtwo seen autrijus
15:19 jabbot theorbtwo: autrijus was seen on Sun Apr 10 19:00:40 2005
15:19 theorbtwo seen theorbtwo
15:19 jabbot theorbtwo: theorbtwo was seen on Sun Apr 10 23:18:59 2005
15:20 mjh where is the say() built-in functioned specified?
15:20 mjh /ned/ed/
15:20 mjh gah
15:20 shapr line 43 of Prim.hs
15:20 mjh /ned/n/ even
15:21 theorbtwo specified, not implemented.
15:21 mjh ok; that's where it's implemented - in which A/S/E was it specified, if anywhere?
15:21 theorbtwo Not sure.
15:21 shapr oh, whoops
15:21 * mjh looks at Prim.hs anyway
15:21 shapr I keep forgetting there's that sort of difference here on #perl6
15:22 shapr Culturally speaking, there's not much difference between specification and implementation on #haskell
15:22 shapr (for the most part)
15:23 iblechbot has quit IRC (Connection timed out)
15:23 MoneyCat has left
15:23 shapr Or maybe the words are just used interchangeably?
15:24 * shapr stops wondering and starts coding
15:26 ninereasons has quit IRC ("Chatzilla 0.9.67 [Firefox 1.0.2/20050317]")
15:29 nothingmuch has joined #perl6
15:29 nothingmuch hola
15:29 theorbtwo Hola, nothingmuch!
15:30 * nothingmuch needs a camping knife
15:30 nothingmuch considering: http://www.coldsteel.com/folding-knives.html
15:31 castaway pointy things
15:31 theorbtwo Are switchblades legal there?
15:32 nothingmuch switch blades are the ones that pop up, right?
15:32 theorbtwo Also, why are you getting one shipped from the US?
15:32 theorbtwo Yes.
15:32 nothingmuch this just opens
15:32 nothingmuch quality camping gear is 200-300% the price here
15:32 shapr nothingmuch: What about a Leatherman supertool II ? I'm extremely fond of my supertool I.
15:32 Limbic_Region has joined #perl6
15:33 Limbic_Region http://use.perl.org/~Ovid/journal/24095 # Ovid's start on a Perl6 Cookbook
15:34 shapr nothingmuch: http://www.leatherman.com/products/tools/super-tool-200/default.asp
15:35 nothingmuch shapr: most of the times i needed a knife i needed to be pretty brutish with it
15:35 nothingmuch and the large knives always hurt me
15:35 nothingmuch my dad has a leatherman
15:36 nothingmuch and my friend who i'm going camping with has a victornox beast
15:36 nothingmuch so that part is taken care of
15:36 nothingmuch i want something to be forceful with, though
15:36 nothingmuch to show frozen food i'm a real man
15:36 nothingmuch and make little nice things out of wood
15:36 nothingmuch and cut a bit of rope in under half an hour, and without losing fingers
15:37 shapr Hm, I've done most of those things with my supertool.
15:37 * theorbtwo thinks the 5-for-a-dollar sort of craft knife is the best deal.
15:37 shapr I also use it to take repair PCs.
15:37 castaway :)
15:37 nothingmuch well, again, i have access to one of these, and it's very very useful, but there's a niche it doesn't fill
15:37 shapr er "take apart/repair"
15:37 shapr I don't camp at all, so I believe you.
15:38 theorbtwo There is a certian point.
15:38 nothingmuch theorbtwo: the plastic ones?
15:38 theorbtwo Yup, nm.
15:38 theorbtwo OTOH, I don't camp.
15:38 nothingmuch they are wonderful
15:38 nothingmuch i had a plastic one, it was a whole dollar, though
15:38 theorbtwo And sometimes I prefer a chisel when whittling.
15:38 nothingmuch with a metal core
15:38 nothingmuch i broke the plastic, and sawed the knife
15:38 nothingmuch it was then around 8cm long
15:39 nothingmuch and then i sowed a little pocket for it, in my wallet
15:39 nothingmuch it was really cute
15:39 nothingmuch but then we had to go to the states, so i couldn't be carrying that around in my wallet
15:41 shapr I have to check-in my leatherman everytime I take a plane. That's frustrating because I use it so much.
15:43 Odin_ is now known as Odin-LAP
15:51 Limbic_Region http://www.perlmonks.org/?node_id=446269 # Is Haskell always going to be needed for Perl6 compilation?
15:54 * castaway read that this morning ;)
15:54 theorbtwo Allo, Limbic.
16:03 jabbot pugs - 1729 - Added two alternative ways of calling a
16:10 Limbic_Region salutations theorbtwo
16:11 mjh there's something curiously unexciting about porting the pleac to perl6, imo
16:11 mjh possibly because the cookbook is generally so simple there isn't necessarily much that has changed (at least in the basic chapters)
16:13 Khisanth isn't it also possible it might invalidate some recipes?
16:13 jabbot pugs - 1730 - Added some svn:ignores.
16:16 nothingmuch has quit IRC ()
16:19 Limbic_Region has quit IRC ("tiuq\")
16:25 saorge has quit IRC ("ERC Version 5.0.1 $Revision: 1.726.2.3 $ (IRC client for Emacs)")
16:25 * mjh continues to strain pleac to find an interesting example to try to rewrite
16:29 mjh at least half of them just wrap random CPAN modules
16:30 obra redo them in pure perl6 anyway
16:31 mjh i guess that'd be one way of approaching it...
16:39 mjh has anyone ported Getopt::Std yet?
16:43 * mjh has a play with it regardless
16:45 mjh ah
16:45 * mjh discovers http://tpe.freepan.org/repos/iblech/Getopt-Std/
16:51 co3 has joined #perl6
16:53 jabbot pugs - 1731 - Added the famoues animal guessing game.
16:55 nothingmuch has joined #perl6
16:56 nothingmuch braindead colloquy
16:56 co3 is now known as co2
16:57 cognominal has joined #perl6
17:02 * theorbtwo wonders if anybody but Autrijus understands the code in External.externRequire, and has some clue how to tell what, if anything, it is doing.
17:03 * shapr looks
17:03 jabbot pugs - 1732 - Updated CGI.pm to use ";" as the default
17:06 autrijus greetings!
17:07 autrijus I have done a working IType implementation
17:07 shapr theorbtwo: Prim.hs line 135
17:07 autrijus $_<str>[0]<blah>[1]<foo bar baz> = 1..3;
17:07 autrijus this now works :D
17:08 autrijus mandel.p6 still runs, but for some reason Test.pm is broken.
17:08 autrijus so I'm checking it in :D
17:08 autrijus (and kill all the tests in the process)
17:08 Ovid has joined #perl6
17:09 autrijus theorbtwo: sorry I had to turn off corelint for now
17:09 Ovid autrijus mentioned a topic I should bug Rod about.  Who's rod?\\\\\\
17:09 autrijus it doesn't like the .hs-boot file needed in IType
17:09 autrijus Ovid: Rod Adams
17:09 autrijus maintainer of http://www.rodadams.net/Perl/S29.html
17:09 Ovid Hello.  I need to learn to type :)
17:10 Ovid Thanks!
17:10 shapr hiya Ovid!
17:10 Ovid Hi shapr.
17:10 Ovid I just checked in the latest CGI.pm.  It's much closer to spec, now.
17:11 autrijus changes topic to: pugscode.org <<Overview Journal Logs>> | r1734: ITypes *All Tests Broken* | pugs.kwiki.org
17:12 theorbtwo Ah, hello, autrijus!
17:12 autrijus changes topic to: pugscode.org <<Overview Journal Logs>> | r1734: ITypes *Test.pm currently broken* | pugs.kwiki.org
17:12 autrijus hi theorbtwo :)
17:12 Ovid I see people are checking things in to pleac :)
17:13 jabbot pugs - 1734 - * IType implementation landed.  All test
17:13 jabbot pugs - 1733 - * Added a solution to QoTW regular #6 in
17:13 Ovid Juerd?  Are you here?
17:13 autrijus theorbtwo: it's just putting the bindings into the symbol table
17:13 autrijus currently hard-coded as always taking a slurpy list
17:14 theorbtwo Hm, ./pugs -e 'require_haskell(""); say sha1("")'
17:14 theorbtwo ">[\"sha1\"]<"
17:14 theorbtwo No compatible subroutine found: &sha1
17:14 theorbtwo App "&sha1" [] [Syn "cxt" [Val (VStr "Str"),Val (VStr "")]]
17:14 Ovid Juerd mentioned in pleace/01strings.01-03exchanging.p6 that I might want to use binding instead of assignment at one point.  However, it's not clear to me what this should mean: ($x,$y) := ($y, $x);
17:14 Ovid How can I bind to reversed values?
17:15 mjh sounds like a good way to royally tie things up in knots :)
17:16 theorbtwo Hm, Ovid, that makes my evaulator go into an infinite loop.
17:16 Ovid I'm not surprised.
17:17 theorbtwo I meant my personal evaluator, in my head.
17:17 Ovid Ah.  I see.
17:17 theorbtwo I have no idea in what it does in pugs, but probably not the same thing it did an hour ago, or an hour from now.
17:18 theorbtwo Perhaps more importantly, I have no idea what it does in the evaluator in the head of @Larry.
17:18 Ovid So how the heck would the parser detect something like that, particularly if the bound values are bound further away?  ($a,$b) := ($y,$x); ($x,$y) := ($a,$b); # whoops!
17:18 Ovid Checking where they're actually bound sounds like it would catch this, but can that be done in the lexer/parser?
17:21 bradb has quit IRC ("Leaving")
17:21 mjh surely adding links to a binding chain like that is a red herring
17:22 mjh all that matter is whether the final step involves binding a variable to something which currently is already bound to, uh, the first variable
17:22 mjh thus creating a circular binding reference?
17:22 mjh </naive>
17:23 Ovid Well, it's something I've not seen come up before, but I also haven't been paying as close of attention to Perl6 development as I would like.  This is my first serious leap.  Thus, it's quite possible this has been covered ad nauseum.
17:23 jabbot pugs - 1735 - * remind people to "make register" for h
17:24 autrijus well, the swap thing is basically
17:24 autrijus (*::x{SCALAR}, *::y{SCALAR}) = (*::y{SCALAR}, *::x{SCALAR});
17:24 autrijus in perl5 speak
17:25 autrijus which is kind of harmless
17:25 autrijus and dwims
17:26 nothingmuch autrijus: go sleep
17:26 autrijus eh?
17:26 mjh that kind of assignment is entirely parallelized, then?
17:26 autrijus hmm, that ITypes patch is 2530 lines long.
17:26 autrijus mjh: well, it evals RHS first, get "slots"
17:27 nothingmuch you complained in your journal that you weren't getting enough because of the hackathon
17:27 nothingmuch so i'm reminding you ;-)
17:27 autrijus then evaluates LHS's name
17:27 nothingmuch i remember when I was really proud that it decided my 3 month project took 3 people a whole year
17:27 nothingmuch oh my
17:27 autrijus then binds this to that
17:27 nothingmuch sloccount would be damned pleased
17:27 * mjh nods
17:27 Ovid Yes, but I don't know "wim" in this case :)  Since aliasing means that if I change the other, this suggests to me that, when all is said and done, $x == $y.  I don't think that's clear at all.  However, typeglob aliasing is much less common in Perl5 than aliasing in Perl6 will be, so I think there will be more people who stumble on this.
17:27 nothingmuch but 2500 in two days? wow...
17:27 autrijus core pugs is just 7000 lines :)
17:27 mjh the serialized $a:=$b; $b:=$a; certainly makes my pugs go boom
17:27 autrijus yeah, as it should
17:27 nothingmuch so why is it such a substantial change?
17:28 autrijus err wait
17:28 autrijus serialized shouldn't go boom
17:28 nothingmuch ast changes a bit, i guess, not too much
17:28 autrijus it will just cause everything to go $b
17:28 nothingmuch application too, i guess
17:28 autrijus it works on my post-ITypes pugs
17:28 nothingmuch and vcast/castv can be retired, right?
17:28 nothingmuch anyway, i've got to go to town
17:28 nothingmuch ciao
17:29 autrijus nothingmuch: the thing is that we get objects :D
17:29 autrijus underneath, not exposed to language level
17:29 autrijus but e.g.
17:29 autrijus %*ENV.keys
17:29 autrijus and %foo.keys
17:29 autrijus does completely different things.
17:29 autrijus by dispatching to different classes.
17:31 mjh funky :)
17:31 mjh has it introduced much of an overhead?
17:31 autrijus not at all
17:31 autrijus it simplified lots of logic.
17:32 autrijus we get slice assignments for free
17:32 autrijus and autovivification
17:32 autrijus and sane lvalue treatments
17:32 autrijus and nested structures
17:33 theorbtwo Oooh, sane lvalues?
17:33 autrijus yup
17:34 nothingmuch autrijus**=autrijus
17:34 nothingmuch ciao1
17:35 nothingmuch tr/1/!/;
17:36 theorbtwo Spaeter
17:38 wolverian hm, I wonder if GHC 6.3 can run Pugs.
17:39 wolverian oh, Pugs doesn't like it. oh well.
17:39 dngor has quit IRC (Read error: 110 (Connection timed out))
17:40 dngor has joined #perl6
17:41 theorbtwo Hm, 6.3 might be able to, but we don't actually support anything <6.4
17:41 wolverian my OS (Ubuntu) doesn't provide a newer version, yet. :(
17:42 autrijus you can set to use experimental debian
17:42 autrijus and pull 6.4 specifically
17:42 theorbtwo You can try ghc-cvs from debian unstable, or the ghc6 from debian testing.
17:42 theorbtwo Er, s/testing/experimental/
17:42 wolverian ah. thanks. would you have the apt source line for that?
17:42 mjh ghc-cvs is working nicely for me in unstable, fwiw
17:43 theorbtwo deb http://ftp.at.debian.org/debian     ../project/experimental main contrib non-free
17:43 wolverian thanks!
17:43 theorbtwo Oh, that was experimental, for unstable...
17:43 jabbot pugs - 1738 - * setting %ENV now works for Real.
17:43 jabbot pugs - 1737 - * -Wall -Werror clean.
17:43 jabbot pugs - 1736 - Moved animals.p6 to games/, qotw-regular
17:43 theorbtwo deb       http://ftp.at.debian.org/debian unstable main contrib non-free
17:45 wolverian hmm. that gives me an error.
17:45 theorbtwo What error?
17:46 wolverian I don't remember anymore. worked when I s,at,fi,
17:49 mjh are ==> or <== pipe operators not there yet?
17:53 autrijus merlyn++ # Are you saying "Perl6 development is unstoppable!"?
17:53 autrijus # http://www.perlmonks.org/?node_id=446269
17:54 stevan hey autrijus
17:55 autrijus yo stevan. sorry I broke all your tests and examples :)
17:55 autrijus (but I'm fixing them.)
17:55 stevan I know,.. but it is a for a good cuase
17:55 stevan I have limited time today anyway
17:55 autrijus cool
17:55 stevan but I wanted to offer up my Changelog services
17:55 autrijus woot
17:55 autrijus then please do so
17:55 stevan when do you want to release ?
17:56 autrijus there will be no other large change than ITypes
17:56 autrijus I think some time tomorrow
17:56 autrijus after I made tests to pass.
17:56 autrijus i.e. 24 hours from now give or take a day
17:56 stevan ok, I will probably do it later today (1:55 PM for me)
17:56 Corion has joined #perl6
17:56 mjh pugs> my ($a, $b) = (1, 2);
17:56 mjh *** Error: not a lvalue:  at ({ref:<Scalar>}, {ref:<Scalar>})
17:56 mjh seems mildly wrong
17:56 castaway good eve, Corion
17:56 Corion re all
17:57 * Corion returns from a "day" of motocycling. Except that it was 4 hours in 3 stretches, because it was too cold :)
17:57 autrijus mjh: it's very wrong. I'll get around to that
17:57 autrijus hey Corion.
17:57 theorbtwo Allo, Corion!
17:57 * theorbtwo made the haskell plugin loader work (except that it doesn't).
17:58 Corion Hi autrijus! I think I can rewrite my (typed in) pseudocode for the continuations now. Unless I fall asleep :)
17:58 Corion theorbtwo: Yay! So we now can link in external libraries with ease?
17:58 stevan autrijus: look for the Changelog when you wake up :)
17:58 autrijus stevan++ # yay!
17:58 * stevan heads back to the dirt world &
17:58 autrijus Corion: for some value of "now" that is likely "tomorrow this time"
17:58 autrijus but definitely 6.2.0
17:58 Corion I'd like to fix getProcessID for Win32, but that'll mean I have to contact the Win32 API :)
17:59 * theorbtwo wonders about bootstrapping -- should we port the evil glasgow haskell compiler from p5 to p6, or should we port pugs from haskell to p6?
17:59 autrijus theorbtwo: the latter definitely.
17:59 autrijus the only questionis "by hand" or "by machine".
17:59 Corion Ah, I won't really be productive in the next four hours anyway
17:59 wilx Hmm, really?
17:59 Corion theorbtwo: The latter IMO
17:59 autrijus I think "by machine".
17:59 Corion Maybe with a machine-translated kickstart.
17:59 autrijus i.e. write a haskell->p6 translator.
17:59 wilx That way there will one less Haskell app :/
17:59 Corion Yeah - that way, we get easy synchronizing/verification.
18:00 autrijus uh no, I see the master source still in haskell.
18:00 autrijus in the forseeable future anyway
18:00 Corion wilx: I don't see that happen within the next 2 years anyway :)
18:00 wilx :)
18:00 autrijus until the p6 community is ready for the manual rewrite
18:00 wilx You never know, three months and look what we got.
18:00 mjh would a haskell->p6 translator work at a source level or by parsing the ASTs?
18:00 Corion ... or fed up with the Haskell community. Whichever comes first :)
18:00 wilx Two years at this pace is like eons :)
18:01 theorbtwo I suspect the manual rewrite may come when the community is ready to start on perl7.
18:01 Corion mjh: I would prefer source level, because AST translation will look ugly and thus become unmaintainable.
18:01 Corion theorbtwo: :))
18:01 autrijus source level is almost impossible though :)
18:01 autrijus has to be an AST level thing.
18:01 Ovid Taking off for a bit.  Bye all!
18:01 autrijus bye Ovid!
18:01 theorbtwo Later, Ovid.
18:01 Ovid has quit IRC ()
18:02 mjh i guess if you preserve the names of the symbols & run it through p6indent afterwards... ;D
18:02 autrijus so maybe write a haskell program that translates TemplateHaskell AST into Pugs AST
18:02 autrijus then compile that to Parrot
18:03 autrijus with Pugs itself
18:03 autrijus then run it on src/*
18:03 autrijus will give us a pbc version of pugs
18:03 autrijus which is Good Enough (tm) for all practical purposes.
18:03 * castaway just boggles
18:04 theorbtwo Hm, makes some degree of sense.
18:04 mjh autrijus: fwiw, $a:=$b; $b:=$a; works fine - but $a:=$b;\n$b:=$a;\n still goes boom with r1738
18:04 theorbtwo It seems like the best thing all around may be to create a PBC backend for GHC.  But that sounds like a lot of work.
18:04 Corion_ has joined #perl6
18:04 autrijus mjh: the \n makes difference?
18:04 mjh yah.
18:04 theorbtwo Also, at no point does your plan touch perl 6 code, I note.
18:04 autrijus theorbtwo: yeah, it is a lot of work.
18:05 autrijus theorbtwo: Pugs AST can be compiled back to almost illegible perl6 code.
18:05 autrijus i.e. Deparse
18:05 theorbtwo Ah, right.
18:05 autrijus but that has nothing to do with anything :)
18:06 * autrijus journals
18:06 Corion has quit IRC (Nick collision from services.)
18:06 Corion_ is now known as Corion
18:06 theorbtwo It'd be much more legable if it actually wrote infix:<+>($a, $b) as ($a + $b).
18:07 Odin- Heeh.
18:07 Odin- Perl could be written in a somewhat lisp-ish way now, couldn't it?
18:08 autrijus it always can... see B::*
18:08 castaway how lispish?
18:08 autrijus B::S_Expression
18:08 castaway (+ 2 1) ?
18:08 Odin- autrijus: Oh, but I mean standard perl. Everything can be called as a function, including operators, statement modifiers, et cetera..?
18:09 autrijus in p6? either function or macros.
18:09 autrijus same as lisp.
18:09 autrijus (lisp has this "special forms")
18:09 Odin- Yeah. That's what I mean. :)
18:09 autrijus sure.
18:09 shapr Is there a working pugs-smoke up?
18:09 Odin- autrijus: Which correspond to functions or macros written in IMC or something like that for "final" Perl6...
18:10 autrijus yup.
18:10 autrijus shapr: http://nothingmuch.woobling.org/pugs_test_status/
18:11 justatheory has joined #perl6
18:12 shapr All the tests died?
18:12 castaway autrijus brok Test.pm
18:12 autrijus see topic.
18:12 shapr oh right
18:12 shapr doh
18:13 jabbot pugs - 1739 - Added a Perl 6 solution of QoTW regular
18:13 Corion We have code coverage in Pugs now? Or am I misreading the backlogs?
18:14 theorbtwo You misread.
18:14 gaal has left
18:14 theorbtwo The thing specified in S20draft could be used for coverage, if it was implemented.
18:16 Corion theorbtwo: Ah
18:18 mjh what flavour of sort does pugs support, if any, currently?
18:19 * mjh wades through the equally unhelpful apocalypses, s29 draft & search results for p6l on the current implementation
18:19 Corion theorbtwo: Do you still need to know how to run ghc-pkg in a cross-platform manner? t/pugsrun/ should work for both, Unix and Win32, File::Spec has devnull()
18:20 Corion Is Makefile.PL broken? It is running 10 seconds already ...
18:20 shapr pugs_config.h doesn't get generated for me, but I think I see what it should do.
18:23 autrijus mjh: simple sort(List) only
18:23 autrijus see src/Prim.hs
18:23 autrijus you need r1740
18:26 autrijus for some reason mandel.p6 became much faster.
18:26 autrijus after the itype change.
18:27 autrijus or am I imagining things?
18:29 shapr I just faked a pugs_version.h and pugs_config.h to get pugs to build. When linking, gcc was missing src/UnicodeC.o and src/pcre/pcre.o, which I got by running "make src/UnicodeC.o" and "make src/pcre/pcre.o", so I guess that's a Makefile bug?
18:31 theorbtwo Corion: I'm using IPC::Open3 now.
18:31 autrijus shapr: try svn up and see if it works now?
18:31 shapr ok
18:31 Corion theorbtwo: Ah, that's well too. cmd.exe allows stderr redirection, but if you want something more comfortable, IPC::Open3 is the way
18:32 Corion Aaah. has_ghc_package() makes my Makefile.PL run endlessly :)
18:33 jabbot pugs - 1741 - * list hs-boot separately
18:33 jabbot pugs - 1740 - * value binding needs to eval to Val.
18:34 shapr yay, builds
18:35 shapr Are you doing the fromVal changes?
18:35 Corion Weird. From the command line, "ghc-pkg describe plugins" works (outputs to stderr, but who cares. Ah. The waitpid call fails/waits endlessly.
18:35 autrijus shapr: no. you want to do it?
18:35 shapr If I can figure it out.
18:35 shapr I'm guessing it's a switch from vCast to fromVal?
18:36 autrijus it is.
18:36 autrijus however vCast is _safe_ if following a fromVal
18:36 shapr vCast . fromVal ?
18:36 autrijus because then it will only cast between pure values
18:36 autrijus no, something like
18:36 autrijus val <- fromVal x
18:36 autrijus ...(vCast val)...
18:36 Corion theorbtwo: Did you test your script against Win32? I commented out the waitpid() call in inc/Module/Install/Pugs.pm, and Makefile.PL now worksforme, but I don't know how that is for platforms that have Plugins.hs
18:37 shapr I think I understand that.
18:37 autrijus or s/fromVal/readMVal/ above for archaic form
18:37 shapr Now to ask the compiler if I really do understand that.
18:38 shapr I haven't yet tried to understand Pugs in its fullness, so I'm doing a lot of cargo culting in my code.
18:38 autrijus that's just fine :)
18:39 shapr I am very entertained by the quote at the top of AST.hs that compares the Tree of Gondor to Pugs' abstract syntax tree.
18:40 autrijus :D
18:40 autrijus it continues to Parser.hs
18:40 autrijus but the tree at Parser is the Valinor one
18:40 * shapr laughs
18:41 shapr That's inspired.
18:41 shapr I wish I had thought to mention that in my LtU post.
18:41 castaway cute
18:41 autrijus you can always reply to yourself :)
18:41 shapr truly
18:41 masak has joined #perl6
18:41 shapr And I already want to mention metaperl's perl6 presentations on functional p6
18:42 metaperl mention them where?
18:42 theorbtwo Corion, wasn't paying attention, sorry.  Does it still actually work with the waitpid commented out?
18:42 shapr On lambda-the-ultimate.org
18:42 Corion theorbtwo: Yep - I now get Pugs to build, after Makefile.PL actually produced output
18:42 metaperl oh did you get my msg about needing to reference the pugs source tree to rebuild my slides?
18:42 Corion But that was with Plugins.hs missing on my GHC (6.4 on Win32)
18:42 shapr Yes, I saw that.
18:43 metaperl do we have a pugs src tree on Scanned?
18:43 shapr No, but we can.
18:43 shapr Do you want a centralized location?
18:43 shapr What's the sensible way to share a directory among multiple users in Linux?
18:44 Corion I'm writing some more tests for %*ENV, any other suggestions than "We can set a value (don't die)", "we can read the value back" and "A child-pugs sees the new value" ?
18:44 integral shapr: create a group and add all the users concerned to it maybe?
18:44 shapr Is there a conventional location for shared dirs?
18:44 metaperl this is not a major issue : I do my pugs updates and development at hcoop.net... I was just mentioning it... the slides are already made and ready to go
18:44 integral shapr: more dirs in /home is one fairly common way
18:44 shapr seems cheesy
18:46 Corion I have /home/media
18:46 shapr I'd wish for something like /share/ such that dirs that I have access to, say /share/foo, get mounted in ~/foo or ~/share/foo
18:46 Corion (and a group "media" for those who are allowed to read files in it)
18:46 Corion shapr: There is always the option of mounting the new dir below all users. :)
18:47 shapr yeah, I like that.
18:47 Corion shapr: That could be done with some shell scripts. But I know of no premade solution.
18:47 shapr It's strange that unix doesn't have a source collaboration convention.
18:47 Corion shapr: cvs :)
18:47 Odin_ has joined #perl6
18:48 gaal has joined #perl6
18:48 shapr Good point, make your own copy of the source and send tracked diffs.
18:48 shapr Not so useful for 60gb of music though.
18:48 gaal hey, to2 there?
18:48 * castaway pokes him
18:48 gaal what's the link to hs-plugin again? i want to add it to the README
18:48 theorbtwo Yo?
18:48 autrijus * regex restored; my ($a, $b) = (1, 2) restored.
18:48 gaal (or maytbe we need an INSTALL file?)
18:48 autrijus gaal: ftp://ftp.cse.unsw.edu.au/pub/users/dons/hs-plugins/snapshots/
18:49 gaal thanks
18:49 autrijus I'm pondering bundling it. but maybe wait till the next releas of hsplugins
18:49 theorbtwo ftp://ftp.cse.unsw.edu.au/pub/users/dons/hs-plugins/snapshots/
18:49 theorbtwo Oh, too slow.
18:50 nothingmuch evening
18:50 theorbtwo Allo, nm.
18:50 gaal heya
18:51 gaal is it for "dynamic loading of haskell modules", or "inline haskell", or both?
18:51 theorbtwo I'm not sure there's a difference.
18:51 theorbtwo (Both.)
18:51 gaal k
18:51 autrijus [1..10][0] = 10
18:51 autrijus nice. works.
18:51 autrijus it has always puzzled me why it did not work in perl5.
18:52 * castaway ponders why the 0th value 10 is, and not 1
18:52 gaal c weirdity: did you know that [5]a is valid syntax? array subscripting is commutitative there
18:52 Odin-LAP has quit IRC (Read error: 110 (Connection timed out))
18:52 autrijus Corion: "=" as in assignment
18:52 Odin- has quit IRC (Read error: 110 (Connection timed out))
18:52 autrijus err
18:53 autrijus castaway: "=" as in assignment
18:53 Odin_ autrijus: 'default value' lists, then?
18:53 Odin_ is now known as Odin-LAP
18:53 autrijus Odin_: hm?
18:53 Corion We need better huffmanized nicks :)
18:53 castaway oh, I see
18:53 jabbot pugs - 1743 - * [...] literal restored.
18:53 jabbot pugs - 1742 - * regex restored; my ($a, $b) = (1, 2) r
18:53 elmex has quit IRC ("leaving")
18:54 Odin- has joined #perl6
18:54 Odin-LAP autrijus: Nevermind. :p
19:01 iblechbot has joined #perl6
19:03 justatheory has quit IRC ()
19:03 jabbot pugs - 1744 - add note about where to get hs-plugin
19:04 gaal on msys, hs-plugin build fails with "env: ghc-pkg-6.4: No such file or directory". what's that?
19:04 autrijus is ghc-pkg in your path?
19:04 autrijus or ghc-pkg-6.4
19:04 gaal ghc's bin/ dir is..
19:04 gaal adn yes, it contains ghc-pkg.exe anyway
19:05 gaal not 6.4 though. should i hack a copy?
19:05 autrijus do so
19:05 autrijus and report bug to dons
19:05 autrijus (in #haskell)
19:06 gaal beh ):   Fail: c:/apps/ghc/ghc-6.4/bin\package.conf: openFile: does not exist (No such file or directory)
19:06 autrijus there's no package.conf?
19:06 gaal path brokenness, but this could be ghc's fault
19:06 gaal no, look at the path
19:06 gaal "/ .. /  ... \ "
19:07 gaal there's *also* no package.conf :/
19:07 autrijus I thought msys groks that
19:07 shapr hs-plugins doesn't handle windows paths yet, but dons said that's the only known issue with hs-plugins on win32
19:07 gaal there is one, one dir up
19:08 shapr And he said there's some code in GHC that does handle both flavors of paths correctly, so that's the best candidate for borrowing.
19:08 autrijus ah. known bug then
19:08 autrijus try copying it for now, maybe?
19:09 gaal building GHCi library C:/DOCUME~1/GAALYA~1/LOCALS~1/Temp/hs-plugins-20050411/src/altdata/HSaltdata.o...Reading package info from stdin... done.
19:09 gaal Fail: rawSystem: invalid argument (Invalid argument)
19:09 gaal i'll go ask on #haskell though
19:09 gaal this is less important than sleep
19:10 gaal yours that is
19:10 Corion I think plain Win32 API handles both, forward and backward slashes without problems.
19:10 Corion Even when mixing the two.
19:10 * theorbtwo nods.
19:10 gaal in syscalls... yes
19:11 Corion gaal: Oh. You mean GHC does some internal filename mangling...
19:11 gaal could be, could be. but i got past that bit actually, autrijus' suggestion to copy the file worked.
19:13 shapr I still can't figure out how to switch from vCast to fromVal
19:14 shapr autrijus: do you have a moment to give an example for one of op1{Hex,Ord,Chr,Log,Log10} ?
19:14 autrijus huh?
19:14 shapr pugs compiles fine, but running tests on hex/ord/chr/log/log10 all complain about casting from Ref
19:14 autrijus $ perl -e 'print ord 1'
19:14 autrijus 49
19:14 * shapr blinks
19:14 autrijus oh, that.
19:15 autrijus the casting thing is in Test.pm
19:15 shapr I get "pugs: cannot cast from Ref, use fromVal instead"
19:15 shapr oh
19:15 autrijus it's also in hangman
19:15 autrijus but I failed to track it down
19:15 autrijus too sleepy
19:15 shapr no worries
19:18 nothingmuch has quit IRC ()
19:20 theorbtwo G'night, all.
19:22 miyagawa has joined #perl6
19:23 shapr Anyone else trying to find the problem with Test.pm?
19:24 autrijus journal up.
19:24 autrijus g'night!
19:24 gaal i wish i knew enough to help!
19:24 autrijus *wave* &
19:24 gaal bye A
19:24 shapr cya autrijus
19:24 autrijus hi miyagawa-san! :)
19:24 * autrijus sleeps
19:24 miyagawa gnight :)
19:25 shapr I can handle the Haskell side, but I'm lost on the Perl side.
19:25 gaal I can handle the Perl. Let's go for it :)
19:25 shapr If I run Test.pm by itself, no error.
19:25 shapr awright!
19:25 * gaal makes tea before all else :)
19:25 gaal bbi5
19:25 shapr So the question is, how to cut down Test.pm to just the error?
19:25 shapr ok
19:26 shapr Or I could whip up some QuickCheck tests and try to find the error that way.
19:29 gaal heh :)
19:29 gaal do you know if ALL tests fail to load?
19:29 shapr I haven't found any that work.
19:30 gaal "./pugs -MTest -e1" works.
19:30 shapr I interrupted the tests about halfway through though.
19:30 shapr What does that mean?
19:30 gaal it's a one-liner that loads the module, and executes the pretty boring Perl script "1" .
19:30 gaal (which evaluates to 1, but does not much else)
19:31 shapr So, call the different subs with arguments?
19:31 gaal and ok() fails.
19:31 gaal since pretty much everything wants that...
19:32 shapr Is proclaim a builtin?
19:32 gaal no, devfined in line 192
19:33 gaal oh, it might be the CALLER magic stuff
19:33 * shapr stares at the bits inside proclaim
19:33 shapr How to test the CALLER magic?
19:34 gaal it isn't that :) i commented out that line and it stiull parsefails.
19:35 gaal i'm doing the slash-and-conquer debugging thing, one sec
19:35 shapr I like that approach.
19:35 * shapr waits patiently
19:36 gaal this looks to be the offending line:     $context = "TODO" if @forcetodo_tests[$loop];
19:36 gaal so array subscripting broke?
19:36 gaal $loop is an integer
19:36 gaal oughta be, anyway
19:36 shapr How do you make an array?
19:36 gaal @array_name
19:36 gaal my @arr = (1, 2, 3)
19:37 shapr so we can test with @arr(1,2,3)[1] ?
19:38 gaal 'my @x=(1,2); say @x[0]' works.
19:38 miyagawa has left
19:38 gaal so maybe when the parser sees a scalar var there it gets confused.
19:38 shapr is it the if?
19:38 shapr oh
19:38 gaal grr, no, my hypoth is wrong
19:38 gaal maybe the if, yes.
19:39 gaal sec
19:41 gaal okay, it is the predicate if: [roo@sike:~/src/pugs 2303] > ./pugs  -e 'my $l = 1;{my @x=(1,2); say @x[$l]}'
19:41 gaal 2
19:41 gaal [roo@sike:~/src/pugs 2304] > ./pugs -e 'my $l = 1;{my @x=(1,2); say "moose" if @x[$l]}'
19:41 gaal pugs: cannot cast from Ref, use fromVal instead
19:41 gaal but if the condition is simple, no error.
19:42 gaal (ignore the braces, i thought maybe different scopes influenced the problem. they don't.)
19:42 shapr I have trouble ignoring anything in Perl, the syntax is unfamiliar, can you scrape it down to the minimu?
19:42 shapr Then I can go merrily spelunking in the Haskell side of Pugs.
19:43 shapr oh, the curlies on the sides?
19:43 gaal yes, just one sec
19:43 elmex has joined #perl6
19:43 gaal say "PASS" if 1; # OK
19:44 gaal say "PASS" if 1 + 1; # OK
19:44 gaal say "PASS" if @array[0]; # NOT OK
19:44 gaal say "PASS" if %hash<somekey>; # NOT OK
19:45 shapr those give errors for undeclared vars
19:45 shapr Can you define and use an array immediately?
19:45 gaal oh, sorry, use these:
19:45 gaal my @array = (1, 2); say "PASS" if @array[0]; # NOT OK
19:46 gaal my %hash = <somekey someval>;  say "PASS" if %hash<somekey>; # NOT OK
19:46 gaal okay, it's not only bad with predicate if
19:46 gaal regular if fails too, but with another message:
19:46 gaal No compatible subroutine found: &if
19:46 gaal App "&if" [] [Syn "{}" [Syn "{}" [Var "%x",Val (VStr "1")],App "&say" [] [Syn "cxt" [Val (VStr "Str"),App "&infix:~" [Val (VStr "OK"),Val (VStr "")] []]]]]
19:46 iblechbot has quit IRC (Connection reset by peer)
19:46 shapr and it should succeed?
19:47 gaal yes, it looks like if itself is broken.
19:47 webmind_ is now known as webmind
19:47 shapr Is unless broken too?
19:47 gaal e.g.:
19:47 gaal if 1 {say "OK"} # ok
19:47 gaal my @x=(1, 2); if @x[1] {say "OK"} # NOT OK
19:48 gaal unless is broken the same way.
19:48 shapr Well, the problem is on line 279 of Eval.hs
19:48 gaal "No compatible subroutine found" when used in non-predicate syntax
19:48 gaal s/syntax/form/
19:49 shapr It seems that doCond by itself is not sufficient.
19:50 gaal what .hs file?
19:50 shapr src/Eval.hs
19:50 shapr line 279, "if" uses "doCond id"
19:50 shapr doCond is define on line 545 in the where clause
19:51 elmex hxor
19:51 shapr the condition is assigned to cond and passed to enterEvalContext on the next line.
19:51 shapr hiya elmex
19:51 shapr enterEvalContext is on line 123 of the same file...
19:53 gaal what's evalExp?
19:53 shapr heck if I know..
19:54 gaal i don't see it defined here at least....
19:54 shapr aha, grep says line 755 of AST.hs
19:54 gaal AST764
19:54 gaal :)
19:55 gaal "asks" is monad voodo stuff?
19:55 shapr oh, evalExp is simple, get the environment, and then execute the expression with that environment.
19:55 gaal ok
19:55 shapr the environment includes anything that's in scope
19:56 gaal lexicals too?
19:56 shapr likely *everything*
19:56 gaal let's see if when these are globals there's no fail.
19:56 gaal same problem.
19:56 shapr I think you hit the essence of the problem when you found out that complex conditions don't work, simple ones do.
19:57 shapr somewhere the condition is being treated as value instead of code.
19:57 Boogie has joined #perl6
19:57 gaal not quite: function results are OK, i just checked.
19:57 shapr hm?
19:57 gaal sub t { 1 } say "OK" if t; # ok
19:57 gaal sorry, "if t()"
19:58 shapr oh, interesting.
19:58 shapr so maybe it's only lookup?
19:58 gaal and also: when the sub actually does the lookup, we still pass
19:58 co2 has quit IRC ("bye")
19:58 gaal it's only when the lookup is in the conditional that there's an error
19:59 * elmex begins a perl 6 voodoo dance around pugs with a parrot on his shoulder
19:59 shapr Does it happen with do while until as well?
19:59 gaal (btw, when simple scalars are involved, we're good.)
19:59 shapr simple scalar is a simple value, right? no lookup?
19:59 gaal ie my $val = 1; say "OK" if $val; # ok
19:59 gaal yes
20:00 shapr huh
20:00 gaal sec
20:00 shapr scalar lookups work, other lookup don't
20:00 * shapr blinks
20:00 gaal ?
20:00 shapr That's correct?
20:00 gaal "ie" was not part of the test up there
20:00 shapr right :-)
20:01 gaal sorry :)
20:02 gaal ./pugs -e 'my @x=(1);while @x[0] { say "hi "}'    # NOT OK
20:02 gaal No compatible subroutine found: &while
20:02 gaal App "&while" [] [Syn "{}" [Syn "[]" [Var "@x",Val (VInt 0)],App "&say" [] [Syn "cxt" [Val (VStr "Str"),App "&infix:~" [Val (VStr "hi "),Val (VStr "")] []]]]]
20:02 mj41 has joined #perl6
20:03 gaal ./pugs -e 'sub nil { 0 } ;while nil() { say "hi "}'
20:03 gaal No compatible subroutine found: &while
20:03 gaal App "&while" [] [Syn "{}" [App "&nil" [] [],App "&say" [] [Syn "cxt" [Val (VStr "Str"),App "&infix:~" [Val (VStr "hi "),Val (VStr "")] []]]]]
20:03 gaal (i don't really know lisp, i'm just fooling around with "t" and "nil" :p
20:03 shapr heh
20:04 shapr Maybe it's the "vCast vbool" bits that happen in both doCond and doWhileUntil?
20:04 gaal but this last example is interesting, because previously funcition calls did work ok when we looked at if/unless
20:04 Detoxv has joined #perl6
20:05 gaal let me remember how to force bool context within perl
20:05 * gaal missies having the synopses inside the source tree
20:06 xerox has quit IRC ("ERC Version 5.0 (CVS) $Revision: 1.751 $ (IRC client for Emacs)")
20:07 mjh ? imposes boolean context, no?
20:07 gaal ah, yes, thanks mjh
20:07 * mjh quite likes p6bible, fwiw
20:08 gaal ./pugs -e 'my @a=(1);?@a[0]' # OK
20:08 bradb has joined #perl6
20:08 gaal mjh, grep is faster than perldoc...
20:08 mjh true
20:08 shapr what other contexts can you force?
20:08 mjh all of 'em
20:09 mjh string, list, number, boolean
20:09 gaal well,
20:09 gaal scalar and list are the 'major' contexts
20:09 shapr and why would context forcing change the result? does it evaluate the result earlier or something?
20:10 gaal i recall there being a specifc place in the spec they were discussed
20:10 * mjh tries to wrap his mind around whether hash contexts exist
20:10 mjh the beginning of [as]03 amongst operators, i think
20:10 shapr so, can you try all the contexts to see which succeed, and which fail?
20:10 gaal shapr, context is everything in perl :)
20:11 gaal in perl5: perl -le 'print localtime' -> 2811231031050991
20:12 gaal perl -le 'print scalar localtime' -> Sun Apr 10 23:11:55 2005
20:12 Detoxv has left
20:12 gaal because in scalar context, "localtime" returns the pretty string
20:13 gaal in list context (print), it returns the separate c-ish struct tm members, sec, min, hour, etc.
20:13 BigBear has joined #perl6
20:14 gaal this is one of the most shocking things for newcomers
20:14 gaal (sorry if you knew about it already)
20:14 mjh rather counterintuitive that there isn't a hash context, though
20:14 gaal ther sint' one in p5:
20:15 mjh of course, because of how hashes were tacked on
20:15 gaal there's scalar and *list*, not scalar and array
20:15 gaal no, lists ne arrays
20:15 gaal lists for example have constant size
20:15 mjh and hashes can be thought of as lists of pairs in p6 still?
20:15 gaal they aren't variables at all
20:15 * mjh nods.
20:16 gaal there's a nice summary of that with lots of ways to iterate over a hash
20:16 gaal you can ask for individual pairs with .kv
20:16 gaal but let me get back to bugquartering
20:17 mjh so a hash in a list context would still give a list of its key value pairs, then
20:17 mjh ok :)
20:18 gaal it's not "still"; you get a list with half the elements as youwould in p5; only each element has two elements of its own
20:18 gaal list of pairs ne flattened list
20:19 mjh ah, sorry - i misunderstood
20:19 mjh cool :)
20:19 gaal i suppose %id_to_name = %name_to_id.reverse only works because reverse is now a multi sub
20:19 gaal not by virtue of the flattening thing.
20:20 gaal ./pugs -e 'my @a=(1);say "ok" if @a' #ok
20:20 gaal ./pugs -e 'my %a=(1, 3);say "ok" if %a' # ok
20:20 gaal so it does look like subscripting has something to do with it.
20:21 shapr this should fail, correct? "./pugs -e 'my @array = (1, 2); say "PASS" if @array[0]'"
20:21 gaal yes, that's the first failing test we found
20:21 * shapr bounces
20:21 ihb has quit IRC ("quit")
20:22 shapr I think I've cargo-culted my way into a fix then.
20:22 gaal but shouldn't i mean *really* fail :)
20:22 gaal shapr++
20:22 shapr But wait till it really works :-)
20:22 gaal hey, you have many tests to check it on :)
20:23 gaal "you" = "we" really
20:23 shapr right
20:23 gaal TDD++; #again
20:23 shapr truly
20:23 Corion gaal: Maybe you should make all those tests into t/sanity/01.t up to 99.t :-)
20:24 Corion gaal: That way, we can retrace our steps at least :)
20:24 Corion ... and get something like a language structure :)
20:24 gaal those'd be pugsbugs style tests, and man, they'd be slow :(
20:24 gaal oops pugsrun
20:25 gaal because they'll want to be in separate .t's
20:25 Corion gaal: Yeah, they'd be slow. So maybe a directory outside of t/ would be better ... prove -l sanity/*.t :)
20:25 Corion gaal: True
20:25 gaal though actually
20:26 gaal maybe not. "in case of doubt, break glass". put them all in one file. put a comment saying, "when in doubt, move teh __END__ marker around".
20:26 gaal i frequently use that trick to find stupid unbalancved braces :(
20:26 Forth has quit IRC (Read error: 110 (Connection timed out))
20:26 Corion gaal: Good idea!
20:27 gaal (do we even have __END__ in p6? :)
20:27 Corion gaal: The tests should be ordered somewhat in "increasing difficulty/complexity" :)
20:27 Corion gaal: =kwid :)
20:27 Corion ... or =for END :)
20:28 gaal seek DATA, 0, 0; print <DATA> :)
20:28 * shapr fights with svn
20:28 * gaal roots for shapr
20:29 shapr the change is way simple, I just added the same line to both doCond and doWhileUntil
20:30 shapr vb        <- fromVal vbool
20:30 gaal want me to ci it for you, shapr?
20:30 shapr lemme try it again
20:31 gaal looks like you then have to use vb (ew, use VB?) instead of vbool, yes?
20:31 shapr yup
20:31 shapr ok, I think it's checking in now.
20:31 shapr yay
20:31 shapr ok, svn up and try it
20:32 shapr how do I do darcs revert with svn?
20:32 gaal dunno
20:32 shapr I want to undo all my local changes and get back to pristine r1745
20:32 Corion svn revert filename
20:32 Corion shapr: Maybe even "svn revert" then ;)
20:33 gaal svn up -r1745 ?
20:33 jabbot pugs - 1745 - added fromVal call to doCond and doWhile
20:33 shapr yay
20:33 theorb has joined #perl6
20:33 Corion (+ 1) shapr -- testing works again
20:33 shapr much happiness!
20:33 gaal w00t!
20:34 theorb Cool!
20:34 gaal um, still some probelms for me
20:34 shapr tell me!
20:34 Corion Ah. Some other tests are still failing for various reasons
20:34 shapr I suspect that same thing needs to happen elsewhere
20:34 Corion cannot cast as Str: VRef <Array>
20:34 gaal t/builtins/arrays_and_hashes/keys_values....NOK 9cannot readRef
20:34 shapr yep, sounds likely
20:34 Corion and <Scalar>
20:34 Corion (and <Handle>)
20:35 gaal line 301 (loop)
20:35 shapr ah, I bet you're right
20:35 nothingmuch has joined #perl6
20:36 nothingmuch has quit IRC (Client Quit)
20:36 shapr from autrijus' journal entry, I wonder if the later vCast calls can be entirely replaced with fromVal
20:38 gaal when i try the fromVal hack on 'loop': src/Eval.hs:301:12: The last statement in a 'do' construct must be an expression
20:38 gaal ?
20:38 shapr Did you add the vb <- fromVal vbool just after the vbool line?
20:38 gaal yes
20:38 shapr and then change vCast vbool to vCast vb?
20:38 shapr and were you really careful about indentation =)
20:38 gaal indeed
20:39 gaal aaah, no, that i was not
20:39 * gaal is still used to 'noexpandtab'.
20:39 gaal evil, evil tabs
20:39 gaal works now, thanks :)
20:40 gaal vim oughta know better!
20:40 shapr I did that fix too, but it doesn't fix arrays/delete.t
20:41 xern has quit IRC ("Lost terminal")
20:41 shapr I assuem it's more of the same though.
20:41 gaal i didn't find any more obvious (to me) places to change.
20:41 shapr what about the vCast in "when" ?
20:41 gaal but lets' see what tests DO make it there
20:42 Corion t/data_types/hash_ref seems to loop forever now
20:43 shapr Too bad I can't donate my sleep time to autrijus so he can stay awake more.
20:43 Corion Oh - theorbtwo, in case you read this - my "fix" for ghc-pkg was bogus, as I find lots of ghc-pkg.exe processes here. Seems like waitpid is right - the processes just don't finish.
20:44 theorb Hm, odd.
20:44 theorb I don't know why it'd be slow to run.
20:44 shapr there was a discussion about requiring a final read for subprocesses to go away
20:44 gaal shapr, i'm not sure there's a problem with delete.t -- it's a test marked as eval
20:45 Corion theorb: I think more that it waits for input or has input to be read or whatever. Will investigate more tomorrow - gotta sleep now ;)
20:45 theorb G'night.
20:45 shapr Yes, I agree with Corion
20:45 Corion shapr: ghc-pkg is run from within Perl
20:45 shapr oh, never mind then
20:45 Corion shapr: And I'd expect Perl to behave "properly". But then again, IPC::Open3 might not.
20:46 Corion Anyway - that can wait until tomorrow :)
20:46 gaal i mean, it does parsefail, whcih is bad, but there's a chance it used to do that earlier too.
20:46 theorb Could replace it with a system(); the advantage is cosmetic.
20:47 shapr if I run make test does it save the results somewhere? or do I need to explicitly pipe to a file?
20:47 gaal i get the infinite loop in hash_ref.t too, in assiginging via hash slice.
20:48 gaal shapr, no; but if you run the util/yaml_harness.pl it does save results
20:48 gaal though you shouldn't do that now because it'll get stuck :)
20:49 gaal i'm rounding these up, sec
20:51 * rgs likes S26
20:55 gaal ok, it looks like the cannot readRef / Val (VRef <Handle>) occurs "after the last test" in some cases
20:55 gaal so perhaps something sometimes corrupts some interpreter state and only causes a crash on cleanup
20:55 gaal while sometimes it crashes right away.
20:56 gaal shapr: i'll ci a version of hash_ref.t that doesn't go into a loop now, so you can run the yaml harness
20:56 shapr ok
20:56 gaal btw the output of that is what goes to the pretty htmlifier
20:56 gaal so you can post your smoke results if you like.
20:56 shapr So we'll have pretty smoke back soon?
20:56 gaal yup
20:57 gaal i hope smokers aren't eating up too much cpu now :(
20:58 shapr yeah, smoke needs to have an upper limit.
20:59 gaal r1746
21:00 larsen has joined #perl6
21:01 shapr so, running util/yaml_harness will make colored smoke automagically?
21:01 gaal not yet.
21:01 gaal after you finish running it, do
21:01 theorb No, util//yaml_harness creates the yaml file; util/testgraph makes the colored smoke from the yaml file.
21:01 shapr Ah, I see.
21:02 gaal yeah
21:02 gaal make sure to redirect the testgraph output somewhere
21:02 ninereasons has joined #perl6
21:02 gaal and also, copy over the nice css to where youput the html.
21:03 shapr ok
21:04 Corion has quit IRC (Read error: 110 (Connection timed out))
21:05 ninereasons wasn't I able to say my @a = (1..Inf)  yesterday?  Now it hangs unlazily.  Am I makinig this up?
21:06 gaal 9r: oops, please comemnt out the test and add a fail on top of it
21:07 gaal shapr: there are still more parsefails.. arrays_and_hashes/pair for example
21:07 shapr I should have tried make -j3 test
21:07 gaal but many, really
21:07 gaal it's time for bed, for me
21:07 gaal see y'all later!
21:07 shapr me too
21:07 shapr g'night gaal, thanks for your help
21:07 ninereasons night.
21:07 gaal sure!
21:07 gaal bye.
21:08 shapr cya!
21:09 |hugues has quit IRC ("KVIrc 3.2.0 'Realia'")
21:12 shapr http://www.scannedinavian.org/~shae/pugs-smoke.html
21:13 jabbot pugs - 1746 - prevent infinite loop (needs some love u
21:18 ninereasons has quit IRC ("Called away")
21:26 BigBear has quit IRC (Client Quit)
21:27 mj41 has quit IRC (Read error: 110 (Connection timed out))
21:30 ingy hola
21:31 theorb Hola, ingy.
21:37 theorb has quit IRC ("bedtime")
21:43 Maddingue_ has joined #perl6
21:44 Aankhen`` has quit IRC (""Be good and you will be lonesome." -- Mark Twain [Time wasted online: 13hrs 54mins 24secs]")
21:46 oylenshpeegul has joined #perl6
21:51 Maddingue__ has quit IRC (Read error: 60 (Operation timed out))
21:52 elmex has quit IRC ("leaving")
22:03 jabbot pugs - 1747 - these should be "cleaned up" before dist
22:07 stevan howdy all
22:23 jabbot pugs - 1748 - pleacs comments, XXX-tagged.
22:33 dolmen has joined #perl6
22:35 ihb has joined #perl6
22:37 Qiang_zh has joined #perl6
22:38 Odin- has quit IRC (Read error: 54 (Connection reset by peer))
22:45 Odin-LAP has quit IRC (Read error: 104 (Connection reset by peer))
22:46 dabreegster has joined #perl6
22:47 dabreegster has left "I have no clue why I just joined here."
22:53 Ovid has joined #perl6
22:54 Ovid I assume that Pugs does not have have an 'e' switch on regexes?
22:59 Odin-LAP has joined #perl6
23:04 oylenshpeegul has quit IRC ("Download Gaim: http://gaim.sourceforge.net/")
23:05 Odin- has joined #perl6
23:07 stevan Ovid: it does not need it
23:07 stevan s:perl5/.../{<code>}/ should work
23:07 Ovid Oh?  Perhaps for rules, but right now with Perl5 regexen ... (oh, I see)
23:07 ihb stevan: what happens when you want to interpolate a curly bracket?
23:07 stevan Ovid: look at the url_encode/decode in CGI
23:08 stevan ihb: no idea :)
23:08 mjh \{ works
23:08 Ovid I'll try that.  In the meantime, I've found that Pugs just stops compiling code after a bit in my conversion of HTML::Entities.
23:08 Ovid :(
23:08 stevan Ovid: is it checked in?
23:09 Ovid No.  I see that the README for ext says that those should be working and tested examples.  I can't get it working because of that.
23:10 stevan Ovid: does it give an error?
23:11 Ovid No.  It compiles just fine.
23:11 stevan Just not all of it
23:11 Ovid Right.
23:12 stevan Very strange
23:12 stevan are you using a very recent build? Because some of the ITypes refactor is still unfinished (I think)
23:12 Ovid In compiling the code, I don't get the second say():
23:12 Ovid say "********** testing  ************";
23:12 Ovid # Make the opposite mapping
23:12 Ovid for (%entity_to_char.kv) -> $key, $value {
23:12 Ovid    %char_to_entity{$key} = $value;
23:12 Ovid }  
23:12 Ovid    
23:12 Ovid say "********** testing 1 ************";
23:13 Ovid I have the version immediately before the ITypes refactor.
23:13 Ovid Though I have been doing updates, I just haven't recompiled pugs.
23:13 jabbot pugs - 1750 - adding ChangeLog for 6.2.0 (I am sure we
23:13 jabbot pugs - 1749 - adding some online resources as well
23:13 stevan Ovid: dont recompile yet :)
23:13 stevan Ovid: so Pugs just stops ??
23:15 Ovid No.  It actually loads the module just fine.  However, one of my tests fails when I try to call decode_entities:
23:15 Ovid No compatible subroutine found: &decode_entities
23:15 Ovid App "&decode_entities" [] [Var "$a"]
23:15 stevan Ovid: BTW - we dont have optional export yet, I actually think much of the module code is currently a placeholder hack
23:15 Ovid OK.  I kind of suspected that.  Thanks!
23:16 Ovid Are there limits to program size (perhaps in lines?).  I have a 260 line hash in this program.
23:16 stevan Ovid: I think I would have to see your code. I am off to dinner now, but if you want to email it to me later on i will be happy to take a look
23:16 stevan Ovid++ # fixing up CGI
23:17 Ovid Thanks.  I'll add more to that later.
23:17 Ovid In the meantime, I'll email it.
23:17 stevan ok, I will try to take a look after dinner (1-2 hours from now)
23:17 Ovid Is your email on the CPAN?
23:18 stevan yup, [email@hidden.address]
23:26 Ovid If you're still here, stevan:  email sent.
23:28 Ovid has quit IRC ()
23:30 mjh has quit IRC ("computers suck.")
23:34 justatheory has joined #perl6
23:38 larsen has quit IRC ("later")
23:45 dolmen has quit IRC ("Fermeture du client")

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo