Camelia, the Perl 6 bug

IRC log for #perl6, 2005-06-03

Perl 6 | Reference Documentation | Rakudo | Niecza | Specs

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

All times shown according to UTC.

Time Nick Message
00:00 vcv has quit IRC (Read error: 60 (Operation timed out))
00:01 geoffb Limbic_Region: I will do so, when I have a nice minimal case of the bug(s).
00:02 geoffb Yes I know he's gone, but someone else mentioned that he reads the backlog
00:04 wolverian opendir('.').kv seems to hang.
00:08 cdpruden has joined #perl6
00:21 geoffb Ah, yes, almost got the full looper puzzle fixed (just have a spurious extra call to the $code at the end of the iteration to get rid of)
00:21 geoffb but now time for dinner.
00:21 geoffb AFK for a while
00:22 Forth has joined #perl6
00:35 eric256 has joined #perl6
00:36 eric256 i fixed the svnbot the other day and the copy i have running ran without trouble through the night...so if somebody was running it before feel free to invite it in...other wise i could run it on my feather account if thats okay with Juerd
00:37 theorbtwo eric256: I suspect it is.
00:37 jabbot pugs - 4333 - Code::pos method (not quite working?)
00:38 theorbtwo I just checked in a ::Code.pos method... but I'm not quite sure it's working correctly.
00:39 theorbtwo It seems to give -e 1 1 1 1 far too often.
00:39 eric256 or jabbot is still running. lol. didn't know taht
00:41 theorbtwo jabbot is still running.  Having both wouldn't be horrible.
00:51 sekimura has quit IRC (Read error: 131 (Connection reset by peer))
01:02 metaperl has left "So Long, and Thanks for All the Fish!"
01:02 sproingie has joined #perl6
01:07 jabbot pugs - 4334 - More information on entering oddball cha
01:10 geoffb *urp*
01:10 theorbtw1 has joined #perl6
01:15 svnbot6 has joined #perl6
01:15 castaway_ has joined #perl6
01:16 autrijus eric256: you can invite svnbot6 using /msg svnbot6 ?join #perl6
01:16 autrijus (I hacked that feature in a while ago)
01:16 autrijus btw, rehi \camels!
01:16 sri_ should i port Carp?
01:16 geoffb hello there
01:16 autrijus sri_: maybe. currently our die"" gives full stack trace anyway
01:17 sri_ yea, thats why i'm askin ;)
01:17 jabbot pugs - 4335 - Prettify .pos output.  (Should be conver
01:18 sri_ btw, better errors would be very nice, not just the sub or method it can't parse :)
01:18 autrijus sri_: oh, that :)
01:18 theorbtwo has quit IRC (Read error: 145 (Connection timed out))
01:18 autrijus ?eval sub { (( }
01:19 evalbot6 Error:  unexpected "}" expecting expression
01:19 autrijus ?eval sub { )) }
01:19 sri_ made my head smoke a few times now
01:19 evalbot6 Error:  unexpected ")" expecting ";", statements or "}"
01:19 autrijus hm, how do you trigger that?
01:19 autrijus (a parse error reported at the sub{} level)
01:19 autrijus any examples?
01:19 autrijus ?eval sub { 1 ? 2 : 3 }
01:19 evalbot6 Error:  unexpected "?" expecting operator, postfix conditional, postfix loop, postfix iteration, ";" or "}"
01:19 autrijus ?eval sub foo { 1 ? 2 : 3 }
01:19 evalbot6 Error:  unexpected "?" expecting operator, postfix conditional, postfix loop, postfix iteration, ";" or "}"
01:19 autrijus ?eval sub foo { 1 + }
01:19 evalbot6 Error:  unexpected "}" expecting term
01:20 autrijus these all look okay to me
01:20 sri_ can't trigger it with a oneliner...
01:20 autrijus it's (horrors) multiline specific?
01:21 sri_ dunno, trying to write a testcase
01:21 autrijus danke
01:23 sri_ pugs -e 'class Foo; method bar { my $re = m:P5/\// }'
01:23 autrijus ?eval sub bar { my $re = m:P5/\// }
01:23 evalbot6 Error:  unexpected "}" expecting term
01:24 mikfire09 has left
01:24 autrijus ?eval class Foo; method bar { my $re = m:P5/\// }
01:24 evalbot6 Error:  unexpected "m" expecting ";" or end of input
01:24 autrijus ?eval method bar { my $re = m:P5/\// }
01:24 evalbot6 Error:  unexpected "}" expecting term
01:24 autrijus hrmph.
01:25 autrijus ?eval 1; method bar { my $re = m:P5/\// }
01:25 evalbot6 Error:  unexpected "m" expecting ";" or end of input
01:25 autrijus aha.
01:25 autrijus ?eval 1; sub bar { my $re = m:P5/\// }
01:25 evalbot6 Error:  unexpected "s" expecting ";" or end of input
01:25 autrijus ?eval 1; sub bar { 1+ }
01:25 evalbot6 Error:  unexpected "s" expecting ";" or end of input
01:25 autrijus ?eval 1; sub { 1+ }
01:25 evalbot6 Error:  unexpected "s" expecting ";" or end of input
01:25 autrijus ?eval 1; { 1+ }
01:25 evalbot6 Error:  unexpected "{" expecting ";" or end of input
01:25 autrijus ?eval { 1+ }
01:25 evalbot6 Error:  unexpected "}" expecting term
01:25 autrijus got it!
01:25 autrijus sri++
01:25 * autrijus fixeth
01:25 kelan autrijus: trinary operator is now ??::
01:25 sri_ autrijus++
01:26 sri_ yes kelan
01:26 autrijus kelan: I know :o
01:26 kelan ok:)
01:26 autrijus ?eval 1 ⁇ 2 ∷ 3
01:26 evalbot6 Error:  unexpected "G" expecting operator, postfix conditional, postfix loop, postfix iteration, ";" or end of input
01:27 castaway has quit IRC (Read error: 110 (Connection timed out))
01:30 autrijus fixed
01:30 autrijus running regression
01:30 sri_ autrijus++
01:36 autrijus r4336. enjoy
01:36 svnbot6 r4336, autrijus++ | * Parse error inside blocks is now reported on the occuring
01:36 svnbot6 r4336, autrijus++ |   position instead of on the beginning of block.  Reported by
01:37 svnbot6 r4336, autrijus++ |   sri++ among many other people.
01:37 meppl gute nacht
01:37 autrijus g'nite meppl
01:37 meppl ;)
01:37 autrijus however that broke everything :D
01:38 * autrijus fixeth again
01:39 vcv has joined #perl6
01:39 mrborisguy has joined #perl6
01:41 autrijus fixed.
01:42 sri_ great, time to rebuild...
01:42 svnbot6 r4337, autrijus++ | * oops, the last change broke trailing semicolon in
01:42 svnbot6 r4337, autrijus++ |   blocks.  Unbreak it.
01:43 autrijus ?eval 1; { 1+ }
01:43 evalbot6 Error:  unexpected "{" expecting ";" or end of input
01:47 geoffb http://perlmonks.org/index.pl?node_id=463076
01:47 geoffb Limbic_Region: See above.  :-)
01:47 jabbot pugs - 4336 - * Parse error inside blocks is now repor
01:47 jabbot pugs - 4337 - * oops, the last change broke trailing s
01:48 geoffb svnbot6 gives a nicer output than jabbot . . . .
01:49 autrijus yeah. I invited jabbot back because svnbot6 was down
01:50 autrijus now that svnbot6 is back and functional maybe jabbot can be retired again
01:50 geoffb Is svnbot6 a strict superset of jabbot?
01:51 autrijus jabbot: is svnbot6 a strict superset of you?
01:51 jabbot autrijus: You're not really talking about me -- are you?
01:51 autrijus geoffb: no, not really. :)
01:51 autrijus geoffb: jabbot is also a chatbot among other things
01:53 geoffb gotcha
01:55 meppl has quit IRC (Remote closed the connection)
01:58 geoffb The t/README says not to mark parse bugs as todo => 'bug', but the t/pugsbugs/* do.  Is the README wrong, or is the intention that on first creation, the test should fail, but if it makes it to the next release it is marked todo as a "long standing bug"?
02:00 larsen has joined #perl6
02:03 autrijus 1. t/README predates :todo<bug>
02:03 autrijus so it needs to be revised
02:04 geoffb autrijus, ok, thanks
02:04 autrijus and 2. the intention you outlined above is correct
02:04 geoffb ok
02:04 autrijus it helps us to tell regressions from new failures
02:04 autrijus i.e. regressions is almost never tolerated
02:04 autrijus but new failures is sometimes O.K. to be :todo<bug>'ed into next release
02:05 autrijus want to help fixing t/README? do you have a committer bit?
02:05 geoffb So should I mark the short-circuit undef bug as todo or not?
02:06 geoffb I'd be happy to, and no, not yet.
02:06 nothingmuch morning
02:06 geoffb I'm writing my first thing to commit -- the test for the short-circuit undef bug
02:06 geoffb evening, nothingmuch
02:06 autrijus geoffb: let it fail, not todo. your email so I can send invitation to?
02:06 autrijus (also add yourself to AUTHORS)
02:06 geoffb OK
02:07 larsen has quit IRC ("later")
02:07 * nothingmuch goes back to sleep
02:08 nothingmuch Limbic_Region - i hope that it will be clarified by doing real work, and not discussing things to death. Try reading the haskell for C people tutorial and a bit of YAHT though.
02:10 metaperl has joined #perl6
02:11 autrijus geoffb: invitation sent. welcome aboard!
02:11 geoffb autrijus, thanks!  Will pick up in a bit.
02:13 nothingmuch has quit IRC ()
02:28 cdpruden has quit IRC ("Oops. This machine just fell asleep")
02:28 mrborisguy has quit IRC (Read error: 104 (Connection reset by peer))
02:36 vcv has quit IRC (Read error: 60 (Operation timed out))
02:46 Daniel_Nee has joined #perl6
02:46 autrijus hi Daniel_Nee
02:50 mrborisguy has joined #perl6
02:50 mrborisguy has quit IRC (Client Quit)
02:55 Daniel_Nee Hi, Autrijus: Surprise ! You woke up so early. We still have some problems at IBT, is it convenient for you to come in this afternoon to help us ?
02:57 autrijus how about, like, now
02:57 autrijus as I'm awake? :)
02:58 Daniel_Nee That's great !
02:58 autrijus ok... I'll meet you at $office in a bit
02:59 Daniel_Nee See you.
03:00 autrijus :) &
03:00 autrijus ?eval "123\012456"
03:00 evalbot6 '123エ'
03:01 autrijus ?eval "123 \x0d 456"
03:01 evalbot6 '123
03:01 autrijus mmm exploit.
03:05 geoffb OK, hopefully I did that correctly.
03:06 svnbot6 r4338, geoffb++ | Test for undef coderef shortcircuit idiom cast failure; name in AUTHORS file as this is my first commit
03:06 geoffb That looks promising
03:06 geoffb svk++
03:06 autrijus geoffb++
03:07 jabbot pugs - 4338 - Test for undef coderef shortcircuit idio
03:08 gugod hmm, svnbot is back
03:09 autrijus yeah. jabbot can probably retire again
03:09 autrijus thanks for your help
03:27 saorge has quit IRC (Read error: 110 (Connection timed out))
03:27 vcv-- has quit IRC (Read error: 54 (Connection reset by peer))
03:27 saorge has joined #perl6
03:28 rafl has quit IRC (Read error: 104 (Connection reset by peer))
03:28 rafl has joined #perl6
03:42 * eric256 considers modifying svnbot to wrap long lines...
03:42 geoffb Limbic_Region: read through your first puzzle (the cribbage one).  You said you were dissatisfied with the results . . . why?  Because only revdiablo and dragonchild answered?  Or because you expected something better than your final code?
03:43 geoffb OK, away for a while
03:43 revdiablo geoffb: I think he meant he was dissatisfied by the number of replies
03:43 geoffb ah
03:44 revdiablo geoffb: usually the Monastery gets a lot more activity around "challenge" type posts
03:44 revdiablo people there still seem to be wary of perl6
03:44 geoffb Like dozens or hundreds of responses?
03:44 revdiablo no, usually 5-10 replies, sometimes maybe more... but 2 or 3 is a bit low
03:46 geoffb OK
03:47 geoffb I don't know if this was mentioned in the "why not p6" thread (haven't read that all), but some of the problem seems to be that people can't test a lot of their ideas because they bump into edge cases in pugs -- and I for one am nervous posting something that I can't test.
03:47 geoffb Perhaps other PM users have the same neuroses.  :-)
03:48 revdiablo the impression I got from the "Why not p6 thread", is that people are still waiting to see it shake out a bit more
03:49 eric256 people are cowards! lol
03:49 eric256 but realy, most people don't like change, some of use thrive on it
03:49 * revdiablo waits for eric256's "Why are you cowards?" Meditation
03:49 revdiablo :)
03:50 metaperl has left "So Long, and Thanks for All the Fish!"
03:52 geoffb I have a strong preference for my tools to be stable enough that most bugs will be my fault, and not my environment.
03:52 geoffb I'm making an exception for pugs because I really want to get SDL_perl working in Perl 6.  :-)
03:53 eric256 there is a distinct difference between tools and toys thought. thinking of pugs as a tool is probably a mistake at this point
03:53 eric256 unless you consider it a tool for learning perl6
03:53 geoffb nodnod
03:53 geoffb yup
03:53 geoffb OK, *really* going now
03:53 revdiablo bye geoffb
03:57 svnbot6 has quit IRC (Read error: 104 (Connection reset by peer))
04:02 Daniel_Nee has quit IRC ("Chatzilla 0.9.67 [Firefox 1.0.2/20050317]")
04:03 eric256 has quit IRC ("Trillian (http://www.ceruleanstudios.com")
04:14 vcv has joined #perl6
04:18 knewt has quit IRC (Read error: 54 (Connection reset by peer))
04:30 bloves__ has joined #perl6
04:33 justatheory has quit IRC ()
04:38 vcv has quit IRC (Read error: 60 (Operation timed out))
04:41 rafl has quit IRC (Network is unreachable)
04:44 sproingie has quit IRC (Remote closed the connection)
04:53 xinming has quit IRC (Read error: 60 (Operation timed out))
04:57 amahabal has quit IRC ("Leaving")
04:58 Enveigler has joined #perl6
05:02 Enveigler jabbot: seen gaal?
05:03 jabbot Enveigler: gaal was seen 12 hours 27 minutes ago
05:08 vcv has joined #perl6
05:11 eric256 has joined #perl6
05:14 * eric256 forgot his computer was hosting svnbot
05:14 eric256 lol
05:14 eric256 hey Juerd around?
05:18 eric256 hmm i can't seem to convince my feather acount that it knows where net::irc is
05:31 eric256 ?since 4100
05:31 eric256 opps.
05:32 svnbot6 has joined #perl6
05:32 svnbot6 r4331, sri++ | Ported File::Find, first try for a new api, feedback welcome ;)
05:32 svnbot6 r4332, revdiablo++ | change version number
05:32 svnbot6 r4333, theorbtwo++ | Code::pos method (not quite working?)
05:32 svnbot6 r4334, mugwump++ | More information on entering oddball characters using emacs; perhaps this is growing beyond a quickref...
05:32 svnbot6 r4335, theorbtwo++ | Prettify .pos output.  (Should be converted to an obj with stringify
05:32 svnbot6 r4335, theorbtwo++ | overloaded at some point.)
05:32 svnbot6 r4336, autrijus++ | * Parse error inside blocks is now reported on the occuring
05:32 svnbot6 r4336, autrijus++ |   position instead of on the beginning of block.  Reported by
05:32 svnbot6 r4336, autrijus++ |   sri++ among many other people.
05:32 svnbot6 r4337, autrijus++ | * oops, the last change broke trailing semicolon in
05:32 svnbot6 r4337, autrijus++ |   blocks.  Unbreak it.
05:32 svnbot6 r4338, geoffb++ | Test for undef coderef shortcircuit idiom cast failure; name in AUTHORS file as this is my first commit
05:32 eric256 thanks for the recap dork bot
05:32 eric256 lol
05:37 autrijus eric256: you can do this
05:37 autrijus make
05:37 autrijus then ^C when it's compiling pugs
05:37 autrijus then do
05:38 autrijus ./pugs -Iblib6/lib examples/network/svnbot.p6 ...
05:38 autrijus (all this is done in a pugs checkout)
05:38 crysflame has joined #perl6
05:38 autrijus the idea is that "make" will first put all the ext/ modules into blib6/lib
05:38 autrijus so you can -I it easily
05:38 eric256 whats ^C do?
05:39 autrijus it's this ctrl-break thing
05:39 autrijus that sents a SIGINT to the "make" program to stop it from actually building pugs
05:39 eric256 ohh
05:39 autrijus peractually it's probably not needed
05:39 autrijus just
05:39 autrijus make subdirs
05:39 autrijus will prepare the blib6/lib for you
05:39 autrijus I think.
05:42 gaal autrijus, hi, i'm looking for the magic bit that causes fail (hence die) to print the stack trace.
05:42 autrijus gaal: line 172 Eval
05:42 gaal is it in Eval.hs?
05:42 autrijus        shiftT . const . return $ VError str (pos:posList)
05:43 gaal Thanks!
05:43 autrijus then line 121 Pretty
05:43 autrijus            (vcat (map text $ split "\n" x) $+$ (text "at" <+> vcat (map format $ reverse posList)))
05:43 autrijus but the latter is trivial. np :)
05:43 autrijus haddocks welcome :)
05:44 jql has joined #perl6
05:44 gaal k
05:46 joepurl has quit IRC (Read error: 145 (Connection timed out))
05:47 svnbot6 has quit IRC (Read error: 131 (Connection reset by peer))
05:48 eric256 i forgot that feather uses svk by default..and svnbot uses svn...what fun i'm having
05:48 eric256 lol
05:49 gaal hmm, i see that this uses a pre-filled [Pos] in the VError type. i'm surprised this doesn't walk the stack?
05:49 gaal (i'm adding caller.)
05:50 autrijus gaal: well I guess you can walk the stack using envCaller and envPos
05:50 svnbot6 has joined #perl6
05:50 autrijus gaal: but since the error is propagated upon successive trapVal (dynamic scope error handlers)
05:50 autrijus it seemed to me to be easier to just collect the stack
05:50 gaal that was what i intended to do, but then i backlogged and saw you mentiond die printed teh stack :)
05:50 autrijus gaal: the same mechanism will be used to implement "leave" exceptions in the future
05:51 gaal ahhhhh, right.
05:54 gaal the way i'm seeing the demo version is a Pugs::Internal::caller in Prim, which returns a List, which Prelude's &caller can turn into an object. i kinda hate that design but didn't think of anything better
05:55 Enveigler In Embed/Parrot.hsc it issues "Cannot find the parrot executable in PATH", but 1) it's looking for 'parrot' which would need to be 'parrot.exe' on win, and 2) it doesn't actually seem to be looking through the path, just in the current subdir? Is there haskell code for picking apart envvars somewhere or does that need to be written?
05:56 gaal Enveigler, hello
05:57 autrijus gaal: get it to work first :)
05:57 autrijus Enveigler: have you added yourself to AUTHORS?
05:57 gaal was looking for you yesterday. i got your email but it was after a long day w/o computers at $work
05:57 Enveigler Morning Gaal/Autrijus.
05:57 autrijus Enveigler: I do believe findExecutable tries to add ".exe" on win32
05:57 autrijus Enveigler: at least some people reports that it works
05:58 autrijus and findExecutable does handle the PATH thing
05:58 autrijus I think
05:58 gaal would you still like me to post your smoke?
05:58 gaal alternatively ask Juerd for an account on feather (email him) so you can do this whenever you like yourself
05:59 Enveigler No AUtrijus, not yet. I haven't added anything to merit it yet.
05:59 gaal i just didn't know what windows it was, interestingly the pugs -V data doesn't say.
05:59 Shachaf has quit IRC ("[<>]")
05:59 Enveigler Um... OKay. findExecutable' is different from findExecutable? (Still finding my H-legs).
06:00 autrijus Enveigler: see the definition above
06:01 autrijus findExecutable' tries findExecutable first
06:01 autrijus oh right.
06:01 saorge has quit IRC (Read error: 110 (Connection timed out))
06:01 autrijus it needs the .exe
06:01 autrijus stupid me. you++
06:02 mugwump has quit IRC ("Stupid linux online FS resizing b0rked")
06:02 autrijus so the upshot is findExecutable adds the .exe
06:02 autrijus but in the fallback case
06:02 autrijus we need to add the .exe ourselves
06:02 autrijus fixed in r4339
06:04 Enveigler Autrijus++. findExecutable is ?a part of Prelude? I can't find it in the src tree?
06:04 eric256 has left
06:05 Enveigler Gaal: No need to post it anywhere, it moves so fast here. I thought you wanted it for comparisons or consolidation.
06:05 autrijus Enveigler: look at ghc library index
06:05 Enveigler Okay.
06:05 autrijus should be on your disk as libraries/doc-index.html or something in ghc
06:06 svnbot6 r4339, autrijus++ | * Enveigler pointed out on win32 we need to append ".exe"
06:06 svnbot6 r4339, autrijus++ |   to find parrot in the current path.
06:06 autrijus it's defined in System.Directory and imported thru Pugs.Internals
06:08 Enveigler Found it. It'll take a while to remember what's in there? Phew it's um comprehensive.
06:08 mugwump has joined #perl6
06:08 autrijus trust me it's much better than CPAN. :)
06:08 * autrijus used to memorise CPAN recent uploads...
06:08 Enveigler :)
06:09 Enveigler DId you do the first 10,000 digits of Pi also?
06:10 autrijus nah, only 100
06:10 autrijus and it was long ago, when I was still new to this world wide web thing :)
06:10 crysflame autrijus: cpan scoreboard
06:10 autrijus hmm 10 years ago.
06:11 autrijus crysflame: I lost the code -- you can use alias's scoreboard anyway
06:11 gaal what data structure did you use to store it? could you do random access? :)
06:11 obra Public Service Announcement: NEVER PLAY THE CPAN DRINKING GAME WITH TANG-SAN
06:11 Enveigler Next thought. Pugs can't embed Parrot on win--is that a fundemental limitation or just something that's not been tackled?
06:11 crysflame obra - been there, can't remember that?
06:11 gaal that one's Hard, Enveigler.
06:11 obra I dropped out early. _I_ remember it
06:12 gaal because GHC uses gcc
06:12 autrijus Enveigler: ghc was compiled with mingw-gcc; parrot/activeperl usually uses vc++
06:12 autrijus Enveigler: theoretically you can just do everything in mingw/msys space and let the embedding happen
06:12 Enveigler OKay. Though expunged :)
06:12 autrijus or, recompile ghc with vc++
06:12 autrijus but I had not tried, nor am I aware anyone who succeeded
06:13 gaal well, it has to be fixed sometime...
06:13 gaal will recompiling solve it? you'd also need to bundle vc++ with ghc
06:14 gaal i think that's the worse problem
06:14 mugwump gaal: just reimplement pugs in Perl 6 and bootstrap it to parrot, then you won't need GHC
06:14 autrijus right. in the long run.
06:14 gaal oh, okay.
06:14 * gaal rushes off to reimplement Perl6 etc.
06:15 Enveigler Though, if the major parrot functionality was in a .dll with the .exe just providing for switch and file handling the same way Perl works, the dynamically linking to the Parrot dll would be an option?
06:15 gaal actually, tea is probably a better idea, short term.
06:17 autrijus Enveigler: yes. but the problem is that Parrot doesn't yet build in a .so/.dll form
06:18 autrijus nor is the embedding entry api well defined (we'll be working on that next week too I hope)
06:18 vcv- has joined #perl6
06:18 Enveigler I just caught up with that :(
06:19 Enveigler SO. Any other win limitations that I can look at?
06:24 mugwump has quit IRC ("rebooting vserver")
06:24 mugwump has joined #perl6
06:27 autrijus Enveigler: opendir() etc doesn't work
06:27 autrijus see Compat.hs
06:28 autrijus I need to be offline for a while. bbiab :) &
06:28 Enveigler Autrijus: Will do.
06:29 SM_ax has joined #perl6
06:30 Jouke has joined #perl6
06:31 Jouke has left
06:35 castaway_ is now known as castaway
06:35 Aankhen`` has joined #perl6
06:49 Enveigler has quit IRC ()
06:50 Arathorn isn't it a bit dangerous to be implementing namespaces already used by CPAN in pugs (e.g. Net::IRC) but with entirely different APIs?
06:51 Arathorn i thought that even the mod_perl2 guys realised that in the end :/
06:51 Arathorn (especially now cpan & pugs are intertwinglable)
06:51 integral perl6 isn't the same namespace as perl5...
06:52 * Arathorn was being sloppy with the word namespace, i guess
06:53 Arathorn whilst the namespaces may be different, surely it's not a good idea to be reusing the same names?
06:53 castaway It'd be kinda daft to change them all, dont you think?
06:53 castaway just imagine p6 as a new language, not a new release number .)
06:54 integral and think of all the namespaces like "warnings" that we couldn't use
06:54 Arathorn perhaps
06:54 castaway I suspect p4 -> p5 was just as confusing (except p4 didnt have packages ,)
06:55 castaway as long as the new ones have use v6 in them, or some such, it sounds fine to me
06:56 arcady and the language is different enough that in many cases it makes sense to change the API
06:57 Arathorn i wonder what the author of Net::IRC for p5 thinks
06:57 integral there's an author currently?
06:57 iblechbot has joined #perl6
06:58 Aankhen`` I thought that project is dead?
06:58 vcv- has quit IRC (Read error: 60 (Operation timed out))
06:58 Arathorn dunno - last release on cpan was a year ago
06:58 Aankhen`` Indeed.
06:58 Arathorn might mean that it's stable rather than dead :)
06:58 integral Or it's well glued down
06:58 Aankhen`` Well, there's no response to any of the bugs or patches on SourceForge.net.
06:59 Arathorn fair enough
06:59 scook0 has joined #perl6
06:59 * castaway thought it was Mr. Baar
06:59 castaway umm, Barr
06:59 castaway I think its more stable than dead, meself
06:59 Arathorn i guess i'm just slightly adverse to having completely different APIs referred to by (roughly) the same name
07:00 castaway oh wait, Im mixing it up with Net::FTP etc.. just ignore me
07:00 Arathorn goes for all the different CGI.pm ones etc. just as much as the p5/p6 doublethink
07:00 * Arathorn defers and shuts up
07:00 castaway well deal.. "Perl5" and "Perl6" also have roughly the same name :)
07:01 Aankhen`` Don't worry, CGI.pm is not going into Perl 6.
07:01 castaway It's not?
07:01 castaway or that particular one isnt?
07:01 Aankhen`` So you'll end up using `use CGI--perl5;` and retaining the old API. :-)
07:01 Aankhen`` What do you mean by "that particular one"?
07:02 castaway Umm, I dunno.. I though there was already a CGI for p6/pugs
07:02 Aankhen`` There are the beginnings of one.
07:02 Aankhen`` But it won't be actively developed.
07:02 castaway so what did you mean by "is not going into" ?
07:02 arcady it should probably be a standard part of perl6
07:02 arcady just so there's one standard way to do it
07:02 Aankhen`` No, it's going to be replaced by a bunch of different, specialised modules.
07:03 Aankhen`` CGI.pm is an ugly, overgrown behemoth.
07:03 Aankhen`` BRB.
07:03 castaway well yes
07:03 castaway (or so I've heard ,)
07:03 castaway I bet there'll be something called "CGI", even if it doesnt do the same as the p5 one
07:06 Aankhen`` Back.
07:07 Aankhen`` Once I've finished porting all the necessary modules, I'm going to put together a page detailing the ways of using them together, and point the CGI.pm docs there.
07:08 Aankhen`` And if people insist on using CGI.pm, they can use the P5 version.
07:09 Aankhen`` Isn't it wonderful how everything works out? *angelic smile*
07:13 Arathorn sounds like a plan
07:13 sekimura has joined #perl6
07:13 castaway Umm, no
07:13 Arathorn anything to stop me having to import all the HTML generation stuff when all I want is a simple request object for manipulating POST/cookies etc.
07:13 castaway why not just make "use CGI" use the whole lot, for lazy/impatient people ?
07:14 castaway and people that care can figure out which bit they really need
07:14 castaway (or you can make "use CGI" default to the query parsing stuff etc, and put in its docs where the html gen stuff is)
07:17 crysflame i am personally wary of catering to lazy/impatient people
07:20 castaway ah well, its not as if porting stuff to p6 is gonna be a breeze anyway ,)
07:20 castaway (its just that we were arguing *for* familiar names, just now)
07:21 crysflame one unusual option would be a placeholder CGI module that references its own replacement forcefully
07:21 castaway hmm?
07:22 tier has joined #perl6
07:22 crysflame use CGI; # exits with "CGI is defunct; please perldoc P6cgi4P5folk"
07:23 castaway ah
07:23 castaway would be better than nothing, yes
07:24 Aankhen`` has quit IRC (Read error: 145 (Connection timed out))
07:24 crysflame having a document prepared that starts with "For the impatient, rushed, or otherwise uninterested folk, the quick summary"
07:24 castaway right
07:24 castaway assuming the API is close enough that thats possible
07:25 castaway personally I'd call it "for people that are only interested in getting-it-working and already know the p5 version" :)
07:25 crysflame it need not be close enough to resemble their existing knowledge
07:25 tier has quit IRC (Client Quit)
07:26 crysflame a task-based document that focuses on introducing them to components that they're expecting to find
07:26 crysflame - functions for generating html
07:26 bloves__ has quit IRC (Read error: 60 (Operation timed out))
07:26 crysflame - stateful form stuff
07:26 crysflame - argument parsing, including file upload
07:26 crysflame that covers everything i use CGI for in maybe two pages of pod, presuming the examples are succinct
07:27 autrijus "Larry gave a talk on Perl: The Next Generation at a Bay LISA meeting. He enumerated some of the following features: a faster, tighter, more flexible interpreter ; coroutines ; named argument passing: some_func( OC => $red ); typed pointers; object oriented programming. "
07:27 crysflame three of those things sound new to perl6
07:27 crysflame how old is that quote?
07:27 autrijus "It's tempting to want this stuff soon, since the sooner it comes out the sooner we can all build really cool applications.  But the longer Larry works on it, the more items from this list will actually get done, and the more robust the release will be.  So let's not ask him about it too often. "
07:28 autrijus crysflame: April 1993 -- the new language is Perl 5
07:28 * castaway grins
07:28 crysflame i don't know the definition of 'lassitude' well enough to explain why it just came to mind
07:28 autrijus "languor: a feeling of lack of interest or energy"
07:29 crysflame "lack of motivation"
07:29 crysflame i could see coroutines falling prey to a lack of motivation, given the rarity of those who seem to grok them
07:31 autrijus "I am hoping that innovation and change does not come at the expense of  backwards compatibility myself... So all we really need is a way to convert old perl scripts to new ones. IMHO this would also be a great way to get rid of obsolete perl constructs that are only kept around in the name of backward compatability."
07:32 autrijus mmm déjà vu
07:34 crysflame os x still supports fat binaries and resedit-controlled resource fork attributes
07:34 crysflame perl5 still supports K'thag
07:34 integral fat binaries are useful for 32/64-bit now...
07:35 crysflame that had not occured to me; you're right
07:35 arcady at least OS X finally has no m68k code in it
07:35 arcady and none of the fun old Mac API
07:35 arcady with such things as the "low memory globals"
07:35 crysflame 10.4.1 still boots my classic partition
07:36 arcady well, linux can do that too
07:36 arcady not quite as nicely
07:36 arcady but Mac OS 9 is actually faster under linux than by itself
07:36 crysflame that is amusing
07:38 arcady cause OS 9's IO drivers suck
07:39 arcady actually, OS X also had really slow IO compared to linux and sucky caching
07:39 crysflame when they fixed the kernel-wide spinlock in 10.4 did the IO speed up?
07:40 arcady who knows, I haven't touched OS X in quite a while
07:40 nothingmuch has joined #perl6
07:40 * nothingmuch wakes up properly
07:40 * crysflame knows that 2.5" hard drives have a limited lifespan
07:40 crysflame and that powerbooks use 2.5" hard drives
07:40 arcady all hard drives do
07:40 arcady and all laptops use 2.5" drives
07:40 * castaway thinks all harddrives have a limited lifespan :)
07:40 arcady also, laptops tend to get dropped
07:41 crysflame portable or unstable, choose one?
07:41 arcady nanometer-scale air gaps with high speed rotating platters do not take kindly to dropping
07:41 jql well, we should start mounting the internet on /
07:41 castaway (my last was 4 weeks less than its guarantee :)
07:41 crysflame stable, even
07:41 jql more reliable than spinning disks
07:42 crysflame bittorrent has the capability to handle data storage and retrieval on demand
07:43 crysflame an interesting experiment would be a linux loopback filesystem driver that supports bittorrent files as the image source
07:43 crysflame atomic writes would be very strange to handle
07:43 autrijus "During the mid-1990s, Larry Wall redesigned Perl 5, incoporating support for
07:43 autrijus closures, object-oriented programming and bytecode compilation.
07:43 autrijus "
07:43 autrijus hm. I wonder what other Perl 5 features are of note.
07:44 crysflame autrijus: B
07:44 autrijus crysflame: that's bytecode compilation
07:44 crysflame CPAN
07:44 jql lexical variables were part of that closure thing
07:44 autrijus modules, probably. yeah.
07:44 autrijus jql: right.
07:44 crysflame XS
07:44 jql a nifty innovation, to say the least
07:44 crysflame embedability (sp)
07:44 autrijus I wonder if XS should be counted among the lowlights
07:44 crysflame was ./Configure available in perl4?
07:44 jql as well as multi-dimensional data (references)
07:45 integral metaconfig is used right back to perl1
07:45 autrijus crysflame: metaconfig was part of perl
07:45 crysflame that explains many things
07:45 crysflame regular expression complexities such as lookaheads
07:46 autrijus I guess "namespaces" is the correct way to put it (CPAN/modules, etc)
07:46 crysflame s/(?<=c)ie/ei/g
07:46 autrijus does perl4 have namespaces (other than allowing ' as part of identifier)?
07:46 integral ugg, closure support.  my $a; sub { eval $_[0] } # oops, not really
07:46 autrijus crysflame: that's sort of minor :)
07:46 crysflame autrijus: the ability to evaluate perl code within a regular expression is slightly less so
07:46 crysflame slightly is not sarcasm in that instance
07:47 crysflame perl5 was responsible for pcre which has benefited many non-perl5 projects
07:47 autrijus crysflame: true but it's 5.005ism (I think)
07:47 crysflame so i would deem the regular expression engine of perl5 worth a mention
07:47 jql the availability of pcre has ensured no language can go without regular expressions
07:47 autrijus okay. I'll mention it :)
07:47 crysflame php now uses perl5 regexes
07:47 * jql huggles javascript
07:48 crysflame when another language absorbs a feature so blatantly, there must be value
07:48 crysflame parrot's target seems to be "ready to be absorbed"
07:51 elmex has joined #perl6
07:56 Enveigler has joined #perl6
07:57 * autrijus finds it kind of hard to write about perl in a neutral voice as required by the paper's standards :)
07:57 crysflame read re*.c for a while
07:57 crysflame then flip over to toke.y
07:57 simcop2387 has quit IRC (Remote closed the connection)
07:58 crysflame also don't forget SOFTDIA
08:19 osfameron has joined #perl6
08:19 vcv has quit IRC (Read error: 131 (Connection reset by peer))
08:21 autrijus hm. 5 years after Perl 5's release and people were still debating whether it will make more sense to develop new projects in Perl 4.
08:21 autrijus <- still reading olde usenet posts
08:21 crysflame lessons of change
08:24 castaway unsurprising really
08:25 crysflame autrijus: if you ever decide to focus on sociology for a little while, write a tutorial on practical implementations of change or "how i kept their love after changing their world"
08:25 crysflame and then watch as the army of your followers start converting the world to their individual beliefs
08:25 knewt has joined #perl6
08:25 castaway change is a slow thing.. though its getting faster all the time in the technology world.. I expect that will be quicker for P6.. although, just think of all the p5 installations out there
08:26 crysflame given the stability of perl5 i see no need to upgrade at this time
08:26 castaway (many millons of.. how soon until they are more likely to have p6 than p5 on?)
08:26 castaway right
08:27 castaway think of ipv6, how long has that existed? (tho it got somewhat superceeded by NAT)
08:27 * autrijus mumbles something about actually living in a region that needs ipv6
08:28 autrijus (unicode too)
08:28 simcop2387 has joined #perl6
08:28 castaway right, and do your ISPs etc support ipv6?
08:28 autrijus castaway: as a fact, yes, hinet.net does.
08:29 castaway change requires a *need*, when its not there, people just wont.. only the techies will do things because "they're shiney and new" :)
08:29 simcop2387 has quit IRC (Client Quit)
08:29 autrijus castaway: yeah, and .jp/.tw/.cn is running out of IPs :)
08:29 castaway good, and your irc servers, and the web servers you use? :)
08:30 castaway that doesnt surprise me :)
08:30 scook0 the problem is when people become so used to working around the problem that they don't /realise/ they need a solution
08:30 * castaway wonders if anywhere does multiple levels of NAT
08:30 autrijus happily I think freebsd/apache2 can take care of ipv6 just fine
08:30 castaway -p its not much use to you unless all the routers in between can tho ,)
08:31 autrijus that's true :)
08:31 castaway scook0: true enough
08:33 castaway p6 is going to need some convincing arguments, IMO
08:34 crysflame what drives a need to persuade?
08:34 crysflame if it implements things that are less optimal elsewhere, those seeking the right optimum need only know it exists
08:34 crysflame advertising doesn't have to be about persuasion
08:35 crysflame i will use perl6 as soon as i find a need that it satisfies most effectively
08:35 crysflame coroutines come to mind, except that i never need them
08:35 jql I see perl6 as an escape from perl5
08:35 * castaway still has no good picture of what they would be for
08:35 * integral mention something about continuations/coroutines helping POE
08:35 jql if I can stop typing "my $self = shift", I'm sold
08:36 vcv has joined #perl6
08:36 autrijus crysflame++ # build it and they'll come
08:36 autrijus jql: Spiffy.pm? :)
08:36 jql I don't need persuasion. I've been waiting. :)
08:36 autrijus or, if you are not of the Spiffy nature, Perl6::Subs perhaps
08:37 autrijus method foo (Foo $self: Bar $x) { ... }
08:37 crysflame apple zealots seem to suffer a similar dilemma
08:37 castaway jql right, but what about the rest of the world? :)
08:37 crysflame apple hardware serves their needs dramatically well, yet many try to persuade others
08:37 autrijus chip++ # for being the phearless parrot leader, and for eErl6::Subs
08:37 autrijus Perl6::Subs, even
08:37 jql autrijus: in PerlQt, I got rid of $self entirely
08:37 autrijus jql: cool
08:37 autrijus I wouldn't want to write ->/method() in perl5 though
08:37 jql foo() would autoload a call to this->foo() where this was an lvalue sub
08:38 autrijus somehow that looks very bad
08:38 larsen has joined #perl6
08:38 crysflame the closer to zero effort it is to test a solution for viability (perl6), the more likely it is those seeking a solution will try it
08:38 autrijus jql: ah. that's kind of rubyish
08:38 crysflame the dependency on ghc seems to be slightly less than zero effort for some
08:38 crysflame slightly is a euphemism there
08:38 jql I had some interesting motivations, there
08:38 autrijus crysflame: there's binary builds :)
08:38 crysflame not for vc++ apparently
08:39 autrijus huh? http://www.jwcs.net/~jonathan/perl6/pugs-win32.zip
08:39 crysflame not a barrier to me, certainly
08:39 crysflame is that mingw or vc++
08:39 castaway deps on ghc is just pugs.. p6 will hopefully bootstrap itself (maybe on p5 or parrot?)
08:39 crysflame (ref: earlier discussion about that distinction)
08:39 autrijus oh. you mean vc++-built-ghc. no, that's mingw-based.
08:39 autrijus shouldn't matter though for the end user.
08:39 crysflame i'm also making up a straw man example
08:40 crysflame in a few seconds i can find a need that pugs can't satisfy
08:40 crysflame for those folk, persuasion will do little to garner usage
08:40 autrijus crysflame: yeah, noted. advocacy of utility is probably not a good idea right now.
08:40 crysflame the trick is to avoid annoying them while advertising features to the rest
08:40 autrijus (even though I'll still true ;))
08:40 autrijus s/true/try/
08:41 crysflame i'm quite the fan of keeping a pocket full of shiny, world-changing objects to show people
08:41 crysflame i have a roll of whiteboard papers at work
08:41 crysflame electrostatic sheets about the size of the side of a mid-tower case
08:41 autrijus fwiw, I'll spend quite some time in my APW/YAPC/Euroscon talk to talk about deploying Pugs/Parrot in production
08:41 crysflame someone was making a joke about it not existing once
08:42 crysflame they were in awe when i showed them it did exist, if only briefly
08:42 crysflame still, i never use them
08:42 crysflame advocacy failure, advertising success
08:42 autrijus not neccessarily to persuade people with the immediate utility, but rather trying to keep things in perspective
08:42 * crysflame nods
08:43 crysflame coroutine support is a persuasive point all on its own
08:43 autrijus imho p6 needs a large dose of perspective :)
08:43 Enveigler has quit IRC (Read error: 110 (Connection timed out))
08:43 crysflame everything does
08:43 * crysflame indicates apple, linux, windows, slashdot
08:43 * autrijus indicates the Total Perspective Vortex
08:43 autrijus mm is that in the movie?
08:43 * webmind likes golden delicious
08:43 webmind morning
08:43 crysflame no
08:43 * Arathorn has a horrible feeling that he doesn't have a chance of deploying pugs/p6 on production whilst it runs on ghc
08:43 crysflame sometimes i feel like zaphod that way
08:44 crysflame "er, what's the big deal"
08:44 Arathorn purely due to the perception that it's a resource hog
08:44 autrijus Arathorn: oh, that's not horrible, it will be fixed soon
08:44 Arathorn woo :)
08:44 autrijus Arathorn: granted you still need to cross-compile with ghc
08:44 autrijus but the resulting parrot bytecode can be deployed everywhere
08:44 * Arathorn nods
08:44 autrijus which is good enough for my production needs
08:44 autrijus (and I imagine for yours)
08:44 Arathorn indeed.
08:45 crysflame i had no idea pugs could boil down to parrot bytecode
08:45 autrijus crysflame: for some time now
08:45 crysflame advertising failure
08:45 crysflame (not yours)
08:45 autrijus crysflame: indeed. jhorwitz used that to do mod_pugs on top of mod_parrot
08:45 crysflame that's quite awesome
08:45 autrijus (which works just fine)
08:45 crysflame wow
08:45 autrijus and you can call Apache::RequestRec objects in pugs using OO syntax, etc.
08:45 crysflame okay, this is one of this shiny objects to keep in your pocket
08:46 crysflame go take the mod_perl cookbook examples from ftp.oreilly.com and port them one by one to pugs, like torgo is doing with HOJ
08:46 crysflame Higher Order Javascript
08:46 crysflame (ask purl)
08:46 autrijus that could be fun.
08:46 * autrijus will keep that in mind
08:46 crysflame it would also be the most persuasive example of pugs i can think of
08:46 crysflame for certain needs
08:46 crysflame "web"
08:46 crysflame i refuse to use mod_perl
08:46 crysflame it is insane
08:47 crysflame coldfusion has treated me better
08:47 Arathorn how would mod_pugs be more sane than mod_perl? (other than all the new language constructs?)
08:47 crysflame i trust the core
08:47 crysflame it's based on principles that are heavily tested
08:47 castaway .oO( mm, porting Everything to mod_pugs ?)
08:47 autrijus Arathorn: parrot is nicer :)
08:48 Arathorn oh, true
08:48 autark-jp autrijus: about to send a patch to p6c, is there any special format that is prefered (ie. darcs patch) or is the output of svn diff ok?
08:48 Arathorn but from an actual development perspective many of the mod_perl quirks would still hold, surely?
08:48 crysflame parrot focused on being the core of languages
08:48 crysflame many, surely
08:48 autrijus autark-jp: what patch?
08:48 crysflame but less than all is better than mod_perl
08:48 * crysflame is quite the "less than all" person
08:48 autrijus autark-jp: your email? I will just make you a committer and let you commit it yourself :)
08:49 crysflame hi, autark
08:49 crysflame are you autarch from elsewhere?
08:49 autrijus autark-jp: you see those darcs patches because darcs repo is still readonly
08:49 autark-jp autrijus: support for q[ .. [] ...] and such.
08:49 Enveigler has joined #perl6
08:49 autrijus autark-jp: subversion users are simply given committer bits
08:49 autark-jp autrijus: [email@hidden.address]
08:50 crysflame autrijus: another shining point in favor of anything pugs-related is that the community is alive and developing, as opposed to alive and maintaining
08:50 autrijus also don't forget to add yourself to AUTHORS
08:50 autrijus autark-jp: invitation sent. welcome aboard!
08:50 autark-jp thanks
08:50 clkao *yawn*
08:50 crysflame "don't forget to add yourself to AUTHORS" is a good quote to highlight the invitation to participate
08:50 crysflame hi, clkao. is there an SVK bridge for wikimedia?
08:51 clkao no, but some crazy people are talking about www::mechanize and template::extract backend for svn::mirror
08:51 clkao so you cna mirror and modify arbitray web page
08:51 crysflame they have my encouragement
08:51 * crysflame relays a pom-pom
08:51 autrijus clkao: massively distributed greasemonkey?
08:52 Arathorn anyone know if mod_perl2 (or mod_pugs on Apache2) is much better than mod_perl1 about maintaining separation between web applications?
08:52 autrijus Arathorn: I know. yes.
08:52 autrijus (separate interpreters)++
08:52 castaway crysflame: what was that relative to? (the "alive and mainintaing" thing) p5?
08:52 autrijus Arathorn: also much less chance of accidentally crashing everything.
08:52 elmex has quit IRC ("leaving")
08:53 crysflame castaway: shrug
08:53 Arathorn is distributing the interpreters between the various httpd threads/processes stable now, then?
08:53 crysflame p5, sure
08:53 crysflame pugs is visibly churning through todo lists and bugsets and everything
08:54 crysflame a lot of my impression of perl5 was, for some time, "fixing what we have so it keeps working the way it does as closely as possible"
08:54 castaway well yes, but that makes it also a moving target, which is not a plus point IMO
08:54 crysflame human relationships are a moving target. i suppose i'm accustomed to it.
08:54 castaway and the design has to stop somewhen :)
08:55 autrijus castaway: god yes. :)
08:55 castaway umm, I see no relevance whatsoever :)
08:55 * Arathorn reads up on MPMs for separating mod_perl2 interpreters between different vhosts
08:55 crysflame ok
08:55 autrijus but I don't buy the "take the dec 2004 snapshot and ignore p6l" approach
08:55 castaway whos approach is that?
08:55 autrijus (as claimed by the tpf plan)
08:55 crysflame i don't want to see pugs spend five years post-development being torn about between development and stability
08:55 crysflame i like how the focus is very clear right now
08:56 autrijus crysflame: you know, perl5 did exactly that :)
08:56 crysflame development
08:56 castaway crysflame: it wont stay that way, really
08:56 crysflame autrijus: i was there
08:56 crysflame castaway: nope. that said, if it went from pure development
08:56 crysflame to pure maintenance
08:56 crysflame it would become the most rock solid coolness ever
08:57 castaway IMO a bunch of 5.X would have been new release no's, in other projects
08:57 castaway utopia, crysflame  :)
08:57 crysflame and provide a nifty base upon which other development could be driven, in separate projects (to use the word that just appeared on my screen)
08:57 autrijus sure. 5.6 5.8 was both major.
08:57 crysflame are you referencing a specific thing or the concept?
08:57 castaway It'd be nice, but somehow I doubt its gonna happen
08:58 crysflame after watching autrijus i doubt many things less
08:58 crysflame even if pugs suddenly was destroyed by aliens i have more hope now
08:58 * crysflame shrugs
08:58 castaway autrijus is still somewhat bound by @larry.. (unless at some point he decides to just ignore them :)
08:58 castaway just human nature..
08:58 autrijus I prefer to use the word "kept sane by" :)
08:58 crysflame mm
08:59 autrijus or rather, words
08:59 crysflame one of the worst problems with boundless enthusiasm is the lack of bounds
08:59 autark-jp crysflame: sorry missed your question, no I'm not autarch.
08:59 autrijus it's extremely easy to lose the perspective and optimise for perceived coolness
08:59 crysflame ok, cool
08:59 autrijus (in the language)
08:59 Arathorn autrijus: surely all the perl/pugs interpreters in an apache2 pool are clones of each other, and so allow you to stomp over other peoples' apps' symbols?
08:59 crysflame offtopic: interesting linguistic difference between word "phrase" and words "phrase", as it reflects mentally
09:00 autrijus Arathorn: clones can't touch each other's variables unless they are declared as shared
09:00 clkao autrijus: now got time to look at rw array?
09:00 crysflame sounds like perl5, in that respect
09:00 Arathorn hm, but pre-clone at load time, i guess all the apps can go and fiddle with each other
09:01 autrijus there's no preclone time.
09:01 autrijus iirc.
09:01 autrijus unless you ask for it
09:01 autrijus in which case of course all bets are off :)
09:01 autrijus Arathorn: basically what it offers is runtime protection, not really a sandbox
09:01 * castaway ponders the meaning of "sane" in this case :)
09:01 Arathorn so you can specify which packages are to be loaded into which interpreter clones/instances?
09:01 crysflame what is utopia today will become dystopia tomorrow
09:02 autrijus you still have complete control in the internals
09:02 crysflame fortunately today is long enough to enjoy the now
09:02 autrijus if you want sandboxing, look not to the perl5 engine ;)
09:02 * Arathorn nods.
09:02 castaway are there "binaries" of parrot/mod_pugs or whatever one needs to get thaht running with apache?
09:03 autrijus clkao: eh, sure. array.t you say?
09:03 gaal autrijus, debug prints inside Prelude.pm don't work. any idea how to fix / work around that?
09:03 autrijus gaal: don't work how?
09:03 autrijus print() not called?
09:03 autrijus also did you rm Prelude.hs?
09:03 autrijus and recompile
09:04 gaal also: is there a way of saying "please list all defined subs everywhere"?
09:04 gaal sure, i did that.
09:04 gaal make does that really
09:04 gaal say doesn't output anything to screen
09:04 autrijus castaway: I think by mod_parrot 0.3 and parrot 0.2.1 and Pugs 6.2.7, sure
09:04 autrijus castaway: but currently the neccessary piece in both parrot and mod_parrot are still in the repo
09:04 autrijus i.e. not in a released form
09:04 autrijus which makes "binaries" kind of hard to produce
09:05 autrijus gaal: you can't yet introspect into the symbol table -- it's probably trivial to implement %*:: though -- just bind the envGlobal to a hash
09:05 castaway piece of?
09:06 autrijus castaway: pieces of code.
09:06 castaway ah, damn
09:06 autrijus parrot 0.2.1 is coming in a couple days
09:06 autrijus pugs 6.2.7 next week
09:07 autrijus mod_parrot not sure, but I can push if you'd like :)
09:07 crysflame is there a shell or perl or pugs script that will assemble the pieces and build the target mod_pugs, given a willingness to use source repos?
09:07 clkao autrijus: ya. array.t.
09:07 clkao autrijus: havey ou grokked my problem
09:07 autrijus crysflame: I think it's just http://svn.perl.org/parrot​-modules/mod_parrot/trunk/
09:07 crysflame +3 to source-lovers, -1 to binary-lovers
09:08 autrijus clkao: I think I have.
09:08 crysflame i'm a binary lover :|
09:08 castaway I'd like to play, but my machine will probably take a day or more to build things, so ideally I'd like plug and pray
09:08 crysflame love && 0101
09:08 * crysflame chuckles, heads to bed.
09:08 castaway I dont mind source at all, just not "bloody huge" source :)
09:09 crysflame there is that
09:09 castaway otoho ít builds X.org occasionally on it
09:09 crysflame i expressly desire apt-get install pugs
09:09 castaway then make a .deb ,)
09:09 autrijus there is a .deb ;)
09:09 castaway g'night crysflame
09:09 crysflame autrijus: neat. has it been submitted to the ubuntu multiverse/universe/...?
09:09 crysflame is there a source i can add to sources.list?
09:10 autrijus scw is the person to ask.
09:10 crysflame ok
09:10 autrijus there's http://svn.openfoundry.org/pugs/debian/
09:10 autrijus revdiablo has been updating it too
09:10 gaal autrijus: say inside a function works in Prelude.pm, but not outside one.
09:10 crysflame it would behoove the accessibility of pugs to push debs out to the various distros
09:11 autrijus I have no debian-clue :)
09:11 crysflame as they'd compile ghc once for a lot of people
09:11 clkao autrijus: so.. you figured out how to solve that?
09:11 crysflame and then it's dead simple to get to pugs
09:11 crysflame having the debs is quite far along that path, super-nifty to know about
09:11 autrijus gaal: that is strange indeed.
09:12 crysflame hello control file. i'll dpkg-build this later
09:12 * crysflame &
09:12 gaal oh no! namespaces with :: in them don't work :)
09:12 * castaway will take .emerges, while you're at it :)
09:12 autrijus gaal: !?
09:12 gaal so i put my function in Control::Basic, and it wasn't found.
09:13 gaal moved it to "class G", and "G::caller" was found.
09:14 gaal (inside Prelude, again.)
09:14 autrijus how perculiar.
09:14 gaal hm, i have another hypothesis, testing.
09:15 autrijus ?eval package Foo::Bar; sub blah { 1 }; Foo::Bar::blah()
09:15 evalbot6 1
09:15 gaal ah, i know what's happening.
09:15 castaway isnt that perl5ish?
09:15 gaal namespaces isn't the problem.
09:15 gaal the prelude is evaled, but contains compilation errors
09:15 gaal however, the things that have been compiled ok are installed
09:16 gaal so i put my func at the bottom, and an earlier func must have failed, so the eval didn't reach it
09:16 gaal what confused me was that File::open and friends were working ok
09:17 gaal first order of work is to propagate errors in initPrelude :)
09:17 gaal i wonder if those should be fatal to pugs?
09:18 autrijus should be of course.
09:18 gaal k, finxing.
09:18 autrijus you have a Val from runEvalIO
09:18 autrijus if it's VError, die immediately
09:19 gaal okay :)
09:21 scook0 autrijus: any preferences/suggestions for what to Haddock next?
09:22 autrijus scook0: I think Eval will be most helpful
09:23 autrijus maybe factoring out different reduce cases as separate function to help documentation? not sure
09:24 scook0 autrijus: I was thinking of doing that at one stage
09:24 scook0 I shall give it a look...
09:25 autrijus scook0++
09:26 Enveigler Autirjus: A >4GB filesize returned from win32 as two UINTS (HighSize/LowSize). Will CULong toInteger sort that out?
09:27 autrijus Enveigler: yes.
09:27 autrijus I think.
09:28 Boogie has joined #perl6
09:29 Enveigler I'm still puzzling the meaning of "data DirStream deriving (Typeable)" I found the description of "deriving", but little is said about "Typeable"?
09:29 gaal oh, something definitely funky is going on in eval
09:29 drbean I get a lot of segfaulting trying out the p6 rules tests, the same which failed on building
09:30 autrijus Enveigler: it's a Data.Typeable thing. Data.Dynamic uses it
09:30 gaal evaling the prelude doesn't die even whe the firts line after 'use v6' is "die"
09:30 drbean Do you think if I build unoptimized there will be less failing
09:30 autrijus Enveigler: it lets us encapsuate any type at all into the Dynamic type
09:30 gaal and compilation continues after that
09:30 autrijus drbean: did you build with embedded parrot?
09:30 autrijus drbean: optimisedness should have nothing to do with it
09:30 drbean yes
09:30 gaal hmmm, actually maybe that does make some sense
09:30 autrijus drbean: it could be parrot, then. did you build with trunk parrot?
09:31 drbean no
09:31 gaal it isn't BEGIN {die}
09:31 drbean it was 0.2.0
09:31 autrijus drbean: building without parrot embedding (and put parrot somewhere in your PATH) should fix the segfaulting
09:31 dada has joined #perl6
09:31 drbean I'll try that
09:31 Enveigler Um... Okay. More reading :)
09:32 lampus_ has joined #perl6
09:34 Enveigler Autrijus: Also, FindFirstFile returns a lot more than just the file name. Lots of stuff that posix would call fstat for. Seems nuts to throw it away when the first thing code calling glob is likely to do is call fstat(), but what else to do other than return a "FileObjectClass" instance...?
09:39 autrijus Enveigler: actually, the first thing is probably comparing on the filename and throwing unwanted stuff away
09:39 autrijus Enveigler: probably still just return the name for now?
09:40 autrijus (I can see readdir() returning a File object, too, but I'm not sure how)
09:40 Enveigler Autrijus: That's what I thought mostly...anything else will have to wait.
09:44 lampus has quit IRC (Read error: 113 (No route to host))
09:46 scw crysflame: I haven't built up a debian source but put all the .deb here http://www.csie.ntu.edu.tw/~b92103/pugs
09:49 gaal autrijus, it seems like runEvalIO returns undef on compliation fail. Where's the VError? retEvalResult? which Bool value do i need (what's "external"?)
09:53 autrijus gaal: external means it's evaluating an external file as in "require"
09:54 gaal which it kinda is and kinda isn't
09:54 gaal i guess the correct value is Mu, then.
09:54 autrijus heh.
09:54 autrijus undefined
09:54 Juerd moo!
09:55 Juerd murning :)
09:55 autrijus maybe you can just check for definedness and put a "1;" in Prelude.
09:55 gaal what do p6 modules return when evaluated? (I want them to return their names.)
09:55 autrijus but anyway, it's the flag to opEval
09:56 autrijus gaal: the last value
09:56 autrijus you shouldn't pass Nothing to opEval
09:56 gaal aha!
09:56 autrijus I think (Just True) is the value to use.
09:57 autrijus (I apologise for the obfu)
09:57 vcv-- has joined #perl6
09:58 gaal GHC++ ("redundant import of" warning)
09:58 meppl has joined #perl6
10:00 gaal how do i check defindedness? == VUndef didn't cut it
10:00 integral defined isn't it?
10:01 gaal thanks
10:03 autrijus it's incidentally just (== VUndef) :)
10:05 gaal hmmm, nobody reads $! in haskell, do i need to readRef, or is there a better way to do it?
10:05 gaal findSymRef "$!" and then read it, i meant
10:06 gaal because i still don't see how to get at the VError automatically
10:07 autrijus you can findSymRef and then read it
10:07 autrijus but I think it's a bug that (require 'x') doesn't die
10:07 autrijus when 'x' actually has compile time errors
10:07 autrijus I think.
10:07 autrijus so maybe fix that instead :)
10:08 gaal well, in the case of prelude we aren't requiring, we're evaling a string
10:08 autrijus well yes
10:08 autrijus but opEval doesn't know that
10:08 gaal unless that (Just True) flag meant it's a require?
10:08 gaal ah, okay :)
10:08 integral is the prelude code built into the binary or loaded from a file?
10:08 autrijus integral: built into binary
10:08 integral autrijus++, gaal++ that's handy :-)
10:09 autrijus it's not handy enough :)
10:09 gaal its source is inlined and compiled every load
10:09 autrijus I want it to be there in AST form
10:09 gaal one day, AST
10:09 gaal heh
10:09 autrijus but one thing at a time
10:09 gaal (one day, parrot bytecode?)
10:09 integral ah, a minipugs to boot strap it :-)
10:09 autrijus no, AST is fine
10:09 autrijus we can gen PIR from AST
10:09 autrijus roundtrip is much harder!
10:10 autrijus also we may wish to add various instrumentation in PIR
10:10 autrijus depending on whether we're invoked with -d:512 or something
10:10 autrijus so the AST form is probably the best way to keep it
10:10 autrijus (the AST may one day be represented by PMCs of course)
10:11 autrijus (but it's still an AST)
10:12 gaal micro-design: should it be opEval that does the failing, or retEvalResult? (re-finding $! looks funny to me, but so does failing from a function that's there for returning)
10:13 gaal i know it's trivial, i just haven't got the feel for style in haskell
10:14 autrijus if we're going for the Right Thing
10:14 autrijus I think we want a new data type.
10:14 gaal oh, also there's a "retEmpty" over there, so an error could actually nor be returning a VUndef.
10:15 gaal creepy, there's no out-of-band way to tell if an eval failed!
10:15 gaal well, actually in p5 there wasn't, either
10:16 autrijus data EvalError = EvalErrorFatal | EvalErrorUndef
10:16 gaal oh, there *couldn't* be one really, the whole point was that eval also captures exceptions
10:16 autrijus data EvalResult = EvalResultLastvalue | EvalResultModule | EvalResultEnv
10:17 autrijus data EvalStyle = MkEvalStyle { evalError = EvalError, evalResult = EvalResult }
10:17 autrijus er
10:17 autrijus data EvalStyle = MkEvalStyle { evalError :: EvalError, evalResult :: EvalResult }
10:17 autrijus that would be something haskellish.
10:17 autrijus opEval :: EvalStyle -> PathName -> String -> Eval Val
10:17 lhooq has joined #perl6
10:17 gaal PathName?
10:18 autrijus FilePath
10:18 scook0 phew
10:18 gaal oh, right, for opEvalFile
10:18 scook0 (reduce now dispatches to separate functions)
10:19 autrijus scook0++ # wow that was Quick
10:20 scook0 autrijus: turns out it was pretty easy, once I figured out the trick
10:21 gaal EvalError is the user's request for what to do on error, yes?
10:21 svnbot6 r4340, scook0++ | * Pulled reduce's cases out into separate functions
10:22 scook0 autrijus: should I pull all the different Syns out into overloads for reduceSyn?
10:22 scook0 (i.e. get rid of the explicit case statement)
10:23 gaal and what are EvalResultModule | EvalResultEnv? a handle on the loaded module in case of require?
10:23 autrijus scook0: sure, that'd be nice
10:23 autrijus gaal: so, sometimes we want to get back the modified lexical environment for an eval
10:24 gaal has left
10:24 gaal has joined #perl6
10:24 gaal oops
10:25 dada has quit IRC (Read error: 60 (Operation timed out))
10:26 autrijus gaal: so, sometimes we want to get back the modified lexical environment for an eval
10:26 autrijus s/lexical//
10:26 autrijus i.e. all of the environment
10:27 autrijus gaal: it happens when we're "use"'ing something, use the evaluated environment as the new environment in the parser, then go on
10:27 autrijus this is line 495ish Parser
10:27 autrijus that's EvalResultEnv
10:28 autrijus EvalResultModule isn't used currently
10:28 autrijus conceivably it returns the metaobject that represents the namespace in the eval or something
10:28 autrijus probably not a great idea
10:29 gaal i'll see what i can do in the 20 minutes i have left :)
10:30 autrijus cool. I may even pick up from where you left :)
10:31 gaal you'll have a lot left to pick up ;-)
10:31 gaal or a little
10:31 gaal depending on how you count
10:32 autrijus I count in base 64
10:32 autrijus so maybe a little
10:35 cdpruden has joined #perl6
10:39 Boogie has quit IRC (Remote closed the connection)
10:39 Enveigler Autrijus: Is there any mileage in thish stuff http://cvs.haskell.org/cgi-bin/cvsweb​.cgi/fptools/libraries/Win32/System/ for us? (There isn't any System.Win32.Dir, but the Win32.types would be handy?)
10:41 autrijus Enveigler: Win32.* is already in GHC win32, no?
10:41 autrijus you can freely use it in Compat
10:43 Enveigler Looking (again)...
10:44 Enveigler It's tehre under hslibs-imports (I looked under imports).
10:45 elmex has joined #perl6
10:46 Enveigler I also found System.Directory.getDirectoryContents() which returns everything as a list--but that's not freindly if the dir is huge.
10:47 autrijus it's not and we already use that
10:48 Enveigler AH!
10:48 autrijus problem is you can't make an easily rewindable interface out of that
10:48 autrijus unless you keep everything in memory
10:48 autrijus which is not very practical
10:51 gaal i gotta go - no checkpointable progress on the opEval refactoring, so if anyone wants to, feel free to pick it up
10:51 gaal back in n < 10 hours
10:51 autrijus post the diff somewhere?
10:51 Enveigler I think rewinding is a case of close / reopen the FindFirstFile handle on win32 anyway and that means keeping a copy of the path supplied on the ReadDir().
10:52 gaal nah, nothing useful there yet.. i was mostly burrowing over how it works
10:52 gaal i'll get back to this later (unless someone beats me to it)
10:53 gaal gotta go now! :) bye. &
10:53 Enveigler See ya Gaal.
10:53 autrijus Enveigler: hm, actually in perl5 the impl strategy is this
10:53 autrijus FindFirstFile is called on opendir
10:54 autrijus the result is put into a mutable list
10:54 autrijus it returns an object of {dirhandle, results, cursor}
10:54 autrijus each readdir() pushes to results and advances cursor
10:54 autrijus and rewinddir() sets cursor back to 0
10:55 autrijus it can be implemented using a TVar
10:55 autrijus (or equivalently a IORef)
10:56 Enveigler Autrijus: Okay, but that means you still accumulate teh entire dir in memory. We could just call System.Directory.getDirectoryContents() and put that into a list and return the cursor as appropriate?
10:56 Enveigler a/list/mutableList/
10:57 autrijus Enveigler: sure... there is one difference though.
10:57 autrijus if I opendir, readdir until I find a match, closedir
10:57 autrijus and the match is the 3rd file out of 100000
10:57 autrijus then the perl5 approach will consume far less memory
10:57 Enveigler Autrijus: Of course.
10:57 autrijus but for ease of implementation, I'd say just go with whatever you want :)
10:57 autrijus we can always refactor
10:58 Enveigler Plus you can pass (limited) wildcards to FindFileFirst and reduce the accumulation also. Okay. I'll crack on with FFF FFN.
10:59 iblechbot has quit IRC (Read error: 104 (Connection reset by peer))
10:59 autrijus Enveigler++ # cool
10:59 Enveigler No ++ yet. I'm still groping. :)
11:00 autrijus that is already worthy of ++ :)
11:01 Enveigler Kinda scared by AllocaBytes et al.
11:02 autrijus allocaBytes is actually very very sane :)
11:02 autrijus certainly saner than I can otherwise hope from C
11:04 Enveigler I'm just thinking about how to retain the memory across calls with GC interfering. A stable pointer seems the way to go, but I'm reaching at teh mooment
11:04 Enveigler s/with/without/
11:04 autrijus hm? I don't GC kills Ptr
11:05 autrijus s/don't/don't think/
11:05 autrijus you can safely bring a Ptr along
11:05 autrijus correction. I mean ForeignPtr.
11:05 autrijus but Ptr too
11:07 Boogie has joined #perl6
11:07 Enveigler Okay. So I construct a ?tuple? contain the FFF handle plus pointer to the MArray and return a pointer to the tuple from OpenDir. So that I have access when it gets passed back on ReadDir?
11:08 autrijus that sounds like a plan. I'd suggest to use records not tuples
11:08 autrijus just to increase readability. learned it the hard way
11:09 Enveigler Always happy to learn from others bumps and knocks. A record it will be.
11:12 autrijus =)
11:14 Enveigler A million more questiosn, but I'll do some more reading and try and answer a few of them myself. Thanks Autrijus
11:15 autrijus np :)
11:15 Enveigler Later.
11:16 meppl has quit IRC (Remote closed the connection)
11:20 meppl has joined #perl6
11:20 svnbot6 r4341, autrijus++ | * hw2005 paper - Introduction done - reviews welcome
11:25 * autrijus finds English much harder to write than Haskell
11:25 svnbot6 r4342, autrijus++ | * add usual properties to hw2005.txt
11:26 scook0 my god, that's a LOT of cases...
11:27 autrijus :D
11:27 scook0 autrijus: once I've finished my refactorings I'll give your paper a look
11:27 autrijus also I want to drop Syn at some time
11:27 scook0 (must remember to update PA02 also)
11:27 scook0 really?
11:27 autrijus replace them with the correctly declared statement:<> and postcircumfix:<> Apps
11:27 scook0 well, it should be much easier to do that incrementally now
11:27 autrijus with "is lazy" arguments
11:28 autrijus scook0: yes, your work is critical for that to happen
11:40 Juerd autrijus: I've given domm root access to feather so he can create accounts during the hackathon
11:40 svnbot6 r4343, scook0++ | * Pulled reduceSyn's case out into individual overloads
11:40 svnbot6 r4344, scook0++ | * Get rid of redundant arg to reduceSyn
11:40 Juerd autrijus: If you want that too, let me know.
11:42 Forth my brain keeps refusing to accept haskell...
11:42 autrijus Juerd: sure, I'd appreciate that
11:43 autrijus Forth: run newfs on it
11:43 Juerd autrijus: You may now use sudo
11:43 Juerd autrijus: Please send me, per user and by email, full name and email address
11:44 autrijus 'kay
11:44 Juerd Especially the full name is important, for legal purposes
11:44 Juerd I'm aware that this excludes some people. That is too bad then.
11:45 autrijus I think those people also have a full name :)
11:48 Juerd I sometimes doubt it ;)
11:48 Juerd And if they do, I don't think they're willing to give it up
11:48 vcv has quit IRC (Read error: 60 (Operation timed out))
11:49 Juerd In theory, they can make something up. I have no way to check it anyway.
11:49 Arathorn one of the debian risc dudes is called Wookey, iirc
11:49 Arathorn (legally)
11:49 Juerd If I were called that, I'd also hide my real name from the outside world
11:49 Arathorn http://www.chaos.org.uk/~wookey/name.html
11:50 zeromode has joined #perl6
11:50 autrijus hm. I wonder if he is related to Chewbacca
11:50 * Arathorn grins
11:51 * scook0 groans
11:51 Juerd I have no pity for single named people re web forms
11:51 Enveigler1 has joined #perl6
11:51 Juerd Especially for someone who decided to mutilate their own name this way :)
11:52 autark-jp gah!
11:52 autark-jp svn commit hangs :/
11:52 autark-jp strace shows: open("/dev/random", O_RDONLY) = 3 and then read(3, ....
11:52 Juerd Then generate some entropy.
11:52 autrijus your /dev/random is not random enough?
11:52 meppl has quit IRC (Remote closed the connection)
11:52 autark-jp how?
11:53 Juerd By using the computer :)
11:53 autark-jp it's remote.
11:53 autrijus autark-jp: typing a screenful of random chars
11:53 Juerd Haha
11:53 Juerd autrijus: That's network traffic - usually not playing any role in entropy :
11:53 Juerd autark-jp: That's a problem then.
11:53 autrijus Juerd: I didn't see it's remote :)
11:53 Juerd autark-jp: Get somebody to move the mouse :)
11:53 autark-jp yes ;)
11:53 autrijus will fsck help?
11:53 Juerd I have no idea
11:54 Juerd I wonder if any remote action helps
11:54 autrijus disk io is quite local
11:54 Juerd True
11:54 castaway (Wookey is a cool guy :)
11:54 * Juerd has only one time in his life used a computer than was out of randomness
11:55 autark-jp but if it only generates random things from keyboard and mouse ....
11:55 meppl has joined #perl6
11:55 Juerd autark-jp: You probably have no way to know how it generates randomness
11:55 svnbot6 r4345, scook0++ | * Most reduceSyn overloads now use destructuring parameters
11:59 Enveigler has quit IRC (Read error: 110 (Connection timed out))
11:59 Aankhen`` has joined #perl6
11:59 iblechbot has joined #perl6
12:03 Aankhen`` castaway >> I was interrupted earlier before I could finish my sentence: if there is indeed a module which pulls together all the various modules and functions as CGI.pm, it won't be in the top level; it'll probably end up as Perl5::CGI or something similar.
12:05 castaway why?
12:05 castaway (and huh, "Perl5" ?)
12:06 broquaint has joined #perl6
12:06 Aankhen`` Because a top-level CGI module doesn't make sense.
12:07 Aankhen`` (note that what I'm saying is mostly paraphrasing a discussion that took place on the subject a couple weeks back)
12:07 Aankhen`` CGI is a protocol.
12:08 Aankhen`` Hrm, wait, that's not right.
12:08 Aankhen`` Hang on a sec while I check something.
12:08 castaway its an Interface API (or some such)
12:08 meppl has quit IRC (Remote closed the connection)
12:08 Aankhen`` PM?
12:08 Aankhen`` I'll show you the logs.
12:09 Juerd APIs and protocols are practically the same thing.
12:09 Limbic_Region has joined #perl6
12:09 scook0 autrijus: I read through hw2005.txt
12:09 Aankhen`` Ah, here we go:
12:09 Aankhen`` [17:41:39] <pjcj> My big concern with porting Perl5 modules is that we don't miss the opportunity to learn from our mistakes.  Or the opportunity to enhance interfaces based on new Perl6 features.
12:09 Aankhen`` [17:41:42] <Juerd> And re CGI.pm, no, any common technology should not have its top level thing
12:09 Aankhen`` [17:41:54] <Juerd> DBI is the name of the module, not an existing protocol
12:09 Aankhen`` [17:42:06] <Juerd> CGI is a protocol. It has no good reason to be toplevel.
12:10 scook0 found a few tiny errors--want me to ci them, or discuss them with you?
12:10 castaway so what are we proposing to call the new module(s) for that?
12:10 Juerd CGI.pm is probably entirely redundant with HTTP:: modules.
12:10 castaway theres lotsa stuff named after protocols, and really that makes some sort of sense
12:10 Aankhen`` I'm working on porting the HTTP::* modules from LWP.
12:11 Aankhen`` Atleast, I was until a few days ago, when I realised that my body needed a break from the computer.
12:11 Juerd castaway: It makes sense to use the protocol name, but never for a top level *module*
12:11 Juerd Yes, a CGI namespace is good
12:11 Juerd No, any CGI.pm is not :)
12:11 castaway fair enough
12:11 Juerd Same goes for HTTP.pm
12:11 Juerd That's bad.
12:11 Juerd HTTP::Request is good though
12:20 meppl has joined #perl6
12:26 autrijus scook0: just ci them
12:26 scook0 autrijus: aye, I'll bundle it with my PA02 updates
12:27 * autrijus praises scook0 effusively
12:32 xinming has joined #perl6
12:34 sekimura has quit IRC ("zzz...")
12:38 meppl has quit IRC (Connection timed out)
12:39 svnbot6 r4346, scook0++ | * Updated PA02 to reflect Eval.reduce refactoring
12:39 svnbot6 r4346, scook0++ | * Minor English tweaks for HW2005 paper
12:39 cdpruden has quit IRC ("Oops. This machine just fell asleep")
12:45 Limbic_Region Juerd - you have a pretty good handle on p6 syntax right?
12:45 Limbic_Region Could you, or anyone else that feels fairly confident in their knowledge of p6 syntax, look at http://perlmonks.org/index.pl?node_id=463080
12:46 Limbic_Region I told blokhead to write tests if he felt his syntax was right but just wasn't implemented in pugs
12:46 Limbic_Region I guess he didn't feel confident enough to try
12:47 Juerd There is indeed no ==> yet
12:47 Juerd And I guess he's using an old (pre-yesterday) release
12:47 Juerd Because map does take two now
12:47 autrijus 6.2.6 has n-ary map
12:47 Juerd my $iter = NestedLoops( [0..2], [0..2] );
12:48 Juerd IIRC, that can be written as my $iter = NestedLoops(0..2; 0..2);
12:48 Juerd I'm not entirely sure.
12:48 Limbic_Region I tried that myself Juerd
12:48 Limbic_Region as I wanted to do that
12:48 Limbic_Region but it doesn't work in pugs AFAICT
12:48 Limbic_Region perhaps I wasn't holding my tounge right though
12:48 theorbtw1 Mornin, all.
12:48 Juerd afk
12:49 theorbtw1 is now known as theorbtwo
12:49 Juerd Hm, hyper for postcircumfix makes sense, as reduce does postcircumfix too
12:49 Juerd p6l that?
12:49 Juerd afk
12:50 Limbic_Region Juerd - I guess I need to convince blokhead to join #perl6
12:50 autrijus please do so. :)
12:50 Limbic_Region I would rather he champion his own cause
12:51 Limbic_Region the more new serious faces posing good questions to p6l the better
12:51 autrijus indeed.
12:52 * autrijus has a feeling that the old "post random idea and pray for a ruling" heuristic will no longer work
12:53 autrijus serious, sound proposals with tests is definitely the way to go. :)
12:53 Juerd It still worked well for ./method
12:54 Juerd And it'll work for all simple operator based ideas
12:54 autrijus Juerd: it isn't a random idea though :)
12:54 autrijus it's a much-desired solution to a huge thread that spans months.
12:54 autrijus s/isn't a/isn't just a/
12:55 Juerd I think the biggest problem facing p6l now is that some people want to change more fundamental things in Perl's design
12:56 Juerd Like Thomas Sandlass, who wants references and aliases to be the same thing, and thus the removal of any distinction between names, containers and values.
12:56 svnbot6 r4347, autark++ | * Added support for nesting of quoting delimiters, q[...[]...]
12:56 Juerd That's impractical in a dynamic language, but he doesn't see that and nobody so far has been able to convince him.
12:56 theorbtwo I think the biggest problem is a lack of a good index or current status document.
12:56 Juerd Lots of energy is wasted in replies to his messages.
12:57 Limbic_Region yeah - Luke said it best - once decisions are rendered they are not immediately reflected in the appropriate docs
12:57 Juerd There are more fundamental things that people want changed, and indeed, for such huge impact things, you'd need tests and a very sound and tight proposal
12:57 theorbtwo ...and I don't know how to fix that, other then to create one myself.
12:57 Juerd The lagging behind of synopses is a problem too, yes.
12:57 Limbic_Region autrijus - btw, WRT required named parameters
12:57 Limbic_Region S06 says do that by "is required"
12:57 Juerd theorbtwo: I think that as soon as anything is ruled on, someone should reply with a test
12:57 Limbic_Region and goes on to say, we MAY do something like plusplus
12:58 Limbic_Region Pugs only supports the MAY solution and not the "is required"
12:58 Limbic_Region should I write a test for that?
12:58 Juerd theorbtwo: And the message-id of the ruling should be in the test file that tests the feature
12:58 Juerd afk again
12:58 theorbtwo I think the best way to change the language def at this point is to implement it in pugs (or a fork of pugs), and /then/ take it to p6l.
12:59 scook0 theorbtwo: that does seem to be the only way things get decided these days
12:59 scook0 I'm just glad we have Pugs at all
13:00 crysflame scw: sweet! thanks
13:00 Limbic_Region scook0 - I am glad you replied to my thread - I was beginning to think it had gotten lost in the bitbucket
13:01 Odin- has quit IRC (Read error: 104 (Connection reset by peer))
13:01 theorbtwo Well, another problem is that pugs is diverging from the definition... and yes, I did just define the same thing as both a problem and a solution.
13:01 Odin-LAP has quit IRC (Read error: 104 (Connection reset by peer))
13:01 Limbic_Region It would be really nice though for @larry to say "yes" or "no" though
13:01 * Limbic_Region is fine with the answer being no btw - as long as it is definitive
13:01 scook0 Limbic_Region: yeah, I didn't really have much to say, but I wanted to de-warnock you to rekindle the discussion
13:01 Odin- has joined #perl6
13:02 scook0 maybe we should just implement it in pugs :)
13:02 autrijus Limbic_Region: you can of course write the "is required" test
13:03 theorbtwo The problem with TSa seems to be that he writes mostly as if things were the way he thinks they are, not "foo should be".
13:03 Limbic_Region scook0 - well, my test case probably wouldn't win people over
13:03 autrijus Limbic_Region: it's trivial to implement anyway. in Parser line 384
13:04 Limbic_Region say "it has a letter" if any( $str.chars ) eq any( 'a'..'z', 'A'..'Z');
13:04 autrijus ...implemented
13:04 autrijus so a test will be appreciated
13:04 Limbic_Region for "is required"
13:04 Limbic_Region will do
13:04 crysflame scw: building from source. first, step, apt-get install ghc-cvs (12MB)
13:04 autrijus yeah.
13:05 crysflame yay for apt-get
13:05 Limbic_Region likely won't get the test until this afternoon (my time)
13:05 Limbic_Region I have a marathon meeting coming up in about 20 minutes
13:05 Limbic_Region I am still trying to get caught up with the other daily routine as well
13:05 autrijus that's fine, take your time
13:06 theorbtwo Oh, autrijus, where can I find some good information as to how to use shiftT?  I was looking at Limbic's return problem last night, and couldn't make heads or tails of shiftT, other then that it's probably the solution.
13:07 theorbtwo apt-get++
13:07 scook0 urk, shiftT turned my brain inside-out last time I tried to understand it
13:07 crysflame rats, too old
13:07 Limbic_Region autrijus - did you see the test that geoffb (his first commit) that depicts a bug that we independtly discovered yesterday
13:08 Limbic_Region in a nutshell, a code reference that gets dereferenced will yell about being undefined even if it never gets executed (should short circuit)
13:08 Limbic_Region hmmm - that didn't come out quite right
13:09 crysflame debian-devel accepted ghc 6.4-4 on may 21st
13:09 crysflame (unstable)
13:09 Limbic_Region the error yells as if it attempted to dereference it but it should never have gotten to that point
13:09 autrijus Limbic_Region: yes, I'm aware of that.
13:09 Limbic_Region ok
13:09 autrijus long-circuiting at a distance
13:09 Limbic_Region it was the only bug I found yesterday with my latest project
13:10 Limbic_Region which is a "good thing"
13:10 Aankhen`` How do you access named subrules in the match object?  $/<name>?
13:12 autrijus Aankhen``: yeah, which can be shortened to $<name>
13:12 Aankhen`` OK, thanks.
13:12 * autrijus wonders if $0 can be written as $[0] as an analogy
13:12 * autrijus chases that thought from memory
13:12 Aankhen`` Heh.
13:12 crysflame ghc6_6.4-2_i386.deb unf
13:12 autrijus probably not a great idea.
13:13 clkao autrijus: what have you discoverdd about array.t?
13:15 autrijus clkao: it looks like I need to separate PerlSV apart in hs side.
13:15 autrijus clkao: see, when we have
13:15 crysflame ghc6_6.4-4_i386.deb unf (whee)
13:15 autrijus $p5obj.values
13:15 autrijus or indeed
13:15 autrijus $p5obj.kv
13:16 autrijus we need to know whether to dispatch it as a ValRef, ValObj, Val(nonref), SvAV, SvHV, SvRV(that defines ->kv), or sometihng else entirely
13:16 autrijus currently it's all grouped under the PerlSV dispatch
13:17 autrijus which means it's always treated as a hash and always assumed as a boxed sv
13:17 broquaint Do placeholder variables in subs correspond to an automagically created siglet? e.g sub { $^foo * $^bar } =:= sub($^bar,$^foo) { $^foo * $^bar };
13:17 autrijus which is clearly wrong
13:17 svnbot6 r4348, autrijus++ | * Implement `is required` for subroutine parameters.
13:17 svnbot6 r4348, autrijus++ |   Suggested by Limbic_Region++.
13:17 autrijus broquaint: no, the latter says $bar and $foo
13:17 Aankhen`` `is required`?
13:17 Aankhen`` Wassat?
13:17 autrijus Aankhen``: sub foo (+$named is required) {}
13:17 Aankhen`` Ah.
13:18 broquaint Ok, thanks, autrijus :)
13:18 Aankhen`` Why not just make it a positional parameter?
13:18 Odin-LAP has joined #perl6
13:18 Aankhen`` It can be still be specified as a named parameter...
13:18 autrijus Aankhen``: you don't want 500 positionals.
13:18 osfameron pixigreg++
13:18 Aankhen`` (when it is called, I mean)
13:18 autrijus because someone will actually call them in a certain order
13:19 autrijus and you'll be borked when you'd like to add new param
13:19 Aankhen`` OK.
13:19 broquaint Am thinking up a proposal for the access of @_ in bare block/pointy subs.
13:20 broquaint Or maybe @*ARGS instead of @_ if we're going to be consistent with implicit arguments. Maybe.
13:20 scook0 autrijus: named params aren't supposed to be positionally callable?
13:21 autrijus scook0: aye.
13:21 scook0 broquaint: I was thinking a bit more about that
13:21 autrijus hence inherently nonordered
13:21 scook0 autrijus: because I think that (erroneously) works atm
13:21 crysflame ended up with 6.4-2 due to libc drama
13:21 scook0 in fact, I think there might be a test confirming the incorrect behaviour :(
13:21 theorbtwo broquaint: OTOH, right now, you can get at the arguments of the outer block very easily.  Giving bareblocks and -> blocks their own @_s would keep them from accessing the outer ones.
13:21 autrijus ?eval sub foo (+$x) { $x } foo(3)
13:21 evalbot6 \3
13:21 autrijus ick.
13:21 theorbtwo (Except by using OUTER::.
13:22 autrijus scook0: yay, major bug. care to flip the test?
13:22 autrijus weird, I explicitly coded Bind.hs to disallow that...
13:22 broquaint Is @_ lexically or dynamically scoped in perl6? I assume dynamically.
13:22 theorbtwo @*ARGS would be cool with me, esp if it always ignored signatures.
13:22 autrijus broquaint: it is, in fact, lexical
13:22 theorbtwo I assumed lexically.
13:23 autrijus sub foo (*@_) { }
13:23 broquaint Won't that make the porting of perl5 Hard(tm)?
13:23 hugues23 has joined #perl6
13:23 autrijus broquaint: you mean the (local @_ = ...; goto &sub) thing?
13:23 autrijus or something else entirely?
13:23 scook0 autrijus: what's the test syntax for "shouldn't work" again?
13:24 autrijus scook0: dies_ok
13:24 geoffb *yawn*
13:24 geoffb Morning, everyone
13:24 broquaint That sort of thing, autrijus. I'm sure there are other edges cases in perl5 (as always ;).
13:24 theorbtwo Morning, geoffb.  Congrats on your first CI.
13:24 geoffb theorbtwo, thanks.  :-)
13:25 theorbtwo broquaint: So translate calls without explicit argument lists to call with the current @_?
13:25 stevan good morning all
13:25 scook0 do I mark it as :todo<bug>?
13:25 geoffb morning, stevan
13:25 crysflame no hs-plugins deb yet
13:25 broquaint Also the &sub style could cause problems.
13:25 broquaint Oh well.
13:25 autrijus scook0: no, that's an outright failure
13:26 geoffb crysflame, more's the woe
13:26 broquaint Yeah, theorbtwo, I reckon that'd do.
13:26 * geoffb wishes for `apt-get build-dep pugs`
13:26 autrijus broquaint: porting of p5, done by humans, is probably easy to avoid global @_ and friends
13:26 broquaint Anyhow, being able to access the arg stack for pointy/bare block subs would be very handy esp. in the case of functional coding.
13:27 Limbic_Region scook0 plusplus
13:27 autrijus broquaint: how is the current blocks syntax not allowing you to do that?
13:28 broquaint ?eval {@_}.()
13:28 evalbot6 Error: Undeclared variable: "@_"
13:28 autrijus ?eval ->*@_{@_}.()
13:28 evalbot6 []
13:28 vcv has joined #perl6
13:28 crysflame heh, whoah. can't execute svk
13:28 crysflame guess i need svk
13:28 crysflame 26 new packages!
13:28 autrijus broquaint: also for functional code I don't think you usually want slurps
13:28 broquaint Sure, autrijus, but the declaring of the arg stack seems a little redundant, esp. with lots of little functions a la MJD code ;)
13:29 * crysflame plugs his ears and waits
13:29 autrijus broquaint: you probably want a single array argument
13:29 autrijus ?eval {@^x}.()
13:29 evalbot6 Error:  unexpected "\\" expecting "::"
13:29 scook0 broquaint: I realised the other day why bare blocks can't have arity of more than one
13:29 autrijus ?eval {$^x+$^y}.arity
13:29 evalbot6 Error:  unexpected "\\" expecting "::"
13:29 autrijus ...
13:29 autrijus bad quotemeta
13:29 broquaint Urk.
13:29 autrijus ?eval '{$^x+$^y}.arity'
13:29 scook0 if they were slurpy, stuff like "for @foo {...}" would only ever execute once :(
13:29 evalbot6 '{$\\^x+$\\^y}.arity'
13:30 broquaint pugs -e '{@^x}.()' # *** Insufficient number of required parameters: 0 actual, 1 expected
13:30 autrijus yeah. "slurpy bare block" sounds like a dangerous thing
13:30 ramzi has quit IRC (Read error: 104 (Connection reset by peer))
13:30 autrijus broquaint: right, {@^x}.([]) is the way to go
13:30 theorbtwo It seems like a reasonable thing to do... just not by default.
13:31 broquaint I definitely not keen on slurpy bare blocks, I just want access to the arg stack.
13:31 theorbtwo OTOH, there's no way to make non-default bare blocks, really.
13:31 autrijus but anyway -- writing a -> or a "sub" when you want extra things sounds okay to me
13:31 theorbtwo Sounds OK to me, too.
13:31 autrijus although it's probably not very golf friendly
13:31 broquaint Fair enough.
13:32 broquaint I just like the idea of being able to access the arg stack at all times. Maybe it's a good idea just to have that in a module/macro for that functionality.
13:32 autrijus broquaint: indeed. I thought part of the idea of having a Bare class is so that we can do interesting optimisations
13:33 autrijus i.e. since there won't be any unpacking or MMD or slurping going on
13:33 svnbot6 r4349, scook0++ | Flipped tests that should be failing
13:33 autrijus it's considerably easier to codegen for it
13:33 autrijus it's the theory anyway
13:33 theorbtwo I do like the idea of a @*ARGS that always lets you get at the arg list positionally.
13:33 autrijus theorbtwo: and %*ARGS for the bynames?
13:33 theorbtwo I don't like the related, but sepperate, idea of letting bare blocks have slurppy parameters.
13:33 autrijus (as they have no position)
13:33 theorbtwo Well, they were called with some position.
13:34 broquaint Yeah, slurpy params for bare blocks is definitely not desirable.
13:34 theorbtwo We just don't know what position.
13:34 autrijus er. uhm. I don't think I can promise to keep that information :)
13:34 autrijus not without switching some Map into OrderedMap or sometihng
13:34 crysflame yay, RRegex.PCRE
13:34 broquaint But if you want to access the arg stack thingy then tell the compiler with a pragma perhaps.
13:35 * theorbtwo shrugs.  OK then, @*ARGS for the positionals, %*ARGS for the nonpositionals.
13:35 autrijus and then maybe you want actually to access the program's arguments...
13:35 autrijus ...which is incidentally named @*ARGS as well
13:35 scook0 I wonder what the performance implications of a ubiquitous @_/@*ARGS are...
13:35 theorbtwo Oh, I forgot about that one.
13:35 theorbtwo Hm.
13:35 geoffb The irclogger help page says that the times displayed in the logs are in the "european timezone".  Um, what exactly timezone would that be, anybody know?
13:36 * geoffb reading backlog, obviously
13:36 wolverian haha. _the_ european timezone?!
13:36 theorbtwo geoffb: What's the time of the last line.
13:36 geoffb hold on
13:36 theorbtwo It probably means CEST -- central european summer time.
13:36 geoffb 13:36
13:36 scook0 geoffb: maybe it's a Junction of timezones :)
13:36 wolverian geoffb: GMT
13:36 geoffb scook0, heh
13:36 theorbtwo Oh, it doesn't, then.
13:36 crysflame hee
13:36 theorbtwo GMT.
13:36 autrijus ooh pxperl actually kept up. nice
13:36 broquaint Oh well, arg munging can be left for another time, it's not too important (I'm just hung up on because I'm porting the HOP code ;).
13:37 * autrijus ponders putting pxperl to pugscode.org front page
13:37 theorbtwo pxperl?
13:37 geoffb wolverian, theorbtwo: thx
13:37 autrijus theorbtwo: http://pixigreg.com/?pxperl
13:37 wolverian you're welcome
13:37 theorbtwo Nifty-squifty.
13:40 broquaint ?eval ~{foo=>'bar'}
13:40 evalbot6 'foo bar'
13:40 theorbtwo ?eval ~{foo=>'bar', baz=>'quux'}
13:40 evalbot6 'baz quux foo bar'
13:40 broquaint Hrm, I get "foo     bar\n".
13:40 theorbtwo The spec says "foo\tbar\nbaz\tquux\n" (not neccessarly in that order).
13:41 autrijus the spec is correct.
13:41 autrijus and I think I implemented it that way too... weird
13:41 autrijus ?eval ~{fo=>'bar', ba=>'quux'}
13:41 evalbot6 'ba quux fo bar'
13:42 broquaint Neat.
13:42 autrijus ?eval ~({fo=>'bar', ba=>'quux'})
13:42 evalbot6 'ba quux fo bar'
13:42 autrijus ?eval my $x = {fo=>'bar', ba=>'quux'}; ~$x
13:42 evalbot6 'ba quux fo bar'
13:42 autrijus :-/
13:43 broquaint I don't understand signatures all that well, but how do I get this to DWIM (i.e work):
13:43 broquaint ?eval sub f($f,$g) { say "$f,$g" } my @a = <<foo bar>>; f *@a
13:43 evalbot6 Error: No compatible subroutine found: "&f"
13:43 crysflame evalbot
13:43 crysflame heh
13:44 autrijus ah. I see. it's the extra fromVal
13:44 autrijus broquaint: caller-site * is known todo
13:44 broquaint sub f(*$f,$g) { ... } works, but I didn't think the sig needed to be splatty as well.
13:44 autrijus currenltly only function-side * works
13:44 broquaint Right, thanks again, autrijus :)
13:45 autrijus you can do *$f, *$g
13:45 crysflame pugs.AST.Internals takes a while
13:46 autrijus the ~hash thing is fixed.
13:46 autrijus r4350
13:47 autark-jp 'eval;' should default to operate on $_, right?
13:47 broquaint ?eval sub f(*$f,*$g, $h, ?$i = "XXX") { "$f,$g,$h,$i" } my @a = <<foo bar baz>>; f *@a
13:47 evalbot6 'foo,bar,baz,'
13:48 autrijus autark-jp: I'm not sure about that.
13:48 autark-jp I couldn't find anything about it in the docs though.
13:48 autrijus yeah. you can certainly give a 3-char patch in Prim.hs
13:48 autrijus that enables this behaviour, based on it's the same in perl5
13:49 autrijus be bold in your checkins :)
13:49 * crysflame twitches at eval;
13:49 autrijus dinner, bbiab
13:49 crysflame no complaint
13:49 scook0 ooh, it's late--must go to bed
13:49 crysflame just.. i had no idea
13:49 scook0 @#perl6 ».bye
13:50 autrijus scook0: nite!
13:50 scook0 has quit IRC ("Leaving")
13:50 * theorbtwo wonders...
13:50 svnbot6 r4350, autrijus++ | * Fix ~{1=>2} to stringify to "1\t2\n" correctly.
13:50 svnbot6 r4350, autrijus++ |   Reported by broquaint.
13:50 autark-jp well, no need to change things that work :)
13:51 theorbtwo ?eval my $foo = ->{'wakka'}; $foo.pos
13:51 evalbot6 '<eval> line 1, column 11-22'
13:51 theorbtwo Nifty.
13:51 autrijus ooh.
13:52 autrijus ?eval &pos.pos
13:52 evalbot6 Error: Undeclared variable: "&pos"
13:52 autrijus ?eval &Code::pos.pos
13:52 evalbot6 undef
13:52 autrijus clever.
13:52 broquaint What does .pos return? The position of the invocant in the file?
13:52 theorbtwo The position where it is defined.
13:52 broquaint Debugariffic!
13:52 theorbtwo Indeed.
13:53 * autrijus steals "A Debugariffic Day" as a journal title
13:53 theorbtwo Woo!
13:53 * broquaint takes mental note - debugging functional code != easy || fun
13:53 theorbtwo Now I'll have to implement more of this sort of thing to make it a really debuggariffic day.
13:53 autrijus it sounds better that "frabjous"
13:54 autrijus broquaint: types help a lot
13:54 autrijus functional languages are called "nursery of type system innovations" for a reason
13:54 broquaint They do indeed :) Converting the HOP code to perl6 has been an experience, pity I can't get it to work :/
13:55 autrijus :/.
13:55 theorbtwo Hm, I can't say "./pugs -Mlib=blib6/lib" and have it DTRT.
13:55 autrijus really &
13:55 theorbtwo (Feature or bug... you decide?)
13:55 autrijus theorbtwo: right. it's trivial fix in Args.hs tho
13:55 theorbtwo Oh!  Later, autrijus!
13:55 autrijus :todo<feature>
13:55 theorbtwo Cool.
13:56 clkao autrijus: yuck
13:57 clkao autrijus: but simple array access should work first :p
13:59 xinming has quit IRC (Client Quit)
14:00 iblechbot has quit IRC (Read error: 145 (Connection timed out))
14:00 SM_ax has quit IRC ("ChatZilla 0.9.61 [Mozilla rv:1.7.7/20050420]")
14:01 broquaint Urk, pugs -MParser -e 1 # gets stuck in some scary SIGALRM loop
14:01 broquaint Or it looks like that for a while at least.
14:02 broquaint Ah, pugs -MParser=:all -e 1 # gets the scary infinite looking loop
14:03 crysflame Linking...
14:05 * geoffb notices PM Novice ranking, decides to sidetrack into understanding what that means . . . several minutes later decides "I really didn't want to know all that"
14:05 geoffb Damn waste of neurons.  :-)
14:06 broquaint It looks like passing args to use via the -M switch makes pugs teh b0rk.
14:06 crysflame woo, dpkg -i pugs*deb
14:06 theorbtwo geoffb: You can vote on nodes (starting tomorrow).
14:06 crysflame pugs -e 1 works. nifty.
14:06 theorbtwo broquaint: Read up a few lines.
14:07 broquaint Linking?
14:07 cognominal has quit IRC (Remote closed the connection)
14:07 theorbtwo No, me complaining that -Mlib=... didn't work, and autrijus calling it :todo<feature> and trivial in Args.hs.
14:07 crysflame autrijus said he knew what it was and then &'d, i think
14:08 cognominal has joined #perl6
14:08 geoffb autrijus, did you ever get a chance to look at why 'use SDL::App--perl5' no worky?
14:09 broquaint Ah, ok. It seems antihestimenes (sp?) and IRC don't mix so well ;)
14:09 ninereasons has joined #perl6
14:10 theorbtwo geoffb: Autrijus no here.
14:11 geoffb theorbtwo, damn, hadn't gotten that far in the backlog, because of said previous sidetracking on PM
14:15 nothingmuch Limbic_Region: ping
14:16 lathos has joined #perl6
14:16 nothingmuch I saw your comment from yesterday, and I tried to change stuff around so it's clearer. Want to try again?
14:16 lathos seen juerd?
14:16 jabbot lathos: I havn't seen juerd , lathos
14:16 nothingmuch seen Juerd
14:16 jabbot nothingmuch: Juerd was seen 1 hours 18 minutes 9 seconds ago
14:16 nothingmuch silly bot
14:27 Juerd lathos: pong
14:29 Boogie has quit IRC (Remote closed the connection)
14:40 Shachaf has joined #perl6
14:46 sproingie has joined #perl6
14:47 ihb has quit IRC (Read error: 110 (Connection timed out))
14:56 * theorbtwo wonders where to go from here, and possibly how to do %MY:: and friends.
14:56 lathos Should this work: my $a = ::Maypole; require $a ?
14:57 nnunley has joined #perl6
14:57 Juerd I don't think one can require a class
14:57 Juerd Only a string
14:57 jhorwitz has joined #perl6
14:57 Juerd Which happens to have class-like syntax
14:57 Juerd If a class stringifies as expected, it should work. One problem is that an initial :: should NOT be translated to /.
14:58 Juerd Although given @INC paths and platforms that don't care about double slashes, it shouldn't be a problem
14:58 Juerd All in all: yes, I think it should work.
14:58 lathos OK. It doesn't. :)
15:01 lathos Bah, Maypole 6 is full of "require $.foo_class;"
15:01 theorbtwo Hm, the hs-plugins author is Dan somethingoranother, the parsec author is daan.
15:02 Juerd Time for a failing non-todo test then, perhaps :)
15:02 nothingmuch isn't hs-plugins author dons?
15:03 nothingmuch Don Stewart
15:04 theorbtwo Oh, right.
15:04 theorbtwo Dan, Don, I was close.
15:04 theorbtwo Not quite close enough for a Conspricy, though.
15:04 lathos Class doesn't stringify.
15:05 lathos Can't locate <obj:Class> in @INC
15:05 Enveigler1 has quit IRC (Read error: 110 (Connection timed out))
15:05 lathos Which is arguably correct, since it stringifying to "Maypole/View/TT.pm" would be confusing.
15:05 theorbtwo It stringifying as ::Maypole::View::TT would be quite reasonable, though.
15:06 nothingmuch haskell advice someone: I need a mutable map.. Would I place a Data::Map in an IORef?
15:07 lathos Right, but "require ::Foo" doesn't even work.
15:09 * theorbtwo wonders if stringification should be a sepperate function of the Value class, rather then everything's stringification being done in VStr.
15:09 hugues23 has quit IRC ("KVIrc 3.2.0 'Realia'")
15:10 theorbtwo Hm, wasn't the stingification of false supposed to be "0" and not ""?
15:10 iblechbot has joined #perl6
15:10 cjeris has joined #perl6
15:11 nothingmuch theorbtwo: i think it should
15:12 lathos Well, I think 'require $thing' should be polymorphic on $thing.
15:12 lathos But anyway, I'll throw my tests in and if they're wrong someone will fix them...
15:14 broquaint ?eval my $a = q[foo]; $a = sub { return (1,$^x) }.($a); $a.perl.say
15:14 evalbot6 Error:  unexpected "(" expecting block construct, "::", ":", term postfix, operator, postfix conditional, postfix loop, postfix iteration, ";" or "}"
15:15 broquaint ?eval my $a = q[foo]; $a = sub { return (1,$^x) }.($a); $a.perl
15:15 evalbot6 Error:  unexpected "(" expecting block construct, "::", ":", term postfix, operator, postfix conditional, postfix loop, postfix iteration, ";" or "}"
15:15 broquaint Hmm, I get: [1, [1, [1, [.]]]]
15:15 broquaint And this looks like an infinite loop: pugs -e 'my $a = q[foo];my$b; ($b,$a) = sub { return (1,$^x) }.($a); $a.perl.say'
15:16 eric256 has joined #perl6
15:16 theorbtwo OK, I can't figure out how to find out if a method exists on an object (without erroring if it doesn't).
15:16 lathos Don't we have .can?
15:16 theorbtwo Otherwise I could make VObject's stringify call a method.
15:17 theorbtwo ?eval &pos.can('pos')
15:17 evalbot6 Error: Undeclared variable: "&pos"
15:17 theorbtwo ?eval (&pos).can('pos')
15:17 evalbot6 Error: Undeclared variable: "&pos"
15:17 theorbtwo ?eval (sub {...}).can('pos')
15:17 evalbot6 Error: No compatible subroutine found: "&can"
15:17 svnbot6 r4351, simon++ | Tests for "require ::Class".
15:17 theorbtwo Don't have it.
15:17 eric256 shouldn't @.whatever be an error if the class doesn't have a whatever attribute?
15:18 theorbtwo Oh, I'm an idiot, of course it can't find &pos, there is no such thing.
15:18 theorbtwo Probably, eric256.  Make a dies_ok test for it?
15:19 lathos ?eval my $x = "Hello"; $x.can("foo")
15:19 evalbot6 Error: No compatible subroutine found: "&can"
15:19 xinming has joined #perl6
15:20 lathos Bah. Everything should be an object.
15:20 broquaint Everything is an object. Except when it's not.
15:21 lathos And from the tests it looks like .can is a todo.
15:21 eric256 are you looking for does("foo") ?
15:21 theorbtwo Everything is an Object, I think.
15:21 theorbtwo ?eval {} ~~ Object
15:21 evalbot6 bool::false
15:21 theorbtwo Or not.
15:22 eric256 ?eval 1 ~~ Object
15:22 evalbot6 bool::false
15:22 eric256 ?eval "Test" ~~ String
15:22 evalbot6 Error: No compatible subroutine found: "&String"
15:22 eric256 hmm
15:22 theorbtwo ?eval "Test" ~~ Str
15:22 evalbot6 bool::false
15:22 eric256 mayeb ~~ is broken?
15:22 theorbtwo OK, now that's certianly a bug.
15:22 eric256 ?eval "Test".does(Str)
15:22 evalbot6 bool::true
15:22 theorbtwo ?eval ->{} ~~ Code
15:22 evalbot6 bool::false
15:23 theorbtwo Yeah, quite broken.
15:23 lathos class Foo; my $x = Foo.new; $x ~~ Object
15:23 lathos ?eval class Foo; my $x = Foo.new; $x ~~ Object
15:23 evalbot6 bool::false
15:23 arcady err... that
15:23 arcady s
15:23 arcady not right
15:23 theorbtwo ?eval ->{} ~~ ::Code
15:23 evalbot6 bool::false
15:23 lathos ?eval class Foo; my $x = Foo.new; $x.isa("Foo")
15:23 evalbot6 bool::true
15:24 lathos ?eval class Foo; my $x = Foo.new; $x.can("new")
15:24 evalbot6 Error: No compatible subroutine found: "&can"
15:24 lathos Balls.
15:24 autrijus er. you want .can?
15:25 broquaint Mental note - return () != return()
15:25 theorbtwo Yes, and a similar thingy callable from haskell, for implementing stingification of VObjects with.
15:26 theorbtwo (Though come to think of it, possibly that's better done with a multimethod stringify(Any $x).)
15:26 theorbtwo Oh, anybody know what that's supposed to be named?
15:27 autrijus &prefix:<~> ?
15:27 theorbtwo Oh, of course.
15:27 autrijus the problem with .can is that it ignores MMD :)
15:27 autrijus but I guess it's better than nothing
15:28 autrijus if so, one can adapt Eval.hs's findSub code to implement "can"
15:28 QtPlatypus has joined #perl6
15:29 autrijus hm. maybe it can return a list of code as candidates.
15:29 autrijus probably not a junction though.
15:29 theorbtwo Aaah!  Pugs.Eval.findSub!  I knew there had to be one somewhere!
15:29 autrijus purr :)
15:29 autrijus refactorings welcome
15:30 theorbtwo To add a stringify to class Value, and move everything's stringify out of VStr to the thing being stringified?
15:30 lhooq ?eval ->{}.does(Code)
15:30 evalbot6 bool::true
15:31 xinming has quit IRC (Client Quit)
15:31 lhooq ?eval my @array=(1,2,3); @array+1;
15:31 evalbot6 4.0
15:32 * QtPlatypus looks curious as to why that answer looks like a real.
15:33 theorbtwo Args on findSub are name, without leading &, invocant, other arguments?
15:33 autrijus QtPlatypus: because &infix:<+> MMD's it to (Num,Num)
15:33 autrijus theorbtwo: with the leading &, Ithink
15:34 autrijus findSub "&prefix:~" (Just (Val $ VObject obj)) []
15:34 autrijus is probably the thing you want
15:34 xerox has joined #perl6
15:34 xerox hiya
15:34 autrijus yo xerox
15:34 theorbtwo Danke, autrijus.
15:34 autrijus Bitte schön
15:34 autrijus "In 2000, many developers feel that Perl 5 development is stuck.  Some has
15:34 autrijus described the C-based runtime as a tower of Jenga, where new features are
15:34 autrijus constrained to re-use existing semantics, making it ever more fragile.
15:34 autrijus "
15:35 xerox Would "The Perl Foundation" mentor Google's SoC projects related to pugs?
15:35 autrijus lathos: is it okay to attribute the quote to you, or will you prefer to be known as "some"?
15:35 autrijus xerox: yeah, already I saw two people asking about pugs-related projects
15:35 lathos It's fine. That's from my ORA blog, I think.
15:35 autrijus yes.
15:35 xerox autrijus, nice, working with Haskell would be very very nice..
15:36 theorbtwo autrijus: I thought you were keeping TPF out of it?
15:36 lathos Since that's about as public as it gets anyway, I don't mind my name being on it somewhere else. :)
15:36 autrijus theorbtwo: if google funds TPF funds people to hack on Pugs, I wouldn't mind at all
15:36 theorbtwo BTW, s/Some has/Some have/
15:36 autrijus right.
15:36 Enveigler1 has joined #perl6
15:37 Xinming has joined #perl6
15:37 * autrijus wonders if Bestian will have some tuit to hack on pugs and maybe submit a proposal
15:37 autrijus anyway I'll ask him this weekend
15:37 Xinming has quit IRC (Client Quit)
15:38 theorbtwo D'oh, I'm an idiot sometimes.
15:39 autrijus we all are :)
15:39 theorbtwo Can't use Pugs.Eval.findSub from VStr's vCast, because it needs to be in an Eval.
15:39 autrijus :)
15:39 autrijus time to change all of them to fromVal.
15:39 autrijus (as was the plan all along)
15:40 Forth has quit IRC (Nick collision from services.)
15:40 autrijus (but of course you can just fromVal the VObject case first)
15:40 Forth has joined #perl6
15:40 Forth has quit IRC (Nick collision from services.)
15:42 alinbsp has joined #perl6
15:43 QtPlatypus In pugs is there anyway to get start up the rpel from inside a script?
15:43 QtPlatypus s/rpel/repl/
15:44 theorbtwo Other then running an interior copy of pugs, not that I'm aware of.
15:44 theorbtwo OTOH, you can use eval STRING.
15:44 theorbtwo (Though I don't think there's a way to keep a scope that way.)
15:44 xinming has joined #perl6
15:45 Forth_ has joined #perl6
15:45 lhooq ?localtime();
15:46 theorbtwo ?eval localtime
15:46 evalbot6 Error: No compatible subroutine found: "&localtime"
15:46 lhooq yup
15:46 clkao autrijus: tea will go through another route.
15:48 sproingie has quit IRC (Remote closed the connection)
15:48 xinming has quit IRC (Client Quit)
15:48 theorbtwo Shouldn't a false VBool stringify to '0', not ''?
15:50 lhooq ?eval sub x { return (1,2,3); } print x();
15:50 evalbot6 Error: No compatible subroutine found: "&print"
15:50 lhooq ?eval sub x { return (1,2,3); } x();
15:50 evalbot6 (1, 2, 3)
15:50 lhooq ?eval sub x { return (1,2,3); } my @a = x(); @a;
15:50 evalbot6 [1, 2, 3]
15:50 lhooq uhm
15:50 lhooq is this correct?
15:51 autrijus clkao: ok.
15:51 autrijus theorbtwo: I don't know. perl5 stringifies false to ''
15:51 theorbtwo Yeah.  I thought that was going to change, but I don't want to get sidetracked looking it up.
15:52 autrijus lhooq: yes, I think.
15:52 broquaint Yep, lhooq, in on case it outputs the list 1,2,3 and the other case it outputs the array @a (and arrays are containers, hence the [])
15:53 lhooq ?eval my @a = (1,2,3); @a;
15:53 broquaint s/in on/in one/
15:53 evalbot6 [1, 2, 3]
15:53 autrijus ?eval my @a = [1,2,3]; @a
15:53 evalbot6 [[1, 2, 3]]
15:53 lhooq oh, ok, I see
15:56 autrijus mmm "5.8 will be the final release of Perl 5"
15:56 svnbot6 r4352, autrijus++ | * hw2005.txt - overview; historical background
15:56 autrijus I'm happy that I'm almost done with the history part
15:57 integral hmm, someone got that one wrong :-)
15:57 autrijus it's fascinating, but not very exciting, stuff :)
15:57 autrijus (as always, proofreads are welcome)
16:12 * Forth_ is reading Haskell for C programmers, hopefully my brain can handle those strings
16:12 stevan has quit IRC (Read error: 104 (Connection reset by peer))
16:13 autrijus Forth_: oh, also read nothingmuch's Forth journal
16:13 stevan has joined #perl6
16:14 autrijus Forth_: http://feather.perl6.nl/~nothingmuch/harrorth/
16:14 autrijus (you can "darcs get http://feather.perl6.nl/~nothingmuch/harrorth/")
16:14 autrijus I found the README, journal.kwid and docs/*.kwid to be excellent reads
16:14 Forth_ the last time using Forth was 10 years ago
16:15 autrijus nothingmuch is implementing Forth in haskell
16:15 autrijus with extensive documentation on each bit of haskell he learned about
16:15 autrijus so should be quite helpful :)
16:16 justatheory has joined #perl6
16:17 clkao autrijus: so, there will be p2p svk make use of rendezvous for your hackathon
16:17 autrijus clkao: Net::Rendezvous?
16:18 autrijus I wonder if it should be called Net::Bonjour now
16:18 integral Is there a non-apple-specific name for it?
16:18 autrijus zeroconf?
16:18 integral Net::Zeroconf would save changing it every week
16:19 autrijus very true.
16:20 dakkar has joined #perl6
16:20 * autrijus decides to pause and rest a bit from writing about perl6's design goals
16:21 dakkar if I redefine &infix:<+>(Num,Num), how can I access the "regular" numeric '+'?
16:21 vcv has quit IRC (Read error: 60 (Operation timed out))
16:21 autrijus especially I can't easily reconcil perl6's metaprogramming ideas with existing literature. maybe I should read up a bitmore
16:21 dakkar metaprogramming? you mean macros and the like?
16:21 autrijus dakkar: &*infix:<+> presumably
16:21 dakkar what does that '*' mean? "global"?
16:21 autrijus dakkar: that, and rebindable grammar, and BEGIN{...}, etc
16:22 autrijus yeah.
16:22 dakkar for macros & grammars, I think LISPis the only language to allow that level of AST-changing
16:22 dakkar but then, LISP is easier to manipulate
16:23 dakkar and, haw do I distinguish between different multisub with the same name, say to get a reference to one for wrap or similar?
16:24 autrijus you address it using its long name.
16:24 autrijus sadly, the long name is unspecced!
16:24 SamB lisp lets you do so much with the AST, nobody got around to doing a concrete syntax ;-)
16:24 autrijus SamB: exactly ;)
16:24 autrijus it's forever "planned"
16:24 dakkar aha! that's why I could find the way!
16:24 autrijus until noone remember about it anymore
16:24 stevan autrijus: maybe @Larry[0] will share some blue ice cubes at the hackathon, it might help things make sense
16:25 SamB autrijus: don't you think the plans have been scrapped by now?
16:25 autrijus SamB: eh sure. I was talking about ancient history
16:26 SamB well yeah, they had plans like that for a long time I guess ;-)
16:26 autrijus dakkar: S12 has long names. however there's no concrete syntax for multisub longnames
16:26 autrijus the closest we get is role longnames
16:26 autrijus in which case it will look like &infix:<+>[Num,Num]
16:27 stevan autrijus: have you looked at nothingmuch's first-class-signature ideas?
16:27 autrijus dakkar: but it's unspecced. if you'd like them, pick a syntax you think that fits your brain, write t/unspecced/ test for it, and post it to p6l for acknowledgement
16:27 autrijus stevan: yeah, a bit
16:27 stevan would that help in this case?
16:27 eric256 since we have named paramteres for subs does that mean multi sub test (Str $test) and multi sub test (Str $testing) are different?
16:28 stevan being able to define a sig outside of a function
16:28 stevan then match it
16:28 dakkar eric256: I surely hope not! ;-)
16:28 stevan let the normal MMD find it for you
16:28 autrijus eric256: not according to the spec -- param names are ignored
16:28 eric256 okay. just wanted to make sure, because that could be both very usfull and very scary. lol
16:28 stevan so then longnames really would be (short_name + sig)
16:29 autrijus eric256: I can't think of its utility
16:29 stevan or even (pacakge-name + short-name + sig)
16:29 autrijus so it's only very scary to me
16:29 autrijus stevan: sure, qualified names goes w/o saying
16:29 eric256 mult sub test (Str $test) with Sig( eric.0.1 ) {};  my $test = &test[eric.0.1]; lol
16:29 autrijus if there's a long name, you can still prefix it with package qualifier
16:29 stevan yes
16:29 autrijus so no problem there
16:30 stevan I just wonder if something like: my $sig = [ Num, Num ]; would be useful
16:30 autrijus I think it's spelt
16:30 autrijus my $sig = :(Num, Num)
16:30 stevan ok
16:30 autrijus according to larry
16:30 stevan but is that a language level or meta-level thing?
16:30 autrijus it's language level
16:30 stevan ah
16:30 stevan so it's already there then,.. :)
16:31 autrijus I think signatures -- or types, depending on how you think of them -- are first class
16:31 autrijus it's again unspecced ;)
16:31 stevan :D
16:31 stevan oh well
16:32 stevan autrijus: I have managed to emulate the Smalltalk meta-class model in perl 5
16:32 * eric256 wonders if signature definitions should play nice with module/pacakges/classes.... seems like the two are related...think use Net::IRC--perl5  where perl5 would be considered part of the signature.
16:32 autrijus no, it means we get to write more t/unspecced/ tests
16:32 autrijus stevan: ooooh. CPAN it!
16:32 stevan following exactly how S80 works
16:32 stevan its not *that* ready yet
16:32 autrijus but don't call it Meta::*
16:32 stevan I wont :)
16:32 autrijus you can put 0.00_01 to $VERSION
16:33 autrijus eric256: "perl5" is actually the author part
16:33 stevan I am going to now use it as a base for building the perl6 on top of it
16:33 autrijus (see S11)
16:33 eric256 my point was that it is a signature in that it helps you choose which of many modules with the same name to use, just like a function signature helps choose one of many functions
16:33 autrijus eric256: sure. again see S11 :)
16:34 geoffb How are procedural modules from Perl5 that export all of their functions to the callers namespace represented when you do 'use Foo--perl5'?
16:34 autrijus geoffb: export is currently not handled
16:34 Khisanth S80? didn't know that camel had that many chapters
16:34 geoffb In this particular case, I'm asking about 'use SDL::OpenGL--perl5', which pollutes heavily . . . er, because that's the OpenGL Way.  :-)
16:34 geoffb geoffb, AH!
16:34 autrijus geoffb: it's merely adding "our &foo := Module::Name.can('blah')" calls
16:34 geoffb er, that was for autrijus
16:34 autrijus geoffb: see cpan-upload.p6
16:35 geoffb autrijus, OK, will try that.  In between chasing daughter around the house.  :-)
16:35 autrijus geoffb: it should be straightforward to add that to Parser.hs's call of require_perl5
16:35 autrijus geoffb: if you can, write a t/unspecced/p5/export.t to exercise known imports from core modules
16:35 autrijus that will help a lot.
16:36 autrijus i.e.
16:36 autrijus use File::Basename--perl5;
16:36 autrijus use File::Basename--perl5 ();
16:36 autrijus use File::Basename--perl5 'basename';
16:36 autrijus etc.
16:36 autrijus as well as explicit Package.import() calls.
16:36 autrijus I'll bbiab. :) &
16:36 geoffb autrijus, OK, will do -- it will be a while today because schedule suddenly packed with life.
16:38 autrijus that's fine. thanks! &
16:38 * geoffb afk to feed offspring
16:38 stevan Object->class->methods->{is_object} = sub { "yes" }; # work :)
16:38 stevan that should make merlyn happy :P
16:39 lhooq has quit IRC ("Schneeschlag")
16:43 dakkar from the release notes for 6.2.6: “Multi-invocant calls like foo($x, $y: $z) are no longer legal” refers only to sub and method calls? not to multi?
16:43 dakkar i.e. can I still have MMD discriminating on more than 1 argument?
16:47 dakkar and how come I can have “sub infix:<->(Array $a,Num $b)” and “sub infix:<->(Num $a,Num $b)” in the same scope, and have MMD semantic (they're sub, not multisub)? bug?
16:59 wolverian definitely a bug
17:00 SamB hmm, the artistic license doesn't seem to consider the possibility that someone might want to steal just snippets of code...
17:03 osfameron has quit IRC ("Leaving")
17:08 Corion has joined #perl6
17:09 Corion ... do we care about somebody "stealing" our code? Since when?
17:09 * stevan quickly snatches up all of Corion's code
17:10 stevan muhahaha, ... you can't have it now :P
17:10 Corion geoffb: BTW, if you're implementing something OpenGL-ish, consider looking at OpenGL::Simple, which does away with the ugly *3 and *4 variants and does the dispatch using the length of the parameter list. Much more perlish ;)
17:10 Corion stevan: :)
17:11 Corion stevan: So you're taking care of it now? Yay! I have some bug reports and feature requests for you!!
17:12 * stevan drops his sack of stolen code and runs away
17:13 Corion ... all the people do that when I show them my code :(
17:13 stevan :D
17:13 dakkar how do I trap a warning in a test?
17:13 Corion dakkar: warns_ok ?
17:14 Corion We should have something in Test.pm that checks that no warnings get raised ... (except that I gotta run now)
17:14 Corion has quit IRC ("Chatzilla 0.9.68a [Firefox 1.0.4/20050511]")
17:15 stevan dakkar: I am not even sure warnings can be captured yet (at least not like they are in Perl5)
17:16 dakkar so I can't write the test for the misbehaving multisub semantic...
17:19 dakkar I stand corrected: I can write most of it
17:23 nnunley has quit IRC ("This computer has gone to sleep")
17:25 eric256 what does this mean? [09:37] stevan: Object->class->methods->{is_object} = sub { "yes" }; # work :)
17:25 Limbic_Region eric256 - I haven't had a chance to digest your OO solution (marathon meeting) but thank you
17:26 Limbic_Region btw - did my explanation help?
17:27 pasteling "dakkar" at 81.174.26.51 pasted "proposed test for sub redefinition" (15 lines, 313B) at http://sial.org/pbot/10684
17:28 dakkar can someone check that it makes sense?
17:28 dakkar according to S12, both tests should pass (if I interpret correctly)
17:29 eric256 Limbic_Region: yes the explanation helped alot, i couldn't manage to wrap my head around some of your code but with the explanation it makes lots of sense.
17:29 Limbic_Region it is soooo simple I have no idea why I didn't think of it previously
17:30 Limbic_Region in any case - I am off for food now - marathon meeting is over but my tummy is growling
17:30 eric256 what is soo simple?
17:30 Limbic_Region how to do it
17:31 Limbic_Region arbitrarily nested loops that is
17:31 justatheory has quit IRC ()
17:31 CapoeiraB has quit IRC ("rebuild")
17:31 Limbic_Region anyway - food &
17:31 stevan eric256: the Object->class->... thing
17:32 stevan in my exploration of the meta-model
17:32 stevan I have decided to use the Smalltalk 80 model for a basis of the perl6 one
17:32 stevan (at least to prototype it that is)
17:33 saorge has joined #perl6
17:33 stevan I am thinking about CPANing it as Acme::Smalltalk::MetaModel or something
17:34 broquaint has quit IRC ("brain teh splode")
17:38 dakkar I'm going to write my thoughts on (multi)sub to p6l
17:42 lampus_ is now known as lampus
17:48 * geoffb appears hazily for a moment because of the red in his window . . .
17:49 eric256 i was mostly confused stevan because pugs doen't use -> but .
17:49 stevan eric256: yes, i was doing this in Pugs, but it basically got too slow
17:49 stevan too much manual method dispatching :)
17:50 geoffb Corion, in case you read the backlog: SDL::OpenGL already does automatic dispatch of correct variant.  As a downside, it just uses float (almost) everywhere, but that's not killing me yet, since it doesn't apply to textures.
17:50 * geoffb fades out again . . . back later
17:53 nothingmuch do we have a makefile param to control how much memory GHC will get to compile pugs?
17:55 nothingmuch nevermind, must leave
17:55 mkirank has joined #perl6
17:57 vcv has joined #perl6
17:58 mkirank has quit IRC (Client Quit)
18:00 dakkar has quit IRC ("e via, verso nuove avventure")
18:00 Enveigler1 has quit IRC (Read error: 110 (Connection timed out))
18:07 mj has joined #perl6
18:23 integral hmm, what does it mean when svk says "Mirror source already removed." about your pugs mirror?
18:31 Enveigler1 has joined #perl6
18:31 vcv has quit IRC (Read error: 60 (Operation timed out))
18:34 SamB hmm, anyone know a lot about the artistic license?
18:36 theorbtwo SamB, it's quite readable.
18:36 SamB yes, yes. but it doesn't say anything about stealing snippits!
18:38 batdog has joined #perl6
18:38 SamB or at least, it doesn't seem to.
18:39 eric256 stealing snippets?  about you can or you can'ts
18:39 SamB I was hoping for "you can"...
18:40 simcop2387 has joined #perl6
18:40 eric256 haven't you ever heard "its easier to ask for forgivness than permission" ?
18:40 eric256 :)
18:40 SamB hmm
18:40 * eric256 tries to remember what he needs to write a test for
18:41 eric256 ?eval class f { method test { "hi"}}; my $f = f.new; f.test; f.blah;
18:41 evalbot6 Error: No compatible subroutine found: "&blah"
18:41 eric256 fixed over night? guess that wouldn't be a first
18:41 SamB what is this "night" you speak of?
18:41 eric256 ?eval class f { method test { $.testing = "hi"}}; my $f = f.new; f.test;
18:41 evalbot6 \'hi'
18:42 zeromode has quit IRC (Read error: 60 (Operation timed out))
18:43 SamB so, you think I should steal it and hope nobody notices, or steal it and put in an attribution?
18:44 eric256 that was the bug.
18:45 eric256 always put in an attribution and unless you are planning on getting rich on the code you probably don't need to worry as long as you make some effort to contact the approriate person
18:45 eric256 but them i'm no lawyer
18:46 SamB I don't actually think I want to steal this whole, anyway ;-). too tangled with everything else.
18:47 eric256 lol. just look at it for a long time then recreate your own version. i'm not sure how in the world code copyrights work anyway.  or music ones for that matter, there are only so many combinations before you have something someone else probably did already
18:48 SamB oh, you are allowed to write the same thing. you just aren't supposed to copy it!
18:48 SamB without permission, that is
18:50 * SamB makes a directory just for papers by simonpj
18:51 ramzi has joined #perl6
18:52 meppl has joined #perl6
18:52 ihb has joined #perl6
18:58 eric256 how can When tell if something is a substitution? shouldn't that be .does(Rule) ??
19:19 justatheory has joined #perl6
19:19 vcv-- has quit IRC (Read error: 54 (Connection reset by peer))
19:24 SM_ax has joined #perl6
19:29 stevan autrijus: I uploaded the smalltalk meta-model stuff to feather
19:29 stevan http://feather.perl6.nl/~st​evan/smalltalk_in_perl5.pl
19:29 stevan it's hacky in places, but so far so good
19:29 nnunley has joined #perl6
19:29 integral steven++
19:30 stevan :)
19:30 stevan the dispatcher is the ugliest part right now
19:31 integral this is for one of the later smalltalks?   not smalltalk-72 (the only one I know :-/)?
19:31 stevan smalltalk 80 :)
19:31 theorbtwo It's possible to infringe a patent without knowing the original exists.  That isn't true of copyrights; if two people happen to write the same thing, then they are both equally original.
19:31 stevan Merlyn already read us the riot act for using smalltalk 72 ideas
19:35 jhorwitz has quit IRC ("Chatzilla 0.9.67 [Firefox 1.0.4/20050511]")
19:49 theorbtw1 has joined #perl6
19:49 theorbtw1 has quit IRC (Client Quit)
19:51 Limbic_Region geoffb ping
19:55 justatheory has quit IRC ()
20:05 SamB has quit IRC (Read error: 104 (Connection reset by peer))
20:07 stevan has quit IRC ("Leaving")
20:21 theorbtwo How long is the hw2005 tutorial supposed to be?
20:21 nnunley has quit IRC ("This computer has gone to sleep")
20:30 CapoeiraB has joined #perl6
20:31 Limbic_Region has quit IRC ("weekend")
20:39 simcop2387-vnc has joined #perl6
20:48 svnbot6 r4353, iblech++ | * Usual svn properties added to ext/, t/, and src/.
20:48 svnbot6 r4353, iblech++ | * Fixed t/var/state.t.
20:48 svnbot6 r4354, iblech++ | svnbot.p6:
20:48 svnbot6 r4354, iblech++ | * Unbreak svnbot.p6.
20:48 svnbot6 r4354, iblech++ | * Slightly more P6ification.
20:48 svnbot6 r4354, iblech++ | * Consistent 4-spaces indentation.
20:48 svnbot6 r4355, iblech++ | * Makefile.PL -- Make `make smoke` not run `make test`.
20:48 svnbot6 r4355, iblech++ | * docs/mmd.kwid -- Usual svn props.
20:58 vcv has joined #perl6
20:59 nnunley has joined #perl6
21:00 alinbsp has left
21:01 SamB has joined #perl6
21:03 Enveigler has joined #perl6
21:06 sri_ http://www.perl.com/pub/a/2005/06/02/catalyst.html # in case you don't know what Catalyst is ;)
21:06 svnbot6 r4356, iblech++ | svnbot.p6 -- Forgot to indent a passage.
21:06 Enveigler1 has quit IRC (Read error: 110 (Connection timed out))
21:08 Aankhen`` How come failed tests are only showing what was got, and not what was expected?
21:10 mj has quit IRC ("Miranda IM! Smaller, Faster, Easier. http://miranda-im.org")
21:12 iblech has joined #perl6
21:12 svnbot6 r4357, iblech++ | mklivecd.pl -- Adjust the initrd size again, as Pugs continues to grow :)
21:12 iblech (back :))
21:12 iblech Aankhen``: Thanks for reporting, fixed and committing :)
21:13 Aankhen`` iblech++ # thanks for the quick fix!
21:14 svnbot6 r4358, iblech++ | ext/Test/lib/Test.pm -- Make is() etc. show the expected result again. Thanks
21:14 svnbot6 r4358, iblech++ | for Aankhen``++ for reporting :)
21:15 Aankhen`` Hrm.
21:15 Aankhen`` Is the eval() lexical context thingie bug going to be fixed any time soon?
21:16 iblech Don't think so, as that's simply the way eval() behaves -- eval() executes the code in the lexical pad of the sub which calls eval(). eval_is()'s lexical pad != your lexical pad ==> problem
21:17 Aankhen`` Darn.
21:17 iblech But both is eval(...), ... and is try {...}, ... work
21:17 wolverian iblech: hmm, perl6's eval() doesn't create a subscope?
21:17 Aankhen`` Is it ever going to be fixed?  Or is it a misinterpreted feature?
21:17 iblech And, IIRC, there was some discussion about eval() taking a :pad parameter
21:18 iblech wolverian: Sure it does, but the subscope's parent is the scope of the calling sub (or block, or whatever), not the one of the main test file
21:19 iblech Aankhen``: When/If the :pad parameter is accepted by @Larry, you (=Test.pm) could use something like (I think): eval $code, pad => %CALLER::
21:19 Aankhen`` Yey!
21:19 iblech ?eval eval 'my $a = 42'; $a
21:19 evalbot6 Error: Undeclared variable: "$a"
21:20 iblech ?eval my $a = 42; eval '$a = 23'; $a
21:20 evalbot6 \23
21:20 theorbtwo (But only after we implement %CALLER:: (as a whole shebang).
21:20 Aankhen`` Heh.
21:20 vcv what would happen if i did ?eval for 1..Inf { }
21:21 Aankhen`` Timeout?
21:21 theorbtwo ?eval my $x=42; sub foo {$x=23; say %OUTER::}; foo
21:21 iblech ?eval for 1..Inf {}
21:21 evalbot6 Error:  unexpected "O" expecting term
21:21 evalbot6 Error:  unexpected "f" expecting program reserved word
21:21 iblech %OUTER:: is not yet implemented, IIRC
21:21 vcv for 1..Inf { print }
21:21 vcv uh oh
21:21 vcv forgot eval
21:21 vcv ?eval for 1..Inf { print }
21:21 evalbot6 Error:  unexpected "f" expecting program reserved word
21:22 vcv ?eval my $x = Inf; for 1..$x { print }
21:22 iblech ?eval for(1..Inf) { print }
21:22 evalbot6 pugs: out of memory (requested 1048576 bytes)
21:22 evalbot6 pugs: out of memory (requested 1048576 bytes)
21:22 vcv nice
21:23 iblech evalbot has got a memory limit and a cpu time limit, see examples/network/evalbot/evalhelper.p5 for details :)
21:23 * theorbtwo wonders.
21:23 vcv very cool
21:23 theorbtwo ?eval sleep 2*60;
21:23 evalbot6 Error: No compatible subroutine found: "&sleep"
21:23 Aankhen`` ?eval my $x = 42; sub foo { $x = 23; say %OUTER::; }; foo();
21:23 evalbot6 Error:  unexpected "O" expecting term
21:23 theorbtwo Oh.
21:23 Aankhen`` Bah.
21:23 theorbtwo %foo:: is not parsed.
21:23 theorbtwo (See Pugs.Parser.varName, or something like that.)
21:24 Aankhen`` iblech >> How come isa_ok() doesn't work correctly?
21:24 vcv i wonder if there would be a way to limit a block of code
21:24 Aankhen`` ?eval use Test; my Str $foo; isa_ok($foo, 'Str', '$foo isa Str');
21:24 evalbot6 pugs: *** No compatible subroutine found: "&use"     at -e line 4, column 5-100
21:24 iblech Aankhen``: Give me an example?
21:24 Aankhen`` Bah.
21:24 Aankhen`` pugs> use Test; my Str $foo; isa_ok($foo, 'Str', '$foo is a Str');
21:24 Aankhen`` not ok 1 - $foo is a Str
21:24 Aankhen`` #   Failed test (<interactive> line 1, column 24-60)
21:24 Aankhen`` #        Got: Scalar
21:24 Aankhen`` 1
21:25 vcv limit :cpu(5000) { ... }
21:25 vcv er.. :time maybe
21:25 Aankhen`` pugs> my Str $foo; $foo.isa('Str');
21:25 Aankhen`` bool::true
21:26 iblech Aankhen``: Ah, that's because the Str type declaration doesn't do anything yet -- $foo stays a Scalar until you assign a string to it
21:26 Aankhen`` See the second paste.
21:27 iblech pugs> my Str $foo; $foo.isa('Str');
21:27 iblech bool::false
21:27 iblech Hm
21:27 Aankhen`` Hmm.
21:27 Aankhen`` I guess maybe I have a slightly outdated build or something.
21:27 vcv pugs> my Str $foo; $foo.isa(<Str>);
21:27 vcv undef
21:27 vcv oh wait.. svn update
21:28 iblech ?eval my Str $foo; $foo.isa('Str');
21:28 Aankhen`` Jeez.
21:28 evalbot6 bool::false
21:28 Aankhen`` I haven't compiled for quite some time.
21:28 Aankhen`` Or actually, I haven't tested and installed.
21:28 Aankhen`` I did compile earlier today.
21:28 Aankhen`` My Pugs is at r4321.
21:28 Aankhen`` Hmm, nevermind my babbling.
21:29 Aankhen`` I read the latest version number as r45XX.
21:29 Aankhen`` And that is why I need to sleep.
21:29 Aankhen`` G'night, see y'all in the morning. :-)
21:29 Aankhen`` has quit IRC ("Error: Excessive Boredom [Time wasted online: 9hrs 29mins 27secs]")
21:29 vcv nm i need to set up a task to run svn update;nmake;nmake;nmake install every night
21:29 iblech Night :)
21:30 iblech There's util/smoke_loop.sh. It does not install though, IIRC
21:31 vcv too bad i dont use cygwin ;)
21:35 iblech Gonna sleep, too, cu tomorrow :)
21:35 iblech has quit IRC ("sleep &")
21:38 eric256 ?eval $PUGS_VERSION
21:38 evalbot6 Error: Undeclared variable: "$PUGS_VERSION"
21:38 * eric256 obviosly got that wron
21:38 eric256 g
21:39 wolverian ?eval my Str $foo; $foo.does(Str)
21:39 evalbot6 bool::false
21:39 wolverian ?eval my Str $foo = "bar"; $foo.does(Str)
21:39 evalbot6 bool::true
21:39 wolverian that is probably the right semantics.
21:40 wolverian or not? is that specced? :)
21:41 integral well calling Str functioning on $foo when it's undef probably won't work ...
21:44 cjeris has left
21:46 nothingmuch beh
21:47 * nothingmuch just implemented TAP in 8086 assembler for his student
21:47 nothingmuch that way she can retain her sanity, by going into the debugger when a problem is discovered
21:47 nothingmuch not when a problem is suspected
21:47 nnunley has quit IRC ("This computer has gone to sleep")
21:53 SM_ax has quit IRC ("Chatzilla 0.9.68.5 [Firefox 1.0.4/20050511]")
21:55 nothingmuch seen autrijus?
21:55 jabbot nothingmuch: autrijus was seen 5 hours 17 minutes 56 seconds ago
22:01 Limbic_Region has joined #perl6
22:14 Enveigler has left
22:21 theorbtwo TAP++ # generality.
22:21 batdog is now known as batdog|gone
22:23 stevan has joined #perl6
22:26 theorbtwo eric256: ?eval $*PUGS_VERSION
22:26 theorbtwo ?eval $*PUGS_VERSION
22:26 evalbot6 Error: Undeclared variable: "$*PUGS_VERSION"
22:26 theorbtwo ?eval $*PUGS_REVISION
22:26 evalbot6 Error: Undeclared variable: "$*PUGS_REVISION"
22:26 theorbtwo Or not.
22:32 eric256 lol
22:32 eric256 TAP?
22:34 stevan has quit IRC (Read error: 145 (Connection timed out))
22:35 theorbtwo The Test Anything Protocol -- what tests should output to the test harness.
22:35 eric256 ahh
22:40 nothingmuch HOLY CRAP!
22:40 nothingmuch forth evaluator
22:40 nothingmuch 35 lines, including white space
22:40 nothingmuch knows to push literals
22:40 nothingmuch and has the "." word
22:41 * nothingmuch seems to be getting somewhere
22:41 cdpruden has joined #perl6
22:41 nothingmuch someone say "wow" please
22:46 theorbtwo "wow".
22:46 theorbtwo Now, what happened.
22:46 theorbtwo Cool.
22:46 theorbtwo What's the "." word?
22:47 nothingmuch the "." word prints the stack head to STDOUT
22:47 nothingmuch hold on, i'll slap together a shell, and document chapter 4
22:47 Limbic_Region how do I add a directory in svk/svn - same way I would a file ?
22:47 nothingmuch actually not a shell, an STDIN thing
22:48 nothingmuch Limbic_Region: yep
22:48 nothingmuch but be careful - the default is recursive add
22:48 nothingmuch (for svn at least)
22:48 Limbic_Region that's what I want
22:48 nothingmuch it tends to be messy
22:48 nothingmuch putting in ignorable files
22:48 nothingmuch wait, it probably doesn't
22:48 nothingmuch i tend to be messy, ignoring the ignorable files settings
22:49 revdiablo you don't have to commit once you add, either. so if you see it found some files you don't want to add, you can revert...
22:49 revdiablo please rearrange that as appropriate so it makes sense. :)
22:49 nothingmuch *Harrorth.Eval> dumpInterp [ Push 1, Push 2, Invoke ".", Invoke "." ]
22:49 nothingmuch 2
22:50 nothingmuch 1
22:50 nothingmuch Interp {stack = []}
22:50 nothingmuch dumpInterp takes an AST, constructs an interpreter, and pushes the AST into the interpreter
22:52 theorbtwo Nifty-nifty-nifty!
22:59 iblechbot has quit IRC (Read error: 60 (Operation timed out))
23:03 stevan has joined #perl6
23:04 nothingmuch wooo! parser glued onto evaluator
23:04 nothingmuch % ghci -isrc src/Harrorth/Shell.hs
23:04 nothingmuch *Harrorth.Shell> main
23:04 nothingmuch 4 5 . .
23:04 nothingmuch 5
23:04 nothingmuch 4
23:04 nothingmuch Interp {stack = []}
23:05 theorbtwo YEY!
23:05 nothingmuch *Harrorth.Shell> main
23:05 nothingmuch 1
23:05 nothingmuch Interp {stack = [1]}
23:05 theorbtwo Is . hardcoded, or do you look it up in a hash of some sort?
23:05 theorbtwo Er, a Data.Map, I suppose that'd be.
23:05 nothingmuch theorbtwo: right now it's hard coded
23:05 theorbtwo Nod.
23:05 nothingmuch doExp i (Invoke ".") = do
23:05 nothingmuch    let (stackHead, i') = popStack i
23:05 nothingmuch    putStrLn $ show stackHead
23:05 nothingmuch    return i'
23:06 nothingmuch eek, putStrLn $ show stackhead should be print
23:06 nothingmuch print has such a pretty signature
23:06 nothingmuch print :: (Show a) => a -> IO ()
23:07 theorbtwo Donno.
23:07 theorbtwo The () type seems hackish to me.
23:07 theorbtwo (Why the special name?)
23:07 * nothingmuch makes idiot noises
23:07 nothingmuch this is so much fun!
23:08 nothingmuch i actually like ()
23:08 theorbtwo Yey!
23:08 nothingmuch but i was appreciating (Show a) => a
23:08 nothingmuch i ought to document my progress while I'm still enthusiastic
23:08 theorbtwo Yeah.
23:08 theorbtwo There's a lot of pugs things that use that -- mostly on Value.
23:09 nothingmuch hmm
23:10 mrborisguy has joined #perl6
23:10 Limbic_Region ethics question - is there an issue with me including examples from PerlMonks ?
23:10 Limbic_Region obviously I can add my own
23:10 nothingmuch including examples from perlmonks where?
23:11 Limbic_Region http://perlmonks.org/?node_id=462987
23:11 Limbic_Region myself, iblech, eric256, and geoffb all already commit
23:11 Limbic_Region blokhead will soon
23:11 mrborisguy doesn't about everybody that commented on that come here?
23:11 Limbic_Region but should I first ask permission?
23:11 Limbic_Region yes mrborisguy
23:12 Limbic_Region I was just about to add it when I thought maybe I should get a sanity check
23:13 mrborisguy i guess you probably SHOULD check, but almost everybody here will tell you to go for it
23:13 mrborisguy (i would bet)
23:13 geoffb Limbic_Region, just here for a minute in between tasks . . .
23:13 geoffb you pinged earlier?
23:13 Limbic_Region I also /msg'd
23:14 geoffb ah, yep, got it, cool.
23:14 Limbic_Region geoffb - do you have an issue with me adding your coroutine example?
23:14 geoffb not at all . . . which version are you using?
23:14 Limbic_Region http://perlmonks.org/?node_id=463076
23:15 stevan has quit IRC (Read error: 145 (Connection timed out))
23:15 geoffb cool.
23:15 Limbic_Region ok - I am just going to /msg the remaining authors
23:16 geoffb And as a general rule, unless I do something for $work, I release stuff under the Perl dual license.  All I generally ask for someone combining my code into something is notice that it happened, so I can link to it from my website or somesuch.
23:17 Limbic_Region well sure - I think that is generally people's policy
23:17 Limbic_Region but.....
23:18 nothingmuch Limbic_Region: btw, is the tutorial getting any better?
23:18 nothingmuch i filled in a lot of holes
23:18 Limbic_Region nothingmuch - sorry - haven't had a chance today
23:18 mrborisguy i never know what's actually a bug, and what people just haven't implimented yet
23:19 Limbic_Region will look at it just as soon as I am finished figuring out how to add this new directory
23:19 geoffb Anybody need anything else from me, before I disappear again?
23:19 nothingmuch Limbic_Region: okay... svn add directory
23:19 mrborisguy eg: while( my $result = &code() ) { ... there's an error for my... bug or unimplimented?
23:19 nothingmuch =)
23:19 mrborisguy (or just completely wrong)
23:20 geoffb OK, assuming no . . . tt
23:20 * geoffb dissolves into the aether again
23:20 nothingmuch mrborisguy: i doubt that's parsed
23:20 nothingmuch but write a test anyway
23:20 Limbic_Region mrborisguy - unimplemented
23:20 * Limbic_Region has mentioned it a couple of times but keeps forgetting to write a test
23:20 mrborisguy you write an 'eval' like test then?
23:20 nothingmuch mrborisguy: exactly
23:21 Limbic_Region ok - if I did everything correctly - there should be a new examples/nested_loops directory
23:21 mrborisguy (i'm kinda new to writing tests... my last boss never had me do it... i doubt he really knew)
23:21 Limbic_Region with 5 examples of how to do arbitrarily nested loops in p6
23:21 Limbic_Region 4 of which work in the current pugs
23:21 nothingmuch tests make you feel good =)
23:21 mrborisguy i've written a few... i do like them
23:21 eric256 did mine make the cute? ;)
23:21 nothingmuch when I studies assembler in school 3 years ago i knew nothing of testing, and I couldn't compile 8086 because i was on ppc
23:21 eric256 lol. cut*
23:21 Limbic_Region eric256 - yes and no
23:21 Limbic_Region it works
23:21 mrborisguy they make me feel... like i've brought more order to the world
23:22 Limbic_Region but it produces odd output
23:22 Limbic_Region I left it alone though
23:22 nothingmuch i was sooo annoyed
23:22 eric256 odd output?
23:22 nothingmuch today i wrote automated tests for my student, also in assembler, before we even started the excercise
23:22 nothingmuch and then she just went through it
23:22 Limbic_Region eric256 - output times 2
23:22 Limbic_Region once with HERE prefacing
23:22 Limbic_Region and once without
23:23 nothingmuch she went into the debugger 3 times, and that's it. The whole excercise was done.
23:23 eric256 yea. two examples, one using it as an interator,  one giving it a code block
23:23 Limbic_Region nothingmuch - link?
23:23 eric256 probably wasn't as clear as it could have been. ;)
23:23 nothingmuch i'm just starting to write an important chapter
23:23 nothingmuch backlog 10 minutes
23:23 nothingmuch Limbic_Region: to the harroth stuff? http://feather.perl6.nl/~nothingmuch/harrorth
23:24 Limbic_Region yep
23:24 nothingmuch but it doesn't really matter, because the begining is also important
23:24 Limbic_Region ok - well then I will wait
23:24 nothingmuch actually don't wait, i'm a slow writer, i doubt i will finish it by the time i need to sleep
23:24 Limbic_Region well there are a couple of more tests I should be writing
23:25 ninereasons has quit IRC ("'bye'")
23:25 Limbic_Region trying to figure out where to put "is required"
23:25 svnbot6 r4359, Limbic_Region++ | Examples of arbitrarily nested loops iblech++ blokhead++ geoffb++ eric256++
23:30 Limbic_Region ok - I know there was another test or 2 I was supposed to write
23:30 svnbot6 r4360, Limbic_Region++ | Added is required tests to named parameters
23:30 Limbic_Region I am also supposed to be going through the Ss and find stuff missing
23:31 * Limbic_Region wanders off to read nothingmuch's tutorial
23:31 nothingmuch Limbic_Region: do you know a bit of haskell?
23:32 Limbic_Region nope
23:32 Limbic_Region Once you can read a function like .... you should be ok to continue
23:32 nothingmuch yep.... =/
23:32 Limbic_Region so I guess I need to go read a Haskell tutorial
23:32 Limbic_Region which isn't gonna happen ATM
23:32 nothingmuch the tutorial is mostly based on my frustrations trying to learn
23:32 nothingmuch but not finding a real use
23:32 nothingmuch don't be scared of it though ;-)
23:32 nothingmuch it
23:33 nothingmuch it's 5 minutes of YAHT
23:33 Limbic_Region nothingmuch - it scared me and I ain't fraid of nuthin
23:33 nothingmuch i do explain the basics, just not in the order that "normal" tutorials are
23:34 nothingmuch Limbic_Region++
23:34 Limbic_Region and well - I can figure out what is going on by looking at some Haskell - it is like reading pseudo code to me
23:34 Limbic_Region I can understand it well enough to figure out what is going on
23:34 Limbic_Region but I wouldn't feel comfortable trying to debug it
23:34 nothingmuch okay, so that's good enough
23:34 nothingmuch basically what I'm avoiding in that paragraph is explaining that:
23:34 nothingmuch haskell is lazy
23:34 nothingmuch what haksell looks like
23:35 nothingmuch what is functional programming,
23:35 Limbic_Region ok - well I need to wander off for a bit
23:35 Limbic_Region will bbiab
23:35 Limbic_Region &
23:35 nothingmuch ciao!
23:49 Camenix has joined #perl6
23:49 mrborisguy has quit IRC (Read error: 131 (Connection reset by peer))
23:51 elmex has quit IRC ("leaving")
23:54 eric256 i can't seem to figure out substitutions with s/// in pugs... or do you have to use subst now?

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

Perl 6 | Reference Documentation | Rakudo | Niecza | Specs