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 |