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