Check your feather email | spec.pugscode.org | paste: sial.org/pbot/perl6 | pugs.blogs.com | www.treehugger.com/files/th_images/paradigm.jpg Set by audreyt on 29 August 2006. |
|||
TreyHarris | I don't understand. I thought you were saying L<NONEXISTENT/foo> should be considered broken. | 00:00 | |
Or are you saying L<NONEXISTENT/foo> and L<BOOM> are not treated the same? | |||
markstos | Right. | ||
TreyHarris | which? | 00:01 | |
markstos | L<NONEXIST/foo> is treated as non-broken smartlink, while L<BOOM> is skipped. | ||
TreyHarris | "non-broken" meaning.... it thinks it actually finds its target? where does it think the target is? | 00:02 | |
markstos | dude, I don't know. I'm using it for the first time tonight. The code is a little difficult to review in there. | 00:03 | |
I was just trying to make sure I knew what --check did, but constructing a smart link that was actually considered broken, but I'm having trouble doing so... | 00:04 | ||
s/but/by/ | |||
TreyHarris | use something like L<S03/No such section/These words never appear> | 00:05 | |
markstos | Well, I'm stuck on looking to this bug. :) I actually made a real typo by using S9 instead of S29, and it appeared that mistake was silently ignored. | ||
TreyHarris | how odd. I spent a good long while last night making it so that some valid smartlinks would *not* be broken | 00:06 | |
markstos | Interesting. :) | ||
One thing I noticed the smartlink.pl POD doesn't cover is the definition of a link. When is L<something> considered a smart link and not just a link ? | 00:07 | ||
TreyHarris | well, you can certainly try my file, since i know it works | ||
markstos | your smartlinks.pl ? | 00:08 | |
TreyHarris | t/operators/smartmatch.pl ... try changing "simple closure truth" to, say "simple cloTure truth". it'll break. | ||
no, run util/smartlinks.pl -check t/operators/smartmatch.pl, to verify the links all work, then change on trivially | |||
s/on/one/ | |||
markstos | Yes, I've been able to to trigger that kind of a failure. I'm interested in the I-typoed-the-synopsis name case. | 00:09 | |
TreyHarris | I think that L<> is always considered a smartlink so long as the L has nothing but possible whitespace to its left | ||
markstos | Those seem to be silently ignored now.... but maybe that's different between a "smart link" and "just a link", but that difference is not defined, that i can find. | ||
TreyHarris | er, whitespace and/or # | ||
markstos | s/different/difference/ | 00:10 | |
TreyHarris | markstos: sorry, i can't figure out what you're saying... it would help if i could see an example of a 'silently ignored' smartlink that you think should be broken | 00:11 | |
markstos | TreyHarris, put this in a test file and run smartlinks.pl --check on it: | 00:12 | |
# L<S600/split> | |||
It will report that one smart link was found, and none are broken. | |||
It should at least warn that S600 doesn't exist yet. | 00:13 | ||
TreyHarris | ah. gotcha. | ||
that would be a feature add. right now, nonexistant is nonexistant, whether it looks like an AES or not | |||
markstos | Oh the other hand, I'm having trouble getting L<S29/split> to work. It is considered broken, although "=item split" is in the POD. | 00:14 | |
TreyHarris | because people were making smartlinks to S29 before it was blessed | ||
markstos | I also tried L<S29/=item split> | ||
TreyHarris: Thanks for the clarification. | 00:15 | ||
TreyHarris | split isn't a section | ||
markstos | Ok. How to link to it? | ||
There are so many functions... it seems useful to link directly to them. There are about 100 tests for split alone. | |||
TreyHarris | you want L<S29/Str/=item split> | 00:16 | |
markstos | Ah. | ||
TreyHarris | look for the prior =head | ||
markstos | Moose! Seems to work. | 00:17 | |
00:17
jferrero joined
|
|||
markstos | No wonder my prior blissfully ignorant (and unchecked) smart links weren't working. | 00:17 | |
TreyHarris | actually, L<S29/Str/"=item split"> would be safer | ||
in case some other =item contains the word "split" | |||
markstos | Thanks. | 00:18 | |
TreyHarris | np | 00:19 | |
markstos | I'm surprised t/builtins/strings/split.t dies so horribly, though. It has a parse error at line 63, and I just don't see it. | 00:20 | |
svnbot6 | r13168 | markstos++ | [t/builtins/strings/split.t] | ||
r13168 | markstos++ | Add smart link. TreyHarris++ for help. | |||
markstos | Try it with prove6 -v. | ||
I'll look at smartlinking more builtins. | |||
00:23
Aankhen`` joined
|
|||
svnbot6 | r13169 | markstos++ | [t/builtins/strings] | 00:26 | |
r13169 | markstos++ | Add 3 smartlinks in this dir. Every file has at least one now! | |||
TreyHarris | markstos: rx:Perl5{,} isn't valid syntax | 00:29 | |
see... um.... | |||
00:29
rodi joined
|
|||
TreyHarris | i'll look in a sec | 00:29 | |
but when you have an adverb, you need a space | 00:30 | ||
so it's rx:Perl5 {,} | |||
rather, an adverb followed by a bracket | |||
markstos | Ah. | ||
Because rx:Perl5/,/ might be valid ? | |||
TreyHarris | ?eval rx:Perl5/,/ | ||
00:30
nekokak joined,
evalbot_r13164 is now known as evalbot_r13168
|
|||
evalbot_r13168 | {regex} | 00:30 | |
TreyHarris | it is valid :-) | ||
markstos | ?eval rx:Perl5{,} | 00:31 | |
evalbot_r13168 | Error: unexpected end of input expecting "\\", "$/", "$!" or ":" | ||
TreyHarris | ?eval rx:Perl5 {,} | ||
evalbot_r13168 | {regex} | 00:32 | |
TreyHarris | are you fixing it, or do you want me to? | ||
markstos | Could you? I'm doing more smart linking. | 00:33 | |
00:33
bsb joined
|
|||
svnbot6 | r13170 | trey++ | [t/builtins/string/split.t] | 00:38 | |
r13170 | trey++ | Was not running at all because rx:Perl5 was | |||
r13170 | trey++ | not being followed with whitespace and so | |||
r13170 | trey++ | pattern was getting interpreted as adverb | |||
r13170 | trey++ | arg. All tests now pass again. | |||
r13171 | markstos++ | [t/builtins/arrays] | 00:44 | ||
r13171 | markstos++ | Everything here has at least one smart link now. (6 added). | |||
00:55
NamelessOne joined
01:05
meowboy joined
01:07
dolmans joined
|
|||
svnbot6 | r13172 | markstos++ | [t/builtins/math] | 01:07 | |
r13172 | markstos++ | Every file here now has at least one smart link, except | |||
r13172 | markstos++ | infinity. I sent mail to p6l about Inf not being formally spec'ed yet. | |||
r13172 | markstos++ | (9 new links added, all checked.) | |||
audreyt | @tell putter the inferencer bug has been fixed quite a while ago; invocant is now always reduced first. | 01:28 | |
lambdabot | Consider it noted. | ||
audreyt | @tell putter "my C $x" inside subs would cause $x be refreshed upon sub reentry. fixing now. | ||
lambdabot | Consider it noted. | ||
01:29
Daveman joined
|
|||
TreyHarris | audreyt: I've spent many many hours trying to write a test for my pugsbreak problem, but I can't figure it out. I think I'll get it licked if I know just one thing: given "Foo.pm", am I making it YAML correctly by doing "pugs -CParse-YAML Foo.pm > Foo.pm.yml", and if so how do I use that YAML? | 01:39 | |
cmarcelo | audreyt: hi :).. any clue on the build error I posted? | 01:40 | |
audreyt | TreyHarris: you use it on "use Foo". | ||
TreyHarris: and yes that's correct. | |||
cmarcelo: sorry, just woke up and about to run... but url? | |||
@tell putter fixed | 01:42 | ||
lambdabot | Consider it noted. | ||
cmarcelo | audreyt: sial.org/pbot/19579 | ||
lambdabot | Title: Paste #19579 from "cmarcelo" at 200.232.237.204 | ||
audreyt | @tell putter btw, perl5embed is on by default; set PUGS_EMBED to -perl5 to disable it. | 01:43 | |
lambdabot | Consider it noted. | ||
TreyHarris | audreyt: huh. I tried that first thing, and get 'No compatible subroutine found: "&Foo"' | ||
though the use returns just fine, and if i remove the yaml file it works fine | 01:44 | ||
01:46
xinming joined
|
|||
audreyt | cmarcelo: most likely you either have local modification (try "svk di") or have stale .hi files somewhere. try a fresh make? | 01:47 | |
TreyHarris: the Parse-YAML compilation at the moment could break on closures and other recursive structures | |||
svnbot6 | r13173 | audreyt++ | * Support for: | 01:48 | |
r13173 | audreyt++ | my T ($x, $y, $z) | |||
r13173 | audreyt++ | to distribute as: | |||
r13173 | audreyt++ | (my T $x, my T $y, my T 4z) | |||
r13173 | audreyt++ | * Also, "my T $x" now re-assigns T into $x upon closure reentry. | |||
r13173 | audreyt++ | Note that this is not strictly correct for "state T $x", but | |||
r13173 | audreyt++ | let's do it this way for now. | |||
audreyt | that's one of the motivations behind the simpler newExp and newVal | ||
svnbot6 | r13173 | audreyt++ | t/xx-uncategorized/attribute_of_return_value.t now passes with this. | ||
audreyt | so avoid it for now except for the specially-craafted-to-fit Prelude nad Test. | ||
TreyHarris | "class Foo { method value { 42 } }" | ||
audreyt | I really need to run... bbiab :) | ||
TreyHarris | ok | ||
01:51
Bit-Man joined
|
|||
clkao | audreyt: yo. | 01:53 | |
svnbot6 | r13174 | audreyt++ | * typo in test. | ||
clkao | audreyt: we have a new project called commitbit | ||
TreyHarris | anyone have a nice, portable way to make a file old? like "touch -t 200000000000 $filename"? | 01:54 | |
but portable? :-) | |||
markstos | I've always used "touch", so no. | ||
TreyHarris | it can even be not-so-nice, but I don't see anything in ext/ to help me here | 01:56 | |
rodi | TreyHarris: I just let it sit there for a long, long time, and that almost always makes it old ;) | 01:57 | |
TreyHarris | well, in this case, i need to defeat (-M $newfile > -M $filename) | 02:01 | |
i'm going to write two files, A, then B | |||
but then I need B to show up via -M as older than A | |||
markstos | TreyHarris: You could always write it with "touch" with an XXX note for someone else to make it portable. Some progress is better than none. :) | 02:02 | |
TreyHarris | true | ||
markstos | New wiki page on smart linking: rakudo.org/perl6/index.cgi?smart_linking | 02:09 | |
lambdabot | tinyurl.com/jccm6 | ||
markstos | Tomorrow I'll add a new blog post encouraging more people to help with smart linking, but I'm done for tonight. | 02:16 | |
02:16
markstos left
02:31
mako132_ joined
02:40
reZo joined
02:48
Aankhen`` joined
02:54
mdiep joined
03:00
f0rth_ joined
|
|||
svnbot6 | r13175 | audreyt++ | * Pugs.Eval: in a "for" loop with rvalue lists, don't double-listify | 03:09 | |
r13175 | audreyt++ | its list elements. This fixes the case of: | |||
r13175 | audreyt++ | for %h.pairs -> $p { ... } | |||
r13175 | audreyt++ | which used to make $p contain a seq instead of a pair. | |||
plural | hi all. can anyone offer me any advice for building the third-party stuff successfully on an svn checkout of pugs? Files are being built but put in the wrong places left and righ | 03:11 | |
specifically for Data.ByteString and HsSyck | 03:13 | ||
03:15
reZo joined,
mako132_ joined
|
|||
audreyt | plural: "perl Makefile.pl ; make" should build these for you | 03:17 | |
03:17
mdiep joined
|
|||
plural | that is what i am trying, but the make is placing the files in the wrong places. instead of dist/build/cbits/fpstring.o, i get dist/build/cbits/cbits/fpstring.o | 03:18 | |
and if i copy it there and run make again it blows it away. :) | |||
svnbot6 | r13176 | audreyt++ | * unTODO ten subtests in io_in_for_loops.t. | ||
audreyt | what GHC/Cabal are you using? | 03:19 | |
plural | ghc is 6.4.1 from ubuntu dapper and Cabal is the latest from the cabal site | 03:20 | |
audreyt | that's a curious combination | ||
trying to duplicate | 03:21 | ||
plural | oh? Curious interesting or curious bad? ;) | ||
pugs is the only thing i currently use ghc for, so an upgrade is not out of the question. is the latest ghc recommended? | 03:22 | ||
audreyt | weird, latest cabal works fine for me here | 03:23 | |
can you repaste the error log? | |||
plural | sure. one moment | 03:24 | |
audreyt | but yes, testing against www.haskell.org/ghc/dist/current/di...ux.tar.bz2 | 03:25 | |
lambdabot | tinyurl.com/kewjz | ||
audreyt | would be appreciated too | ||
plural | ok. actually, why don't i upgrade GHC and retry. seems like less hassle. | 03:26 | |
audreyt | k | ||
I'll bbl... | |||
good luck :) | |||
plural | thanks for the tips. :) | 03:27 | |
03:30
reZo joined
03:35
xinming joined
|
|||
svnbot6 | r13177 | audreyt++ | * Pugs.Lexer: Allow double-right-parens to end a "parens" structure: | 03:49 | |
r13177 | audreyt++ | (@(1)) | |||
r13177 | audreyt++ | (@::("foo")) | |||
r13177 | audreyt++ | now all parses correctly without needing a whitespace. | |||
03:56
b00t joined
|
|||
TreyHarris | ?eval 1 | 03:57 | |
03:57
evalbot_r13168 is now known as evalbot_r13177
|
|||
evalbot_r13177 | 1 | 03:57 | |
TreyHarris | ?eval ?(@(undef,)) | ||
evalbot_r13177 | Bool::True | ||
TreyHarris | audreyt++ | ||
?eval ?(list(undef,)) | |||
evalbot_r13177 | Bool::False | ||
svnbot6 | r13178 | trey++ | [t/unspecced/precompile.t] | 04:04 | |
r13178 | trey++ | Tests for .yml vs. .pm sanity. Only fail | |||
r13178 | trey++ | now is when -M $ymlfile < -M $pmfile | |||
cmarcelo | audreyt: is there any .t file which I can try here to check for J.Hash misbehavior? | 04:05 | |
plural hugs audrey | 04:20 | ||
ghc 6.5 fixed my compile issues. thanks for helping! | |||
Alias_ begins to make plans for YAPC::Asia | 04:22 | ||
gaal | good morning | 04:23 | |
svnbot6 | r13179 | trey++ | Truncated comment fixed. | 04:43 | |
05:07
lambdabot joined
05:49
f0rth joined
05:58
lambdabot joined
06:08
frankg joined
|
|||
masak | my tests still hang on t/examples/all_parse :( | 06:10 | |
06:17
lambdabot joined
|
|||
masak | is it relevant in some way that when i run pugs -c on the example that hangs the test suite, it complains about not finding AppConfig::Std? | 06:36 | |
after audreyt fixed the syntax bug, it does OK the file (examples/perl5/cpan-upload.pl) | 06:37 | ||
ah well, skipping the test for now. nobody else seems to have the same issue | 06:38 | ||
TreyHarris | masak: i don't have a working pugs at the moment, once i do i'll try | 06:41 | |
masak | TreyHarris: thx | 06:47 | |
TreyHarris | trying now | ||
masak | it's a strange thing, the test hangs for me but running pugs directly on the file doesn't | 06:48 | |
TreyHarris | you mean running "pugs t/examples/all_parse.t" works, but ".util/prove6 t/examples/all_parse.t" doesn't? | 06:52 | |
cmarcelo | audreyt: just to keep you informed => found lots of segfault cases now. I gotta go now but will track it tomorrow. & | 06:53 | |
masak | TreyHarris: no, both of those hang for me, but running pugs -c on examples/perl5/cpan-upload.pl (which is what the test file is supposed to be doing when it hangs) exits fine with a "syntax OK" | 06:56 | |
i wish there was a program-will-hang detector, despite having read about the halting problem :) | 06:57 | ||
(somehow the fact that a general algorithm doesn't exist, never bothered me much) | 06:58 | ||
gaal | there kinda is, lag behind HEAD a day and keep reading #perl6 :-p | 07:00 | |
TreyHarris | masak: all_parse is still running for me, but it's at test 92 now | 07:03 | |
which number hangs for you? | 07:04 | ||
07:04
bsb left
|
|||
masak | it prints 21 and then hangs | 07:06 | |
though for all I know, the routine that collects the files to parse has a platform-dependent collation, so be careful | 07:07 | ||
the file in question is examples/perl5/cpan-upload.pl, though | |||
TreyHarris | oh | 07:10 | |
it just went by. as number 105 | |||
delete it and svn update it maybe? | |||
masak | the cpan-upload.pl file? | 07:11 | |
TreyHarris | yeah. kinda voodoo-y, but if it's consistently on that file... | 07:12 | |
masak | $ md5sum examples/perl5/cpan-upload.pl | 07:13 | |
61909d5c10013f5dc700f1b30fd38530 examples/perl5/cpan-upload.pl | |||
rm, svn up... | |||
$ md5sum examples/perl5/cpan-upload.pl | |||
61909d5c10013f5dc700f1b30fd38530 examples/perl5/cpan-upload.pl | |||
TreyHarris | hrm | 07:14 | |
what does a trace show the pugs process doing? | |||
masak | TreyHarris: don't know, how can I tell? | 07:15 | |
TreyHarris | what OS are you on? | ||
masak | linux | ||
07:15
lambdabot joined
|
|||
TreyHarris | is it hanging now? | 07:16 | |
masak | yep :( | ||
TreyHarris | get its PID, and run "strace -p <pidnum> | tail -f" | ||
masak | ok | ||
I seem to have four pugs processes running... | 07:17 | ||
TreyHarris | sorry, forget the tail -f | ||
masak | right | ||
TreyHarris | run pstree masak | ||
to se which one is the root | |||
er... pstree -p masak | 07:18 | ||
otherwise you won't get the PIDs :-) | |||
and then you want to strace the leaf | |||
masak | right | 07:19 | |
I get a lot of this: | |||
write(2, "Error eval perl5: \"require AppCo"..., 8192) = ? ERESTARTSYS (To be restarted) | |||
--- SIGALRM (Alarm clock) @ 0 (0) --- | 07:20 | ||
sigreturn() | |||
that's the refrain | |||
it's repeated indefinitely | |||
TreyHarris | do you have AppConfig::Std? | 07:21 | |
masak | is it a CPAN module? I guess not | 07:22 | |
that's probably it | |||
TreyHarris | well, i don't have it either | ||
but it ends with "syntax OK" | |||
does it end the same for you? | 07:23 | ||
masak | yes | ||
installing AppConfig::Std now | |||
TreyHarris | that might be your best bet :-) of course, then maybe it'll just move on to the next module you don't have and spin there :-) | ||
masak | :P | ||
i'd actually prefer that | 07:24 | ||
is there a way to label this problem to make it easier for the next person to solve? | |||
TreyHarris | i was thinking about that... but since i can't duplicate it, i dunno | ||
masak | yay! it continues after 21 :) | ||
and doesn't seem to hang so far | 07:25 | ||
TreyHarris | unless i'm missing something, alarm() doesn't seem to be implemented | ||
masak | are we talking about the contents of cpan-upload.pl now? | 07:26 | |
i haven't actually looked at it | |||
TreyHarris | no, i was thinking about how to catch this in the future | ||
masak | ah | ||
what's alarm() supposed to do? | |||
TreyHarris | since, no, the halting problem isn't solved, it would be typical to set a timeout beyond which you don't believe it will complete | ||
masak: perl -e'alarm 5; sleep 20' | 07:27 | ||
masak | neat | 07:28 | |
but what if I'm running pugs on a 386 (with oodles of memory)? I'd have to set the alarm time based on processor speed somehow | 07:29 | ||
07:29
traecer joined
|
|||
masak | or document it liberally to make people with 386es able to change it easily | 07:29 | |
07:31
iblechbot joined
|
|||
TreyHarris | no, a timeout will not make it easier if you're sitting there watching it. but it could eliminate the frustration of running a smoke, returning many hours later, and finding it's been stuck almost since you left | 07:32 | |
you would want to set the timeout well beyond what would imaginably be reasonable | |||
masak | right | ||
but still low enough to be useful | 07:33 | ||
TreyHarris | huh. "use perl5:alarm" works, but I can't figure out how to get at it | ||
ah, well, without signal handlers, SIGALRM's not going to be terribly useful anyway | 07:36 | ||
masak | anyway, so now I have the whole test suite running without hanging | 07:37 | |
what's this "test triaging" that audreyt needs done? :) | 07:38 | ||
triā§age -n: 1. the process of sorting victims, as of a battle or disaster, to determine medical priority in order to increase the number of survivors. | 07:41 | ||
2. the determination of priorities for action in an emergency. | |||
what does sorting test victims entail? | 07:42 | ||
07:44
drrho joined
07:53
traecer left
08:03
neo2676 joined
|
|||
neo2676 | ? | 08:03 | |
masak | neo2676: can you please rephrase the question? | 08:04 | |
all i got was the question mark in the end | |||
:) | |||
neo2676 | sorry,i just want to see if the network is good , | ||
masak | ah | ||
it is. it's very good | |||
neo2676 | i just ask some question and the no response | ||
now it is good | |||
masak | maybe if you ask longer questions... :P | 08:05 | |
neo2676 | i have many questions, for i am a beginner | ||
masak | me too, but still an avid follower of all things perl6 | 08:06 | |
and there is much to follow, it's kind of a moving target :) | |||
for better and for worse, mostly better i'd say | |||
neo2676 | yes, the most serious problem is my bad english | 08:07 | |
NamelessOne | take it easy | 08:09 | |
masak | neo2676: you're doing fine so far | ||
neo2676 | thank u, | 08:10 | |
TreyHarris | masak: audreyt wants to have the next release out in the next week or so. so she's deciding which failing tests will get dealt with before, and which will have to wait until after. triage. | ||
neo2676 | i want to know where should i begin | ||
masak | neo2676: which language are you not bad at? | ||
neo2676 | chinese | ||
ōæ½xBAĒŗōæ½xC7 | |||
masak | TreyHarris: I see. how can I help? | ||
TreyHarris | masak: in triage? i think that's a one-woman job. in a too-many-cooks sense | 08:11 | |
masak | neo2676: I'm very bad at chinese. :) but I'm taking a course this semester | ||
neo2676 | ok, i think i can help u if you like | ||
i want to know if there are small projects for the beginner | 08:12 | ||
buu | neo2676: 'you | ||
neo2676: 'you' | |||
masak | TreyHarris: oh. maybe I'd better pick a perl 6 janitor task instead | ||
neo2676 | what? | 08:13 | |
buu | neo2676: The correct word is 'you', 'u' is not a word in the english language. | ||
masak | neo2676: thank you. and buu is just being helpful, not mean :) | ||
'u' is a pervasive IM-lingo phonetic form of 'you' | 08:14 | ||
neo2676 | i know | ||
08:14
kane-xs joined
|
|||
masak | it is not seen in books, but then again, not many chat-forms of words are | 08:14 | |
neo2676 | i want to follow the public, so i use u instead | ||
buu | neo2676: Please, do not. | ||
neo2676: Anyone who uses 'u' is usually regarded as having lower intelligence, you wouldn't want people to think that about you, would you? | 08:15 | ||
masak | buu: i wouldn't think they had lower intelligence, just that they learned English through the Net, not in school | 08:16 | |
08:16
crem joined
|
|||
buu | masak: *shrug*. As you like. | 08:16 | |
neo2676 | i agree with masak | ||
buu | Doesn't make you right. | ||
masak | neo2676: and I partly agree with buu :) | ||
neo2676 | my english is from school, but it's bad too | ||
masak | neo2676: you want to make sure to make the right impression | ||
buu | masak: I've known lots of foreigners who've learned english from the net and tv and other popular culture things, they all managed to spell correctly. | 08:17 | |
masak | buu: yes, but that's the converse of what i said | ||
neo2676 | yes, i have not communicate with the foreign, and my oral english is worst | ||
08:18
drbean left
|
|||
masak | neo2676: if I want to learn chinese, what should I think about the most? | 08:18 | |
neo2676: people tell me tones are important to master | |||
neo2676: also, do you have a perl6 question, besides "?" ? :) | 08:19 | ||
neo2676 | yes, for the spelling is hard for foreigners | ||
i have learned the basic of the perl, and i want to know how to be a senior programmer of perl, and where to begin with | 08:20 | ||
masak | neo2676: just perl? not perl 6? | 08:21 | |
neo2676: you're in the experimental area right now, you see | |||
neo2676 | is perl6 = perl +oop? | ||
masak | neo2676: um, well, not really | 08:22 | |
neo2676: perl 6 is not production ready yet | |||
neo2676: it does have OO, but so does perl 5, in its way | |||
buu | neo2676: Perl6 is a completely different language than perl5. | ||
neo2676 | i see | 08:23 | |
masak | neo2676: is you want to hone your perl 5 skills, I suggest you trawl through CPAN for a day or a week or so, just marvelling at all the modules | ||
and then maybe write a module of your own which you find useful | |||
neo2676 | do you have suggestions? | 08:24 | |
about what aspect? | |||
masak | suggestions for modules to look at? or for problems to solve? | ||
neo2676 | yes, the latter | ||
masak | not really :) | 08:25 | |
depends too much on yourself | |||
I tend to like math problems | |||
like this one: masak.org/carl/whipuptitude/necklace.pl | |||
lambdabot | tinyurl.com/qr693 | ||
masak | thx, lambdabot | 08:26 | |
or this one: masak.org/carl/whipuptitude/ntris.pl | 08:27 | ||
neo2676 | my os is not installed right, after i complete i will see how you program works | 08:28 | |
masak | neo2676: sure, np | ||
neo2676 | what does np mean? | 08:29 | |
oh, i see, no problem | |||
masak | neo2676: yes. I'm not sure if buu likes that usage either, so don't tell him I said that :) | 08:30 | |
neo2676 | ok, i like this usage, | 08:31 | |
08:31
drbean joined
|
|||
neo2676 | we can understand well with less typing | 08:31 | |
masak | :) | 08:32 | |
buu | "What does that mean?" "We understand well" ... | ||
masak | buu: you have a point | 08:33 | |
buu | Thanks. | ||
08:36
frankg joined
08:37
ludan joined
08:45
lambdabot joined
|
|||
cmarcelo | audreyt: segfaults i was tracking (magicals/pids.t and b/bool/defined.t) with J.Hash in Pugs.Internals go away when either (a) use make fast, or (b) add 'hPutStr stderr ""' in Judy/Hash.hs insert_ function. i'm make smoke'ing to check against StrMap. but looks like GHC optimizer is doing something odd here =P.. (not sure if you already got at this point) | 09:02 | |
09:02
reZo joined
09:13
rune joined
09:33
ruoso joined
09:51
prefiks joined
09:59
rodi joined
10:03
herbert joined
10:04
NamelessOne left
10:07
chris2 joined
|
|||
gaal | elk | 10:10 | |
rodi | mooooooooooooooooooooooooooose | 10:16 | |
nothingmuch | cow | 10:20 | |
masak | sea cucumber | 10:21 | |
10:24
int-e joined
10:26
buetow joined
10:31
KingDiamond joined,
premshree_ joined
10:34
KingDiamond joined
10:57
kanru joined
11:02
kanru joined
11:13
pdcawley joined
11:14
SamB joined,
mj41_ joined
11:15
iblechbot joined
11:16
Kattana joined
11:17
xern joined
11:28
agentzh joined
|
|||
agentzh | markstos: the smartlink.pl bug you reported earlier has been fixed in my local copy. that was a "natural" consequence of the algorithm used. thank you for pointing it out. :) | 11:31 | |
lambdabot | agentzh: You have 1 new message. '/msg lambdabot @messages' to read it. | ||
agentzh | markstos: i'm doing the regression tests right now. once it's done, i'll commit the change. | ||
testing smartlinks.pl is really tricky. util/t/smartlinks.t is not enough at all. currently i'm using my svn repos on berlios to remember the sample HTML outputs before the change. | 11:35 | ||
and then compare the new outputs with that version (using svn diff or so). | |||
11:36
crem_ joined
|
|||
agentzh | audreyt: will try that later. :) | 11:36 | |
now committing to pugs repos merely takes a few seconds (intead of a few minutes in the past). :) audreyt++ | 11:38 | ||
svnbot6 | r13180 | agentz++ | [util/smartlinks.pl] | ||
r13180 | agentz++ | - added POD to explain the smartlink syntax, suggested by | |||
agentzh | https++ | ||
svnbot6 | r13180 | agentz++ | markstos++ | ||
r13180 | agentz++ | - fixed a bug for ignoring hanging smartlinks in the | |||
r13180 | agentz++ | tests, reported also by markstos++ | 11:39 | ||
agentzh | markstos: btw, the smart_linking wiki is cute. :) | 11:43 | |
markstos: i'm using globals in smartlinks.pl because the code has become bloating. changing globals to function retval is good, but is sort of hard. :( | 11:45 | ||
TreyHarris, markstos: feel free to add stuff to smartlinks.pl's POD if i'm missing something there. thank you! | 11:47 | ||
11:49
markstos joined
|
|||
agentzh | markstos: please backlog. :) | 11:54 | |
markstos | agentz: I saw your patch. Thanks! | ||
agentzh | thank __you__ :) | ||
markstos | I thought I would remove the now-duplicated text in t/README and replace it with a reference to read the perldoc in smartlinks.pl instead. | ||
agentzh | markstos: go ahead. :) | 11:55 | |
svnbot6 | r13181 | markstos++ | Remove smart linking docs from t/README which agentz++ has now included | 11:59 | |
r13181 | markstos++ | in the smartlinks.pl POD | |||
11:59
mako132_ joined
|
|||
agentzh | where can i get CPAN's MIRRORED.BY? | 12:02 | |
svnbot6 | r13182 | audreyt++ | * Convert all "catch" in Pugs source code to "catchIO", which | ||
r13182 | audreyt++ | is a re-export of Control.Exception.catch, such that "eval" | |||
r13182 | audreyt++ | can catch asynchronous and imprecise exceptions, e.g. internall | |||
r13182 | audreyt++ | "error" calls during parsing: | |||
r13182 | audreyt++ | eval '"\123"'; # no longer a fatal error | |||
agentzh is still fighting against activeperl 5.8.8. | |||
audreyt: nice to see r13182. :) | 12:03 | ||
integral | agentzh, ftp.cpan.org/pub/CPAN/MIRRORED.BY | ||
agentzh | integral: ftp://? | 12:04 | |
integral | or http:// | ||
agentzh | integral: okay, thanks. | ||
gaal | why should eval '"\123"' be any error at all? | 12:11 | |
markstos | ?eval eval '"\123"' | 12:14 | |
12:14
evalbot_r13177 is now known as evalbot_r13180
|
|||
evalbot_r13180 | pugs: Error: Invalid escape sequence \123; write as decimal \d123 or octal \o123 instead | 12:14 | |
agentzh | it's overkill. | ||
hehe | |||
markstos | overkill? I find it clear and helpful. | ||
?eval eval '"\456"' | 12:15 | ||
agentzh | sorry, i meant say '"\123"'; | ||
12:15
lisppaste3 joined
|
|||
evalbot_r13180 | pugs: Error: Invalid escape sequence \456; write as decimal \d456 or octal \o456 instead | 12:15 | |
agentzh | ?eval say '"\123"'; | ||
evalbot_r13180 | OUTPUT["\123" ] Bool::True | ||
markstos | ?eval eval '"\45655555555555555555555555555555555555555555555555555555555555555"' | ||
agentzh | it used to croak. | ||
evalbot_r13180 | pugs: Error: Invalid escape sequence \45655555555555555555555555555555555555555555555555555555555555555; write as decimal \d45655555555555555555555555555555555555555555555555555555555555555 or octal \o45655555555555555555555555555555555555555555555555555555555555555 instead | ||
agentzh | audreyt has just fixed it. | 12:16 | |
the tests are in t/syntax/char_by_number.t, iirc. | |||
markstos | Ok, here's a new blog to recruit smart linkers. I need to get ready for $job now! | 12:17 | |
pugs.blogs.com/pugs/2006/09/the_benefits_of.html | |||
lambdabot | tinyurl.com/nlgzp | ||
agentzh | markstos++ | ||
12:18
Limbic_Region joined
|
|||
agentzh | i think someone should write about the new smoke server updated by malon++ | 12:19 | |
12:21
xinming_ joined,
Bit-Man joined
|
|||
agentzh | audreyt: yay, finally got activeperl 5.8.8 working. (although it fails some of the tests of DBI and LWP) :) | 12:25 | |
audreyt: thank you for your solution, it really helped. | |||
audreyt: fyi, the latest YAML::Syck failed to build here. | 12:27 | ||
pasteling | "agentzh" at 210.22.200.67 pasted "YAML Syck 0.67 build failure on Win32 activeperl 5.8.8" (103 lines, 5.4K) at sial.org/pbot/19589 | 12:28 | |
agentzh | audreyt: oh, i think i got the same error while building DBI. | ||
"Eval-group not allowed at runtime, use re 'eval' in regex m/^ \s+ sv_set ( [iunp..." | 12:29 | ||
audreyt | weird. | 12:30 | |
edit e:\perl\lib\exutils\xsubpp | |||
and add | |||
use re 'eval'; | |||
on top of it? | |||
agentzh | okay | ||
gaal | audreyt: did you see my typeclass / fundep composition question from ~15h ago? I'm at work but prolly won't be back home while you're still up | 12:31 | |
Limbic_Region | audreyt - Win32 platform available to you yet? | 12:32 | |
oh, and hope everyone had a good weekend | |||
agentzh | audreyt: same error. :( | ||
12:32
ofer0 joined
|
|||
markstos | agentz: I'm not aware of malon's work. If you send me a mail at [email@hidden.address] with some details, I can see about turning it into a post. | 12:32 | |
audreyt | gaal: no, where? | 12:33 | |
markstos | I'm also interested to try Sage's P5 -> P6 conversion tool, from the Summer of Code | ||
markstos keeps getting ready to leave | |||
agentzh | markstos: okay | ||
audreyt | Limbic_Region: no, not yet. maybe tomorrow | ||
Limbic_Region | okies | 12:34 | |
I am still building from the changes over the weekend | 12:35 | ||
gaal | audreyt: colabti.de/irclogger/irclogger_log/...l=399#l676 | ||
lambdabot | Title: #perl6 2006-09-10,Sun, tinyurl.com/mzgno | ||
Limbic_Region | but was going to run a smoke to let you know where Win32 stood | ||
audreyt | Limbic_Region: ok | ||
gaal | (also I don't see how pretty can be pure and handle Muty and Exty values, but that can wait for later) | 12:37 | |
audreyt | gaal: you are casting v | 12:38 | |
formatVal (VPure v) | |||
is more correct | |||
not | |||
formatVal v@VPure{} | |||
gaal | had got same error when i did that | ||
*gotten | |||
actully, since we call castVal, v@VPure is in fact correct :) | 12:39 | ||
audreyt | nod. nopaste or upload a patch? | 12:40 | |
gaal | sure sec | ||
pasteling | "gaal" at 192.115.25.249 pasted "PrettyPure orz" (30 lines, 1.2K) at sial.org/pbot/19590 | 12:42 | |
gaal | (here I have class (ICoercible P a, Pure a) => PrettyPure but the same error happens whn putting the method right on Pure) | 12:43 | |
(hm, why did I drop that valShow =cast . show line? dunno) | 12:45 | ||
audreyt | gaal: I'll bbiab. looks sane though... | 12:51 | |
gaal | no worky; | 12:58 | |
hmm, 'worries.pm', and I wonder what it does when you say 'no worries'. but no worries, it doesn't matter! | 13:04 | ||
TimToady | Ah, the glorious feeling of having a week's worth of email and irc to backlog... | 13:17 | |
gaal | TimToady: moose! | 13:18 | |
TimToady | likewise, I'm sure. | ||
gaal | (just welcoming you back with something you've learned to expect, make you feel at home etc.) | ||
TimToady | plus I apparently am on jury duty this week, at least in the phone-pool sense... | 13:19 | |
and I'm sure they *won't* let me irc from the courtroom... | |||
13:19
cjeris joined
|
|||
rodi | In DC superior court, they let me IRC in the waiting room... | 13:20 | |
TimToady | well, thet's certainly a possibility, given this is silicon valley... | ||
assuming they have wireless there... | |||
Limbic_Region | TimToady - I am sure it wouldn't be extremely difficult to convince them you are a little touched in the head if actually chosen for jury duty | 13:21 | |
rodi | They didn't in DC, but they had a couple old machines plugged into ethernet, and when I unplugged one and plugged in my laptop, the DHCP deity was kind. | ||
Limbic_Region | just explain the last 6 years of your life - they will understand | ||
TimToady | heh. | ||
well, I am likely to be able to get myself kicked off of any actual jury if I put my mind to it. | 13:22 | ||
gaal | jury rigged IRC duty | ||
rodi | They asked me if I'd ever been victim of a crime, and when I admitted I'd been mugged three times in the past five years, they asked me to please leave. | ||
TimToady | well, I've been burglarized a few times. That's about it. | ||
rodi | but I still had five or six hours of IRC while waiting :) | 13:23 | |
TimToady | on the other hand, they *don't* want logical people in there, at least in general. | ||
Limbic_Region | I have only been burglarized once to my knowledge - while living in Korea | ||
lumi | So only the unmugged are fit for jury? | 13:24 | |
TimToady | now if this were in Mountain View, I'd have Google wireless automatically. | 13:25 | |
But it's probably somewhere in San Jose. | |||
rodi | lumi: it was a mugging trial. | ||
lumi | oic. Sort of. | ||
We don't have this jury system here | |||
TimToady | It has its advantages and disadvantages. | 13:26 | |
rodi | I am ambivalent about it. Love the idea. Hate the fact that it doesn't really work. | ||
TimToady | kind of @judge vs $judge... | ||
rodi | heh | ||
13:27
fglock joined
|
|||
agentzh | TimToady: seen my recent p6l mails? | 13:38 | |
jabbot | agentzh: I havn't seen my, agentzh | ||
agentzh is trying to find out how to generate a list of random numbers in Haskell. | 13:41 | ||
13:45
kisu joined
|
|||
Limbic_Region | agentzh - That's pretty easy | 13:45 | |
and I have only been working with Haskell for about 3 hours now ;-) | |||
are you using YAHT? | |||
agentzh | LR: i'm listening. | ||
Limbic_Region is pulling YAHT up now | 13:46 | ||
do you want ints or floats? | |||
agentzh | LR: i read that about 1 year ago. | ||
floats | |||
Limbic_Region | what range? | ||
TimToady | agentzh: haven't gotten to p6l yet. | ||
13:46
mdiep joined
|
|||
agentzh | TimToady: np :) | 13:46 | |
LR: 0 <= x < 100 | 13:47 | ||
Limbic_Region | k | ||
13:48
c6rbon joined
|
|||
Limbic_Region | import Random | 13:48 | |
agentzh | k | ||
Limbic_Region | randomRIO (0, 100) | ||
the rest should be straight forward | 13:49 | ||
though I misread your range reqs - adjust accordingly | |||
agentzh | LR: okay, i've seen the code snippet in YAHT. :) | ||
LR: thank you for your help. :D | |||
Limbic_Region | no worries - glad to help, I am attempting to force feed haskell in this puny brain of mine myself | 13:50 | |
note that randomRIO is unpure so use <- when storing in var | 13:51 | ||
gaal | better import System.Random instead | 13:59 | |
hierarchical modules and all that | |||
14:00
ofer0 joined
|
|||
apple-gunkies | can someone help me with a pugs error: No compatible subroutine found: "&right" | 14:03 | |
agentzh | gaal: could you offer the code? | ||
apple-gunkies | when trying to insert into a linked list like so: $.left.right = new coverNode; | ||
agentzh | gaal: i'm still having problems with monads... | ||
gaal | agentzh: Limbic_Region's code is good | 14:04 | |
apple-gunkies | where .left and .right are also coverNodes | ||
gaal | main = do { n <- randomRIO (0, 100) ; printStrLn n } | 14:05 | |
pasteling | "agentzh" at 210.22.200.67 pasted "what's wrong with this piece of Haskell code?" (18 lines, 452B) at sial.org/pbot/19593 | 14:06 | |
agentzh | gaal: please take a look. :) | 14:07 | |
14:07
mdiep joined,
ruoso joined
|
|||
agentzh | or "import Random" even... | 14:09 | |
gaal | sec | ||
ok first, you are importing unqualified so you don't need Random.randomRIO | 14:10 | ||
randomRIO is enough | |||
agentzh | yeah | ||
gaal | the error about list not being in scope, it's because, well, it isn't :-) | ||
when you do x <- something | |||
then x is not visible in where clauses. | |||
agentzh | ah...i see | ||
is the genSeq function correct? | 14:11 | ||
gaal | so make list a function of arity 1: | ||
list sq = take 100 sq | |||
and call it with | |||
(list list') | |||
14:12
orafu joined
|
|||
agentzh | *nod* | 14:12 | |
gaal | more errors now. let's see. | ||
Limbic_Region | agentzh - in addition to what gaal said | 14:13 | |
you have to stringify it | |||
IIRC, that is show() | |||
read numifies a string IIRC | |||
agentzh | LR: ah | ||
Limbic_Region | of course, there may be much easier ways of doing it - I am only working from about 30 pages of YAHT ATM | 14:14 | |
agentzh | LR: you seem to be smarter than i. ;) | ||
gaal | now: | 14:15 | |
genSeq :: IO Float | |||
you actually want it to be another type - an infinite list of Floats | |||
IO [Float] | |||
agentzh | oh, yes! | ||
forgot that. :) | |||
gaal | @hoogle Monad m => [m a] -> m [a] | 14:16 | |
lambdabot | Prelude.head :: [a] -> a | ||
Prelude.last :: [a] -> a | |||
gaal | uh, not what I was looking for :) | ||
lumi | Very nice. | ||
sequence I think | |||
gaal | @hoogle sequence | ||
lambdabot | Prelude.sequence :: Monad m => [m a] -> m [a] | ||
Prelude.sequence_ :: Monad m => [m a] -> m () | |||
Language.Haskell.TH.Syntax.sequenceQ :: [Q a] -> Q [a] | |||
gaal | yes | ||
agentzh | a sequence of monads... | 14:17 | |
lumi | No, 'sequence' sequences monads | ||
agentzh | hmm | 14:18 | |
so i should use sequence in my genSeq function. | |||
gaal | yes, like so: | 14:19 | |
genSeq = sequence genSeq' where genSeq' = randomRIO (0::Float, 100) : genSeq' | |||
agentzh | aye! | ||
Limbic_Region | extremely odd make smoke results | 14:20 | |
gaal | now, it compiles, but loops :)_ | ||
Limbic_Region | m19s28.vlinux.de/iblech/stuff/pugs-...3d398.html | 14:21 | |
lambdabot | Title: TAP Matrix - Mon Sep 11 14:15:41 2006 GMT, tinyurl.com/zx3oq | ||
agentzh is feeling frustrated. | 14:25 | ||
lumi | Infinite sequences take a while to compute | 14:28 | |
agentzh | lumi: :) | ||
it compiles now, but begins to compute an infinite loop? | 14:29 | ||
sequence is eager? | |||
lumi | Well, you're telling it to perform an infinite number of acitons before moving on | ||
s/acit/acti/ | |||
gaal | actually this surprised me. how do you create a lazy list of actions? | 14:30 | |
agentzh: you can, of course, work around this by pushing the take into genSeq. | |||
lumi | I think it has to work this way, execution in IO has to be determinable | ||
agentzh | what i want to do is simply constructing a list of 100 random numbers. | 14:31 | |
lumi | I think you have to sequence a finite number of actions | ||
gaal | agentzh: yes, so put the 'take' inside genSeq | ||
agentzh | genSeq = sequence $ take 100 genSeq' ? | 14:32 | |
lumi | sequence $ take 100 $ fix (Random.randomRIO (0::Float, 100) :) -- I guess? | ||
audreyt | t/syntax/char_by_name.t now passes. | ||
gaal | sequence $ take 100 genSeq' | ||
audreyt | agentzh++ | ||
agentzh | audreyt++ | ||
svnbot6 | r13183 | audreyt++ | * Add support for character name escapes: | 14:33 | |
r13183 | audreyt++ | say "\c[LATIN CAPITAL LETTER Y]"; | |||
r13183 | audreyt++ | With Perl 5 embedding, the full Unicode range is supported via | |||
r13183 | audreyt++ | charnames.pm. Without Perl 5 embedding (e.g. in "make ghci"), | |||
r13183 | audreyt++ | only codepoints in the range 0x00-0xFF are supported. | |||
r13183 | audreyt++ | Note: Now Perl5 embedding is on by default, we can implement | |||
r13183 | audreyt++ | more "core" Pugs functionalities this way, instead of maintaining | |||
r13183 | audreyt++ | huge amount of duplicate information. (Encode.pm comes to mind.) | |||
agentzh | gaal: would you please paste the modified version? | ||
i'm still entering infinite loops after the change. | |||
lumi | gaal: There's some unsafeIntersperseIO or such that gives you laziness there, I think... | 14:34 | |
audreyt | unsafeInterleaveIO | ||
agentzh | oh, sorry! | ||
it suddenly works! | |||
gaal++ lumi++ | |||
agentzh is feeling very happy. | 14:35 | ||
audreyt: it's nice to see char_by_name.t is passing now! | |||
pasteling | "gaal" at 192.115.25.249 pasted "fixed random" (20 lines, 488B) at sial.org/pbot/19596 | ||
agentzh | yay! | ||
gaal: thanks! looking | 14:36 | ||
audreyt | agentzh: and what's more, this kind of "feature" is very easy to implement | ||
gaal | yay! :) | ||
audreyt | you can do it yourself pretty soon I think | ||
agentzh | audreyt: i hope so. :) | ||
audreyt | sv <- evalPerl5 ("require charnames; charnames::vianame(qq["++name++"])") envSV 1 | ||
that's all, actually. | |||
agentzh | hehe | ||
audreyt | it's, of course, cheating, but why duplicate 1Mb of information in our source tree :) | 14:37 | |
agentzh | but then i need perl 5 embedding :) | ||
audreyt | which is on by default :) | ||
gaal | and a recent p5, which is required on windows anyway :) | 14:38 | |
agentzh | audreyt: i'm pondering degrading to 5.8.7 since it's still problematic. | ||
audreyt | charnames was first released with perl 5.006 | ||
gaal | but are all the tables good since then? | ||
audreyt | agentzh: hrm. I wonder if you can install strawberry 2 | ||
gaal: I call via ::vianame API | |||
agentzh | audreyt: i'll think about that. | ||
audreyt | agentzh: and then copy your site\lib\ into strawberry | ||
which will still let you avoid reinstalling every module | 14:39 | ||
agentzh | k | ||
audreyt | the plus is that you can install via CPAN shell normally | ||
without waiting for PPM builds | |||
gaal | so, any thoughts on the fundep composition problem, audreyt? | ||
agentzh | *nod* | ||
audreyt | and without running into VC++ bugs :) | ||
agentzh | audreyt: will try another day. | 14:41 | |
gaal: i'm learning new stuff from your code. thank you. :) | |||
lumi | gaal: What's the fundep composition thing? | 14:43 | |
audreyt | gaal: well, there's a typo and a typo | ||
gaal: you had "purePretty v" where you mean v' | |||
TimToady | Makefile.PL seems to be missing a few --output-file smoke.yml options on various run-smokes | ||
anyway, my "make smoke" always fails | |||
audreyt | rehi TimToady | 14:44 | |
TimToady | and I have to do "make upload-smoke" by hand. | ||
fancy meeting you here. | |||
audreyt | curious, I can't seem to duplicate that | ||
"make smoke" fails how? | |||
TimToady | it runs run-smoke without --output-file smoke.yml, and run-smoke fails when it tries to upload itself (rather than relying on the Makefile's upload-smoke) | 14:45 | |
gaal | agentzh: cool! our evil plan is obviously to get you to commit .hs code :p | 14:46 | |
lumi: backlog a little bit | |||
svnbot6 | r13184 | audreyt++ | * Existential therapy for gaal++'s purePretty patch. | ||
gaal | audreyt: hmm | ||
14:46
ofer0 joined
|
|||
TimToady | * smokeserv-client v0.4 started. | 14:46 | |
* Gzip compression on | |||
* ** Make sure you include both .html and .yml! | |||
* Aborting. | |||
Couln't run smoke upload script: at util/run-smoke.pl line 79. | |||
make: *** [smoke-pugs] Error 1 | |||
gaal was studying the implementation of unsafeInterleaveIO | 14:47 | ||
audreyt | attempted a fix. | ||
14:48
amnesiac joined
|
|||
svnbot6 | r13185 | audreyt++ | * Fix autouploading of smoke results by attaching .yml too. | 14:48 | |
r13185 | audreyt++ | Reported by TimToady++. | |||
audreyt | gaal: it's explained IIRC in the awkward squad paper. | 14:49 | |
gaal | I knew it sounded familiar when I saw the comment on their believing INLINE is safe there | ||
the implementation looks weirdly like a clumsy id though! | 14:50 | ||
i'll stare at this some more when I get home.. | 14:51 | ||
Limbic_Region | TimToady - I uploaded manually after that failure and got those bizarre results I nopasted earlier | ||
14:52
ofer0 joined
|
|||
TimToady | um, that fix to run-smoke doesn't make much sense to me. | 14:56 | |
the previous call to upload_smoke fails. | |||
and it seems there is a duplicate call to system. | 14:57 | ||
and the basic problem is that run-smoke isn't passed --output-file smoke.yml in the first place. | 14:58 | ||
gaal | whoa, audreyt, was the fix to ignore everything and just do a patmatch? how the..? | 14:59 | |
TimToady | okay, I see where it's defaulting. | ||
gaal | ah, because it's redispatched on Pure again? | ||
15:00
dakkar joined
|
|||
audreyt | yup | 15:03 | |
sleep. bbl :) | |||
obra | hi audreyt | 15:04 | |
bye | |||
TimToady | night! | 15:05 | |
15:08
kolibrie joined
|
|||
xerox | gaal: do you have an url for that implementation? | 15:12 | |
Daveman | xerox :D | 15:14 | |
xerox | :) | ||
Daveman | What a pleasant surprise :) | ||
15:22
int-e left
15:26
iblechbot joined
|
|||
rodi | question for anyone who knows: S12 specifies "META" method, Pugs has "meta" method, but not "META": | 15:36 | |
?eval role a; class b does a; my b $c .= new(); $c.meta.does('a') | |||
15:36
evalbot_r13180 is now known as evalbot_r13185
|
|||
evalbot_r13185 | Bool::True | 15:36 | |
rodi | Right now, there are tests only for "meta" and not "META". Should I a) add tests for "META", b) change S12, or c) do something else | 15:38 | |
? | |||
?eval role a; class b does a; my b $c .= new(); $c.META.does('a') # for your viewing pleasure | 15:39 | ||
evalbot_r13185 | Error: No compatible subroutine found: "&META" | ||
dakkar | rodi: ask in p6l? | ||
rodi | seems like a reasonable plan :) | 15:40 | |
gaal | xerox: GHC/IOBase.lhs in GHC source | 15:42 | |
unsafeInterleaveIO :: IO a -> IO a | 15:43 | ||
xerox | @fptools GHC.IOBase | ||
lambdabot | GHC.IOBase not available | ||
15:43
PerlJam joined,
weinig|bbl is now known as weinig
|
|||
xerox | @fptools GHC.Prim | 15:43 | |
lambdabot | GHC.Prim not available | ||
gaal | unsafeInterleaveIO (IO m) = IO ( \ s -> let r = case m s of (# _, res #) -> res in (# s, r #)) | ||
xerox | Pfft. | ||
15:43
kanru joined
|
|||
xerox | I see. | 15:44 | |
gaal | rodi: I think pugs is in error here. | 15:45 | |
rodi | gaal: seems that way. What's usually done with this kind of thing happens, assuming it will break a lot of things (though things that are admittedly easy to find and fix) | 15:47 | |
? | |||
gaal | rodi: grep -r \.meta t | wc -l | 15:49 | |
only 103 | |||
rodi | yeah :) | ||
gaal | what is done is that first you ask someone who knows better than I do if the change is really correct, | ||
then you fix the tests, | |||
then you fix the code. :) | 15:50 | ||
rodi | I think I can swing all that. I'll email p6l first, though. | ||
gaal | yes, that's the ask someone who knows better than me bit :) | ||
#3 is actually quite trivial. change Pugs.Prim lines grep -r \.meta t | wc -l | 15:52 | ||
oops | |||
lines 1956 and 649 | |||
plus, since you will have done #2 prior to that, you'll find it easy to tell if I was wrong and #3 entails something else as well :P | 15:53 | ||
rodi | ;) | 15:54 | |
ofer0 | p6rl | 15:58 | |
gaal | m00se | 16:00 | |
svnbot6 | r13186 | gaal++ | * restore ValNative's valShow method which I accidentally | ||
r13186 | gaal++ | got audreyt++ to drop in her latest therapeutic fix. | |||
Limbic_Region | gaal - in Haskell, how to I specify a type signature such that I say something returns an array of ints? | ||
gaal | f :: [Int] | 16:01 | |
mauke | that's not an array | ||
gaal | right, list | ||
I'm guessing that's what Limbic_Region meant though. | 16:02 | ||
Limbic_Region tries it in case that is what he meant | |||
gaal | Limbic_Region: do you want a mutable structure? | 16:03 | |
are you using : and ++ to construct it? | |||
Limbic_Region | gaal - I don't know, I am trying to do one of the exercises in YAHT | ||
let me nopaste it | |||
gaal | sure | 16:04 | |
pasteling | "Limbic_Region" at 129.33.119.12 pasted "Trying to read a list of numbers one at a time from STDIN and store it as an array of ints" (19 lines, 358B) at sial.org/pbot/19597 | ||
Limbic_Region | it is quite simple but I am not sure what it is I am doing wrong | 16:05 | |
mauke | if it involves [] and :, you're dealing with lists | ||
wolverian | ?type getLine | ||
lambdabot | IO String | 16:06 | |
Limbic_Region | wolverian - I am using read to cast | ||
let n = read num | |||
wolverian | right. I just read the == comparison wrong | ||
(== 0) | |||
gaal | Limbic_Region: for didactic purposes <g> what's the error you're getting? | 16:07 | |
16:07
ludan joined
|
|||
Limbic_Region | let me nopaste that as well | 16:07 | |
mauke | main :: IO (); getNums :: (Read a) => IO [a] or something | ||
Limbic_Region | running using ghci without extensions | ||
gaal | no, never mind :) you need to tell read what it's returning | 16:08 | |
pasteling | "Limbic_Region" at 129.33.119.12 pasted "The errors" (10 lines, 488B) at sial.org/pbot/19598 | ||
gaal | let (n :: Int) should do | ||
Limbic_Region | I need to tell read what it is returning? | ||
wolverian | or use num somehow elsewhere that imposes a concrete type on it, I assume | ||
Limbic_Region | ok, let me try that | ||
mauke | or give getNums an explicit type | 16:09 | |
wolverian | (or nums) | ||
gaal | ...which is the same thing :) | ||
mauke | getNums :: IO [Integer] or whatever | ||
Limbic_Region | except that now says I need extenstions gaal | ||
will try it | |||
gaal | let's get it to work w/o extensions :) | ||
16:10
Psyche^ joined
|
|||
Limbic_Region | it does indeed work with extensions now | 16:10 | |
so any help in avoiding the extensions would be useful to me | |||
lumi | Limbic_Region: Where did you put the type annotation? | ||
Limbic_Region | let (n :: Int) = read num | ||
the example in YAHT prior to this didn't imply it was necessary but whatever | 16:11 | ||
gaal | hm, interesting that that hits the monomorphism restriction. | ||
lumi | I think it you give getNums a type, like mauke said, you'd not need extensions | ||
mauke | what happens if you use getNums :: IO [Integer] instead? | ||
Limbic_Region | let me try that | ||
gaal | lumi, mauke: yes, those don't hit the mm wall. | ||
16:11
vel joined
|
|||
lumi | gaal: Does it? how? | 16:11 | |
gaal | lumi: that's what I'm finding interesting, or in other words, what I am yet to figure out. :) | 16:12 | |
ahhhh no | |||
it isn't | |||
Limbic_Region | lumi - Illegal signature in pattern: IO [Integer] | ||
gaal | it | ||
lumi | I think it's just a ghc syntax extension? | ||
Limbic_Region | and it says to use extensions to fix it | 16:13 | |
gaal | 's simply that | ||
right. | |||
yes | |||
mauke | Limbic_Region: whoa, where did you put that? | ||
Limbic_Region | so I would rather use the let (n :: Int) = read num | ||
since *that* makes sense to me | |||
mauke - getNums :: IO [Integer] = do | |||
mauke | ah, no | ||
gaal | so, Limbic_Region, for pugsy purposes, you can always say let (n :: Int) | ||
Limbic_Region | oh, in the assignment then? | ||
makes sense | |||
Limbic_Region fiddles some more | |||
mauke | getNums :: IO [Integer]; getNums = ... | ||
it's an extra line | |||
gaal | but the point about these being eventually all equivalent - | 16:14 | |
what mauke and wolverian and lumi suggested | |||
that's a pretty important point about haskell, viz... it has type inference! :) | |||
Limbic_Region | yay mauke | ||
mauke | Limbic_Region: alternatively, let n = read num :: Integer | 16:15 | |
gaal | wow, four different ways of hinting the same thing | ||
Limbic_Region | oh, so Integer is built in but Int requires extensions | ||
mauke | no | ||
gaal | Limbic_Region: once you 'get' typeclasses you'll see why the hint was necessary | ||
mauke | you just can't put type annotations on the lhs of = | ||
Limbic_Region | gaal - once I "get" to that part in YAHT, I am sure I will | 16:16 | |
mauke - danke | |||
mauke | Int is a fixed-width integer type, Integer is bigint | ||
gaal | this needing an extension is a not-very-profound syntactic thing, I think. | ||
Limbic_Region moves on to the second part of the exercise which is summing, producting, and factorialing the numbers in the array | |||
gaal | Limbic_Region: and, if you'd have conflicting types, say [Integer] in the let and [Int] in nums, the compiler would yell. | 16:17 | |
lumi | How does ghci pick a numeric type? | ||
gaal | (try it!) | ||
default default? | |||
mauke | read uses the context it's used in to determine the conversion it uses | ||
type annotations tell the compiler about what type is expected from read | 16:18 | ||
lumi | Yeah, a default type.. f'rex, "1" in ghci doesn't blow up :P | ||
16:19
marmic joined
|
|||
gaal | lumi: www.haskell.org/tutorial/numbers.html#sect10.4 | 16:19 | |
16:19
justatheory joined
|
|||
lambdabot | Title: A Gentle Introduction to Haskell: Numbers, tinyurl.com/h4xms | 16:19 | |
Limbic_Region | thanks all - I am AFK now | ||
gaal | lumi: to the point, 'default' is actually a keyword | 16:20 | |
lumi | Oh hm | ||
16:22
Psyche^ is now known as Patterner
16:25
weinig joined
|
|||
agentzh | yay, i've finished my third Haskell toy programs. they're all working pretty well. :) | 16:26 | |
*program | |||
that's enough for a day. g'night, everyone~~~ | |||
& | 16:27 | ||
16:27
agentzh left
|
|||
gaal | night agentzh | 16:27 | |
oops too late | 16:28 | ||
16:29
amnesiac_ joined
|
|||
Limbic_Region | grrr | 16:30 | |
ok - so I know how to work around my current problem but I would rather know how to fix it proper | 16:31 | ||
gaal | which problem? | ||
Limbic_Region | same code as before - but once I have collected nums <- getNums | ||
I want to call a function showOutput nums | |||
but it is whining about mismatched type and inferred (IO) type | 16:32 | ||
mauke | show code/errors | ||
gaal | from my experience, GHC does not usually whine. It rolls its eyes at your mistakes. | 16:33 | |
pasteling | "Limbic_Region" at 129.33.119.12 pasted "New problems with my YAHT exercise" (36 lines, 902B) at sial.org/pbot/19600 | ||
mauke | showOutput is broken | 16:34 | |
what is its type? | |||
Limbic_Region | it isn't going to return anything so I guess it is void | ||
ahh, but it is not pure | 16:35 | ||
mauke | there is no void | ||
Limbic_Region | wait, yes it is | ||
gaal | something that just has effects is IO () | ||
just like main | |||
but showOutput is not arity 0 | |||
Limbic_Region | all it is going to do is print out some statistics on nums | ||
gaal | so it can't be just showOutput :: IO () | 16:36 | |
because it reveices the numbers. | |||
brb | |||
Limbic_Region | k | ||
the simple solution btw is just to put the printing out of statistics in main | |||
and put it all in one big do block | |||
mauke | Limbic_Region: write down its type, it helps :-) | ||
Limbic_Region | mauke - I don't know its type | ||
it doesn't help | |||
16:37
amnesiac_ is now known as amnesiac
|
|||
mauke | ok, it's a function taking one argument, so it's something like foo -> bar | 16:37 | |
the argument is a list of numbers, so foo = [Integer] | |||
the return type is the same as putStrLn's | 16:38 | ||
Limbic_Region | ahh duh | ||
so why doesn't main require the same? | |||
mauke | huh? | ||
Limbic_Region | I guess what I am trying to say is it is not clear to me when I have to specify types and when I don't | 16:39 | |
mauke | you (almost) never have to | ||
in this case you might notice that [] isn't an IO () | |||
the compiler complains because the two definitions return different types | |||
Limbic_Region | well, then I am seriously messing this introductory exercise up | ||
Juerd dist-upgrades feather | |||
Limbic_Region: Don't worry; apache isn't in the upgrades list. | 16:40 | ||
mauke | Limbic_Region: hmm, why do you need to distinguish between [] and (x : xs) anyway? | 16:41 | |
Limbic_Region | thanks Juerd | ||
mauke - ignore that as copy/paste | |||
mauke - so let's take a step back and explain what I am trying to do instead of showing the code that I am trying to do it with | |||
mauke | ok | ||
Limbic_Region | step 1: obtain from stdin, a list of ints (1 at a time) terminating when 0 is entered | 16:42 | |
gaal | (which you already know how to do) | 16:43 | |
Limbic_Region | note that my use of list versus array and ints versus Integers is not intentional - I am just trying to explain what's going on as simple as possible | ||
step 2 pass that list to a function that will then print out some statistics on it | |||
that's it | |||
gaal | Limbic_Region: I think you're on the right track | ||
and that mauke is correct, the type will help you | 16:44 | ||
Limbic_Region | gaal - I can't be | ||
gaal | as will understanding the structure of the error message | ||
Couldn't match expected type `[a]' against inferred type `IO ()' | |||
Limbic_Region | unless YAHT would expect me to catapult way ahead of what has already been shown | ||
every exercise up to this point didn't require any knowledge beyond what had already been presented | |||
gaal | this message means something informative | ||
Limbic_Region | gaal - I get that | 16:45 | |
I know I could make it work but there has to be something simpler I am missing | |||
gaal | it says that you have an expression, its type really is IO () | ||
Limbic_Region | perhaps the intention then is for the student just to put everything in the main do blcok | ||
gaal | that expression is: putStrLn "The sum is: " | ||
mauke | Limbic_Region: I don't get what the problem is, actually | ||
gaal | but something else forces GHC to expect a different type of that expression | 16:46 | |
mauke | Limbic_Region: you just have to define showOutput and it'll work | ||
gaal | that something else is the other declaration of showOutput, which *must* be of type [a] | ||
Limbic_Region | mauke - perhaps you missed the part where I said the exercises don't expect you (or at least haven't so far) to have knowledge beyond what has already been taught | ||
gaal | sorry, the expression returned by the first declaration | 16:47 | |
Limbic_Region | meaning there should be a simpler way to tackle this exercise that I am missing | ||
mauke | I don't know what's been taught so far | ||
what do you mean by "simpler"? | |||
Limbic_Region | very little | ||
gaal | Limbic_Region: don't panic. you really are on the right haskell track, even if YAHT had a different idea. | ||
Limbic_Region | mauke - fewer functional calls would be my guess - wrapping everything up in main | ||
ok - so then what should showOutput's type be? | 16:48 | ||
gaal | first, reconcile the two declarations | ||
showOutput [] = [] is clearly wrong, because why do you need to return an empty list? | |||
mauke | Limbic_Region: informal type: bunch of ints -> IO something | ||
Limbic_Region | gaal - copy/paste issue, removed locally | 16:49 | |
gaal | now (maybe YAHT didn't tell you this, but) main has the type main :: IO () | ||
mauke | e.g. showOutput xs = do putStrLn "hi2u" should compile and work | ||
Limbic_Region | woah | ||
Limbic_Region appears not to have been modifying the same file as was getting loaded | 16:50 | ||
gaal | you need something that returns IO (), but as you already know, accepts a list of stuff | ||
Limbic_Region | I quit ghci, restarted, and everything is working | ||
gaal | in your code, that's [Integer] | ||
Limbic_Region: okay, good: now do | |||
:t showOutput | |||
Limbic_Region | gaal - wait | ||
let me play a little more on my own | 16:51 | ||
I learn better that way | |||
will ping again if I run into more problems | |||
gaal | yay | ||
mauke | btw, if you just want to print something (think Data::Dumper), you can use print whatever | ||
Limbic_Region | ok, I am still lost | 16:54 | |
16:54
vel joined
|
|||
Limbic_Region | nums is of type nums <- getNums :: IO [Integer] | 16:54 | |
I am going to pass nums to showOutput | |||
showOutput really isn't going to return anything so IO () | 16:55 | ||
but I still don't know the right type signature | |||
wolverian | nums's type should be [Integer], not IO [Integer] | ||
mauke | of showOutput? [Integer] -> IO () | ||
but ghci should tell you that with :t showOutput | 16:56 | ||
16:57
nothingmuch joined
|
|||
Limbic_Region | mauke - tried that from gaal's suggestion - Numbers.hs:22:21: parse error on input `->' | 16:57 | |
let me nopaste the current code | 16:58 | ||
mauke | what's line 22? | ||
ok | |||
gaal | Limbic_Region: when you say x <- someFunc | ||
then someFunc whcih returned some monadic value is forced, and x is the unmonadic thing | 16:59 | ||
Limbic_Region | nevermind - I figured it out | ||
gaal | ok | ||
ingy | hola | ||
Limbic_Region doesn't admit what he was doing wrong | |||
gaal | hey ingy! | 17:02 | |
pasteling | "Limbic_Region" at 129.33.119.12 pasted "Ok, now how do I get the sum of nums inside showOutput?" (26 lines, 495B) at sial.org/pbot/19602 | ||
mauke | Limbic_Region: first, change (x : xs) to ns | 17:03 | |
gaal | first of all, it's not [t], it's concretely [Integer] | ||
mauke | you don't want to destructure it into a head and a tail; you want to work with the entire list | 17:04 | |
gaal | since you have an annotation elsewhere that prevents it to be anywhere else | ||
Limbic_Region | another copy/paste error | ||
gaal | *from being | ||
ingy | hi gaal! | ||
gaal | okay, so you want a function that takes a list of Integer and returns an Integer | ||
Limbic_Region | mauke - explain (x:xs) to ns ? | ||
gaal | @hoogle [Integer] -> Integer | ||
lambdabot | No matches, try a more general search | ||
mauke | Limbic_Region: hmm, do you know "data"? | 17:05 | |
gaal | @hoogle [Int] -> [Int] | ||
lambdabot | No matches, try a more general search | ||
Limbic_Region | no | ||
gaal | grrrrrrr | ||
@hoogle [Int] -> Int | |||
lambdabot | No matches, try a more general search | ||
gaal | @hoogle [a] -> a | ||
lambdabot | Prelude.head :: [a] -> a | ||
Prelude.last :: [a] -> a | |||
List.maximumBy :: (a -> a -> a) -> [a] -> a | |||
Limbic_Region | but I think I understand - the x:xs I am going to need later | ||
gaal | no kidding | ||
Limbic_Region | when I am going to destruct it | ||
mauke | Limbic_Region: ok, [] (the list type) has two constructors, [] and : | ||
gaal | anyway, what I was shooting at was... | ||
haskell.org/ghc/docs/latest/html/li...ml#v%3Asum | |||
lambdabot | tinyurl.com/k7pf4 | 17:06 | |
svnbot6 | r13187 | rodi++ | .meta becomes .META in the tests. Might be changed to .HOW eventually. | ||
mauke | [] is a constant (the empty value), : is a function taking an element and a list, returning a new list | ||
gaal | sup ingy-moose, yo? | ||
mauke | using : in a pattern reverses the process, binding x to the first element and xs to the rest | ||
Limbic_Region | I understand the x:xs (which I will need but obviously in a new function) | 17:07 | |
17:07
cj joined
|
|||
Limbic_Region | so now I have - showOutput ns = do | 17:07 | |
gaal | @tell putter moose is appropriate for all categories, including honorifics | ||
lambdabot | Consider it noted. | ||
mauke | Limbic_Region: do you know "sum"? | ||
17:07
weinig is now known as weinig|bbl
|
|||
Limbic_Region | is parse failing | 17:07 | |
mauke - yes, but s = sum ns | |||
I also know how to do sum with foldl and foldr | 17:08 | ||
but why is s = anything failing? | |||
mauke | missing let? | ||
Limbic_Region | hrm | 17:09 | |
17:10
vel joined
|
|||
Limbic_Region | brb | 17:10 | |
17:10
mdiep joined
17:15
polettix joined
17:20
frederico joined
17:24
onsen joined
17:26
fglock joined
17:27
xerox joined
17:30
mdiep joined
|
|||
svnbot6 | r13188 | rodi++ | meta -> META in Pugs/Prim.hs | 17:36 | |
gaal | rodi++ | 17:37 | |
# 1, 2, 3 | |||
pasteling | "Limbic_Region" at 129.33.119.12 pasted "I would be very appreciative if someone could haskellfy this for me" (43 lines, 982B) at sial.org/pbot/19605 | 17:38 | |
gaal | L~R, narrow the Q a bit? | 17:39 | |
17:39
Limbic_Region joined
|
|||
TreyHarris | rodi: that's the easy part. who's going to fix all the tests? :-) | 17:39 | |
gaal | TreyHarris: see r13187 | ||
TreyHarris | oh, missed that. rodi++ | 17:40 | |
you people with your teeny-tiny 1-line commit messages, they get lost in the channel noise ;-) | |||
Limbic_Region | gaal, mauke, wolverian - not sure if my nopaste made it to the channel, but I would be very appreciative if any of you could find the time to help haskell-fy my code | ||
it works and produces the correct output but it feels wrong in several places | |||
gaal | 20:39 < gaal> L~R, narrow the Q a bit? | ||
ah, you mean stylistic cleanup? | |||
rodi | TreyHarris: that was the hope :-D | 17:41 | |
Limbic_Region | well, for instance - using length(xs) to terminate the loop | ||
gaal - taking the task at hand, feel free to just write it from scratch (should take far fewer lines that I have used anyway) | |||
rodi | I still feel naughty whenever I'm editing anything critical ;) | ||
Limbic_Region | s/loop/recursion/ | ||
wolverian | Limbic_Region, first, don't write foo(bar). it's confusing. haskell doesn't need parens to call functions. | 17:42 | |
gaal | since xs is a list, 'null xs' is a fair edit | ||
mauke | Limbic_Region: working on it :-) | ||
Limbic_Region | wolverian - except when it does | ||
wolverian | Limbic_Region, right. but fac(n - 1) looks weird anyway. | ||
Limbic_Region | i.e. when you have one function that is supposed to work on the return of another function | ||
but point taken | |||
wolverian | fac (n-1) or fac $ n-1 :) | 17:43 | |
gaal | Limbic_Region: the point is that it's better to write | ||
that :) | |||
xerox | fac . subtract 1 $ n | ||
:P | |||
wolverian | heh | 17:44 | |
gaal | in fact, there are even some gotchas with putting some things together, eg, if you get into the habit of using $, always surround it with spaces | ||
wolverian | fax $ pred n | ||
er.. fac | |||
xerox | hehe | ||
gaal | one day you'll write Template Haskell and get weird errors otherwise | ||
wolverian | you shouldn't use $ too much, either. use . whenever you can instead of $ | 17:45 | |
Limbic_Region | heh | ||
xerox | . is nice because it makes compositions simpler to refactor. | ||
wolverian | right. | ||
Limbic_Region | remember all the "I don't think I should have to be doing all this type stuff yet cause we haven't gotten to it in YAHT" | ||
gaal | as for showFactorials, if it weren't for the putStrLn inside it, you could surely nicefy it | ||
Limbic_Region | this is the last exercise in chap 3 | ||
chap 4 is introduction to types | 17:46 | ||
;-) | |||
wolverian | you don't need to think about types as long as your code is correct. ;) | ||
gaal | so, Limbic_Region, pull the print out of it, and make it just construct a list of strings, and print THAT. | ||
Limbic_Region | gaal - please, rather than describing what I should do - please provide code snippet | ||
gaal | that's a transformation you can do easily (but not as cheaply!) in perl | ||
xerox | wolverian: errrr. | ||
gaal | well, you have [Integer] -> [String] | 17:47 | |
xerox | Limbic_Region: code for what? | ||
gaal | sounds like a map :) | ||
Limbic_Region | it is still too foreign for me to understand description | ||
gaal | sec | ||
Limbic_Region | xerox - scroll back, I posted my code for an exercise in YAHT and asked the channel to haskell-fy it for me | ||
gaal | facMessages :: [Integer] -> [String] | ||
Limbic_Region | IOW - write it (or re-write) as they see fit | ||
xerox | OK! | ||
gaal | facMessages ns = map (\x -> "factorial " ++ (show x) ++ " = | 17:48 | |
xerox | Not bad. | ||
gaal | oops | ||
facMessages ns = map (\x -> "factorial " ++ (show x) ++ " = " ++ (show $ fac x)) ns | |||
mauke | Limbic_Region: rafb.net/paste/results/xygjXe13.html - minor cleanups | ||
buubot | The paste xygjXe13 has been copied to erxz.com/pb/3180 | ||
Limbic_Region | ok - I get the construction of strings | ||
but how does one "print that" | |||
gaal | then you can just | 17:49 | |
putStrLn $ concat $ facMessages ns | |||
in showOutput | |||
mauke | see my code :-) | ||
gaal | concat is simply 'join "\n", @list' | ||
er | 17:50 | ||
Limbic_Region | ok, so IOW, it is stuff that I haven't learned yet | ||
gaal | join "", #list | ||
well don't worry, this is just vocabulary | |||
Limbic_Region | no worries, I am sure I will get to it eventually | ||
gaal | map is just like Perl | ||
only lazy | |||
mauke | perl's map is concatMap | ||
Limbic_Region | if the only serious critique of the code is that I didn't use simpler features I don't know about yet - I can't complain | ||
PerlJam | gaal: just like perl6 :) | ||
Limbic_Region | mauke - looking at your code now | ||
gaal | sub facMessages (Int @ns) { map -> $x { "fac $x = {fac $x}" } } | 17:51 | |
sub facMessages (Int @ns) { map -> $x { "fac $x = {fac $x}" } @ns } # rather | |||
Limbic_Region does another dance at having conquered what seemed like a difficult problem for only being in chapter 3 | |||
gaal | mauke: er, no it isn't.... | 17:52 | |
mauke | eval: [ map +($_, $_ * 2), 2 .. 6 ] | ||
buubot | mauke: [2,4,3,6,4,8,5,10,6,12] | ||
Limbic_Region | please /msg me if you have something else to say as I am now AFK to explore ch. 4 | ||
gaal | well? | 17:53 | |
mauke | how is that not concatMap? | ||
gaal | how is it? :) | ||
xerox | > [2..6] >>= \x -> [x,x*2] | 17:54 | |
mauke | length (map f x) /= length x | ||
lambdabot | [2,4,3,6,4,8,5,10,6,12] | ||
xerox | There (>>=) = flip concatMap. | ||
mauke | exactly | ||
TreyHarris | what's ?=? | 17:55 | |
gaal | ah! indeed. | ||
TreyHarris | TimToady just used it on p6-l | ||
gaal | except it isn't really | ||
because you don't have to return singleton lists. | |||
mauke | you do, actually | 17:56 | |
it's just that values trivially convert to singleton lists | |||
gaal | so, you don't have to return singleton lists. :) | ||
mauke | it's not like you have a choice | 17:57 | |
gaal | -fallow-overlapping-instances ; class Flatten a where flatten :: a -> [a] ; instance Flatten [a] where flatten = id ; instance Flatten a where flatten = List.singleton | 18:00 | |
you're saying p5 map is a bit like that. | |||
avar | where are the online perl6 smoke tests? | 18:01 | |
gaal | smoke.pugscode.org | ||
avar | thx | ||
lambdabot | Title: Pugs Smoke Reports | ||
xerox | flatten = id :: [a] -> [[a]] doesn't work gaal | 18:02 | |
gaal | beh | ||
okay, I'm sold: | 18:03 | ||
eval: sub ctx { print wantarray ? "list" : "notlist" } ; my $x = map { ctx() } 1 | |||
buubot | gaal: list 1 | ||
TreyHarris | ok, building with ghc 6.5. let's see if it's any faster | ||
gaal | mauke++ # perl map is haskell concatMap | 18:04 | |
Limbic_Region | TreyHarris - PPC right? | 18:05 | |
TreyHarris | yeah | 18:06 | |
Limbic_Region | woot - where did you get it? | ||
18:07
mauke_ joined
|
|||
TreyHarris | Limbic_Region: didn't. built it after finding a message from someone describing how they do it | 18:07 | |
Limbic_Region | oh, neat | ||
TreyHarris | www.haskell.org/pipermail/cvs-ghc/2...31287.html | ||
lambdabot | Title: GHC Hackathon, tinyurl.com/efpf2 | ||
TreyHarris | no wonder I didn't find it, given the title | ||
Limbic_Region | I am still running nightly builds from checkout but since there doesn't appear to be anyone busting down my door to get bin dists for Win32 | ||
I only uploaded the one from the 6th | 18:08 | ||
TreyHarris | "GHC Hackathon"... yeah, that says to me "read me to find out how to build under OS X PPC" ;-) | ||
Limbic_Region | well, I will be interested in what 6.5 does to your smoke times | 18:09 | |
TreyHarris | well... | 18:10 | |
i need to make first :-( | |||
Setup: error reading ./.setup-config; run "setup configure" command? | 18:11 | ||
never seen *that* one before | |||
in fact, i've never had an error making pugs before :-/ | |||
Limbic_Region | you need to read the readme | ||
oh wait | |||
that's a pugs error? | |||
TreyHarris | "Build failed: 256 at util/build_pugs.pl line 305." | 18:12 | |
Limbic_Region: what in README should I be reading? | 18:13 | ||
Limbic_Region | I was thinking the issue with ghc (and hence the "oh wait\nthat's a pug error?") | ||
TreyHarris | ahh | 18:14 | |
18:14
prefiks left
|
|||
Limbic_Region | I'm clueless other than suggesting looking at what build_pugs.pl line 305 is | 18:14 | |
TreyHarris | Limbic_Region: I'm looking. It's kind of opaque. It's just 'die if $@' | ||
Limbic_Region is betting it is a system() command | |||
TreyHarris | so i have to work backwards | ||
18:17
larsen joined
|
|||
TreyHarris | hm. "Setup: cannot satisfy dependency mtl-any" | 18:17 | |
what's mtl-any? | |||
SamB | should be any version of the mtl | 18:20 | |
Limbic_Region | TreyHarris - you didn't build with the packages | ||
when you downloaded the source - the extra libs were in a separate tarball | |||
you can build mtl and network (also required) individually | |||
or you can rebuild 6.5 after untarring the extralibs (the build automatically builds them if present) | 18:21 | ||
SamB | or if you got it from darcs, you didn't ask darcs-all for the extra libs | ||
Limbic_Region | if you want to do it by hand for just those 2 packages, I can walk you through it | ||
what SamB said if using darcs | |||
TreyHarris | Limbic_Region: cool. ok, downloading the tarball | ||
Limbic_Region has been through this himself ;-) | |||
18:22
mauke_ is now known as mauke
|
|||
Limbic_Region | TreyHarris - ever use Cabal to build packages in ghc? | 18:22 | |
SamB | I wasn't, but I grabbed ghc from darcs just before darcs-all stopped grabbing all the libs by default... | ||
TreyHarris | Limbic_Region: my entire experience with ghc is building pugs, building darcs, and typing stuff into ghci :-) | ||
Limbic_Region | the short route is just to do that - maybe 10 minutes or less. | ||
well, I know much more about the ghc build process than the language itself | 18:23 | ||
but I am trying to rectify that now too | |||
TreyHarris | ok, so I untar this into my existing ghc src dir? | ||
Limbic_Region will point you to how to build the 2 packages you need | |||
TreyHarris - if you are just building the packages by hand - dump it anywhere | |||
if you are planning on rebuilding ghc from source - yes | |||
SamB | if you have already got GHC built, and haven't gotten rid of any of the intermediate files, it should be fairly quick to just rebuild it with those in place... | 18:24 | |
TreyHarris | well, i already untarred it there. i'd rather not rebuild everything unless there's a distinct advantage to doing so | ||
Limbic_Region | SamB - not really | ||
SamB | Limbic_Region: hmm? | ||
Limbic_Region | or rather - it will be faster than a from scratch build but not nearly as fast as just building those 2 packages | ||
that's because of the 2 stage build process | |||
SamB | hmm | ||
Limbic_Region | at least from my experience | 18:25 | |
TreyHarris - 2 seconds and I will give you a link to build just those 2 packages | |||
SamB | I bet you can tell it to just build the libraries, probably you can even tell it to just build those two... | ||
TreyHarris | Limbic_Region: so my stupid way would be to go into those two libraries/, (./configure, make for each), then go back to the top level, rm compiler/stage2/ghc-6.5*, and make | ||
Limbic_Region | TreyHarris - that won't work | ||
that's what I tried - you need to use Cabal | 18:26 | ||
see paste.lisp.org/display/25124 | |||
start at the line with mtl and network | |||
it gives you the 3 cabal commands to configure, build, install | |||
and since mtl doesn't come with a Setup.hs - you need to create one - I provided a template in that paste | 18:27 | ||
SamB - If there is a smarter way (which I am sure there is), I am just unaware of it | |||
TreyHarris | pwd | ||
oops | |||
SamB | heh | ||
Limbic_Region | at least it wasn't your root password | 18:28 | |
SamB | /home/perl6 | ||
$ | |||
the best technique is to have built with the mtl in the first place ;-) | 18:29 | ||
Limbic_Region | SamB - though come to think of it, while using darcs to checkout changes and build - I have yet to see just a change in an extralib to note the build time | ||
perhaps it is as you say and I am just blind by my limited experience | 18:30 | ||
18:30
SubStack joined
|
|||
svnbot6 | r13189 | putter++ | INSTALL - mention "Perl5 is now embedded by default. Use "-perl5" to avoid.". | 18:30 | |
SamB | well, to be sure it takes some time for GHC's makefiles to go through their recursion and find nothing to do... | 18:31 | |
TreyHarris | just network and mtl? | ||
Limbic_Region | yes | ||
SamB wishes mtl wasn't one of the extralibs | |||
TreyHarris | ok. so should i clean and/or remakefile pugs? | ||
what is mtl? | 18:32 | ||
SamB thinks this could lead to vicious cycles | |||
Limbic_Region | SamB - from what I was told, it was a close call | ||
TreyHarris - you can just try make but you know my policy | |||
TreyHarris | ghc-6.5.20060910: unknown package: pugs-filepath-0.1 | ||
SamB | well, its nice to know that it was close to being included. perhaps they will do it differently in the future... | ||
Limbic_Region | SamB - I think I convinced the powers that be to include the extralibs in Win32 by default though | 18:33 | |
TreyHarris | i'll try clean | ||
SamB | okay, that is kinda important | ||
or, at least, they should be built | |||
Limbic_Region | SamB - when the .msi (true binary build) comes out, I suspect they will still separate them | 18:34 | |
but have both available | |||
SamB | they have a false binary build as well? | ||
TreyHarris | so what is "?=?", anyway? did TimToady mean to type ">>=<<"? (sorry, can't type non-ascii chars on irc) | ||
Limbic_Region | TreyHarris - there may also be an issue with third-party, what version were you upgrading from? | ||
TreyHarris | Limbic_Region: 6.4.2 | ||
Limbic_Region | SamB - meaning just a tarball | ||
SamB | Limbic_Region: that is binary enough! | ||
it just isn't terribly convenient | |||
Limbic_Region | SamB - hrm, how can I put this. The tarball was b0rk and has been b0rk for some time | 18:35 | |
SamB | ah | ||
Limbic_Region | I should have said "real", I should have said verified or true or something implying non-beta | ||
SamB | okay, so a *working* binary build... | ||
Limbic_Region | yes | ||
18:35
larsen_ joined
18:36
putter joined
|
|||
Limbic_Region | TreyHarris - since I don't know what in third-party is the culprit, if your realclean by itself doesn't work, try a realclean and removing the entirety of third-party (drastic measure) | 18:36 | |
TreyHarris | nope, it's rebuilding all of them now :-) | 18:37 | |
Limbic_Region | woot | ||
TreyHarris | back in a few, maybe if i'm lucky the build will be done then & | 18:38 | |
Limbic_Region | though I am not holding my breath that it still may fail later | ||
18:39
fglock joined
|
|||
Limbic_Region | gaal ping | 18:39 | |
audreyt ping | |||
when I run make smoke - this is what I get on almost every single test (that is all but about 176 of them) | 18:40 | ||
pugs: src/Pugs/AST/Internals/Instances.hs:483:9-109: Irrefutable pattern failed for pattern Data.Yaml.Syck.ESeq [aa, | |||
TimToady | TreyHarris: you need to get a better email client if it can't even display ISO-8859-1 correctly... | ||
putter | Build from scratch fails, r13188, Compiling Pugs.Parser.Charnames, Overlapping instances for Judy.Refeable.Refeable Int arising from use of `Judy.CollectionsM.lookup' at src/Pugs/Parser/Charnames.hs:31:35-42. | ||
lambdabot | putter: You have 5 new messages. '/msg lambdabot @messages' to read them. | ||
Limbic_Region | TimToady - have you been able to do a successful smoke? | 18:41 | |
TimToady | yes. | ||
Limbic_Region | have you uploaded? | ||
I only see mine from today | |||
the one I manually uploaded because of the breakage you noted earlier | |||
unless you aren't on Win32 - duh | 18:42 | ||
TimToady | yes, I'm the entries under repository snapshot / linux | ||
and it's now uploading automagically. | |||
Limbic_Region | ok - so it appears to be a Win32 thing | ||
TimToady | so 'twould seem | ||
Limbic_Region hates being the red headed bastard stepchild | |||
no offense intended to red heads, bastards, or step children | 18:43 | ||
TimToady | "genetics: the science behind why you look like your father, or if you don't, why you should." | 18:44 | |
18:44
nothingmuch_ joined
|
|||
TimToady | commuting & | 18:46 | |
gaal | Limbic_Region: look for an old Test.pm.yml somewhere in your @INC | 18:55 | |
kill it with no mercy | |||
19:00
dakkar_ joined
19:01
dakkar_ is now known as dakkar
|
|||
TreyHarris | TimToady: odd, I'm using a terminal that usually has no problem with UTF8... | 19:03 | |
if i switch it to Latin-1, it works. I thought UTF8 collapses to Latin-1 | 19:04 | ||
avar | Latin-1 is a subset of unicode, not utf-8 | 19:05 | |
TreyHarris | oh | ||
so what do i set my terminal to so that "less -r t/syntax/unicode.t" and Larry's message in Latin-1 will both display? | 19:06 | ||
or is that impossible? | |||
avar | It is not possibly unless you presume certain things about your imput | 19:07 | |
which you might set your terminal to do | |||
TreyHarris | ah, i see. hrm. i don't know what the correct thing to set my terminal to is | 19:08 | |
avar | You could do what I do, run a utf-8 ship and convert other input to it on demand | ||
TreyHarris | avar: ah, any idea how to do that in Pine? | ||
avar | Are you sure pine cares about encodings? | 19:09 | |
in that way it is | |||
most command line programs just eat what your shell spits at them | |||
so you probably just want to set your shell to utf-8 | |||
TreyHarris | my shell? i use zsh | 19:12 | |
TimToady | hmm, haven't used pine in a while, but mutt will automatically convert to utf8 if your terminal is in utf8 mode. | ||
TreyHarris | how do I do that? | ||
avar | zsh did not support utf-8 the last time I tried it | ||
TreyHarris | ah. :-( i've been a zsh user for far too long to change now | 19:13 | |
and all this time i thought i was seeing what i was looking at | |||
avar | It *might* support it | 19:14 | |
look man, don't belive the crazy man on IRC | |||
TreyHarris | lol, no, it's clear that i'm not seeing what i think i am, since "t/syntax/unicode.t" displays perfectly, including the qqw characters, and Larry's message doesn't | 19:16 | |
TimToady | Does your pine delegate the display of the message to less? | 19:18 | |
TreyHarris | TimToady: no. from its config menu, it claims to do automatic conversion between UTF-8 and other supported sets. and Latin-1 is supported, because if i change my terminal and pine to it, it displays (though granted it's just a passthrough then) | 19:19 | |
Limbic_Region | gaal - only one is in blib6/lib but killing anyway | ||
TreyHarris | but i wonder if the UTF-8 support is more of a hope than a promise | ||
SamB | um... shells don't feed stdin... | ||
19:20
jferrero joined
|
|||
SamB | or anything of that nature... | 19:20 | |
TreyHarris | SamB: that's what I thought, but I figured someone whose name is not in the ASCII charset would be very aware of these issues :-) | ||
TimToady | it's also possible that some MTA clobbered it at some point along the way. | ||
does the header include the line Content-Type: text/plain; charset=iso-8859-1 | 19:21 | ||
TreyHarris | TimToady: no, if I save it raw, it's definitely latin-1. and it goes from ?=? to the correct thing (sorry, i can see utf8, but can't type ;-) as i switch the window back and forth from utf8 to latin-1 | ||
"Content-Type: text/plain; charset=iso-8859-1", yes indeed | |||
TimToady | well, something's not paying attention to it that should, then... | 19:22 | |
TreyHarris | it also gives me a message, "The following text is in the "iso-8859-1" character set. Your display is set for the "UTF-8" character set. Some characters may be displayed incorrectly." | ||
SamB | or having trouble discerning what the terminal is doing... | ||
oh. | 19:23 | ||
TimToady | that means "We punt--we're too stupid to do the right thing." | ||
SamB | okay, so something is an idiot that doesn't know how to convert utf-8 to latin1... | ||
TreyHarris | i'm betting that the conversion it claims to do from latin-1 to utf-8 simply isn't happening. | ||
SamB: otherway around | |||
SamB | or, well, that too... | ||
TimToady | upgrade pine maybe? | ||
SamB | either way it is ridiculously easy! | ||
TimToady | or move to mutt, which is, I believe, a derivative of pine... | 19:24 | |
fglock | TimToady: did you get my mail about YAPC::SA? I can resend it | 19:25 | |
TreyHarris | i'm running the newest, which is now almost a year old. perhaps i will try mutt. my finger-memory for pine after 13 years is now extreme | ||
TimToady | fglock: I think so, if it's the one with the invite, but I'm still backlogging my mail. | 19:26 | |
just got back home from UK... | |||
PerlJam | TreyHarris: IIRC, you can get pine-keybindings for mutt | 19:27 | |
TimToady | well, at least I already know where the Brazilian consulate is in San Francisco, assuming they haven't moved lately... | ||
PerlJam is glad he never used pine. *shudder* | |||
fglock | TimToady: ok - I'll send you another mail with some travel info - you'll need a signed invitation to show in the consulate - I'll send you later | 19:28 | |
TimToady | I thought I already got one of those. | 19:29 | |
19:30
penk joined
|
|||
pasteling | "putter" at 66.30.119.55 pasted "PUGS_EMBED="-perl" build fails with type error." (552 lines, 33.5K) at sial.org/pbot/19612 | 19:30 | |
TimToady | I just couldn't do anything about it from the UK... | ||
Limbic_Region | putter - -perl should be !perl | 19:31 | |
gaal | putter: fixed, commit up in a min | ||
fglock | TimToady: the letter I sent wasn't signed | ||
putter | Limbic_Region: both work. audreyt said "-perl" earlier today. So INSTALL now says -perl, and the Makefile message says !perl. Ah well. | 19:32 | |
gaal++ :) | |||
TimToady | fglock: I see that, now that I look at it. | ||
svnbot6 | r13190 | gaal++ | * unbreak build on PUGS_EMBED=-perl && GHC ~~ 6.4.x. | 19:34 | |
r13190 | gaal++ | Reported by putter++. | |||
Limbic_Region | ah | ||
news to me | |||
gaal | be permissive in what you moose etc. | 19:35 | |
permoosive, even. | |||
perlmoosive, even even. | |||
putter | so !perl or -perl? Any preferences on what is the advertised version? | 19:36 | |
gaal | actually, either one wants a '5' at the end :) | 19:37 | |
putter | :) | ||
gaal | you cannot build a perlless pugs :) | ||
putter | must. resist. puns. | 19:38 | |
gaal imagines some mad logician voting for ~perl5 | |||
Ā¬perl5 | 19:39 | ||
āפ×Ø×5 | |||
aw, rtl screwup. | 19:40 | ||
rodi | wow, kde konversation actually printed that rtl. | ||
19:40
avar joined
|
|||
putter | -fperl5 | 19:40 | |
gaal | but wrongly, I bet. was the time moosed up? which side was the not symbol on? | ||
putter | I saw an horizontally reversed not on the left. | 19:41 | |
gaal | heh, the reversal wasn't rendered, it's a separate glyph | 19:42 | |
rodi | horizontally reversed, not on the right | ||
gaal | rodi: cool! | ||
rodi | yeah, I'm surprised. | ||
gaal | and the time? | ||
rodi | on the far-right. | ||
Limbic_Region doesn't like -perl5 only because it seems like a flag and because as a boolean it seems like it is being set to true | |||
gaal | my setup valiantly said 93:22 | ||
rodi | LOL | 19:43 | |
Limbic_Region | gaal - removing that file did the trick, thanks | ||
gaal | excellent | ||
putter | "!perl5" sold to LR | 19:45 | |
gaal | putter: did lambdabot fill you in? | 19:46 | |
# @honorific = <-san -tan -moose ...> | 19:47 | ||
putter | yes, thanks. neat mechanism. much easier than scanning logs. :) | ||
Limbic_Region | TreyHarris ping | 19:48 | |
svnbot6 | r13191 | putter++ | INSTALL - change "-perl5" to "!perl5" to match the Makefile message. | 19:49 | |
r13191 | putter++ | Also, "-perl5" looks like an enabling flag. | |||
Limbic_Region | ok, it looks like ext\libwww-perl\t\getprint.t still hangs on Win32 | 19:51 | |
what's the incantation to skip a particular test from make smoke? | |||
putter goes to look at what neat type theoretic thing gaal did to avoid the overlapping instances. Hmm, only Charnames.hs changed. diff... | |||
gaal | chmod -r testfile :-p | ||
putter | -{-# OPTIONS_GHC -fglasgow-exts -fno-full-laziness -fno-cse -cpp -fvia-C #-} | ||
+{-# OPTIONS_GHC -fglasgow-exts -fno-full-laziness -fno-cse -cpp -fvia-C -fallow-overlapping-instances #-} | |||
lol | |||
gaal | putter: on by default in ghc 6.5 :) | 19:52 | |
SamB | gaal: scary! | ||
gaal | and added in basically all our .hs files ever since we started using newval and open types | ||
ghci leaks badly :( | 19:53 | ||
Limbic_Region | make smoke is calling util\yaml_harness.pl (which supports command line arguments) but make smoke doesn't honor them | 19:54 | |
I could easily modify the Makefile.PL to do so but I am not comfortable that I would be doing it "right" | |||
for instance, by looking at an env ar | 19:55 | ||
gaal | Limbic_Region: hm, BEGIN { @ARGV = $ENV{somethingorother} if $ENV{somethingorother} } ? | ||
Limbic_Region | s/ar/var/ | ||
gaal | do it in the harness, not in the makefile | ||
Limbic_Region | gaal - in Makefile.PL ? | ||
wait, that doesn't make any sense | 19:56 | ||
or rather, it seems like it would violate the principal of least suprise | |||
gaal | what doesn't? | ||
what interface do you want it to have? | |||
putter | Sigh. And the downside of ! is of course that some shells (eg, sh), consider it special... | ||
gaal | make smoke harnessopts ? | 19:57 | |
Limbic_Region | gaal - I would want it to treat it as a black box (which it would be if it was compiled) | ||
gaal | er | ||
you want to pass it params | |||
Limbic_Region | gaal - IOW, if we didn't have the source to modify that which is being invoked, how would we solve it | ||
gaal | how would you want the param passing to look like? | ||
SamB | wouldn't you just use a Make variable? | 19:58 | |
Limbic_Region | well, that's what I am unsure of, but it should be the make smoke -> $PERL util/yaml_harness.pl <options> <file> that should be changed | ||
gaal | Limbic_Region: changed how, on the make invocation line? on the makefile generation? | ||
Limbic_Region | gaal - behavior should be able to be changed without re-generating the makefile | 19:59 | |
however, a change to the makefile generation is necessary to get it to read | |||
it may be as simple as setting a env variable which the generated makefile reads | |||
gaal | brb phone | 20:00 | |
Limbic_Region | that way to run the smoke one way one time and another way another time it would be | ||
export SMOKE_OPTION="foo" | |||
make smoke | |||
SMOKE_OPTION="bar" | |||
make smoke | |||
that's the way I would do it right now if I was locked in isolation (but thankfully I am not *yet*) | 20:01 | ||
gaal | and what's the argument in favor of putting the logic in the makefile rather than the harness? | 20:06 | |
Limbic_Region | gaal - it is bass ackwards | 20:08 | |
gaal | elaborate please | ||
Limbic_Region | the only reason why I would put it in the harness would be to support the make | ||
anyone running it without the make could just specify the arguments | |||
20:08
nothingmuch joined
|
|||
gaal | you are not providing a generic mechanism to turn env vars to rule args | 20:09 | |
you are adding functionality to help the yaml harness specifically | |||
the complexity is roughly the same in either place | |||
Limbic_Region | I am not doing anything at the moment | ||
putter | any objections to -fperl5 ? Ie, gnu/ghc standard negative flag? | ||
Limbic_Region | I am asking what makes the most sense | ||
fglock | audreyt: ping | ||
Limbic_Region | and your suggestion just doesn't make much sense to me | 20:10 | |
the external program being invoked by the make works as designed | |||
gaal | Limbic_Region: I'm recommending the harness, because the makefile's complex as it is | ||
Limbic_Region | *shrug* | 20:11 | |
and what would you recommend if it was a perl script but a compiled executable we needed to invoke - one that only supported command line arguments? | 20:12 | ||
gaal | it will, of course, continue to work just fine the way it used to. | ||
Limbic_Region | except on Win32 | ||
gaal | how's that? | ||
Limbic_Region | which hasn't been able to smoke for some time | ||
there is a test that hangs | |||
I could skip the test if I could pass in command line args to the harness | |||
since the 7th judging by the smoke summary | 20:13 | ||
gaal | what? no, I'm saying that the begin block, which of course is a hack, doesn't preclude command line invocations that pass args explicitly. | ||
Limbic_Region | oh, no it doesn't | ||
svnbot6 | r13192 | putter++ | INSTALL, Makefile.PL - Replaced all advertising for PUGS_EMBED option "!perl5" with "-perl5". For consistency. | ||
r13192 | putter++ | Both still work, but only "-perl5" is now advertised. | |||
r13192 | putter++ | Makefile.PL was perviously advertising both. | |||
r13192 | putter++ | "-perl5" is not ideal, looking like an option enabled. | |||
r13192 | putter++ | "!perl5" interacts with shells. | |||
Limbic_Region | but it feels wrong to me | ||
I understand your point about the makefile already being complex | 20:14 | ||
gaal | what would I recommend if this were an executable, all other things being equal? still changing the executable. | ||
*compiled executable | |||
assuming we had control over its source code, that is. | 20:15 | ||
which does fall under "all other things being equal" :) | |||
Limbic_Region | well, my recommendation would be to find a way to autoconvert an env variable such as <make type>_cfg to pass those as arguments to the thing being called | ||
that way we solve it once for any and all programs we might be invoking | |||
of course <make type>_cfg is an oversimplification but... | 20:16 | ||
gaal | don't forget that the conversion probably needs to be done explicitly and portably for every invocation. | 20:17 | |
Limbic_Region | gaal - well, if you look at the way the generated makefile handles this problem in other make types - it is as I am suggesting and not as you are suggesting | ||
gaal | perhaps this calls for 'use Getopt::Environmental qw(yaml_harness_opts)' | ||
Limbic_Region | err - nevermind, I misparsed $(PERL) -e "ENV->{PUGS_RUNTIME}=q+JSPERL5+; exec | 20:18 | |
gaal | lord knows why you did that :) | ||
Limbic_Region | gaal - here is a valid reason why I think it should be solved in the make process | 20:19 | |
gaal | yes? | ||
Limbic_Region | I run the smoke, it fails - I decide to skip the test | ||
time passes | |||
gaal | z | ||
Limbic_Region | I want to determine if the problem has been fixed | ||
I don't want to run the entire smoke so I run the harness manually | 20:20 | ||
it skips the test reporting everything as a ok | |||
oops - forgot to unset the env var | |||
action at a distance | |||
gaal | we all agree env vars suck | ||
but you could have forgotten to unset it when running make smoke, couldn't you? | 20:21 | ||
Limbic_Region | though I guess proper documentation could solve that | ||
the difference being is that I would expect "special consideration for the make process" not to affect the normal operation of the utility | |||
gaal | anyway, that's solved with usage: | 20:22 | |
insetead of the modal setenv MOOSE elk ; make smoke | |||
Limbic_Region | I guess it is just a matter of perspective | ||
Limbic_Region listens | |||
gaal | run env MOOSE=elk make smoke | ||
which, granted, is missing on win32. | |||
Limbic_Region | there is no make magic to parse one part of the make one way and the rest as args? | 20:23 | |
make smoke='foo bar' ? | |||
gaal - let's really go yak shaving, let's solve the problem by replacing make ;-) | |||
gaal | maybe some extensions have something like this | ||
let's not go to camelot, 'tis a silly place. | 20:24 | ||
lumi | Doesn't make take parameters? | ||
Limbic_Region | actually - the proper way to solve this is likely to skip the test on win32 for now in the .t file itself | 20:25 | |
putter | sigh. hello yak, old friend. The concept of [-!]perl5 was never propagated through Makefile. So the rest of it is mistesting with /\bperl5\b/. | ||
Limbic_Region is leaving in a few but will think about it overnight | |||
I also need to be working on incorporating Parallel::ForkManager into yaml_harness.pl so Win32 can do the smoke tests in parallel | 20:26 | ||
gaal | lumi: it does, but I'm not sure all makes treat them the same way. | ||
Limbic_Region | as well as continue learning Haskell which hasn't made my brain blow up yet this time | ||
gaal | groovy. I'm going back to pretty-printing signatures. | 20:27 | |
TreyHarris | Limbic_Region: pong? | 20:30 | |
gaal | lumi: (care to check?) | ||
we only have four makes to support ;) | 20:31 | ||
lumi | Which? | ||
gaal | gmake, freebsd make, nmake, and (I think?) dmake | ||
rodi | as if one weren't bad enough. | 20:32 | |
lumi | dmake = distributed make from solaris? | 20:33 | |
gaal | no, a free windows make | ||
Limbic_Region | TreyHarris - wondered how much 6.5 improved smoke time | ||
lumi | Apparently dmake is also the name of a make written in D | 20:34 | |
gaal | lumi: a bright wonderful world is opening for you now. if you're into pain. | ||
lumi | Ehm. | ||
rodi | man, sigils were hard to get right, but the combination of sigils and twigils is killing me. At least they're invariant. | 20:35 | |
Limbic_Region | TreyHarris - headed home, no worries | ||
TreyHarris | @tell Limbic_Region At the moment I'm still rebuilding pugs. Since make smoke took ~4hours before, it may be awhile before I know if 6.5 improves it :-) | 20:36 | |
lambdabot | Consider it noted. | ||
20:36
pen1 joined
20:43
reZo_ joined,
bernhard joined
|
|||
gaal | anyone still awake who's using 6.4? putter? | 20:43 | |
lumi | nmake doesn't seem to believe in either the command line or the env | ||
putter | yes | ||
well, 6.4.1 | |||
lumi | I've 6.4 | ||
gaal | could you do me a favor? I don't remember if this is supported... | 20:44 | |
$EDITOR src/Pugs/Exp.hs-boot | |||
add the line | |||
instance Eq Exp | |||
and, uh, make fast :) | |||
20:45
perlbot joined
|
|||
gaal | I have a feeling this is one of the prime reasons I moved to 6.5 but can't be sure, which only indirectly strengthens the feeling, since I must be repressing the mad attempts of breaking the circularity problems | 20:46 | |
MJD++ # great blog post | 20:49 | ||
"Sherman, set the wayback machine for 1957", ha! | |||
putter | blog? | 20:56 | |
gaal | www.plover.com/blog/2006/09/11#design-patterns | ||
lambdabot | Title: The Universe of Discourse : Design patterns of 1972, tinyurl.com/gxrxs | 20:57 | |
20:57
pen1 is now known as penk
|
|||
putter | gaal: will simply building be a sufficient test? running? | 20:59 | |
gaal | just building, I think. | 21:01 | |
consuming that file, even, so once you get to Pugs.Val, if there's no error, groovy. | |||
but actually, to be sure... | |||
edit Pugs.Val.Code, find 'data ParamDefault', and add 'Eq' to the derived list | 21:02 | ||
lumi | Is that warning in Pugs.Val (no method 'gunfold' for Data NativeComplex) a fixture? | ||
gaal | then 'touch Pugs.Val' | ||
putter | make fast succeeds with the modified file. now making the other changes. | 21:03 | |
gaal | lumi: hmm, doesn't happen on 6.5, I think | ||
but we can either articulate the instance or write more dummy 'error' methods | 21:04 | ||
I often break haskell's static safety in Pugs :( eg., we'll need some type inference / analysis of our own to tell the user that complex numbers aren't Ord at compile time :( | 21:05 | ||
lumi | gaal: mm no | 21:06 | |
gaal | no what? | 21:07 | |
lumi | gaal: There's apparently already an Eq for ParamDefault, and also it doesn't think there's an instance for Eq Exp | ||
gaal | ah, the former's just line 126 needing removal | 21:08 | |
but the latter is sad :( | |||
okay, no sig pretty printing for the coming release :( | |||
lumi | istr "instance in boot" was something you were championing for the future, no? | ||
So it would make sense it wouldn't work | |||
gaal | like I said, I managed to repress that | 21:09 | |
sigh. an alternative is to use Maybe Exp instead of ParamDefault's isomorphic type | 21:10 | ||
then the Nothings at least are comparable | |||
okay, thanks | |||
putter | gaal: went boom for me too. Compiling Pugs.Val ( src/Pugs/Val.hs, dist/build/src/Pugs/Val.o ) src/Pugs/Val/Code.hs:124:23: Class `Eq' used as a type When deriving instances for type `ParamDefault' | 21:11 | |
gaal | lumi++ putter++ | ||
I think I'll go to sleep instead, though... | |||
putter | g'night. :) | ||
gaal | If I can convince this fluffy cat to let me | ||
putter | Just for general education, I note... | 21:12 | |
The [-!]perl5 thing was a half-month old "one patch too far before going to sleep". | |||
gaal | caribou, elko moose. | ||
lol | |||
putter | A cautionary tale. | ||
gaal waves & | 21:13 | ||
21:14
jferrero joined
|
|||
rodi | wow, speaking of cautionary tales, I just overloaded postfix:<++>, trying to be cute, and inside of my method postfix:<++> call, I said $int++ (meaning, tried to increment an Int by one). It didn't work ;) | 21:15 | |
gaal | the R is for Recursive (also)... | 21:16 | |
rodi | in this case, it was more appropriately, for Rubbish | 21:17 | |
21:23
thepler joined
21:30
Limbic_Region joined
21:33
weinig|bbl is now known as weinig
|
|||
svnbot6 | r13193 | putter++ | The PUGS_EMBED perl5 embedding avoidance flag is now "noperl5". | 21:34 | |
r13193 | putter++ | Files: INSTALL, Makefile.PL | |||
r13193 | putter++ | Perl5 was made default on 2006-08-15, and the "-perl5"/"!perl5" flags added. | |||
r13193 | putter++ | However, Makefile.PL uses /\bFLAG\b/ tests. | |||
r13193 | putter++ | The positive "perl5" flag continues to exist, and be used. | |||
r13193 | putter++ | Tests for it match the new new, oppositely sensed, flags. | |||
r13193 | putter++ | So much of Makefile was not honoring "-perl5" requests. | |||
r13193 | putter++ | A new flag "noperl5" has now been added to replace "-perl5"/"!perl5". | |||
r13193 | putter++ | Makefile does the right thing with it. | |||
r13193 | putter++ | The flags "-perl5" and "!perl5" still exist, are depreciated, | |||
r13193 | putter++ | generate a warning, and are still buggy. | |||
r13193 | putter++ | "noperl5" has the advantage of matching the existing convention. | |||
r13193 | putter++ | If we want a new convention, that's fine, but requires additional changes. | |||
r13193 | putter++ | The depreciation code, and checks for [-!], should be removed for next release. | |||
21:35
notThis joined
|
|||
putter | end of yak, err, of day. & | 21:37 | |
rodi | later putter. | ||
21:41
Eimi joined
|
|||
putter | rodi: OUTER::postfix:<++>($i); ? | 21:42 | |
21:45
Eimi joined
21:48
weinig is now known as weinig|afk
|
|||
putter | Someone with parrot website authority might want to change, on www.parrotcode.org/source.html, the link "parrot 0.4.6", so it actually points to a tarball. | 21:57 | |
lambdabot | Title: Parrot Source Code & Binaries - parrotcode | ||
21:59
buetow joined
|
|||
TreyHarris | i just realized i'm wayyyy out of date on my parrot build (like, 3+ weeks). how often do i need to recompile it to keep Pugs happy? | 22:04 | |
gaal | @tell putter since [-!] is newer than the latest release, there's no public release-oriented deprecation to observe anyway | 22:05 | |
lambdabot | Consider it noted. | ||
gaal | resleep | ||
svnbot6 | r13194 | rodi++ | An oopy, hackish interface to render cellular automata on a terminal. | 22:10 | |
r13194 | rodi++ | Needs to be made lazy, and a few other things as well, but passes tests | |||
r13194 | rodi++ | and works on the examples (refactored from examples/ca_wolfram.pl). | |||
leo | putter: redirected to $authority and fixed - thanks for reporting - you was the first one doing so;) | 22:11 | |
Limbic_Region | TreyHarris - typically pugs using parrot only for rules support | 22:12 | |
lambdabot | Limbic_Region: You have 1 new message. '/msg lambdabot @messages' to read it. | ||
Limbic_Region | so not often | 22:13 | |
there are other reason when too new or too old a parrot would be a problem | |||
AFAIK, that is only when using parrot as the backend | |||
TreyHarris | Limbic_Region: thanks | ||
Limbic_Region has never set PUGS_EMBED="parrot" so that's uncharted territory for me | |||
smoke still running? | 22:14 | ||
svnbot6 | r13195 | trey++ | [t/oo/syntax-but.t] | ||
r13195 | trey++ | Using context variables to | |||
TreyHarris | I only just started it about five minutes ago. It's not even into tests yet | ||
svnbot6 | r13195 | trey++ | change ok eval to eval_ok | ||
TreyHarris | Ah, just started tests | ||
TimToady | also smoking r13195 | ||
Limbic_Region | well, I guess I should get in on the action then | 22:16 | |
just need to remember the test I need to skip from hanging on Win32 | 22:17 | ||
22:17
markstos joined
|
|||
TreyHarris | r13188 here. hmm. "Use of uninitialized value in concatenation (.) or string at util/run-smoke.pl line 71." hmm. i don't know how you suppress that warning when you do something like that: 's/(\.html?(\+)?)?$/.yml$2/'. besides no warnings i mean.... | 22:18 | |
TimToady: can you tell me if this is really the simplest way to do a "cross-product" type thing without resorting to nested for loops? | |||
?eval my @a = <a b>; my @b = <1 2>; @a >>~<< (([@b],) xx @a.elems) | |||
22:19
evalbot_r13185 is now known as evalbot_r13194
|
|||
evalbot_r13194 | (("a1", "a2"), ("b1", "b2")) | 22:19 | |
TreyHarris | (though I wanted the result flattened... can't figure out that either) | ||
dakkar | s/(\.html?(\+)?)?$/'.yml'.($2||'')/e ? | ||
TreyHarris | dakkar: *nod* | 22:20 | |
22:22
lanny joined
|
|||
svnbot6 | r13196 | markstos++ | [ext/Automata-Cellular/Makefile.PL] | 22:22 | |
r13196 | markstos++ | Fix typo in Makefile.PL | |||
r13197 | trey++ | [util/run_smoke.pl] | |||
r13197 | trey++ | Suppressing spurious undef warning. | |||
r13197 | trey++ | dakkar++ | |||
22:23
ludan joined
|
|||
Limbic_Region | smoke started now | 22:25 | |
dakkar | ?eval my @a=<a b>;my @b=<1 2>;map { @a Ā»~Ā« $_ } @b | ||
22:25
evalbot_r13194 is now known as evalbot_r13195
|
|||
evalbot_r13195 | Error: unexpected "@" expecting comment, ",", ":", operator, postfix conditional, postfix loop, postfix iteration, ";" or end of input | 22:25 | |
dakkar | ?eval my @a=<a b>;my @b=<1 2>;map { @a Ā»~Ā« $_ },@b | ||
evalbot_r13195 | ("a1", "b1", "a2", "b2") | ||
dakkar | TreyHarris: is it more readable this way? | 22:26 | |
hmm... not the same output, though | 22:27 | ||
?eval my @a=<a b>;my @b=<1 2>;map { [@a Ā»~Ā« $_] },@b | |||
22:27
evalbot_r13195 is now known as evalbot_r13197
|
|||
evalbot_r13197 | (["a1", "b1"], ["a2", "b2"]) | 22:28 | |
lanny | Hi all. Got a question. I've implemented L<S29/sort> in perl6 for the prelude but pugs hasn't implemented a lot of the syntax yet. Should I post to perl6.compiler for mark-1 eyeball feedback or something else? | 22:30 | |
lambdabot | lanny: You have 1 new message. '/msg lambdabot @messages' to read it. | ||
TreyHarris | lanny: does it parse and not work? or does it not even parse? | 22:31 | |
lanny | Not even parse. An example of failure is: subset KeyExtractor of Code(Any --> Any); | 22:32 | |
pugs seems to not like the Any --> Any | |||
or maybe it's the 'subset' part. | 22:33 | ||
TreyHarris | subset isn't even tested (!) | ||
lanny | That's my point. :) | 22:34 | |
TreyHarris | people who were asking for something to do... *hint hint* | ||
lanny: well, once it's been reviewed, I'd say check it into Prelude.pm inside a kwid block--there's other code like that currently disabled there. but not just for review, because updating it will cause a spurious rebuild | 22:35 | ||
Limbic_Region | lanny - first thing to do is write a failing test | ||
reference the spec | |||
lanny | Was going to, Limbic, but that wouldn't progress me any on the other 180 lines or so. Was just curious how large chunks of non-parsing code are handled. | 22:36 | |
TreyHarris | lanny: maybe make an "unspecced/sort.t" and include it there with its own tests (not the tests for subset, etc.), all todo'd, and check it in so we can have a look at it? | ||
lanny | I'll be writing up tests for the whole thing which should keep me busy for a while anyway. | ||
TreyHarris | email is not the best forum for code review. svn and irc is better, IMHO | 22:37 | |
Limbic_Region: My smoke is still in ext/, 30m later, so I don't think there's going to be any remarkable speedup :-/ | 22:38 | ||
lanny | So F<unspecced/sort.t> would have all the code and the tests to exercise it? | 22:39 | |
Limbic_Region | TreyHarris - well, I had to start over because another wwwlib in ext is hanging | ||
TreyHarris | lanny: right, but put the actual unparsing routine in an eval_ok string | ||
Limbic_Region: that happens to me on occasion, but not always. not sure what the deal is | |||
lanny | Well I'll just write a real test for those. subset is mentioned and so is using --> in signatures so those are easy to hang tests off of | 22:40 | |
TreyHarris | care to implement alarm() or some other timeout mechanism? :-) | ||
Limbic_Region | well - it is affecting 2 different systems for me but I haven't bothered trying to track it down | ||
lanny | hah. Little steps first. | ||
Limbic_Region | actually - the harness is written in p5 | ||
TreyHarris | lanny: yes, but you never want a test to blow up completely, because then the harness just gives up and we get whites instead of reds in the matrix | 22:41 | |
lanny | Yep, Trey, I know the drill. | ||
TreyHarris | ok :-) | ||
lanny | But that's why I'm asking first to make sure. | 22:42 | |
TreyHarris | lanny: sorry, didn't mean to be pedantic. we've just had some folks here who have never written tests for even regular old CPAN modules... it's hard to know how explicit to be :-) | ||
lanny | Wife calling me to supper. Thanks for the direction, gang. | ||
markstos | lanny: thanks for helping out! Are you new here, or have I just missed you since I've been hanging around ? | ||
lanny | I've been here about a week or so I think | 22:43 | |
TreyHarris | markstos: he's been around at least a week or... oh, he's still here :-) | ||
markstos | glad to have you! | ||
lanny | Glad to be here. | ||
Committing two tiny srand() tests gave me more satisfaction than I've had from my job in a long time so I think this is gonna be fun. | 22:44 | ||
markstos | :) | ||
lanny | Ok. Really gotta run. Laters. | ||
22:45
penk left
22:53
cjeris left
|
|||
svnbot6 | r13198 | markstos++ | [t/builtins/lists] | 22:55 | |
r13198 | markstos++ | Every file here has at least one smart link now. (11 added) | |||
r13199 | markstos++ | [t/builtins/hashes] | 23:01 | ||
r13199 | markstos++ | Every file here has at least one smart link now. (3 added) | |||
r13199 | markstos++ | hashes/isa.t could use a better one. | |||
r13200 | markstos++ | [t/builtins/control_flow] | 23:07 | ||
r13200 | markstos++ | Every file here now has a smart link. (4 added) | |||
r13201 | markstos++ | move goto.t from builtins/ to blocks/ to match now it appears in the spec. | 23:10 | ||
23:13
bsb joined
23:24
radian joined
23:36
Aankhen`` joined
|
|||
Limbic_Region | wow - smoke time nearly 1 hour | 23:41 | |
markstos | I found some tests for "true", but seemingly no spec mentions of it. | 23:44 | |
The tests all pass, though. | |||
I notified p6l about "not" and "true" being missing from the spec. | 23:47 | ||
I don't really see the need for "true"...I got by fine without it in Perl 5. | |||
svnbot6 | r13202 | markstos++ | [t/builtins/bool] | 23:50 | |
r13202 | markstos++ | Added smart link for defined.t. "not" and "true" appear not be spec'ed. p6l notified. | |||
TreyHarris | it's True and False (which should be a shorthand for the Bool::True and Bool::False enums as a Bool subtype), not true. and 'not' isn't specced because it's the same as perl 5, AFAIK | 23:52 | |
markstos | I believed the Perl 6 spec to be comprehensive and self contained for the most part, not differences from Perl 5. | 23:53 | |
TreyHarris | ohhh... i just looked at the test | ||
true is the low-precedence form of ? | 23:54 | ||
not is just like perl 5 | |||
markstos | You shouldn't have read a Perl 5 reference to understand the Perl 6 reference. (if you want ignore rx:Perl5, use:Perl5, etc) | ||
TreyHarris: I expect "not" is just like Perl 5, but it should still be in the spec somewhere. | |||
TreyHarris | markstos: take it up with TimToady et. al.... synopses have always been silent on what is the same (or obviously derived given other new things) from Perl 5 | 23:55 | |
markstos | TreyHarris: I did. I notified p6l earlier. | ||
23:55
xdg joined
|
|||
TimToady | installing P5isms into the specs will probably entail major refactoring. | 23:56 | |
(of the specs) | |||
putter | (thus the Perl6 Reference Manual project was born...;) | 23:57 | |
lambdabot | putter: You have 1 new message. '/msg lambdabot @messages' to read it. | ||
TimToady | incidentially, true and not are already documented in S03 | 23:58 | |
at least in the precedence table | |||
markstos | TimToady: but isn't it a goal to have a self-contained reference? Perl 6 will appear to more people than those who care learn the Perl 5 spec, first. | ||
TreyHarris | TimToady: welcome back, by the way, I've been coming or you've been going every time thus far we've been on the channel at the same time today :-) | 23:59 | |
TimToady | Certainly we want a self-contained references. It's just not clear that the S's will refactor into those in place. |