Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2005-12-31

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:09 joao has joined #perl6
00:11 r0nny has quit IRC (Client Quit)
00:13 r0nny has joined #perl6
00:16 svnbot6 r8511 | stevan++ | PIL/Native/Bootstrap.pil
00:16 svnbot6 r8511 | stevan++ | - added ::Package.FETCH and ::Package.STORE to handle basic
00:16 svnbot6 r8511 | stevan++ |   package variable/subroutine accessing
00:16 svnbot6 has quit IRC (Excess Flood)
00:17 aufrank_ has quit IRC ()
00:20 joao has quit IRC ("gtg")
00:24 anatolyv quit
00:24 anatolyv has quit IRC ("leaving")
00:39 frederico has joined #perl6
00:40 petdance has joined #perl6
00:41 dduncan question ...
00:41 dduncan regarding that there is a Haskell native subset of PGE functionality
00:42 dduncan can we start using that by default, or do we need to especially compile it with a make flag?
00:43 dduncan I guess not ... attempts to say $foo ~~ m/pattern/ give an error about can't find parrot
00:44 dduncan with default 'make'
00:45 larsen has quit IRC ("later")
00:51 avar $ pugs -e 'if "xfoon" ~~ /foo/ { say "works" }'
00:51 avar *** Cannot parse PGE: foo
00:51 avar *** Error: does not exist
00:51 avar rx:perl5 works though..
00:53 justatheory has quit IRC ()
00:58 G2 has quit IRC (Remote closed the connection)
00:59 joepurl has joined #perl6
01:08 r0nny has quit IRC (Client Quit)
01:08 r0nny has joined #perl6
01:20 Alias_ Anyone got a url for where the schemes for C<use> are documented?
01:21 bb3 has joined #perl6
01:26 frederico has quit IRC ("...")
01:42 b00t has joined #perl6
01:43 xah has quit IRC ()
01:48 bb3 has quit IRC ("Leaving")
01:56 nnunley has quit IRC (Read error: 110 (Connection timed out))
02:09 justatheory has joined #perl6
02:16 r0nny has quit IRC (Read error: 110 (Connection timed out))
02:21 xern has joined #perl6
02:22 petdance has quit IRC ("Leaving")
02:27 justatheory has quit IRC ()
02:42 kanru has quit IRC ("Leaving")
03:01 stevan__ has joined #perl6
03:09 asavige has left "Leaving"
03:18 audreyt_ has joined #perl6
03:18 broquain1 has joined #perl6
03:18 rafl_ has joined #perl6
03:18 webmind_ has joined #perl6
03:18 leo_ has joined #perl6
03:18 wolv has joined #perl6
03:18 webmind has quit IRC (Read error: 104 (Connection reset by peer))
03:18 chip___ has joined #perl6
03:18 audreyt has quit IRC (Read error: 113 (No route to host))
03:18 rafl has quit IRC (Read error: 104 (Connection reset by peer))
03:19 PerlJam has quit IRC (Read error: 113 (No route to host))
03:19 broquaint has quit IRC (Read error: 113 (No route to host))
03:20 chip has quit IRC (Read error: 113 (No route to host))
03:20 leo has quit IRC (Read error: 113 (No route to host))
03:20 stevan_ has quit IRC (Read error: 113 (No route to host))
03:22 xern has quit IRC ("Lost terminal")
03:23 PerlJam has joined #perl6
03:29 wolverian has quit IRC (Read error: 110 (Connection timed out))
03:29 wolv is now known as wolverian
03:38 justatheory has joined #perl6
03:54 petdance has joined #perl6
04:23 audreyt_ is now known as audreyt
04:26 justatheory has quit IRC ()
04:26 justatheory has joined #perl6
04:26 justatheory has quit IRC (Client Quit)
04:29 tewk audreyt: I made an attempt at a rules parser, it could be simplified I'm sure,  I'd like to see what changes you make, and I'll learn.
04:30 audreyt tewk: woot!
04:31 audreyt I just woke up... will take a look in ~5mins
04:31 audreyt hm, wait, did you commit it?
04:32 geoffb morning, audreyt
04:32 tewk 8512, seen svnbot6 ?
04:32 jabbot tewk: svnbot6 was seen 4 hours 15 minutes 46 seconds ago
04:33 geoffb .oO( Man, I love old CS books that have damn cool stuff in them that modern texts have completely forgotten )
04:33 azuroth like what?
04:34 geoffb The original Graphics Gems
04:34 svnbot6 has joined #perl6
04:34 audreyt tewk: got it
04:34 geoffb And the old edition of Programming Pearls
04:35 audreyt tewk: excellent, looks lovely. which means I need to finish support for <-[ ...]>
04:35 azuroth I read a pascal text that had the entire grammar in ebnf or something. I thought that was interesting
04:36 audreyt dduncan: I'll link Text.Parser.Rule to main Pugs code when it can pass a respectiable amount of tests
04:36 dduncan okay
04:37 audreyt but yes, I think in the future we'll use the native Rule implementation be default when running on the haskell runcore, and switch to PGE when compiled to parrot or requested by the user
04:37 audreyt not sure how "requested by" should look like though...suggestions welcome
04:40 tewk audreyt: is there a run harness for Text.Parser.Rule? (Something like ./pil)  I could work on tests for Text.Parser.Rule.  I was to the point where I needed a run harness for the miniLang Rule parser to test it also.
04:43 dduncan question
04:43 dduncan do I use postcircumfix:<"">
04:43 dduncan to provide a stringification method for a class?
04:43 dduncan or do I not need the 'post'?
04:43 dduncan or is it something else?
04:44 azuroth I think postcircumfix is like... class A { postcircumfix:<[]> ($index) { ... } }; $a[2]
04:45 audreyt tewk: yes, I think what needs to happen is either integrate rule support to ./pil, or to make another executable to harness
04:45 audreyt tewk: ...or write Inline::GHC
04:45 audreyt tewk: which would you prefer?
04:45 audreyt dduncan: I think stringification is coerce:as(Str)
04:45 dduncan so then, just circumfix:<""> should do what I need, then
04:45 dduncan even simpler
04:46 audreyt I'll support in the new runcore (which has correct coercion/promotion design)
04:47 dduncan basically, I'm looking to set things up so that, if someone is handed a Locale::KeyedText::Message etc object, whether from a return value or an exception, and they use it in a string (such as for debugging), then something useful will come out
04:47 dduncan in perl 5, overloading "" does the job
04:48 dduncan or with Class::Std in perl 5, adding the :STRINGIFY trait
04:48 audreyt right, but I think coerce: is the right way to go
04:48 dduncan okay
04:48 audreyt since it hapens other places as well
04:48 dduncan use of that will be checked in shortly
04:48 audreyt without an explicit circumfix ""
04:48 tewk audreyt: I'd say start simple how about a new cmdline arg for ./pil   -r?
04:48 Qiang has joined #perl6
04:49 audreyt tewk: .pil -g grammar
04:49 audreyt and then take the match str as STDIN?
04:50 audreyt ./pil -g grammar.file -r rulename
04:50 tewk YEah, I hate cmdline escaping
04:50 tewk -i input.file ?
04:50 GammaRay anyone know any status info on a perl6 debugger?
04:51 audreyt tewk: sure, that works
04:51 audreyt GammaRay: no, but if you have some idea of what it should look like, I'd appreciate a cleanup on docs/AES/A20draft.pod and turn it into docs/AES/S20draft.pod
04:51 audreyt bbiab
04:54 azuroth audreyt gave a talk in sydney? arrggh
04:56 Alias_ audreyt: ping?
05:09 stevan__ audreyt: when you have a moment if you could remove the object-space trace/dump from ./pil output, that would be very helpful, it is messing up the Test::PIL module :)
05:09 stevan__ I looked, but couldnt find where it was coming from,..
05:09 stevan__ and I must sleep now &
05:10 stevan__ tewk++ # rule + mini-language :)
05:15 tewk stevan__: give me a test to work with I think I can remove the object-space dump pretty easy -- src/PIL.hs
05:17 stevan__ tewk: any of the tests
05:17 stevan__ try running ./pil -e '"Hello world"'
05:17 stevan__ and you will see what I mean
05:18 stevan__ is now known as stevan
05:18 stevan tewk: I think I see it now...  in PIL.hs
05:19 * stevan recompiles
05:20 tewk yep eval::
05:20 stevan tewk: yup,.. ok
05:20 stevan it worked
05:21 stevan thanks :)
05:21 stevan I was looking in the wrong places all this time :)
05:23 * stevan commits,.. and goes to bed
05:23 stevan night all &
05:25 svnbot6 r8513 | stevan++ | PIL - removing the obj-space dump
05:40 svnbot6 r8514 | audreyt++ | * primitive support for matching on Text.Parser.Rule in pil shell:
05:40 svnbot6 r8514 | audreyt++ |     ./pil -r rule input
05:40 svnbot6 r8514 | audreyt++ | * support for grammar files is forthcoming.
05:41 audreyt Alias_: pong
05:41 Alias_ um.. um..
05:41 svnbot6 r8515 | audreyt++ | * $scalar.STORE should return the container itself,
05:41 svnbot6 r8515 | audreyt++ |   because this is legal perl6:
05:41 svnbot6 r8515 | audreyt++ |         (($x = 4) = 5)
05:41 Alias_ oh right, you were talking about IPC::Run
05:42 Alias_ When you were here...
05:42 Alias_ I had a look and it's hideous cryptic
05:42 audreyt yes it is
05:42 audreyt IPC::Run3 is better
05:42 audreyt but doesn't cover the same platforms as IPC::Run
05:42 Alias_ Do you know if anyone has wrapped a $object->stdout/stderr/exitcode object around it?
05:42 audreyt yes
05:42 audreyt that'd be kane's IPC::Cmd
05:42 Alias_ I need a shitload of platforms for this specific use
05:42 Alias_ PITA::Scheme
05:42 Alias_ Running inside the images
05:43 audreyt yeah, IPC::Cmd is it -- talk to kane-xs if you want more features
05:43 Alias_ ok
05:43 Alias_ will do
05:43 Alias_ Thanks, I could find anything in search.cpan
05:43 audreyt np :)
05:48 Qiang has quit IRC ("Leaving")
06:16 dduncan question,
06:16 dduncan is there a shorthand for calling private methods?
06:16 dduncan eg, with public ones, we say .foo()
06:16 dduncan with private, the corresponding would be !foo()
06:17 dduncan though that may confuse with !.foo()
06:17 Alias_ and .!foo
06:17 dduncan perhaps
06:17 Alias_ in fact, I think that might be it
06:18 dduncan so, the qualified form is $obj!foo() but unqualified is .!foo() ?
06:18 avar has quit IRC (Connection timed out)
06:18 Alias_ dunno
06:18 audreyt I think there's no unqualified form
06:18 audreyt have to say $_!foo
06:18 dduncan or $?SELF!foo
06:18 audreyt self!foo
06:19 audreyt "self" is an easier synonym for $?SELF
06:19 dduncan is it in the synopsis?
06:19 dduncan anyway ...
06:19 dduncan right now, perhaps my fault, ...
06:20 dduncan I'm having issues where an invocation fails to find a private function with arguments, though a test without one having args works
06:20 dduncan it may be mismatched signitures, but I have to test that
06:20 dduncan s/function/method/
06:21 petdance has quit IRC ("Leaving")
06:24 audreyt k
06:29 xern has joined #perl6
06:45 dduncan ?eval class T { method mypub () { say "called mypub"; $?SELF!myprv(); say "end of mypub"; } my method myprv () { say "called myprv"; } } my $t = T.new(); $t.mypub();
06:45 evalbot_8510 is now known as evalbot_8515
06:45 evalbot_8515 OUTPUT[called mypub end of mypub ] bool::true
06:45 dduncan the error seems different depending where I test
06:46 dduncan when testing the pugs command line, or the -e oneliner, or here, the call to the private method is a no-op
06:47 dduncan when calling such a sub with args from within my module, I get a "no such" error
06:47 dduncan for that matter, a script containing only the above is also silent
06:47 dduncan ...
06:49 dduncan ?eval class T { method mypub () { say "called mypub"; $?SELF!myprv(
06:49 dduncan 'fu'); say "end of mypub"; } my method myprv (Str $x) { say "called myprv with '$x'"; } } my $t = T.new(); $t.mypub();
06:49 evalbot_8515 Error:  unexpected "!" expecting word character, "::", term postfix, operator, postfix conditional, postfix loop, postfix iteration, ";" or "}"
06:49 dduncan ...
06:50 dduncan ?eval class T { method mypub () { say "called mypub"; $?SELF!myprv('fu'); say "end of mypub"; } my method myprv (Str $x) { say "called myprv with '$x'"; } } my $t = T.new(); $t.mypub();
06:50 evalbot_8515 OUTPUT[called mypub ] Error: No such method in class T: "&myprv"
06:50 audreyt hm
06:50 dduncan so, we get silence when there are zero args, and a "no such" error with one or more ags
06:51 audreyt I'll take a look.
06:51 Alias_ audreyt: IPC::Run is enough... barely...
06:51 Alias_ audreyt: It's still pretty ugly, but I'm not going to write yet another wrapper around THAT
06:55 audreyt k
06:57 svnbot6 r8516 | audreyt++ | * Dynamic rule support; allows the use of OpTable into a Rule
06:57 svnbot6 r8516 | audreyt++ |   (pretty much anything that can function as a parser will do,
06:57 svnbot6 r8516 | audreyt++ |   including user-code and Parsec).  For example, this works:
06:57 svnbot6 r8516 | audreyt++ |     ruleGrammar :: Grammar
06:57 svnbot6 r8516 | audreyt++ |     ruleGrammar = grammar
06:57 svnbot6 r8516 | audreyt++ |         [ "ruleDecl" ~:~ "rule \\s* \\{ <ruleBody> \\}"
06:57 svnbot6 r8516 | audreyt++ |         , "ruleBody" ~&~ ruleTable
06:57 svnbot6 r8516 | audreyt++ |         ]
06:58 tewk [23:51 tewk@flaka:~/srcs/pugs]$ ./pil -r '<[abcde]>+' 'ababababa'
06:58 tewk pil: TermSubrule (CaptureNam "[abcde]") "[abcde]"
06:59 audreyt tewk: charset support is not there yet -- moving to that now
06:59 audreyt also errmsg can use some work :)
06:59 audreyt s/charset/charenum/
07:00 tewk Ok, that make sense now.
07:08 dduncan commit pending any minute now ...
07:11 audreyt xern: ping
07:25 dduncan commit done
07:27 svnbot6 r8517 | Darren_Duncan++ |  r1704@Darren-Duncans-Computer:  darrenduncan | 2005-12-30 23:23:16 -0800
07:27 svnbot6 r8517 | Darren_Duncan++ |  /ext/Rosetta-Incubator : continued converting generic string exceptions to specific LKT ones; added 4 messages to LKT/L/en.pm, upgraded Translator class in LKT.pm, adding 5 private methods; updated both LKT.as_debug_string() so they handle string coersion of LKT objects, and made output easier to read; updated both example MyApp.p6 to use the coersion ... currently, this doesn't execute, mainly due to Pugs' non-handling of priv
07:30 lisppaste3 has quit IRC ("Want lisppaste3 in your channel? Email chandler AT unmutual.info.")
07:30 lisppaste3 has joined #perl6
07:47 audreyt bbiab...
07:56 GammaRay hmm how am I supposed to program w/ german quotes?
07:59 Alias_ audreyt: You've played with Archive::Extract right?
07:59 Alias_ (I only ask because kane is 5 days missing)
08:00 audreyt I had not
08:01 Alias_ darn
08:01 audreyt GammaRay: docs/quickref/unicode
08:01 Alias_ OK, I shall just file a bug
08:01 audreyt and I shall get something to eat and finish Array containers
08:01 audreyt :) &
08:26 GammaRay hmm «this» could be »worse«
08:45 tewk printMatch currently prints the MatchRule, I want it to print the MatchObj.matchString
08:45 GammaRay hmmm »this« is odd: http://cvs.perl.org/viewcvs/perl6/ gives 404
08:46 GammaRay changes topic to:
08:46 GammaRay aww crap
08:47 GammaRay changes topic to: The Return of the Journal : http://pugs.blogs.com/ | pugscode.org | pugs.kwiki.org | paste: http://paste.lisp.org/new/perl6 or http://sial.org/pbot/perl6
08:54 tewk audreyt: What am I doing wrong?
08:54 tewk printMatch r i = either (hPut stdout) printMatchResult (matchRule r i)
08:54 tewk printMatchResult :: MatchRule -> IO ()
08:54 tewk printMatchResult MatchObj{matchString} = print matchString
08:54 tewk printMatchResult mr = print mr
08:57 Alias_ Well, I think that's me done for the year
08:57 Alias_ The testing scheme drivers are half done (they can recieve the injected package and set it up)
08:57 Alias_ One more day tommorrow before back to commercial work for me... so I'll see if I can get to the point we can throw a pugs package at it
08:58 Alias_ Won't get TAP details for now, but should be a start
09:11 iblechbot has joined #perl6
09:11 joepurl has quit IRC (Read error: 110 (Connection timed out))
09:17 nnunley has joined #perl6
09:29 nothingmuch has joined #perl6
09:29 anatolyv has joined #perl6
09:42 gaal hey anatolyv
09:43 anatolyv hey gaal
09:44 gaal in passing, I noticed an even more !!!ish combinator on #haskell:
09:44 gaal let y f = f (y f) in y
09:44 anatolyv ugh
09:44 anatolyv :(
09:45 gaal it's the *spec* of a fix function
09:45 gaal and it works!
09:45 gaal don't ask me how :)
09:45 anatolyv tell gaal ok, can't commit due to Parser.hs being out-of-date. what do I do to merge? "svn up" or something?
09:45 anatolyv heh
09:46 gaal "/msg"
09:46 gaal svn up, yes
09:46 anatolyv re-adjusting to irc is so difficult to me after not using it for quite a few years.
09:46 gaal it will probably just say "G Parser.hs", but "G" means "merge" in svn.
09:47 anatolyv yup, you anticipated my next question
09:47 gaal not conflict or anything like that.
09:47 G2 has joined #perl6
09:47 gaal because I've asked it myself in the past :)
09:47 anatolyv it updated a lot of stuff. I'd better remake and retest.
09:48 gaal yup. "make unoptimized" may save you time if you're just sanitytesting.
09:48 whiteg has quit IRC (Read error: 110 (Connection timed out))
09:49 gaal I think most of the recent commits weren't in the old core though. audreyt and stevan have been working on the minilang
09:49 gaal anatolyv: <lj user=pugscode_svn> if you want to keep track
09:51 anatolyv mm... okay, prolly not just yet :)
09:51 gaal yeah ok
10:09 svnbot6 r8518 | anatolyv++ | *added unary ^ (^num a shortcut for 0..^num).
10:09 gaal whee!
10:09 * anatolyv grins.
10:11 gaal some time in the future, when we fix ranges to work in the case you mentioned (~~), we need to modify op2Range to return an range object, not a reduced list.
10:13 * anatolyv nods
10:13 gaal that's a somewhat deeper change, but I don't *think* it should be very difficult
10:13 whiteg has joined #perl6
10:16 svnbot6 has quit IRC (Read error: 104 (Connection reset by peer))
10:16 evalbot_8515 has quit IRC (Read error: 104 (Connection reset by peer))
10:16 dduncan has quit IRC ()
10:23 lisppaste3 has quit IRC (Read error: 104 (Connection reset by peer))
10:27 r0nny has joined #perl6
10:27 nothingmuch has quit IRC (Read error: 110 (Connection timed out))
10:31 evalbot_8393 has joined #perl6
10:38 iblechbot has quit IRC (Read error: 104 (Connection reset by peer))
10:42 lisppaste3 has joined #perl6
11:00 chris2 has joined #perl6
11:02 larsen has joined #perl6
11:12 Aankhen`` has joined #perl6
11:27 GeJ has joined #perl6
11:33 whiteg has quit IRC (Read error: 104 (Connection reset by peer))
11:38 whiteg has joined #perl6
11:46 ruz has quit IRC (Read error: 104 (Connection reset by peer))
12:14 iblechbot has joined #perl6
12:21 GeJ has quit IRC ("Client exiting")
12:31 Aankh|Clone has joined #perl6
12:35 DaGo has joined #perl6
12:41 anatolyv has quit IRC ("leaving")
12:46 verve_ has joined #perl6
12:49 nnunley gaal: Look for a paper called 'The Why of Y', which explains the y combinator, and how it's  derived.
12:52 gaal nnunley: thanks. I know what "fix" and "Y" are (to the point of being able to use them, and sometimes even show a combinator is equivalent to fix). But I can't understand the spelling I quoted. Or rather, how Haskell is clever enough to understand it.
12:53 gaal it's the same feeling of pattern matching -- "but where did the computation *go*?" -- but in this case it's much more acute :)
12:53 Aankhen`` has quit IRC (Read error: 110 (Connection timed out))
12:54 gaal In other words. I need "The How of That Weird Y" :-)
12:55 nnunley Right -- I'll see if I can dig up the link, because it does explain it.  Still mind bending, but it shows how.
12:57 nnunley http://www.dreamsongs.com/NewFiles/WhyOfY.pdf
12:57 gaal yes, I read it (thanks)
12:58 nnunley Ahh.  Sorry.  Misread.
12:59 nnunley Yeah,  It's just the lambda calculus.  There's also some good reading in the explaination of Unlambda.
12:59 rafl_ Juerd: ping
13:07 verve_ has quit IRC ("Chatzilla 0.9.69.1 [Firefox 1.5/2005111116]")
13:07 nothingmuch has joined #perl6
13:37 DesreveR has joined #perl6
13:50 Juerd rafl_: pong
13:53 Aankhen`` has joined #perl6
13:54 r0nny has quit IRC (Read error: 110 (Connection timed out))
13:57 b00t has quit IRC (Read error: 104 (Connection reset by peer))
14:10 elmex has joined #perl6
14:13 Aankh|Clone has quit IRC (Read error: 110 (Connection timed out))
14:21 nothingmuch has quit IRC (Read error: 110 (Connection timed out))
14:21 * audreyt praises leo_ for (inadvertently) designing the PILN runcore
14:22 audreyt stevan: I think I nailed the "representation" thing. will commit in a bit, with much better support for array/hash containers
14:23 audreyt tewk: still around?
14:28 nnunley audreyt: Are charsets supposed to work with Text.Parser.Rule, yet?
14:33 audreyt no, not yet, I've been distracted into reforming object representations layout support
14:34 audreyt I'd like to get Hash and Array done properly first :)
15:00 joao has joined #perl6
15:00 azuroth audreyt party with mee
15:00 audreyt heh :)
15:00 audreyt you @ .au? is it already 2006 there?
15:01 azuroth two hours into it
15:01 audreyt cool... still 1hr to go here
15:02 azuroth I'll help you count down!
15:02 azuroth why aren't you out having celebratory drinks?
15:07 Shachaf has joined #perl6
15:08 Shachaf has quit IRC (Read error: 104 (Connection reset by peer))
15:08 Shachaf has joined #perl6
15:08 ilogger2 has quit IRC (Remote closed the connection)
15:13 joao almost 9h to go here
15:13 joao Southen, happy new year for those who already are in 2006
15:13 joao s/Southen/so
15:13 joao (and for the others too :P )
15:15 azuroth :-) it's good
15:25 obra seen audreyt
15:25 jabbot obra: audreyt was seen 23 minutes 13 seconds ago
15:30 lisppaste3 has quit IRC ("Want lisppaste3 in your channel? Email chandler AT unmutual.info.")
15:30 lisppaste3 has joined #perl6
15:32 rafl_ Juerd: Where shall I send the camera to?
15:45 stevan audreyt: ping
15:46 stevan happy new year to all those to whom it applies :)
15:52 stevan audreyt: we have some issues with the refactored new_opaque,..but I will wait until you commit to be sure they still exist
15:54 audreyt yo
15:54 stevan hey :)
15:54 stevan happy new year
15:54 audreyt committing now.
15:54 stevan cool
15:54 audreyt it's a very drastic change.
15:54 audreyt and you may not like it :)
15:54 stevan well tests are breaking already,.. so it cant be too much worse :)
15:56 stevan audreyt: try this and tell me what you get
15:56 stevan ./pil -e '::Class`trace(); ::A := ::Class.new({}); ::A.set_superclasses([ ::Object ]); ::A`trace(); ::A.new({})`trace();'
15:58 audreyt k, sec
15:59 nothingmuch has joined #perl6
16:03 audreyt hmm
16:03 audreyt I'm seeing "no such method: add_name"
16:03 Aankh|Clone has joined #perl6
16:04 audreyt investigating
16:09 stevan add_name?
16:09 stevan odd,..
16:09 stevan the issue I was trying to illustrate was that new_opaque is not assigning classes correctly
16:09 stevan I get this
16:09 stevan #trace# <obj:#1|cls:#1>
16:09 stevan #trace# <obj:#22|cls:#1>
16:09 stevan #trace# <obj:#25|cls:#1>
16:09 stevan the first trace is ::Class, then ::A,.. then an instance of ::A... which shows it's class as being ::Class
16:10 audreyt yeah
16:10 audreyt I'll fix add_name here
16:10 audreyt new_opaque and mro_merge is now class specific
16:10 audreyt and doesn't have the cls/obj confusion it did
16:10 audreyt especially mro_merge is really bad and doesn't belong
16:10 stevan ok
16:14 stevan audreyt: I have to run some dirt-world errands, I will check in later
16:15 * stevan &
16:17 audreyt okay
16:17 * audreyt is still tracing mromerge
16:20 wilx has quit IRC (Read error: 104 (Connection reset by peer))
16:22 justatheory has joined #perl6
16:23 Aankhen`` has quit IRC (Read error: 110 (Connection timed out))
16:33 wilx has joined #perl6
16:34 audreyt stevan: I'm seeing
16:34 audreyt #trace# <obj:#1|cls:#1>
16:34 audreyt #trace# <obj:#22|cls:#1>
16:34 audreyt #trace# <obj:#25|cls:#22>
16:34 audreyt which I assume to be correct
16:35 audreyt so I'll commit
16:37 justatheory has quit IRC ()
16:53 sili has quit IRC (Read error: 104 (Connection reset by peer))
16:54 GeJ has joined #perl6
17:00 Aankh|Clone has quit IRC ("Graduate of the Uncle Fester School of Party Etiquette [Time wasted online: 56mins 49secs]")
17:03 Southen_ has joined #perl6
17:06 leo_ any Win32 user here, who can do a quick 'svn up' of parrot and test if it groks os.pmc (especially the Exx cases)?
17:07 svnbot6 has joined #perl6
17:08 audreyt stevan: committed as r8517
17:08 audreyt er I mean, 8521
17:12 GeJ has quit IRC (Read error: 104 (Connection reset by peer))
17:12 stevan audreyt: got it
17:13 stevan audreyt: what are the changes that I "might not like"?
17:14 audreyt each object now carries its own prims
17:14 stevan oh
17:14 stevan thats fine :)
17:14 audreyt it's very eigen :)
17:14 stevan yes
17:14 audreyt it's locked upon creation
17:14 audreyt so common instances of a repr shares the vtable
17:14 iblechbot has quit IRC (Connection reset by peer)
17:14 audreyt so it's a single malloc and no perf penalty
17:14 stevan cool
17:14 audreyt and we can mix in interfaces using addRepr at composition time
17:14 audreyt it's all due to leo_
17:15 stevan leo_++ # as if I need to say that
17:15 stevan so I can override new_opaque and mromerge on a class-per-class basis?
17:15 leo_ thx all - we just have to convince some other folks to get that working in parrot
17:15 stevan and get_attr, set_attr too?
17:16 audreyt stevan: yup
17:16 audreyt everything
17:16 audreyt basically all prim methods get the same signature asif they are userland
17:16 stevan audreyt: nice this will make it easy for hash repr and cstruct repr etc
17:16 stevan so I can do .set_attr?
17:16 audreyt and uses the same prim dispatch
17:16 stevan cool
17:16 audreyt but we still retain 3level
17:16 svnbot6 r8521 | audreyt++ | * Proper Scalar support using the new per-obj-prims architecture.
17:16 svnbot6 r8521 | audreyt++ |   Leo++ for speccing this.
17:16 audreyt `set_attr .set_attr !set_attr are still different
17:17 stevan ok
17:17 stevan how are the diff?
17:17 audreyt the diff is there was a fixed vtable for all objs
17:17 stevan oh, gotcha
17:17 audreyt and much of it just throws exception for objs where they don't make sense
17:17 audreyt like o_store for values
17:17 audreyt this is _exactly_ like parrot
17:17 audreyt and I was unhappy about it
17:18 stevan but if I call `set_attr on an opaque,.. what does it do?
17:18 leo_ btw this was inspired by reading quickref/data (which OTOH is weird, or a bit wrong imho ;)
17:18 stevan still work?
17:18 audreyt stevan: yes, but only on an opaque
17:18 stevan ok
17:18 audreyt if you call it on eg. a scalar container
17:18 audreyt it does nothing
17:18 stevan gotcha
17:18 audreyt or rather you get a method-missing
17:18 audreyt same goes if you call it to an autoboxed int
17:18 stevan excellent
17:19 audreyt leo_: it is... needs refactorings into p6docs/
17:19 audreyt this made things a lot simpler :)
17:19 audreyt leo++ # again
17:19 stevan leo++ # for sure
17:19 audreyt also it made hash and array trivial to implement
17:19 audreyt so I'll go to it now
17:19 stevan simplicity++
17:19 audreyt please check for breakage in tests and your model
17:19 stevan audreyt: sounds great,.. I have to continue errands,.. but will check in later to see if all is well
17:20 stevan I will do a test run now
17:20 audreyt k, take yer time... I'm around all day tomorrow as well
17:20 leo_ stevan: did you get these pods?
17:20 stevan leo_: what pods?
17:20 audreyt leo_: no, I had not showed it to anyone else
17:20 audreyt may I?
17:20 leo_ audreyt: please forward to stevan
17:21 audreyt url not for public consumption yet? :)
17:21 petdance has joined #perl6
17:21 leo_ I'd still like a word from chip
17:21 stevan audreyt: BTW you can run all the model tests like this: prove -I ext/Test/lib/ t/pil/metamodel/*
17:21 audreyt stevan: msg'ed to you
17:21 audreyt excellent
17:21 stevan audreyt: got em
17:21 leo_ and of course p6/pugs approval, which looks like given ;)
17:22 azuroth night everyone
17:22 stevan night azuroth (happy new year as well)
17:22 audreyt leo_: right, it makes most sense :)
17:22 leo_ I thought so, but its great to have some confirmation
17:23 stevan leo_: I will look over them today,.. but I tend to agree with audreyt so I will probably arrive at similar conclusions :)
17:23 Southen has quit IRC (Connection timed out)
17:23 * audreyt has a strange feeling of role reversal... leo writings specs for me to implement? :)
17:23 nothingmuch has quit IRC (Read error: 104 (Connection reset by peer))
17:23 leo_ these docs were emerging the last 2 weeks - but I was of course not sure, if all is sane
17:24 leo_ *g*
17:26 * stevan runs off to buy some food, bbiab &
17:26 audreyt leo_: I've only implemented interfaces.pod and PMC.pod
17:26 chris2 has quit IRC (Read error: 145 (Connection timed out))
17:27 audreyt String.pod looks very sane btw
17:27 leo_ GGC is really parrot internal
17:27 audreyt I may want to carry it to Haskell' (the next version of haskell)
17:27 avar has joined #perl6
17:27 leo_ heh
17:27 audreyt (planning to write unicode/string proposal for it tomorrow)
17:28 chris2 has joined #perl6
17:29 Juerd rafl_: Einsteinstraat 67, 3316 GG  Dordrecht, .nl
17:29 Juerd rafl_: And *please* don't make that "strasse", as that tends to delay things :)
17:30 audreyt is there another Einsteinstrasse nearby? :)
17:40 nothingmuch has joined #perl6
17:42 tewk audreyt: I'm back.
17:46 elmex has quit IRC (Read error: 110 (Connection timed out))
17:46 audreyt tewk: rehi
17:47 audreyt tewk: printMatch Result MatchObj{matchString = str} = print str
17:47 audreyt haskell records doesn't allow you to pun
17:47 audreyt (i.e. write {matchString} and mean {matchString=matchString})
17:47 audreyt which sucks, and which people are fixing
17:47 audreyt but for now you need to write out the binding explicitly
17:48 chris2 has quit IRC ("Leaving")
17:54 webmind_ is now known as webmind
17:57 Juerd audreyt: No
17:58 Juerd audreyt: There's no -strasse at all here.
17:58 Juerd audreyt: However, German people sending me stuff tend to be funny by changing the name, which apparently disrupts the delivery process :(
17:59 Juerd (Which is stupid, because the zipcode should suffice even without a street name)
18:00 audreyt indeed
18:02 petdance has quit IRC ("Leaving")
18:12 joao Juerd, straat is the german word for road?
18:12 justatheory has joined #perl6
18:17 audreyt stevan: I need some help in role-ifying container types
18:17 audreyt see the last secion in Bootstrap
18:17 audreyt but I've finished primitive ::Hash and ::Array support
18:18 audreyt and can sleep with ah clear conscience :)
18:18 audreyt also:
18:18 audreyt t/pil/metamodel/bootstrap............FAILED test 54
18:18 audreyt hadn't investigated yet
18:18 audreyt also, I've renamed `new_opaque to `create because that's what it is
18:20 tewk audreyt: can you look at src/Text/Parser/Rule.hs:61-65, I checked it in last night and it works but the pattern matching probably isn't right.
18:20 audreyt compiler warns about overlapped matching
18:21 audreyt printMatchResult mo = (hPut stdout) (matchString mo)
18:21 audreyt printMatchResult mr = print mr
18:21 audreyt the second case never matches
18:21 svnbot6 r8522 | audreyt++ | * ::Array and ::Hash container objects landed!
18:21 svnbot6 r8522 | audreyt++ |   Currently they have these primitive methods:
18:21 svnbot6 r8522 | audreyt++ |     `create(*)
18:21 svnbot6 r8522 | audreyt++ |     `fetch_list()   `store_list(*)
18:21 svnbot6 r8522 | audreyt++ |     `fetch_elem($)  `store_elem($,$)
18:21 svnbot6 r8522 | audreyt++ |   and public methods:
18:21 svnbot6 r8522 | audreyt++ |     .FETCH($)       .STORE($,$)
18:21 svnbot6 r8522 | audreyt++ | * Rename `new_opaque to `create.
18:21 audreyt fixed.
18:22 audreyt first line now reads
18:22 audreyt printMatchResult mo@MatchObj{} = (hPut stdout) (matchString mo)
18:22 audreyt note that the {} trick also works even if it's not a record constructor.
18:23 ingy has quit IRC (Remote closed the connection)
18:23 svnbot6 r8523 | audreyt++ | * Fix tewk's printMatchResult implementation by constraining
18:23 svnbot6 r8523 | audreyt++ |   the first case to only match on MatchObj.
18:28 justatheory has quit IRC ()
18:28 justatheory has joined #perl6
18:28 nnunley has quit IRC (Read error: 110 (Connection timed out))
18:28 justatheory has quit IRC (Client Quit)
18:32 f0rth has quit IRC ("leaving")
18:33 f0rth has joined #perl6
18:42 DaGo has quit IRC ()
18:44 nnunley has joined #perl6
18:55 tewk Thanks didn't realize that the {} trick worked.  Thanks.
18:57 SamB I don't think I knew about the {} trick working on non-record constructors until I saw it in a comment in GHC's source...
18:58 qmole what's the {} trick?
18:58 SamB so either its an undocumented extension or its Haskell 98
18:58 tewk I tried it last night, but I was getting some other compile error so I backed out
18:59 SamB you can do for example:
18:59 tewk It effectively lets you pattern match against a specific data construction, instead of the entire type.
18:59 audreyt SamB: I think it's h98
19:00 audreyt if I heard spj correctly, that is
19:00 SamB isJust (Just {}) = True; isJust (Nothing {}) = False
19:04 DaGo has joined #perl6
19:04 qmole oh i see
19:05 SamB obviously thats a silly example
19:05 tewk So can you match against a specific data construction with a specific record member  data DD = D1 |  D2 { a :: Str, b :: Str}; func :: D1 -> String; func d1@D1{a="somestring"} = "D1 a == somestring"
19:06 qmole ahh
19:06 tewk that was suppose to be a question, can you?
19:07 SamB tewk: huh?
19:09 qmole yeah, seems like you can
19:09 qmole though with a 'fields not initialised' warning
19:10 SamB oh. now I see what you wrote.
19:11 SamB however... that doesn't use the {} trick.
19:11 SamB it just uses normal pattern matching on records
19:12 tewk So does construction occur in the func, why the 'fields not initialised'?
19:12 audreyt there's no construction going on; that is valid
19:13 SamB the other {} trick lets you do things like
19:13 SamB > Just {}
19:14 tewk Why the warning? Is the compiler just saying I didn't specify a match criterion for all record memenbers?
19:15 qmole sorry, there's no warning
19:15 audreyt I don't think there will be a warning.
19:15 qmole i tested it wrong
19:15 audreyt tewk: I probably can't stay up long enough to finish TermEnum support... definitely tomorrow
19:15 audreyt journals up; need to sleep now :)
19:16 * audreyt waves &
19:16 tewk qmole: Ah, Ok
19:16 tewk audreyt: I'll start looking into TermEnum
19:17 iblechbot has joined #perl6
19:17 audreyt tewk: oh ok... the strategy is simple -- write something like wsLiterals and call it wsEnum
19:17 audreyt see parse_enumclass in http://svn.perl.org/parrot/trunk/compilers/pge/PGE/P6Rule.pir
19:18 audreyt once you can get it to parse, compiling it is dead simple
19:18 audreyt you can go with a simple "choice", or a fancier MDyn
19:18 audreyt probably "choice" is good enough for now
19:18 audreyt anyway... be back in ~10 hours
19:18 audreyt good night!
19:20 DesreveR is now known as r0nny
19:30 leo_ obra: the msg via freenode doesn't work
19:31 leo_ (for me - unregistered)
19:39 avar leo_: you have to 1. register 2. get the other user to turn on messages from unreg users
19:40 leo_ I don't want to register just another service, /msg on irc.pobox.com works anyway
19:44 avar has quit IRC (Read error: 104 (Connection reset by peer))
19:45 avar has joined #perl6
19:49 elmex has joined #perl6
20:04 iblechbot has quit IRC (Read error: 110 (Connection timed out))
20:14 stevan audreyt: the failed test in bootstrap.t is when I check for the number of subclasses for Object
20:14 stevan it used to be 1,.. now it is 9 :)
20:14 stevan so the test needs to be fixed
20:14 stevan (which I will do right now)
20:31 dduncan has joined #perl6
20:36 aufrank has joined #perl6
20:36 aufrank hey all
20:38 aufrank no takers, eh?
20:38 stevan hullo aufrank :)
20:39 aufrank oh, hi stevan!
20:39 aufrank how goes it?
20:39 stevan it goes well, and yourself?
20:39 aufrank very well-- the cavs are beating up on the pistons
20:39 aufrank do you know anything about the ghc side of the make install process?
20:40 stevan aufrank: not a thing sorry :)
20:40 aufrank me neither, unfortunately
20:40 luqui has joined #perl6
20:40 stevan hey luqui
20:41 luqui hi stevan
20:41 * luqui realizes he has been away for a while...
20:41 luqui que ha pasado?
20:41 * stevan has been only minimally here, so he didnt realy notice
20:41 luqui ahh
20:42 luqui I haven't really been doing anything at all... just watching tv, practicing music...  I think it's because I haven't been exercising
20:42 luqui my brain has been off
20:43 stevan yeah I have been finishing all the unfinished projects around the house,.. so my brain was pretty mushy too
20:43 luqui (where by "exercising" I mean "walking around campus" ;-)
20:43 luqui anyway, I'm trying to force myself to pick up these projects again
20:44 aufrank hi luke!
20:44 stevan luqui: I think the Text.Parse.Rule stuff has come along nicely,.. you might wanna take a look
20:45 stevan see the journal for details
20:45 luqui hi aufrank...
20:45 aufrank stevan: audreyt's journal, neh?
20:45 stevan aufrank: yes
20:45 * luqui read the bulletin posted to p6c
20:46 * stevan looks to see wtf luqui is talking about
20:46 luqui audreyt just posted his journal to p6c
20:46 stevan cool,.. I didn't know audreyt was doing this
20:46 luqui because people said they'd be interested in that, and to help the summarizers
20:47 luqui I'm happy about it
20:47 luqui I'm much more content in my mail reader than having to check somebody's site every so often.  And I don't have an RSS reader that i like.
20:47 aufrank which mail reader, luqui?
20:47 stevan yes it is nice
20:48 luqui gmail
20:48 aufrank gotcha
20:48 luqui it's interface was good enough to get me off of mutt, and I was kind of a zealot
20:48 luqui (though I do miss writing in vim)
20:49 aufrank re: practicing music, me and my brother have been playing our banjos together.  much fun.
20:50 stevan aufrank: dueling ?
20:50 luqui :-)
20:50 aufrank heh
20:50 aufrank we tried
20:50 aufrank but neither of us knows the breakdown
20:50 aufrank he doesn't play that style, anyway
20:51 luqui breakdown is a technical term?
20:51 aufrank yeah
20:51 luqui what does it mean?
20:51 aufrank good question
20:52 aufrank I started to type a definition and then realized I had to think about it
20:52 aufrank a long period of really fast picking?
20:52 stevan time for a little ... foggy mountain breakdown
20:52 luqui hmmm... I wonder how hard it would be to write a C backend for PIL2...
20:52 stevan luqui: using banjos, yes
20:53 aufrank yes is always the answer to how hard it would be
20:53 luqui a C backend for banjos?
20:53 stevan luqui: you can probably start with PIL^N first,..
20:53 luqui PIL^N?
20:53 stevan it is the level below PIL2
20:53 luqui oh. I can probably start?  Ha.
20:53 luqui I'm not touching that.  Not for a week at least ;-)
20:54 luqui (two weeks ago I said I'm not touching PGE for P6)
20:54 stevan it is the level the metamodel bootstrap and container types are created at
20:54 luqui what's with the name?
20:54 stevan PIL.Native
20:54 luqui and the caret was just a pun..?
20:54 stevan it is the core stuff needed in the runtime
20:55 stevan no it is PIL with a superscript N
20:55 stevan but in ASCII... PIL^N
20:55 luqui Yeah, like "PIL to the N"
20:55 luqui Not a pun, but a play on a cliche
20:57 SamB has quit IRC (Read error: 104 (Connection reset by peer))
20:59 Juerd has quit IRC (Read error: 110 (Connection timed out))
21:00 aufrank ok, /me has to figure out what's going on for new year's here in cleveland
21:00 aufrank happy new year, all
21:01 aufrank has quit IRC ()
21:02 stevan luqui: is there a definitive list of "types" for p6 anywhere?
21:04 luqui IIRC, S06 has the closest definitive thing there is
21:05 luqui around line 1200
21:05 stevan yeah, it is missing a number of items though
21:05 luqui somebody ought to figure out what those are and post them to p6l
21:05 stevan although maybe I am wrong,.. there seemed to be many other types mentioned in other Syns, but maybe they are not all up to date
21:06 stevan luqui: I have a ruough list going
21:06 luqui cool.  if you post, I will wait a day and then update
21:06 stevan luqui: I will post it next week, I need to clean it up a bit first
21:06 luqui mmkay
21:07 stevan we will also need to define the interfaces for each, as well as determine the role/class hierarchies
21:07 luqui er
21:08 luqui sorry for being a stickler about this
21:08 luqui but types don't have interfaces
21:08 luqui roles have interfaces (roles are interfaces)
21:08 stevan ok,.. then we need to define the roles which match these types
21:08 stevan i am thinking implementation details,.. not theory
21:08 luqui okay
21:09 stevan or we can define the multi-methods which operator on the types
21:09 luqui but still, I think one of the biggest blocking points has been the confusion between types and classes
21:09 stevan however you wanna look at it :)
21:09 stevan well wont types eventually be implemented as classes?
21:09 luqui not necessarily
21:09 stevan I assumed that because of the "perl6 is oo" statement in S01
21:09 luqui subtypes for example, and type synonyms
21:09 stevan ok
21:10 luqui anyway...
21:10 * luqui goes back to work
21:10 luqui which isn't to the typing point yet
21:10 luqui so it's easy to get distracted
21:10 stevan ok
21:16 dvtoo has quit IRC ("leaving")
21:18 SamB has joined #perl6
21:19 dvtoo has joined #perl6
21:19 nothingmuch luqui: great blog on the music stuff
21:19 nothingmuch luqui++
21:19 nothingmuch i wish i could come =)
21:20 nothingmuch yummy yummy yummy: http://www.thelightandtheland.com/pages/Portfolios/scotland/scotland_05_b.html
21:22 nothingmuch anywayk, i'm off
21:22 nothingmuch ciao
21:22 nothingmuch has quit IRC ("leaving")
21:35 stevan audreyt: I roughed in the Array and Hash roles, based on quickref/data for now
21:35 stevan I only implemented Array.elems for now,.. more to come later
21:35 luqui for the record, I don't see any reason to make the Array and Hash interfaces skinny
21:36 stevan skinny?
21:36 luqui er, I mean, the Array and Hash methods.  The interfaces (required methods to implement) should be skinny
21:36 svnbot6 r8524 | stevan++ | PIL/Native/Bootstrap
21:36 svnbot6 r8524 | stevan++ | - added rArray and rHash roles for Array and Hash, they just have
21:36 svnbot6 r8524 | stevan++ |   method stubs for now (except for rArray.elems is implemented)
21:36 svnbot6 r8524 | stevan++ |     - I got the method list from quickref/data which may be wrong
21:36 svnbot6 r8524 | stevan++ |       but it is something to start with
21:36 svnbot6 r8524 | stevan++ | t/pil/bootstrap.t
21:36 luqui the opposite of fat
21:36 svnbot6 r8524 | stevan++ | - fixed failing test
21:36 * stevan is not understanding luqui
21:37 luqui fat interfaces have lots of methods
21:37 stevan you want them to be fat? or to be skinny?
21:37 luqui I see no reason for them not to be fat
21:37 stevan yes I get the meanings ,.. but which way
21:37 stevan ok
21:37 stevan yeah me either
21:37 stevan why have a built in when you can have a method :)
21:37 * luqui likes haskell because there's a function that does everything I need
21:38 stevan luqui: I am starting with the ones defined in quickref/data,.. and I will add more as needed
21:38 luqui mmkay
21:39 * stevan starts to picture luqui as a guidance counsler with a very large head and small skinny body at a school somewhere in colorado :P
21:40 luqui skinny's bad, mmkay?
21:40 * stevan goes off to prepare for tonight's festivities
21:40 stevan drugs er bad,.. mmmkay
21:40 luqui My middle school geometry teacher was just like that
21:40 stevan :)
21:40 luqui "You're gonna fail, mmkay?  You don't know the material, mmkay?"
21:41 stevan I had a high school math teacher like that, and he liked to refer to himself in the 3rd person too
21:41 * stevan really has to go or he will be in trouble with the $boss
21:41 luqui I always find people like that disturbing
21:41 luqui okay
21:42 stevan uh huh ,.. mmkay
22:06 svnbot6 r8525 | Darren_Duncan++ |  r1717@Darren-Duncans-Computer:  darrenduncan | 2005-12-31 13:59:46 -0800
22:06 svnbot6 r8525 | Darren_Duncan++ |  /ext/Rosetta-Incubator : multiple small updates to all 18 files containing Locale::KeyedText Templates
22:30 oylenshpeegul has joined #perl6
22:45 justatheory has joined #perl6
22:46 dvtoo has quit IRC ("leaving")
23:03 justatheory has quit IRC ()
23:04 justatheory has joined #perl6
23:04 justatheory has quit IRC (Client Quit)
23:07 afabian has joined #perl6
23:09 Juerd has joined #perl6
23:13 justatheory has joined #perl6
23:14 webmind happy new year.. and happy coding in it :)
23:16 mjl69 has joined #perl6
23:23 * DaGo os desea un FELIZ 2006
23:26 avar "An administrator of 'Pugs' has changed your role in the staff list.
23:26 avar Your role in the project is now 'Admin'."
23:26 avar "An administrator of 'Pugs' has changed your role in the staff list.
23:26 avar Your role in the project is now 'Member'."
23:26 avar funky
23:26 tewk DaGo: de nada, nos falta ocho horas aqui
23:30 lisppaste3 has quit IRC ("Want lisppaste3 in your channel? Email chandler AT unmutual.info.")
23:30 lisppaste3 has joined #perl6
23:33 avar is now known as avar\afk\woo
23:38 afabian has left "ERC Version 5.0.2 $Revision: 1.726.2.11 $ (IRC client for Emacs)"
23:48 luqui has quit IRC (Remote closed the connection)

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

Perl 6 | Reference Documentation | Rakudo