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.