Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2006-08-11

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:17 diakopter joined perl6
00:22 nekokak joined perl6
00:24 diakopter anyone want to help me get GHC onto my intel mac?
00:24 jmf im using it on a ppc
00:24 jmf whats wrong?
00:25 justatheory joined perl6
00:35 TreyHarris jmf: don't create a new .t file unless there's none that makes sense for your test
00:39 diakopter i guess I'm just curious if anyone's built ghc for intel mac before (I mean, surely)
00:40 diakopter b/c if someone's already built it, I'd love to download it
00:40 jmf TreyHarris: ok
00:40 jmf diakopter: I doubt there is one available
00:41 jmf shouldn't take more than an hour or two on one of them though
00:42 diakopter ok; gotta download 938MB worth of xcode first I guess
00:42 diakopter jmf: thanks
00:43 jmf how come?
00:43 jmf i used port
00:43 jmf was real fast
00:47 diakopter jmf: n00b here
00:47 diakopter what is port
00:48 jmf diakopter: http://darwinports.opendarwin.org/
00:48 TreyHarris diakopter: http://darwinports.org/
00:48 lambdabot Title: DarwinPorts Home
00:48 lambdabot Title: DarwinPorts Home
00:49 diakopter apparently darwinports requires xcode
00:50 jmf lol
00:50 TreyHarris diakopter: it's on your 2nd DVD of Tiger
00:50 TreyHarris it's easily installed
00:50 diakopter oh
00:50 * diakopter is embarassed
00:50 TreyHarris make sure you install BSD libs and utils as well from the same disk
00:50 diakopter well, I should download the new version anyway
00:51 jmf i think you can get away with gcc though anyway
00:51 jmf but you might as well install the dev tools
00:51 TreyHarris jmf: if you already have the tools xcode installs, you'd be set, yes ;-)
00:52 TreyHarris but xcode is what gives you make, gcc, etec. etc.
00:52 * markstos_ gets up to check that outside world still exists
00:52 jmf or you could just boot in windows and download a built ghc
00:52 jmf nottttt
00:53 diakopter windows?
00:53 jmf do you have bootcamp?
00:53 diakopter no
00:53 jmf oh, nevermind
00:54 diakopter so where are those usual lurkers, audreyt and timtoady
00:54 jmf i think TreyHarris is the resident expert for now
00:57 diakopter i've been following the chat logs for the past few days... timtoady mentioned that the design of perl6 has been implementation-driven for at least a year
00:57 diakopter anyone have any comments on that?
00:58 froh-doh diakopter: I liked very much the one-before-last slide in http://pugs.blogs.com/talks/boston-deploying-perl6.pdf
01:04 jmf so are roles just basically like interfaces in java?
01:24 Entonian joined perl6
01:29 TreyHarris jmf: no... roles have code.  they're to mixin new behavior, not specify apis
01:34 Boa joined perl6
01:34 froh-doh I'm new about Perl 6, I checked it out from svn and I'm running the test suite
01:34 jmf TreyHarris: what is the difference between subclassing and adding a role?
01:34 TreyHarris froh-doh: good for you, welcome
01:34 froh-doh which, of course, contains some FAILED stuff. Is it useful to put the failures somewhere?
01:35 Boa hi, a question about perl6, any idea of the first stable release for unix systems?
01:35 froh-doh thanks TreyHarris
01:35 rodi Christmas
01:35 TreyHarris == rodi
01:35 TreyHarris Boa: but we're not telling you what year
01:35 TreyHarris it'll be a nice Christmas surprise :-)
01:35 Boa hehehe
01:36 TreyHarris jmf: you subclass a class.  you mixin a role to an instantiated object
01:36 TreyHarris you can subclass a role, then you have another role
01:36 Boa I panic to relearn th e %$ and @$$$$ stuff I had references... but thats ok i hate objects to
01:36 jmf oh ok, so its dynamic?
01:36 Boa to/too
01:36 TreyHarris jmf: yes, of course.  everything's dynamic.  define dynamic :-)
01:37 jmf so you define what you are subclassing pre-compile but you can add roles on the fly?
01:37 jmf ...to instantiated objects
01:39 TreyHarris you can.  see S12.  um... here it is... "Roles may be composed into a class at compile time, in which case you get automatic detection of conflicting methods. A role may also be mixed into a class or object at run time to produce an anonymous derived class with extra capabilities, but in this case conflicting methods are overridden by the new role silently. In either case, a class is necessary for instantiation--a role may not be directly instantiated."
01:39 TreyHarris did that get cut off?  one of these days i have to figure out how to make irssi tell me when that happens
01:40 jmf so then they are like abstract classes
01:40 jmf in java
01:40 TreyHarris jmf: no, again, they have code
01:40 jmf well so can abstract classes
01:40 jmf just cant be instantiated
01:41 jmf TreyHarris: thanks, i think that cleared things up
01:41 TreyHarris jmf: oh, i see.  yes, when you do it at compile-time into a class.  except Perl lets you do multiple inheritance, Java doesn't (but mixing in a role isn't inheritance). but you can mix them into a preexisting object.
01:42 jmf right the multiple inheritance is what made me think they were like interfaces
01:44 rodi froh-doh: do you have the smoke kit installed?  If so, I think you can 'make smoke' and then follow the instructions afterward to upload the results...
01:46 froh-doh ok, I'll install the smoke kit
01:47 Boa left perl6
01:47 dolmans joined perl6
01:48 rodi if you install Task::Smoke from CPAN, it gets all the dependencies, I believe.
01:49 TreyHarris roles are the thing that it's annoying that interfaces don't have (code) with the things that it's annoying that abstract classes don't have (the ability to derive objects of other preexisting classes), with the disadvantages of neither
01:50 froh-doh I kept a record of my first attempt to use perl6 to make a minimal script, where could I put it inside the doc hierarchy?
01:51 markstos_ froh-doh: sounds like "examples"
01:51 TreyHarris froh-doh: read docs/README
01:51 TreyHarris or did you get to the "ask on #perl6" part? :-)
01:51 froh-doh TreyHarris: I read it, and
01:51 froh-doh eh, yes :)
01:52 rodi LOL
01:52 froh-doh I see that "other" contains the perl5 -> perl6 "guide"
01:52 froh-doh maybe there? I tried to code in perl5 at first, then give the stuff to pugs and see the results
01:52 clkao fglock: why are we shipping test.pmc now?
01:53 TreyHarris froh-doh: why not?  it can always be moved elsewhere
01:53 jmf TreyHarris: why cant everything just be a class though if theres multiple inheritance?
01:53 froh-doh ok, it seems the less harmful place for the moment
01:53 markstos_ left perl6
01:53 clkao fglock: also t/01-sanity/01-tap..............................................Global symbol "$object" requires explicit package name at /home/clkao/work/pugs/perl5/Pugs-Compiler-Perl6/blib/lib/Pugs/Emitter/Perl6/Perl5.pm line 726.
01:53 TreyHarris jmf: you can't mix a class in at runtime without creating a new object
01:54 TreyHarris jmf: i suppose you could do "my Dog|Sentry $fido;", but that would get really hairy really quick
01:55 TreyHarris lol... hairy dog
01:55 TreyHarris that was unintentional
01:55 jmf wouldnt it be more natural to have only classes but with every class really having the ability to be a role?
01:56 jmf (a role in that if you try to mix in at runtime it just gets the extra methods)
01:57 jmf lol
01:58 TreyHarris roles do not have constructors
01:58 froh-doh is there any way to use the evalbot without boring you guys?
01:58 jmf download pugs?
01:59 TreyHarris imagine a class that had a constructor that and destructor, with the destructor recovering things based on how the constructor was called
01:59 froh-doh jmf: no, I wanted to cross check with the pugs I've just compiled
01:59 evalbot_12098 is now known as evalbot_12099
01:59 TreyHarris er, s:2nd/that<ws>//
02:00 TreyHarris if you mixed in another class, the destructor might do the wrong thing now
02:00 TreyHarris the class could no longer manage the data's state completely
02:00 jmf wait  so can you inherit from multiple classes?
02:00 TreyHarris a role does not manage the object's data state (except for bits of state that have to do with the plumbing of the role itself)
02:01 TreyHarris jmf: yes.  but you have to do that prior to object creation time
02:02 jmf it seems like it should still be possible - though i guess you dont want that kind of overhead
02:02 TreyHarris froh-doh: evalbot's name indicates what rev it's running at (evalbot_12099).  so long as you're running the same rev, you're set.  if you think your build of r12099 is behaving differently than it should, then that's something we'd like to see on the channel i think :-)
02:02 froh-doh ?eval my @p; push @p, [ 21 .. 25 ]; say @p.elems, ' ', @p[0].elems;
02:02 evalbot_12099 OUTPUT[1 1 ] Bool::True
02:03 froh-doh houston, we have a problem :)
02:03 froh-doh ?eval my @p; push @p, [ 21 .. 25 ]; [ @p.elems, @p[0].elems ];
02:03 evalbot_12099 [1, 1]
02:03 jmf ?eval my @p; push @p, [ 21..25 ]; [ @p.elems, @p[0].elems ];
02:04 evalbot_12099 [1, 1]
02:04 TreyHarris jmf: it is possible.  abstract base classes, mixins, interfaces, traits, roles--they're all just abstract parent types, and multiple inheritance can be used instead of any of them
02:04 TreyHarris just as closures can be used to forgo .wrap or state variables.
02:04 froh-doh the second element should be 5 (t/builtins/arrays/push.t)
02:04 TreyHarris but just like raw closures can be dangerous if you don't understand what you're doing, multiple inheritance is a very powerful bazooka to weild when you just want to mixin a little code
02:06 bcorn joined perl6
02:06 jmf TreyHarris: thanks, i think i get it -- just seems antiperl6 to want to mixin a class and not have it "just do the right thing"
02:06 TreyHarris froh-doh: eh?  what test in push.t do you think this is equivalent to?  you can paste it here, just the one line
02:07 rodi ?eval my @p; push @p, (21..25); say @p.elems, ' ', @p[0].elems;
02:07 evalbot_12099 Error: No such sub: "&elems"
02:07 froh-doh test #39: is(@push[0].elems,  5, 'nested arrayref, arrayref length is 5');
02:07 TreyHarris jmf: there are limits on DWIM when you're dealing with code that munges code.  the halting problem can get roped in when you least expect it :-)
02:08 jmf well i wouldnt want to push pugs beyond its limits ;)
02:09 froh-doh jmf: also considering the problems on push, it's better not to push pugs too much ;)
02:09 vel joined perl6
02:10 TreyHarris jmf: well, i'm not talking about the limits of pugs, but the limits of the universe. :-)
02:10 rodi Entscheidungsproblem, bitte!
02:12 TreyHarris jmf: but even outside of the limits, it just makes sense to have a subservient role for... roles.  quick example.  "0 but True".  you're taking a zero value, and mixing in a True role.  but it's still a number primarily.  multiple inheritance is counterintuitive here.  it's not both a number and a boolean value; it's a number, that has a special boolean behavior
02:12 TreyHarris hmm, does that work yet?
02:12 TreyHarris ?eval 0 but True
02:12 evalbot_12099 Error: Cannot cast from VBool True to Pugs.AST.Internals.VCode (VCode)
02:12 TreyHarris not yet :-)
02:13 TreyHarris ?eval my @p; push @p, [ 21 .. 25 ]; @p.perl
02:13 evalbot_12099 "[[21, 22, 23, 24, 25],]"
02:13 TreyHarris ?eval my @p; push @p, [ 21 .. 25 ]; @p[0].perl
02:13 evalbot_12099 "[21, 22, 23, 24, 25]"
02:13 TreyHarris ?eval my @p; push @p, [ 21 .. 25 ]; @p[0].elems
02:13 evalbot_12099 1
02:14 TreyHarris ?eval my @p; push @p, 21 .. 25; @p[0].perl
02:14 evalbot_12099 "\\21"
02:14 rodi ?eval my @p; push @p, (21..25); @p.elems;
02:14 evalbot_12099 5
02:15 TreyHarris ?eval my @p; push @p, *[ 21 .. 25 ]; @p[0].perl
02:15 evalbot_12099 "[21, 22, 23, 24, 25]"
02:15 TreyHarris i think the tests are wrong, personally
02:15 TreyHarris i think it's working as expected
02:15 froh-doh ?eval my @p; push @p, [21..25]; my @q = @p[0]; @q.elems;
02:15 evalbot_12099 1
02:15 TreyHarris but i'm willing to be persuaded otherwise
02:15 cmarcelo left perl6
02:16 TreyHarris ?eval my @p; push @p, [21..25]; my @q = *@p[0]; @q.elems;
02:16 evalbot_12099 5
02:16 TreyHarris yes, i think it's working right.  push shouldn't auto-flatten, i don't think
02:16 froh-doh no, but @p[0] should be the 5 elements array
02:16 bsb joined perl6
02:17 Khisanth joined perl6
02:17 froh-doh as the @p[0].perl seems to show
02:17 TreyHarris ?eval my @q = (21..25); my @p; push @p, @q; @p.perl
02:17 evalbot_12099 "[21, 22, 23, 24, 25]"
02:18 froh-doh ?eval my @p; push @p, [21..25]; my $q = @p[0]; $q.elems;
02:18 evalbot_12099 5
02:18 TreyHarris ?eval my $q = (21..25); my @p; push @p, $q; @p.perl
02:18 evalbot_12099 "[[21, 22, 23, 24, 25],]"
02:18 TreyHarris ?eval my $q = (21..25); my @p; push @p, $q; @p.[0].elems
02:18 evalbot_12099 1
02:19 TreyHarris ?eval my $q = (21..25); my @p; push @p, $q; @p.elems
02:19 evalbot_12099 1
02:19 TreyHarris ?eval my $q = (21..25); my @p; push @p, $q; @p[0][0]
02:19 evalbot_12099 \21
02:20 froh-doh btw, the test is ok with pugs 6.2.12
02:20 TreyHarris ?eval my $q = (21..25); my @p; push @p, $q; my @q = @p[0]; @q.elems
02:20 evalbot_12099 1
02:20 TreyHarris ?eval my $q = (21..25); my @p; push @p, $q; my @q = @p[0]; $q.elems
02:20 evalbot_12099 5
02:20 froh-doh oO
02:21 froh-doh ah
02:21 TreyHarris you're right then; the tests are right, the behavior is right except for the .elems on the nested array
02:22 TreyHarris ?eval my @p; push [21..25], $q; my @q = @p[0]; $q.elems
02:22 evalbot_12099 Error: Undeclared variable: "$q"
02:22 TreyHarris ?eval my @p; push [21..25]; my @q := @p[0]; @q.perl
02:22 evalbot_12099 "\\undef"
02:23 TreyHarris it's not just elems; something's not recognizing the first elem as an array
02:23 TreyHarris ?eval my @p; push [21..25]; @p[0].ref
02:23 froh-doh maybe you forgot to push into @p ?
02:23 evalbot_12099 ::Scalar
02:23 TreyHarris ?eval my @p; push [21..25]; @p[0].perl
02:23 evalbot_12099 "\\undef"
02:23 TreyHarris oh!  hah!
02:24 TreyHarris ?eval my @p; push @p, [21..25]; @p[0].ref
02:24 evalbot_12099 ::Array
02:24 froh-doh ?eval my @p; push @p, [21..25]; @p[0].end
02:24 evalbot_12099 0
02:24 TreyHarris ?eval my @p; push @p, [21..25]; my @q := @p[0]; @q.perl
02:24 evalbot_12099 "[21, 22, 23, 24, 25]"
02:24 TreyHarris ?eval my @p; push @p, [21..25]; my @q := @p[0]; @q.elems
02:24 evalbot_12099 5
02:25 audreyt (that is broken)
02:25 froh-doh ?eval my @p; push @p, [21..25]; my @q = @p[0]; @q.elems;
02:25 TreyHarris hi audreyt :-)
02:25 evalbot_12099 1
02:25 froh-doh ah, you used the binding
02:26 audreyt jmf: you can use my build
02:26 audreyt jmf: http://cvs.haskell.org/trac/ghc/wiki/X86OSXGhc
02:26 lambdabot Title: X86OSXGhc - GHC - Trac
02:26 TreyHarris audreyt: i got final approval from $job, so as soon as i find the guy to sign the document, I can contribute beyond just blathering on in the channel :-)
02:27 audreyt moooose!
02:28 jmf audreyt: thanks it was for diakopter though :)
02:28 audreyt oh. right.
02:28 audreyt diakopter: http://cvs.haskell.org/trac/ghc/wiki/X86OSXGhc in case you backllog
02:28 lambdabot Title: X86OSXGhc - GHC - Trac
02:28 audreyt (via irc.pugscode.org that is)
02:32 mjk joined perl6
02:32 TreyHarris audreyt: was my description of why there are roles to jmf fair? that yes, you could do anything with runtime mixinable multiple inheritance that you can with roles, but roles are just nicer and safer, kind of like .wrap and state vars are nicer and safer than closures?
02:33 jmf TreyHarris: sorry for the late reply -- if there are numbers and booleans classes seems like you shouldnt also have to write a boolean role (bad example maybe)
02:34 jmf like lets say you have a dog class and a cow class, but then you want a dog that acts like a cow, are you able to give the dog cow behavior without writing a separate role?
02:35 audreyt yes.
02:36 jmf and not at compile time?
02:36 audreyt subject to restrictions
02:36 audreyt if the "cow" methods contains layout-specific access
02:36 audreyt $!antler
02:36 jmf so classes act like roles if you try to mix them in at runtime?
02:36 audreyt then your class cannot mix it in
02:37 audreyt how I hope obvious reasons (layout mismatch)
02:37 audreyt s/how/for/
02:37 audreyt but otherwise, if all methods is virtual-able
02:37 audreyt then I expect you can use them as roles, yes
02:37 TreyHarris jmf: like i was saying, to the limits of DWYM
02:38 audreyt note that this understanding is quite new (around spring this year)
02:38 jmf ok cool
02:38 audreyt and hadn't been coded yet
02:41 TreyHarris well, you *could* fake it out to make any class at all mixinable, like smalltalk.  but it would make the large-software-project types very unhappy and would limit what the optimizer could do
02:41 froh-doh \o/ I made it! My first commit! \o/
02:41 audreyt class C { has $!x; method x { $!x } }
02:42 audreyt class D does C {}
02:42 audreyt D.new.x
02:42 audreyt how is that possible?
02:42 svnbot6 r12100 | polettix++ | Added my first experience with slightly-more-than-trivial programming in
02:42 svnbot6 r12100 | polettix++ | Pugs!
02:42 audreyt \O/
02:43 jmf well
02:44 TreyHarris audreyt: by breaking the encapsulation and giving D full access to C's private attributes because D wants it
02:44 jmf there would need to be a distinction between methods i guess
02:44 jmf like if C is a role it only gives behaviors that do not rely on state
02:46 audreyt TreyHarris: but D does not have a !x slot
02:46 audreyt or maybe it has an incompatible one
02:46 audreyt or do you mean that D.new would also allocate an extra slot
02:46 audreyt kinda like a "has-a" side table?
02:46 audreyt I think that's very broken :)
02:46 TreyHarris audreyt: yes, the latter.  has-a.
02:47 TreyHarris audreyt: oh, yes, very
02:48 audreyt but normally
02:48 audreyt all accessor is virtual
02:48 audreyt $.x is actually just calling .x
02:48 audreyt so they can be readily mixed in
02:48 audreyt provided the host class has a .x method that can bbehave that way
02:50 jmf couldnt you have a role that is basically defined the same way as C in your example?
02:50 TreyHarris audreyt: depends on who's defining "normally".  lots of OO books tell you to only define accessors for your API, so any data that you need for any other purpose, even if it doesn't hurt to expose it, should be $!, right?  or is there another way to make private-but-virtual?
02:50 jmf role C { has $!x; method x {$!x} }
02:50 mugwump so if $.x is $?SELF.x, what is $.x($foo) ?
02:51 audreyt jmf: that is a good point
02:52 jmf but that does that mean roles are very broken :)
02:52 audreyt actually, S12 line 863 is more liberal than I remembeed :)
02:53 jmf lol
02:53 audreyt so it would appear that indeed both can be mixed in in compile time
02:53 audreyt and at runtime, both would need the help of a new anonymous concrete class
02:53 audreyt so the difference becomes only that when you mix in a class and use it as a role
02:53 TreyHarris audreyt: yes, i just noticed the same thing.  maybe it changed?  i remember it stricter
02:53 audreyt the "super" semantics become different
02:54 audreyt and I wonder if you also get all superclass methods mixed in for free
02:54 audreyt as well as superclass slots
02:55 audreyt that's a lot to ask for, but why no t:)
02:55 froh-doh ok, the smoke is in place, good night all!
02:55 audreyt froh-doh++
02:55 froh-doh audreyt: nothing more than some      make smoke    typing :)
02:56 audreyt it takes quite some work efore you can type that line though :)
02:57 jmf ok -- so then the only difference between roles and classes is that you cant instantiate a role?
02:59 * Khisanth hopes you can inherit the implementation
03:00 TreyHarris well, i have a bus to catch, back later &
03:00 jmf TreyHarris: bye, thanks for your help
03:00 audreyt jmf: even that is not neccessarily true...
03:01 audreyt (class does SomeRole {}).new
03:01 jmf dammit i thought perl6 was being teacher driven now
03:01 audreyt is certainly possible
03:01 audreyt but SomeRole.new is not, right.
03:02 audreyt does that make some sense?
03:02 jmf yeah, i just dont really get why
03:02 audreyt it's the same as in other languages
03:02 audreyt if an interface does not demand anything from the class it implements
03:03 audreyt then you can write a phantom class that does nothing but implement that interface
03:03 audreyt and instantiate with that
03:03 audreyt nothing special about perl6 here
03:03 jmf i mean i dont get why you need both roles and classes
03:03 audreyt because sometimes inheritance gets in the way
03:03 audreyt and you'd like to have another form of inheritance that has no notion of depth
03:03 audreyt I think that's all
03:04 jmf what do you mean by depth?
03:04 audreyt .super.super.super
03:04 audreyt diamond inheritance, C3, etc
03:05 audreyt the traits paper gives pretty good reasons
03:05 jmf so if a class does a role, you can only call the function the role implements
03:06 jmf not any of its parents
03:06 audreyt a role has no parent
03:06 jmf i thought a role could inherit from other roles?
03:06 audreyt if a role does another role, then it behaves as if all that superrole's methods has already been mixeed in
03:06 audreyt there's no runtime distinction
03:06 jmf right ok i see what you mean by depth now
03:07 jmf that makes a lot more sense
03:07 jmf thanks
03:08 audreyt np :)
03:08 audreyt thanks for asking :)
03:09 audreyt bbl...
03:24 Khisanth joined perl6
03:31 cmarcelo joined perl6
03:37 DaGo joined perl6
03:44 hikozaemon joined perl6
03:59 stevan audreyt: ping
04:12 cmarcelo anyone familiar with with util/build_pugs.pl, i'm trying to change the GHC command to include a "-Lthird-party/..." but it complains that the third-party/... isn't found. however the script looks like be running from trunk root dir (system("pwd") says so) and if I copy/paste the generated command it work fine.. any idea what that may be?
04:13 weinig joined perl6
04:14 cmarcelo (i was changing the end of build_exe function to include this -L flag..)
04:18 weinig joined perl6
04:19 weinig_ joined perl6
04:24 stevan Is it possible to cite more than one authority for a module?
04:25 stevan can I do this:  module Foo-0.0.1-cpan:JRANDOM-http://www.foo.org-mailto:jrandom@foo.org
04:25 lambdabot Title: foo.org
04:25 stevan lambdabot: thanks, but that wasn't really a URL
04:29 merlyn close enough!
04:30 stevan hey merlyn
04:30 merlyn Subtext: malicious :)
04:30 merlyn heya
04:30 merlyn mr møøse
04:30 stevan btw - we moved the Moose repo, its now at http://code2.0beta.co.uk/moose/svn/
04:30 lambdabot Title: Revision 1805: /
04:31 merlyn ahh, that's why I haven't seen it in a while :)
04:31 merlyn when I get a fast connection, I'll have to git-svn it
04:31 stevan yeah, this is now public, so wont conflict with $work stuff
04:31 merlyn medium speed righ tnow
04:31 merlyn while sitting at a karaoke bar
04:32 merlyn tomorrow, at $work, very fast
04:32 stevan cool
04:32 stevan sing a song for me :)
04:32 merlyn $work = old-school large dot-com
04:32 PerlJam IBM?  :)
04:32 merlyn in fact, I'll dare say one of the first ten URLs I ever typed into Mosaci :)
04:32 merlyn mosaic
04:33 merlyn IBM wasn't a dot com until it was cool to be a dot com
04:33 stevan http://www.nakedkaraokechicks.com?
04:34 merlyn most karaoke chicks are better off not being seen naked
04:34 stevan :D
04:34 merlyn if that was the case, they'd not be at a k-bar.  they'd be at the disco
04:34 merlyn discos and k-bars attract diametrically opposite people
04:35 * PerlJam seems to have amnesia when it comes to dot-coms prior to 1995 or so (perhaps hte explosion wiped my memory :)
04:36 merlyn the logo involves a lot of purple and yellow, and perhaps some sort of punctuation indicating some excitement
04:36 * stevan is going with PerlJam on this one,.. nothing says excitiment more than IBM
04:38 PerlJam heh
04:43 dduncan joined perl6
04:43 TreyHarris hmm.  so let's say we have class Point { has $.x is rw; has $.y is rw }.  And lots of code gets written for this kick-ass cartesian point class.  And then let's say we decide to change the internal storage in some way--maybe we're going to store rho and theta instead of x and y.  How do you write a single accessor for .x and .y that works as before, for both LHS and RHS, since there's no underlying storage?  is the only way to return a Proxy, or is there sug
04:44 TreyHarris did that get cut off?  (it ended "common case?")
04:44 dduncan so, it seems that every last vestage of $?SELF was removed from the synopsis ... though it appears several hundred times in the Pugs distro ...
04:44 dduncan what should we be using instead to refer to the implicit invocant object in a method?
04:45 TreyHarris dduncan: self
04:45 dduncan a bareword ... can that also be spelled self(), or is it best to leave the parens off?
04:46 TreyHarris IIRC what TimToady said yesterday,it's a keyword, not a function
04:46 dduncan okay
04:46 TreyHarris dduncan: i have a question for you
04:46 dduncan yes
04:47 dduncan and I'll see if I can quickly search'n'replace in Pugs for that
04:47 TreyHarris the r10804 synopsis diff you responded to... did you receive it in p6-l?  and if so, do you still have the mail?  i never got it and am trying to figure out if my mail is broken
04:48 dduncan I got that in my p6l email subscription
04:48 dduncan you didn't, but you got my reply?
04:48 * stevan got a free coffee maker with his p6l subscription
04:48 TimToady I am about to check in a pugs with $?SELF removed.
04:48 dduncan maybe the message is bottlenecked and it'll arrive in a few hours
04:49 dduncan I sometimes get messages hours or a day late
04:49 TreyHarris ack, actually, i apparently missed a good many deltas, as the last one prior to your messages was audreyt's 10783, which i received almost exactly 12 hours ago
04:49 TreyHarris so that means i'm missing 21 at least
04:49 dduncan okay TimToady, I won't do anything with $?SELF, but will doublecheck after your commit
04:49 stevan TimToady: any thoughts on my authority question? can we have more than one?
04:49 dduncan fyi, one place with a lot of them is the Prelude
04:50 dduncan or specifically, Prelude.pm.yml
04:50 stevan TimToady: I am asking because I would like to add it into Moose, and I am trying to figure out the best way to store it
04:50 TimToady I've fixed all of them except a bunch of old ones hanging around in ancient metamodels.
04:51 dduncan I used it a lot too in my ext/ stuff
04:51 dduncan probably a third of all occurrances are mine
04:51 TimToady fixed those too
04:51 TimToady (I think)
04:52 dduncan I'll do another scan once you commit
04:52 dduncan meanwhile, I have $job still to do ... so for now, &
04:52 TimToady looks like it passed t/oo, so in it goes
04:55 svnbot6 r12101 | lwall++ | Killing $?SELF.
04:55 TreyHarris TimToady: do you mark certain synopsis changes somehow for forwarding to p6-l?  i just noticed that even in newsgroups, some revision numbers are skipped.  all of the ones between r10784..10803, for instance
04:55 dduncan change pulled, now building ...
04:56 TimToady the synopses share an svn repo with other things
04:56 TreyHarris ahh.  is the repo public?
04:56 TimToady stevan: currently we have no syntax for multiple authorities
04:57 Schmoople is now known as Pustulio
04:57 TimToady svn.perl.org/perl6 or some such
04:58 Pustulio is now known as schmooster
04:58 schmooster is now known as Schmooster
04:59 TreyHarris i was thinking about yuval's comment, and i bet there will be a lot of (mostly) implementationless roles on CPAN that just unify the APIs of various modules.  i wonder if there needs to be something provided for that.  not syntax maybe, but convention.  like Email::MIME::All or somesuch
04:59 dduncan TimToady, I notice a few occurrances in pod files still exist ... are you dealing with those separately? ... I can enumerate them if it would help
05:00 TimToady I didn't bother with the ones that come from svn.perl.org, but I think the overview needs fixing still
05:00 Schmooster is now known as Munchkin
05:02 TimToady bbiab &
05:03 dduncan docs/Perl6/Spec/Syntax.pod has one
05:03 dduncan docs/notes/p6ast_draft has 3 ... though that may be a historical document you don't want to change?
05:04 dduncan docs/notes/mmd.kwid also has 2
05:04 dduncan I meant those when I said pod files
05:07 Munchkin is now known as Schmooster
05:16 PerlJam If we  can smart match the authority, that's real close to being able to specify multiple authorities.
05:18 PerlJam Also, since the version allows ranges, it seems we're just a small step from allowing lists.
05:20 dduncan I would think that multiple authority syntax could look like that for multiple versions ...
05:20 dduncan eg, Foo-Bar-(Baz|Quux) or something
05:20 dduncan encase the third part of the name in parens, and put the variants in there
05:21 PerlJam Yep, makes sense to me.
05:21 PerlJam or curlies even
05:21 dduncan either way, having more dashes separating the options looks bad
05:21 dduncan but just enclose all the options in some kind of delimiters
05:22 dduncan well, I'll leave this distracting channel and return to $job &
05:22 svnbot6 r12102 | cmarcelo++ | HsJudy: use pugs-fps.
05:22 dduncan left perl6
05:23 PerlJam Though I wonder what happens when you've said to use Foo-(1.2|1.5) and you've got both installed.  Which does it actually use?
05:24 PerlJam Now extend that problem to the authorities.
05:24 PerlJam use Foo-(1.2|1.5)-(XXX|YYY);     # Whose module and what version actually gets used?
05:26 Schmooster is now known as UglyBob
05:26 UglyBob is now known as Schmooster
05:26 PerlJam While the use line is asserting that they are equivalent, what happens when they aren't?  how do we help the poor programmer debug the fact that Foo-1.2-XXX's .blah method is really incompatible with Foo-1.5-YYY's .blah method?
05:29 TimToady this makes about as much sense to me as asking for a url with two different http: parts
05:30 TimToady the naming authority is merely here to give it a unique name
05:32 agentzh joined perl6
05:32 PerlJam okay, forget the naming authority for a second ... if I say use Foo-(1.2|1.5);  which version actually gets used if both are installed?  First?  Last?  Highest version number?
05:33 PerlJam The first one in @INC?
05:36 TimToady highest would be default unless overridden by site policy somehow
05:37 TimToady though arguably it should try alternatives in order
05:37 TimToady more like regex than like junctions.
05:37 PerlJam And back to the authority, I could see where someone would want a compact way to say "use Foo-*-X, but if it's not there, use Foo-*-Y"  That feels like it should be written  use Foo-*-{X,Y}  or something
05:37 TimToady but arguably it *is* a junction
05:37 TimToady at some point you give up and trap the use failure
05:38 agentzh TimToady: can i define LEAVE/ENTER/etc blocks in the file scope (without putting them explicitly into {...})?
05:38 TimToady sure
05:38 PerlJam Yeah, but I want perl to try *real* hard before I give up :)
05:38 agentzh TimToady: thx :D
05:39 TimToady if we say that Foo-(1.2-Bar|1.4-Baz) is possible, then we also get
05:40 TimToady Foo-(/whatever/) that can match against version-authority
05:40 TimToady and maybe authority is just an addendum to a version.
05:41 agentzh TimToady: S04 doesn't discuss the running order of multiple closure traits (say, two END {} in the same scope), so should we assume it's the same as in Perl 5?
05:41 TimToady yes
05:42 agentzh TimToady: but there's no CHECK {} in Perl 5 IMHO.
05:42 TimToady yes, there is
05:42 agentzh oh, i'm impressed. ;-)
05:43 agentzh btw, is there a general name for BEGIN/END/CHECK/ENTER/etc blocks?
05:44 gaal Morning all.
05:44 agentzh closure traits?
05:44 gaal agentzh: closure traits?
05:44 agentzh i'm wondering if there's a general name for BEGIN/END/CHECK/INIT/etc blocks.
05:44 PerlJam S11 doesn't say that the highest version wins on ranged/wildcarded module versions (or I missed it again)
05:44 gaal yes, we're thinking of the same answer to your question :)
05:45 agentzh the pugs test suit uses the name "control blocks", which can easily be confused with "CONTROL {}"
05:45 gaal indeed
05:45 agentzh gaal: how about "closure traits"?
05:45 gaal please svn mv. agentzh++
05:46 agentzh gaal: only if i know a better name. ;-)
05:46 TimToady closure traits seems fine
05:46 agentzh TimToady: thanks!
05:46 gaal agentzh: we're in vehement agreement :)
05:46 agentzh :=)
05:46 TimToady that doesn't mean we won't think of something finer tomorrow
05:46 agentzh TimToady: wow
05:46 gaal TimToady: we're in vehement agreement that source control is useful :)
05:47 * agentzh is feeling aiming at a moving target.
05:47 * gaal is pleased to see MAIN landed, or landing
05:47 PerlJam agentzh: welcome to #perl6!  :)
05:47 * agentzh too
05:47 agentzh PerlJam, thanks.
05:48 gaal question: is there some sort of Capture inference? Meaning:
05:48 gaal sub MAIN (\$*args) { parseargs(); ... }      sub parseargs($cmd: $foo, @bar) { ... }
05:49 TimToady presumably, but I'm not convinced it's worth making visible.
05:49 gaal or pom ~~ Gibbous ?? parse1($*args) :: parse2($*args)
05:49 TimToady since you can always call MAIN yourself
05:50 TimToady and I'd just as soon not see the 50 getopts variants syndrome erupt
05:50 gaal the problem I'm seeing with this is tools with complex command lines, say svk for example
05:50 gaal you don't want to put all its command line specification in one function
05:50 TimToady you can still process @*ARGS yourself.
05:50 gaal TimToady: agreed, certainly, re: many getopt variants.
05:51 TimToady this is, in a sense, the first one I've ever written.
05:51 gaal but there's gotta be a middle ground between "Perl 6 does effective getopt for me" to "you can parse @ARGS yourself"
05:51 TimToady why?
05:52 gaal because if the parsing is great but fails for complex cases, 50 getopt libs *will* evolve :)
05:53 gaal er, my misspeech:
05:53 gaal I just want "Perl 6 does effective getopt for me"
05:53 gaal but for its scope to include complex cases :)
05:53 gaal (coffee still not fully kicked in)
05:53 gaal that means there's gotta be some way to delegate.
05:54 TimToady sub MAIN (...) is parsed(/.../)  :)
05:54 gaal hmmm.
05:55 TimToady what's wanted is a way of matching the front of a list to a sig and removing it.
05:55 TimToady @ARGS ~~ s/ :($a, $b, $c) //
05:55 lambdabot Unknown command, try @list
05:56 PerlJam a sig-eater-iterator?
05:56 PerlJam :)
05:57 gaal name the tail and pass it?
05:57 TimToady well, that's what a slurpy array does already
05:58 gaal not sure it has conventional getopt semantics though
05:58 gaal svk --opt1 command --opt2
05:59 gaal presumably opt1 and opt2 may have the same name, but the second one should be processed by the "command" handler
05:59 TimToady which is why the default probably only handles leading switches.
05:59 gaal or rather, there oughta be a way to have it do that
05:59 gaal hmm okay.
06:00 gaal up to a mismatch? up to a non-switch arg?
06:00 TimToady up to a non-switch arg or --
06:01 TimToady MMD dispatch is done after conversion
06:01 gaal okay, that means we don't naturally handle command line styles such as iproute2
06:02 gaal not that I'm saying we have to
06:02 gaal (those are commandlines specified in something like bnf)
06:02 TimToady gotta leave something for those poor, neglected programmers to do
06:03 pasteling "gaal" at 192.115.25.249 pasted "example iproute2 usage" (7 lines, 383B) at http://sial.org/pbot/18906
06:03 svnbot6 r12103 | cmarcelo++ | * HsJudy: Correcting my rev control mistakes =P
06:03 gaal I guess! :)
06:04 gaal PNP
06:05 cmarcelo svk sync or pull  is giving you "Incomplete data: Delta source ended unexpectedly" ?
06:05 TimToady anyway, that's just @ARGS ~~ /<grammar>/; MAIN([,] =$/) or some such
06:06 gaal cmarcelo: yes.
06:06 YetAnotherEric joined perl6
06:06 marmic joined perl6
06:07 gaal 12101 was poison?
06:07 gaal TimToady: ooh!
06:07 cmarcelo "svn up" seems fine, it may be a problem of incomplete svk metadata maybe?
06:07 cmarcelo gaal:  r12102 i think
06:08 TimToady r12103 svn ups fine
06:10 cmarcelo tks.. i'll grep for the error msg in svk code to find out what's happening..
06:20 gaal heh, google finds a bug report by agentzh on with this error message
06:20 cmarcelo looks like is a svn thing.. but only popping by svk usage of svn =P
06:21 gaal yes; also looks like someone with access to the repo needs to fix it...
06:22 cmarcelo gaal: found any pointers on solution?
06:24 YetAnotherEric what's the error message?
06:24 cmarcelo Dado incompleto: Delta source ended unexpectedly
06:24 cmarcelo s/Dado incompleto/Incomplete data/
06:25 cmarcelo when svk sync'ing
06:28 YetAnotherEric sounds like an svn wc issue, not sure where that fits in svk though
06:28 bsb left perl6
06:28 YetAnotherEric ask on #svk ?
06:32 crem_ joined perl6
06:34 cmarcelo_ joined perl6
06:35 gaal fixing PureNum to be NRational | NFloat like it should, does this mean I have to lose :>: Double (or Float)?
06:35 gaal sorry, ((:>:) PureNum) Double
06:35 weinig joined perl6
06:35 gaal because at first glance it looks like cast = MkNum . NFloat isn't incorrect
06:36 gaal and... do we use Double or Floats internally?
06:37 gaal oldVal uses Double, CapInternal was with Floats
06:38 gaal it would be useful to spell out rules for :>:
06:39 cmarcelo_ is now known as cmarcelo
06:42 cmarcelo audreyt: HsJudy using pugs-fps is on the repo already. i just need to solve that util/build_pugs.pl problem I mentioned before to kick judy in.. and there is this svk thing now too =P i'm going to sleep in a few minutes...
06:43 gaal okay ((:>:) PureNum) Double satisfies injectiveness, so it must be correct...
06:52 FurnaceBoy joined perl6
06:53 gaal so, just to make sure -- it's okay for castBack to lose precision, yes?
06:54 agentzh joined perl6
06:54 kane-xs joined perl6
06:59 agentzh are the Chinese parens £¨£© considered "user-defined bracket characters"?
07:00 weinig is now known as weinig|zzz
07:00 agentzh i've tested many Unicode quote-like bracket character in GB2312, only this one fails in pugs.
07:01 agentzh *characters
07:01 gaal could it be there are two versions of the closing bracket?
07:01 gaal if so, you must use the one with the lower code point enumeration
07:01 agentzh gaal: nope.
07:02 agentzh gaal: i'll left this one failing in t/syntax/comments.t then.
07:02 agentzh *leave
07:04 buetow joined perl6
07:04 gaal see src/Pugs/Lexer.hs:60
07:04 gaal check if your code points are there
07:05 gaal if not, please add
07:07 agentzh gaal: okay
07:11 agentzh how can i test whether a given set of characters is with bidirectional mirrorings or Ps/Pe properties?
07:11 gaal from Perl?
07:11 gaal I think S02 discusses that
07:11 agentzh gaal: from whatever is fine.
07:12 gaal http://www.fileformat.info/info/unicode/char/1234/index.htm
07:12 svnbot6 r12104 | gaal++ | * PureNum encapsulates both floating-point and fractional values
07:12 svnbot6 r12104 | gaal++ | * add Val.Sig (not compiled at the moment, waiting on circularity saw)
07:12 lambdabot Title: Unicode Character 'ETHIOPIC SYLLABLE SEE' (U+1234)
07:12 gaal for different values of 1234
07:12 agentzh gaal: thanks
07:13 gaal oh that's interesting, the props problem looks like it allows commits but not updates? huh.
07:13 gaal or maybe it's just a warning.
07:15 luqui joined perl6
07:18 agentzh gaal: thank you! i've just confirmed from that website that it's pugs' fault since the cn character "FULLWIDTH LEFT PARENTHESIS" is with both Ps property and bidirection mirroring.
07:18 agentzh http://www.fileformat.info/info/unicode/char/ff08/index.htm
07:18 lambdabot Title: Unicode Character 'FULLWIDTH LEFT PARENTHESIS' (U+FF08)
07:18 gaal agentzh++
07:18 gaal fileformat++
07:18 agentzh so i should add that to pugs' Lexer.hs.
07:19 gaal yes please
07:19 agentzh gaal: i don't think Pugs should hard-coded these pairs.
07:19 agentzh *hard-code
07:19 agentzh it's error-prone.
07:19 gaal well, they have to be hardcoded *somewhere*
07:20 agentzh heh, scanning the Unicode database with a perl script to generate the list should be better.
07:21 gaal is there a data dump of this that encodes this information?
07:21 agentzh no clue. :(
07:22 gaal http://www.unicode.org/Public/UNIDATA/UCD.html seems to be a good starting point to look, if you're interested
07:22 lambdabot Title: Unicode Character Database
07:23 agentzh gaal: looking
07:23 svnbot6 r12105 | agentz++ | t/syntax/comments.t - added many more tests to test various forms of Perl 6 comments.
07:23 svnbot6 r12104 | gaal++ | * PureNum encapsulates both floating-point and fractional values
07:23 svnbot6 r12104 | gaal++ | * add Val.Sig (not compiled at the moment, waiting on circularity saw)
07:24 integral try .../perl-current/lib/unicodre/UnicodeData.txt, gaal, agentzh
07:24 integral err, that's s/unicodre/unicore/
07:24 agentzh gaal: take a look at the new L<...> magic link syntax used in t/syntax/comments.t.
07:24 agentzh integral: thank you.
07:26 gaal agentzh: okay, but did you update util/catalog_tests.pl for this?
07:26 agentzh integral: is there any doc on the format of UnicodeData.txt?
07:26 agentzh gaal: not yet.
07:26 integral no clue, try the README file in that directory
07:26 gaal are you planning to? :)
07:26 agentzh gaal: yes, of course.
07:26 gaal agentzh: okay, cool then :)
07:27 agentzh integral: okay.
07:27 gaal I wonder what actually maps a Pe to its Ps
07:28 gaal is it the first Ps with a lower code point?
07:28 agentzh no idea. :(
07:28 gaal TimToady knows, I'd bet
07:30 agentzh UnicodeData.txt looks very nice. :=)
07:33 agentzh gaal: i still fail to get LAST/NEXT/ENTER/etc parsed by tweaking Parser.hs. audreyt's guide doesn't work. :(
07:33 gaal agentzh: put up a patch somewhere?
07:34 agentzh gaal: okay
07:35 pasteling "agentzh" at 210.22.200.67 pasted "Patch to Parser.hs in order to make NEXT/LAST/ENTER/LEAVE parse (not working yet)" (21 lines, 673B) at http://sial.org/pbot/18907
07:38 agentzh after applying this patch, i still get the error 'No such sub: "&LEAVE"'. :-/
07:38 gaal agentzh: edit line 900
07:38 gaal add your new traits there
07:38 agentzh ah, adding
07:39 gaal (you're inside a 'case' that never selected any of your wanted traits)
07:39 agentzh heh, got it!
07:40 agentzh i didn't look elsewhere.
07:40 gaal maybe also need to be in 899, as appropriate (cf. $x = BEGIN {...}, I don't remember if any of your new traits have that, uh, trait to them)
07:40 gaal probably not
07:41 agentzh gaal: i know, i know.
07:41 agentzh gaal: this part is easy to me. :=)
07:41 gaal :)
07:41 agentzh anyway Parsec is not too hard to understand.
07:42 gaal yay!
07:42 agentzh gaal: thank you for your help!
07:42 buubot retch!
07:42 gaal np :)
07:45 agentzh (bbiab)
07:49 ruoso joined perl6
07:51 iblechbot joined perl6
07:55 agentzh yay, all of them parse now! gaal++ gaal++
08:00 svnbot6 r12106 | agentz++ | Parser.hs - added stubs for ENTER/LEAVE/KEEP/UNDO/NEXT/LAST/PRE/POST/CATCH/CONTROL blocks, so they can be parsed properly (but executed as an empty expression).
08:10 luqui so say I wanted to implement some of those
08:10 luqui what is the runcore that is making the most progress these days?
08:11 agentzh luqui: that will be really appreciated! :=)
08:17 gaal luqui: you can help us with the pugs one
08:17 gaal see src/Pugs/AST/CapInternals.hs
08:17 gaal which is not currently compiled, but is slowly broken down and put into src/Pugs/Val*, which is
08:18 gaal these are, for now, just the value parts of the AST, but as you can see that's a pretty big part.
08:19 gaal transisioning values is easier than the rest of the runcore, of course.
08:19 gaal also, lumi has started doing some of this too, so coordinate with him so as not to duplicate effort
08:20 gaal bbiab&
08:30 pasteling "agentzh" at 210.22.200.67 pasted "Win32 build errors" (22 lines, 1.2K) at http://sial.org/pbot/18908
08:31 agentzh i swear it's not my fault, since Parser.hs compiled and also ran correctly half an hour ago. ;-)
08:33 agentzh btw, "nmake realclean" before "nmake" doesn't work either.
08:33 elmex joined perl6
08:35 gaal agentzh: please look in your Pugs.cabal.in file, in the 'exposed-modules' field
08:35 gaal does it have Pugs.AST.Eval there? (it should...)
08:35 agentzh looking
08:36 agentzh gaal: no
08:36 gaal svn st that file? is it out of date?
08:37 luqui gaal, so this CapInternals business..
08:37 agentzh ah, it's very likely.
08:37 agentzh up'ing
08:37 gaal luqui: yes?
08:37 luqui do I port a piece and then run
08:37 luqui or is this completely unrunning stuff
08:38 gaal luqui: the Val stuff is running
08:38 luqui is that just the default runcore?
08:38 gaal you can cast an old val thing to new val with the 'vv' prim
08:38 luqui or do I run it in a special way?
08:38 gaal just 'make'. then do vv(1/2)
08:39 gaal there's also the hijacked `` operator, which constructs a PureStr:
08:39 gaal ?eval `1`+`2`
08:39 evalbot_12099 is now known as evalbot_12101
08:39 evalbot_12101 3.0
08:39 gaal this shows a PureStr coerced into PureNum
08:39 pmurias joined perl6
08:39 luqui so what does the Pure prefix mean?
08:40 gaal luqui: it means "immutable value"
08:40 gaal see S06; we now have 5 value classes
08:40 agentzh gaal: thx, it works.
08:40 gaal undef, native, immutable, mutable, and extrernal.
08:40 gaal agentzh: cool
08:40 luqui okay
08:41 gaal luqui: in the pugs world, mutable is in STM and external is in IO
08:41 gaal see src/Pugs/Val.hs
08:41 luqui I don't see any external in S06
08:41 gaal (Pure is in the Identity monad to make poymorphic code easier)
08:42 luqui ahh, the id monad *is* useful :-p
08:42 gaal luqui: well, you have a commit bit on Syn :)
08:42 gaal I'm not actually sure Perl 6 wants to expose that detaiul
08:42 luqui well I'm trying to read about what external means
08:42 luqui give me an example of an external value
08:42 gaal but maybe it must, because of atomic-{}
08:42 gaal a filehandle?
08:42 gaal sometihng you can't undo.
08:43 luqui okay
08:43 luqui though...
08:43 luqui "something you can't undo" describes an action, and externals are values
08:43 luqui and seeing as how perl is not haskell, that doesn't make sense
08:44 gaal so, currently Pugs.Val has nice automatic coercions -- see the ICoercible typeclass
08:44 gaal well, something on which operations are not generally undoable
08:44 luqui that doesn't sound very precise
08:44 gaal but okay, if the distinction bothers you just ignore it for now
08:45 luqui okay
08:45 luqui I'll work on pure for now and not worry about it
08:45 luqui I'll talk to audrey later
08:45 plisk joined perl6
08:45 gaal now, one thing you'll notice about the new AST in contrast with the old one is that Pads are moved out of Eval
08:45 svnbot6 r12107 | agentz++ | [t/statements/]
08:45 svnbot6 r12107 | agentz++ | created the closure_traits subdir
08:45 svnbot6 r12107 | agentz++ | moved control_blocks.t to closure_traits/ as obsolete.t
08:46 svnbot6 r12107 | agentz++ | moved control_blocks_ascend.t to closure_traits/ as ascending_order.t
08:46 svnbot6 r12107 | agentz++ | moved control_blocks_descend.t to closure_traits/ as descending_order.t
08:46 svnbot6 r12107 | agentz++ | moved control_blocks_rval.t to closure_traits/ as rvalue.t
08:46 luqui I think I remember the beginning of that change about a year ago
08:46 gaal well, yes, it's taking a while :/
08:47 luqui so, I'm still not quite clear where to start
08:47 luqui what is next?
08:48 gaal (huh. reflecting on this it becomes clear Code cant' be Pure, since it contains a Pad)
08:48 luqui that's bad
08:48 luqui Code is pure
08:48 luqui just because it references a pad doesn't mean it is not a value
08:49 gaal well, there's a technical problem right now that's needs solving: the various Val types reference each other but we want to keep them in separate files; audreyt is looking into it
08:49 luqui though it's unclear how to do that from the haskell world
08:50 gaal but basically, move more and more things from CapInternals to Val*
08:50 gaal finding out problems with the enw design as we go along
08:50 luqui I see a lot of type definitions
08:51 luqui basically--if you were going to do this, what is the next thing you would port?
08:51 gaal at the point when all of Val is transitioned, we can actuall port the runcore to use it
08:51 luqui because there seems to be a fair amount of interdependency
08:51 gaal well. I was moving over Sig
08:52 gaal but that ran into the circularity thing.
08:52 gaal oh, there's a somewhat separate thing you could look into
08:52 gaal Pugs.MOP
08:52 luqui "import Pugs.AST.CapInternals"
08:53 luqui I'm guessing MOP doesn't compile :-p
08:53 gaal this is based on ideas fleshed out in Perl 5 Class::MOP and Moose
08:53 gaal well actually... there's some code in misc/pX/gaal that chases into CapInternals
08:54 gaal for the purpose of pretty-printing Haskell values as Perl 6 or Moose
08:54 gaal but if this area is interesting to you there's a lot of metamodel work that can be done
08:55 gaal the leads for this are of stevan, nothingmuch, audreyt.
08:55 luqui it is interesting to me in a "I would do it differently, so I'm leaving it to others"
08:55 luqui way
08:56 gaal there's room for discussion with these guys, but sure, okay
08:57 gaal anymoose: find something that strikes your fancy
08:57 luqui well CapInternals does, but I don't know where to start
08:57 luqui let's look at it from another angle
08:58 luqui what is a feature not supported by Val that needs to be atm
08:58 gaal signatures/captures :)
08:58 gaal but that's saying a bit
08:58 luqui uh yeah
08:58 luqui so all the easy stuff is done?
08:59 gaal most of it.. I'd be happy if you sanity-checked our coercions though. some may well be missing or wrong
08:59 gaal brb
09:01 agentzh gaal, integral: hehe. i've found the description of the format used in UnicodeData.txt here:
09:01 agentzh http://www.unicode.org/Public/UNIDATA/UCD.html#UnicodeData.txt
09:01 lambdabot Title: Unicode Character Database
09:01 pmurias luqui: have you seen the p5p6 effort?
09:01 gaal b
09:02 luqui pmurias, nein
09:02 agentzh so i think it's not hard to get a (mostly) complete list of user-definable delimiter character pairs.
09:04 agentzh suppertime &
09:04 agentzh left perl6
09:05 pmurias luqui: it lives at ~/perl6/Pugs-Compiler-Perl6
09:06 luqui where ~ means...
09:06 pmurias ups pugs-repo/perl5/Pugs-Compiler-Perl6
09:06 luqui oh, perl5
09:06 luqui you said perl6
09:06 pmurias a typo :)
09:08 pmurias the perl6 version live in v6/v6-Compiler
09:08 luqui pmurias, thanks for the pointers
09:11 plisk joined perl6
09:16 lambdabot joined perl6
09:17 pmurias luqui: if you have any questions about them feel free to ask me , i'm fairly familiar with them
09:17 luqui okay, thanks
09:17 pmurias fglock and clkao are more knowledgable about them thought
09:21 pmurias luqui: i looked into Parse-Rule and rather liked it
09:21 luqui pmurias, verify that the appearance of $object in Pugs/Emitter/Perl6/Perl5.pm:726 is a bug
09:22 pmurias looking...
09:23 luqui Thanks.
09:23 luqui I was trying to use abstractions that perl6 didn't support yet, but it let me anyway :-p
09:23 luqui scripty languages are nice that way
09:25 luqui pmurias, seeing as how it appears in a comment in the generated code, it seems reasonable that it shouldn't be interpolating
09:25 luqui but i can't tell from the context
09:29 pmurias svk pulling...
09:33 pmurias the openfounry doesn't work for me now :(
09:33 luqui okay.  I will assume it is a bug and fix
09:34 * pmurias gets back to implementing a pairing heap
09:35 svnbot6 r12108 | luqui++ | Probably fixed an interpolation bug.
09:36 lambdabot joined perl6
09:43 arguile joined perl6
09:44 svnbot6 r12109 | luqui++ | Removed superfluous newline on .perl output.
09:48 lambdabot joined perl6
09:48 jmf left perl6
09:49 luqui welp, two one line commits.  I feel useful.  g'night. &
09:51 lambdabot joined perl6
09:52 pmurias g'night
09:52 rodi joined perl6
10:06 lambdabot joined perl6
10:12 audreyt stevan: pong
10:13 chris2 joined perl6
10:18 cmarcelo audreyt: hi.. I think I did something wrong in a commit (r12102) and it may messed up repo for svk users =P
10:18 audreyt I see that.
10:19 * froh-doh confirmes
10:19 rodi rodi gets "Incomplete data: Delta source ended unexpectedly" :(
10:21 audreyt hm.
10:21 audreyt pretty sure it's a svk bug.
10:21 audreyt or libsvn bug
10:24 clkao uhm.
10:24 clkao is there a timebomb or something? why so many svn/svk issues today
10:24 gaal moose
10:24 audreyt clk http://svn.haxx.se/dev/archive-2002-12/1261.shtml
10:24 lambdabot Title: Subversion Dev: Re: bug? &quot;Delta source ended unexpectedly&quot;
10:24 audreyt clkao: http://svn.haxx.se/dev/archive-2002-12/1261.shtml
10:24 lambdabot Title: Subversion Dev: Re: bug? &quot;Delta source ended unexpectedly&quot;
10:25 audreyt seems it's a DAV problem and somehow the checksums was corrupted
10:25 audreyt I know we can workaround with sync -s
10:25 audreyt but other people not on this channel will be affected as well
10:25 gaal sounds like the repo needs to undergo surgery
10:26 audreyt I don't have shell access to svn.openfoundry.org anymore
10:26 audreyt if I had I can go in and rm the rev/revprop files ;)
10:26 audreyt wow. rt.cpan.org 500s on me
10:26 clkao audreyt: can you send me details/ i might be able to take a look on train
10:26 audreyt back now
10:26 audreyt clkao: svk pull pugs repo
10:27 audreyt on rB[BSyncing http://svn.openfoundry.org/pugs
10:27 audreyt Retrieving log information from 12102 to 12109
10:27 audreyt 不完全的資料: Delta source ended unexpectedly
10:27 lambdabot Title: Revision 12109: /
10:27 audreyt that's it
10:27 gaal audreyt: spj just replied to my query on class in hs-boot
10:27 audreyt svn can diff it just fine
10:27 audreyt gaal: ooh. any good news?
10:27 gaal saying it's a ghc bug :(
10:27 audreyt oh. newtype deriving in hs-boot is also borken
10:27 cmarcelo i have to unplug now, but i'll be back ASAP. folks: tips about problem on #svk... back in a bit &
10:27 cmarcelo left perl6
10:27 gaal so possibly until 6.6 we're out of luck
10:28 gaal there's not a 6.4.3 planned, is there?
10:28 audreyt 12:24 < froh-doh> plasmaball: just for curiosity, how do you see this?
10:28 audreyt 12:24 < plasmaball> uncomment Smart::Comment in SVN::Mirror::Ra
10:28 * audreyt praises the mad doctor
10:29 jferrero joined perl6
10:29 audreyt gaal: there is one planned because 6.4.2 threading fails on SMP for bsd archs
10:29 audreyt but I doubt they'll MFC that
10:29 gaal spj sez: "The manual (for 6.6 anyway) says that class decls are
10:29 gaal allowed in hs-boot files, but instance decls are not, whereas the code
10:29 gaal seems to say that class decls aren't but instance decls are!"
10:29 audreyt I can confirm that.
10:29 gaal MFC?
10:29 audreyt merge from current
10:30 audreyt ok. plan B.
10:30 audreyt can we put the class into a dedicated module?
10:30 gaal should we petition for inclusion? this is kinda important for us...
10:30 HXanadu joined perl6
10:31 audreyt 6.6 will be out by ICFP
10:31 audreyt which is next month
10:31 audreyt and I fully plan to just depend on it... seems it will be about the same time as 6.4.3 anyway
10:31 audreyt and includes my Real Objects patch
10:31 gaal we cannot, because the class mentions many Pure types
10:31 audreyt so we can do OO instead of fake OO in ghc
10:32 audreyt but surely the class can use the boot to obtain that types?
10:32 audreyt Pugs.Val.ICoercible
10:32 gaal who's boot?
10:32 audreyt in it we import {-# SOURCE #-} Val
10:32 gaal it'll need Pugs.Val.*-boot
10:32 audreyt why?
10:32 audreyt Pugs.Val can import them
10:32 audreyt and then reexprt
10:33 gaal well, but Pugs.Val.Str doesn't import Pugs.Val
10:33 audreyt and so for .Class, it can assume Pugs.Val exports all them
10:33 diakopter joined perl6
10:33 audreyt right, but it could
10:33 audreyt again with SOURCE
10:33 gaal so evrybody boots? youch
10:34 audreyt alternative seems to be putting the mentioned Pure into the same file as coercible
10:34 audreyt maybe we cave in and have Pugs.Val.Pure
10:34 audreyt and define the clas there
10:34 gaal maybe not so bad... wc  src/Pugs/Val/* -->   31  144 1085 total
10:35 audreyt I think the base pure types that mentioned by coercible can be in one file
10:35 audreyt let's call it .Pure?
10:35 gaal .Saintly
10:35 gaal sure
10:35 audreyt but I'd very much like other things, like, junctions, be able to be put into Pugs.Val.Pure.Junction
10:36 gaal that import Pure but not the other way around, yes?
10:36 audreyt or maybe Pugs.Val.Base
10:36 audreyt and then Pugs.Val.Junction imports it
10:36 audreyt I think that's saner
10:36 audreyt as ICoercible is arguably one of the base types
10:36 audreyt *interfaces
10:37 gaal curious how crossing metaphors breaks here; "base" is the opposite of "pure" in other senses
10:37 gaal okay, sounds good to me.
10:37 gaal we can refactor when 6.6 lands
10:38 gaal if we feel the need.
10:38 diakopter sorry to interrupt - anyone want to guide me through compiling ghc on intel mac?  or point me to a howto?
10:38 gaal have you been deleting things in CapInternals that you'd moved to Val?
10:41 diakopter i'll take that as a no :)
10:42 gaal oh, I think my checkouts are all borked.
10:43 rodi diakopter: http://hackage.haskell.org/trac/ghc/wiki/X86OSXGhc
10:43 lambdabot Title: X86OSXGhc - GHC - Trac
10:43 gaal my wc thinks it has uncommitted changes (r12104 for example)
10:43 gaal should I sync -s r12103 ?
10:44 gaal r12102 rather
10:45 diakopter hey; excellent!
10:45 diakopter rodi: thanks (and audreyt)
10:50 HXanadu joined perl6
10:50 audreyt hrm.
10:50 audreyt gaal: yeah, do that for now, I guess
10:50 audreyt svk sy -s 12103 //mirror/pugs
10:50 audreyt but that's very bad :/
10:51 audreyt diakopter: glad to be of help :)
10:52 diakopter audreyt: is your build from 20060608 updated enough?
10:52 diakopter er; new enough?
10:52 audreyt yeah
10:52 audreyt it's the one I'm using :)
10:54 gaal good, works, refactoring
10:55 lollan joined perl6
10:57 gaal hmm. class ICoercible where asNative. does this mean Val tself must be in Base?
10:58 gaal or can it be booted?
10:59 audreyt booted
11:00 gaal hmm and class Pure?
11:07 gaal can I misrepresent types in boot? that is if I need an NBuf stub can I just say data ValNative = NBuf !NativeBuf or had I better be honest about it and maintain the variants?
11:13 gaal ugh, I gotta run. putting up the patch so far...
11:16 gaal audreyt: http://perlcabal.org:~gaal/tmp/valbase.0.patch
11:16 gaal I'll be back in ~8 hr
11:16 gaal I can continue then if you don't get tuits.
11:17 gaal bbl &
11:18 cmarcelo joined perl6
11:25 agentzh joined perl6
11:28 cmarcelo agentzh: remember in April you had a problem with svk and "delta source ended unexpectedly" ? how did you solve it?
11:28 * agentzh has written a Perl 5 program which can tell him whether a character is a valid user-defined delimiter.
11:28 agentzh cmarcelo: that was what drove me back to svn. :=)
11:29 agentzh svk made me mad.
11:29 cmarcelo agentzh: svn-only worked fine with that repo?
11:29 agentzh cmarcelo: yes
11:29 agentzh svn never sucks.
11:30 agentzh i'm glad to see i'm not lonely in the world. (*grin*)
11:31 agentzh cmarcelo: IIRC, i modified a bit in svk's Config file and made svk work again.
11:31 clkao it's software
11:32 agentzh cmarcelo: but that trick does not always work.
11:32 agentzh cmarcelo: i encounter the problem once a month.
11:32 clkao audreyt: even the latest dev release on cpan doesn't fithat?
11:33 audreyt clkao: of SVN::Mirror::Ra?
11:33 clkao doesn't fix that i meant
11:33 agentzh clkao: svk is very nice except that it's not very stable on my machine. ;-)
11:33 audreyt I'll try
11:33 clkao pesky slow net
11:33 cmarcelo clkao: if your talking about latest dev of svk, i used trunk and that problem remains..
11:34 audreyt clkao: 0.69_1?
11:34 gaal well that turned out easier than I thought. committed.
11:34 svnbot6 r12110 | gaal++ | * Refactor basic ValPure types into Pugs.Val.Base
11:34 svnbot6 r12110 | gaal++ | * Look there for ICoercible.
11:34 svnbot6 r12110 | gaal++ |   If adding PureJunction etc., use Pugs.Pure.Junction.
11:35 * gaal waves
11:35 clkao yes 0.69_1
11:35 audreyt clkao: yeah. still bad
11:35 audreyt gaal: thanks!
11:35 audreyt clkao: should I upgrade svn?
11:36 audreyt I'm on 1.3.2
11:36 clkao no
11:37 clkao sho7ldnt matter
11:37 llama32 joined perl6
11:37 llama32 how fast is parrot expected to be when it is more mature? can/will it aproach JVM or Mono speeds?
11:39 audreyt I don't know an answer to that.
11:39 audreyt for unboxed, especially numeric operations, parrot is already very fast
11:39 audreyt since unlike Mono, it's designed to be interpreted
11:39 audreyt instead of relying on JIT
11:40 audreyt but currently there is no language that targets both parrot and JVM/Mono
11:40 audreyt that runs faster on parrot
11:40 audreyt not by any margin
11:40 audreyt I expect in the future it will be much better
11:40 llama32 but doesn't it at least allow for JIT? i'm sure i read it is/will/can be JITTed
11:40 audreyt but I don't know if it will be comparable
11:40 audreyt it does
11:40 audreyt and it's pretty comprehensively JITted on x86
11:40 audreyt and ppc
11:40 audreyt but that's for unboxed operations
11:41 audreyt the object operations, that is the PMC vtable dispatch
11:42 audreyt currently always assume that it can be overriden at runtime
11:42 audreyt and as such carries an inherent speed hit. but for most dynamically-typed languages that's actually correct behaviour
11:43 audreyt but as I said, because no comparable implementations exist -- besides ironpython vs parrot/python
11:44 audreyt (which ironpython wins handily)
11:44 audreyt it's kinda hard to say at this point. I'm sure that it will get much better when e.g. Tcl folks finishes the completeness goal and can move to optmization goal.
11:45 llama32 hmm
11:53 svnbot6 r12111 | agentz++ | t/syntax/comments.t - added more tests for Unicode-delimited embedded comments. (one test is mysteriously failing, audreyt?)
11:53 GeJ joined perl6
11:53 agentzh the delimiters \xFF08 and \xFF09 are already listed in Lexer.hs, but they don't parse. weird.
11:54 nothingmuch seen luqui?
11:54 jabbot nothingmuch: luqui was seen 2 hours 4 minutes 48 seconds ago
11:54 nothingmuch urf
11:54 nothingmuch did he go to sleep?
11:55 bpphillips joined perl6
12:08 svnbot6 r12112 | agentz++ | comments.t - minor tweaks.
12:15 tup joined perl6
12:20 * jferrero is away: Ocupado... ahora vuelvo...
12:20 svnbot6 r12113 | agentz++ | t/statements/closure_traits/rvalue.t - fixed the die_ok test.
12:20 lisppaste3 joined perl6
12:28 Limbic_Region joined perl6
12:28 llama32 joined perl6
12:33 cmarcelo in util/build_pugs.pl (around line 276) adding " -Lthird-party/... " to  ghc command line is supposed to work? when calling "make" it complains about path not find, copying and pasting the command that it prints, works fine. any idea? (AFAIK, when build_pugs issues the command it is in pugs root dir).
12:33 svnbot6 r12114 | agentz++ | [t/statements/closure_traits]
12:33 svnbot6 r12114 | agentz++ | added the new test file multiple.t which tests multiple occurrences of BEGIN/CHECK/INIT/END blocks.
12:36 Limbic_Region oh hey, I got a really neat error building pugs this morning
12:37 Limbic_Region "ghc.exe: panic! (the `impossible' happened, GHC version 6.4.2):", lookupVers1 PugsziASTziInternals envPos{v}
12:37 rgs ghc makes the impossible possible
12:37 * Limbic_Region tries a realclean to see if that magically fixes the problem again
12:38 Limbic_Region rgs - well, if you had suggested to me a few years ago there would be a Perl6 implementation on a functional language such as Haskell, I probably would have said impossible
12:39 Limbic_Region of course, I am still mostly ignorant of Haskell and it is deep magic to me how this all works
12:39 rgs well, I was also referring to the Old Saying, "makes hard things easy and impossible ones possible" :)
12:39 llama32 i don't "get" functional languages...
12:41 audreyt Limbic_Region: yeah, we fixed that a while ago...
12:41 audreyt Limbic_Region: if you rm the Internals.hi and Internals.o
12:41 audreyt as well as .hi-boot and .o-boot
12:41 audreyt in dist/build
12:42 audreyt in dist/build/src/PugsAST/
12:42 audreyt then it should work
12:42 audreyt realclean of course would work as well
12:42 Limbic_Region realclean already performed
12:42 audreyt k
12:42 Limbic_Region but thanks
12:43 xerox llama32: functional languages do have functions as first class citizens - this means you can pass them as arguments and return them from other functions.
12:43 Limbic_Region llama32 - I have a hard time getting functional languages too because my brain does not think recursively
12:43 Limbic_Region other aspects of it being functional languages such as higher order functions (or first class functions) is trivial
12:44 ludan joined perl6
12:44 Limbic_Region another hard thing for me to get is to be thinking in terms of side-effect free functions and when it is right to use a monad versus when is it better to rethink about your situation to not use a monad
12:45 xerox Monads *express* effects, so there is no "duality".
12:45 Limbic_Region in fact, the last year and a half or so - my perl has been pretty functional from the extent that it can be
12:46 Limbic_Region xerox - I think you missed my point - side-effect free functions require thinking a certain way
12:47 Limbic_Region I do not easily think that way so it is hard for me to know when I am just not thinking about a problem in terms of functional languages or when I should rely on a monad
12:47 agentzh ?eval my $code = '{ END { 123 } }'; eval $code;
12:47 evalbot_12101 undef
12:47 xerox I think I understand, but it is simple once you realize there are no side-effect-ful *functions* in Haskell.
12:47 agentzh ?eval my $code = '{ BEGIN { 123 } }'; eval $code;
12:47 evalbot_12101 123
12:47 agentzh i wonder why eval { END {...} } returns undef.
12:47 Limbic_Region xerox - trust me, it is not simple (for me) as I have tried at least a dozen times to "get" Haskell
12:47 * Limbic_Region considers himself fairly intelligent
12:48 agentzh audreyt: is it a bug?
12:48 xerox Maybe I should be more precise.
12:48 xerox A function in Haskell is a value whose type is construced by the -> type constructor.
12:48 audreyt I don't think it's a bug.
12:49 audreyt it havn't been run, it doesn't have a value.
12:49 audreyt the spec agrees with me :)
12:49 xerox Values of type IO a are called IO-actions returning a value of type a.  More generally, values of type Monad m => m a are called monadic actions returning values of type a.
12:49 audreyt the END{} doesn't have a * in S04
12:49 audreyt so it can't be used as an expression
12:49 agentzh audreyt: but the outer closure should return something like a handle.
12:50 xerox But I don't know what is your problem, in fact.
12:50 agentzh is it a use of rvalue of END {...} ?
12:50 * Limbic_Region spares xerox the trouble and says that he has had this explained to him several times and he just doesn't get it
12:50 audreyt agentzh: no. you are evalling an empty block
12:50 llama32 Limbic_Region: it seems to require a more conventional mathematical way of thinking than with imperative programming... and i'm failing maths :)
12:50 agentzh audreyt: oh, i see. thanks!
12:50 audreyt agentzh: which evaluates to undef
12:50 audreyt np :)
12:50 audreyt (same as in perl5)
12:50 agentzh heh
12:51 Limbic_Region llama32 - I do exceptionally well in many areas of maths but fail miserably at others
12:51 Limbic_Region same with programming I guess - my brain just isn't wired right
12:51 mauke Limbic_Region: have you tried OCaml?
12:52 Limbic_Region mauke - no but I hear good things
12:53 mauke you may find it more accessible than haskell; e.g. you can still do while loops, variables, simple I/O etc
12:53 xerox Limbic_Region: as you please.
12:53 Limbic_Region in any case, it isn't important for me to become an exceptional Haskell hacker - eventually I will gain average competency
12:53 Limbic_Region that's good enough for me
12:54 xerox On the other hand I can't make more than a veeery few steps in the perl land :)
12:55 audreyt hm. I wonder if it's a svn 1.1.1 bug.
12:55 audreyt on the openfoundry server's dav
12:55 llama32 i'm interested in lisp/scheme... i can grasp the whole recursion instead of looping bit, but pure functional haskell just hurts my brain
12:56 mauke where does it hurt? :-)
12:57 llama32 all of it... it's like it short circuits or something...
12:58 Limbic_Region my problem with recursion isn't that I don't understand it - when I see someone else's recursive solution I usually understand it relatively quickly - it's just that my brain doesn't think that way and coming up with my own is difficult.  I naturally write iterative routines
12:59 svnbot6 r12115 | agentz++ | [t/statements/closure_traits/]
12:59 svnbot6 r12115 | agentz++ | added the new test file eval.t which tests closure traits generated at runtime.
12:59 * Limbic_Region even wrote a perl.com article about iterators
12:59 mauke Limbic_Region: can't you just mechanically convert iteration to recursion?
12:59 audreyt ?eval $?PUGS_VERSION
12:59 evalbot_12101 \"Perl6 User\'s Golfing System, version 6.2.12, June 26, 2006 (r12101)"
12:59 agentzh w00t!
13:00 agentzh &Test::todo can use this.
13:00 kanru joined perl6
13:01 Limbic_Region mauke - AFAICT, it is much easier to turn recursive functions into iterative ones
13:01 Limbic_Region at least the iterative solutions that I come up with look nothing like their recursive counterparts
13:01 llama32 i think my main problem with pure functional programming is that i'm more interested/experienced in the kind of code that doesn't naturally fit in with functional programming - 2D games with all the blitting and the optimizing and the pain in the brain, windowing systems, network protocols, etc.
13:01 mauke nah, then you need an explicit stack of contexts and memory management and stuff :(
13:02 Limbic_Region *shrug* - we could spend days discussing why my brain is all fubar and incapable of grok'ing Haskell but I think time would be better served on improving Perl 6
13:02 * Limbic_Region shuts up now
13:02 svnbot6 r12116 | agentz++ | [t/statements/closure_traits/obsolete.t]
13:02 svnbot6 r12116 | agentz++ | removed redundant tests.
13:02 mauke heh
13:03 Limbic_Region audreyt - correct-a-mundo, a realclean indeed fixed the impossible problem
13:03 audreyt changes topic to: svk sy -s 12103 //mirror/pugs | paste: http://sial.org/pbot/perl6 | pugs.blogs.com | pugscode.org | pugs.kwiki.org | http://www.treehugger.com/files/th_images/paradigm.jpg
13:03 agentzh bedtime &
13:03 agentzh left perl6
13:04 audreyt (svk sy -s 12103 //mirror/pugs) is temp workaround
13:04 audreyt will be investigating it with openfoundry people
13:07 lisppaste3 joined perl6
13:09 froh-doh joined perl6
13:10 fiendskull9 joined perl6
13:11 Limbic_Region audreyt - what is the svn svk bug you are seeing?
13:11 * Limbic_Region hasn't experienced any problems this morning
13:15 cmarcelo Limbic_Region: evan_tech.livejournal.com has a post on how I/O in haskell works, maybe you want to read it.
13:16 Limbic_Region cmarcelo - I am fairly sure I have figured out the only way I am going to learn Haskell
13:16 Limbic_Region as I have read lots
13:16 Limbic_Region I am just going to need to start with small simple programs and have a tutor show me what I am doing wrong and why
13:17 Limbic_Region and as I build bigger and more complex problems hopefully the need for a tutor will go away
13:17 Limbic_Region I just haven't looked for someone stupid er, um kind enough to hold my hand yet
13:19 audreyt #hasell has plenty of candidates...
13:19 audreyt #haskell even
13:20 * xerox waves his hand
13:20 Limbic_Region well xerox then - how bout starting on Monday
13:21 xerox Sounds good.
13:21 audreyt ooh.
13:21 Limbic_Region my access to #haskell is limited to Juerd's willingness to add it to feather's CGI:IRC so we may just need to go into a /msg session
13:21 explorer__ joined perl6
13:21 xerox No problem, just ask. If I am not around ask #haskell, they are exceptionally kind to newcomers.
13:22 audreyt Juerd: #haskell on feather please? :)
13:22 wolverian Limbic_Region, I always spend a month doing practically nothing in the language I'm learning.. then one day, I find out I understand the concepts that were just jargon before to me. my use of the language rises from there on. with haskell it took me four months, but now I'm finally using it. I think my point is: have patience.
13:23 audreyt four months seems like a fairly good amount...
13:23 audreyt I took about that long as well to be comfortable
13:24 Limbic_Region well, I tend to be a break-through thinker
13:24 Limbic_Region I will spend x amount of time scrutinizing over what seems like the most basic concepts
13:24 cmarcelo is it ok to use irssi @ feather? to be on #svk? ($HOME is offline)
13:24 Limbic_Region and then when it clicks - I just get it and rapid growth comes
13:24 audreyt cmarcelo: sure!
13:24 audreyt many here use feather as irssi jumpboard
13:25 audreyt me included
13:29 cmarcelo audreyt: take a peek when you can on my build_pugs question, its the only blocker to commit judy integration with p(not break) > 0..
13:30 gaal To people who are trying to understand side effects in functional languages, this writeup might be useful:
13:30 cmarcelo (does "take a peek" even exists in english? s/take a peek/look/...)
13:30 gaal http://community.livejournal.com/evan_tech/197471.html?nc=8
13:30 lambdabot Title: evan_tech -- how i/o can work in a purely functional language
13:30 audreyt ooh.
13:31 audreyt cmarcelo: use abs path?
13:31 audreyt -L$path
13:31 audreyt Cwd::abs_path it
13:31 wolverian gaal, that journal is well written. do we have the author here? :)
13:31 audreyt because I think the building does chdir itself
13:32 audreyt I'm afraid I need to sleep :/
13:32 * audreyt spent too much time tracing SVN::Mirror::Ra
13:33 cmarcelo gaal: i've just pointed it mins ago =)
13:33 Limbic_Region audreyt - laws of diminishing returns - sleep, you will be more productive
13:34 * gaal isn't here, so he missed cmarcelo's pointer. oops :)
13:34 svnbot6 r12117 | gaal++ | * add %*CONFIG<perl_compiler>, conjecturally to be defined by all
13:34 svnbot6 r12117 | gaal++ |   implementations, for use in &Test::todo etc.
13:35 cmarcelo audreyt: tks.. i'll try it..
13:36 gaal wolverian: unfortunately I've not been able to lasso him in yet
13:36 gaal but he's a pretty cool hacker!
13:38 [particle] gaal: i haven't seen any mails discussing Test::todo etc. did i miss them, or have there not been any? (been away for two days, bday vacation)
13:38 Juerd audreyt: Please go ahead.
13:39 gaal [particle]: happy birthday! no, I don't there there were any mails about it. see TASKS in pugs
13:40 gaal audreyt: whart do we do with Code? it oughta be Pure, but it has a Pad. That's the present pending design problem in newval
13:41 [particle] gaal: thanks, and hrmm... there are other shared test questions to ask, i think they need summarization and discussion. i guess i'll write it up then.
13:42 gaal [particle]: please do!
13:42 audreyt gaal: that's not a problem
13:42 audreyt gaal: two pure compares the same if their value is the same
13:42 audreyt their value includes Pad's SKID
13:43 audreyt so that's fine, I think.
13:43 gaal audreyt: you're saying a Code has an ObjId of the Pad, not a Pad? OK...
13:43 audreyt er no
13:43 gaal that does imply lifting Pad to Perl6 objectspace?
13:43 audreyt I'm saying it has a Pad
13:43 audreyt but that is a fine.
13:44 audreyt as long as none of its as* involves the Pad
13:44 audreyt for all purpose it's still operating in P monad.
13:44 gaal hmm. okay. can't copy Codes though...
13:45 gaal (also, minorly, this means another circularity coming up, but probably OK with hs-boot)
13:45 audreyt think about Se Val
13:45 audreyt eq Val
13:45 audreyt that is PureSeq
13:45 audreyt it's in Pure
13:45 audreyt but the Val may actually have Mut component
13:46 gaal indeed
13:46 audreyt does that stop us from putting it in Pure? no :)
13:46 gaal unsafePerformImpossible
13:46 explorer__ left perl6
13:46 jferrero joined perl6
13:47 gaal Okay, I have to remanifest my absence. bbl :)
13:47 * gaal eigens &
13:47 xerox perform && impossible ==> False
13:50 audreyt *wave* &
13:51 fglock clkao: Test.pmc is shipped because it takes too much ram to compile - this way I can run the tests in my tablet more easily
14:13 vel joined perl6
14:20 svnbot6 r12118 | fglock++ | v6-Compiler - Grammar/Native.pm is more friendly to does-less backends
14:26 svnbot6 r12119 | fglock++ | v6-Compiler - v6::AST provides v6::AST.node($match,$node_type)
14:26 svnbot6 r12119 | fglock++ | provides '$match does $node_type', but can be overriden in backends
14:41 svnbot6 r12120 | fglock++ | v6 - added 'no strict 'refs'' in new namespaces
14:47 svnbot6 r12121 | fglock++ | v6-Compiler - 'make clean' deletes *.pmc; v6::AST::node() is not a method
15:06 weinig joined perl6
15:12 cjeris joined perl6
15:18 lichtkind joined perl6
15:21 lichtkind hiho brave lamda camels
15:27 fglock are p6p6 people camelcamels?
15:27 stevan fglock: do you mean p5p6?
15:32 fglock stevan: no, v6-Compiler - perl6 compiler written in perl6
15:32 fglock v6/v6-Compiler in svn
15:32 stevan fglock: hmm... circular camels maybe?
15:33 stevan I am picturing a camel eating its own tail
15:33 stevan or if we go with the "tie-ing the knot" metaphor,.. a camel tied in a knot
15:33 * rw-rw-r-- glues a hump on his stupid puppy and takes a picture of it chasing its own tail.
15:51 lichtkind your crazy folks ... im currently at home here
16:02 pdcawley joined perl6
16:03 gaal The Hump Oroborous
16:06 fglock left perl6
16:08 HXanadu joined perl6
16:11 [particle] question on p2 today... should C<< rule foo { <bar>* } >> be considered C<< rule foo { <?ws><bar>*<?ws> } >> or C<< rule foo { <?ws>(<bar><?ws>)* } >> ??
16:11 [particle] or, should i forward that question to p6l or p6c ?
16:12 hexmode joined perl6
16:13 Limbic_Region joined perl6
16:15 pdcawley joined perl6
16:22 Psyche^ joined perl6
16:26 froh-doh ?eval my $a = 42; my $b = 42; $a =:= $b
16:26 evalbot_12101 is now known as evalbot_12121
16:26 evalbot_12121 Bool::True
16:27 * froh-doh is puzzled
16:28 weinig joined perl6
16:28 froh-doh Data.pod reports this $a =:= $b test as "false, of course" - is this a known bug or is the doc wrong?
16:29 froh-doh I mean doc/Perl6/Overview/Data.pod
16:32 cjeris anybody else run into ghc internal panic while building r12121 Pugs.Compile.Pugs on Win32/ghc 6.4.2?  I did but it didn't come back when I restarted the build
16:33 Limbic_Region cjeris - yes
16:33 Limbic_Region there are 2 ways to fix it
16:33 Limbic_Region one is a realclean
16:33 Limbic_Region the other is to check the log history for audreyt telling me the alternative
16:33 Limbic_Region (after I already started the realclean)
16:33 cjeris :D
16:33 * Limbic_Region looks for you
16:33 Limbic_Region oh, btw, I have an update on the heap
16:33 Limbic_Region bbiab
16:35 Limbic_Region "if you rm the Internals.hi and Internals.o as well as .hi-boot and .o-boot  in dist/build  in dist/build  then it should work"
16:35 Limbic_Region update on the heap
16:35 Limbic_Region apparently the default for GHC is to set the heap to unlimited
16:36 Limbic_Region unfortunately, on Win32
16:36 TimToady froh-doh: =:= may or may not be true for two constants.  depends on whether they're represented by the same object.
16:36 Limbic_Region the limit for unlimited is the limit we are seeing when the build fails
16:36 TimToady should use === or eqv for value comparisons
16:37 Limbic_Region so it isn't that pugs isn't picking up the config.yml - it is that it is already greater than what GHC is limited to (on Win32 32bit )
16:37 Limbic_Region sorry :-(
16:38 froh-doh TimToady: now I see, the comments specify two different "cells", but in my quick test they're probably the same
16:38 cjeris Limbic_Region: but why does it work right when you rm dist/build/Pugs/Parser.o and restart?
16:38 * [particle] thinks ghc has a funny definition of unlimited
16:38 Psyche^ is now known as Patterner
16:39 Limbic_Region cjeris - you mean the heap?
16:39 audreyt $a =:= $b above should be false
16:39 Limbic_Region you shouldn't need to remove anything - just restarting the make should work
16:39 Limbic_Region it is because the heap is empty (no residual stuff from earlier parts of the build)
16:40 cjeris Limbic_Region: ok, thanks a lot!
16:41 * cjeris thinks again about installing VMware
16:41 audreyt froh-doh: =:= in pugs is broken
16:41 audreyt it should be testing pointer equality in C land
16:42 audreyt I'll do a (int)(void*) on them
16:42 Limbic_Region does Pugs build on Cygwin?
16:42 audreyt (weakly typed languages)++
16:42 Limbic_Region that should be an alternative cjeris
16:42 * obra grins at audreyt
16:42 froh-doh audreyt: ok, so I've to learn what these "cells" are :)
16:43 audreyt froh-doh: Scalar objects.
16:43 svnbot6 r12122 | audreyt++ | * Make =:= Work For Real by testing container's pointer equality.
16:43 audreyt froh-doh: conceptually $x is bound to a object of type Scalar
16:43 cjeris Limbic_Region: the last time I looked at the directions it was even more "danger will robinson" than win32
16:43 audreyt that manages the storage for it
16:43 audreyt practically we can compile that away most of the time
16:43 audreyt but conceptually it's always "backed" by an object
16:43 audreyt think perl5 tiescalar
16:45 froh-doh audreyt: you're asking too much (tiescalar). Is it correct that when I have no binding every scalar variable holds a unique cell?
16:45 audreyt yes.
16:46 froh-doh ok, thanks
16:46 audreyt depending on its declarator, they may be rebound automatically
16:46 audreyt for example "my $x" gets rebound to a fresh Scalar
16:46 audreyt whenever its surrounding Block is entered
16:47 audreyt constrast "state $x" which does not do that.
16:48 froh-doh oh, correct. I was thinking only in terms of "my"
16:48 Limbic_Region cjeris - well, I am stuck with Win32 at work which is where I do most of my playing so I will suffer the hiccups
16:48 audreyt I hope SPJ gets his interns
16:48 audreyt so that they can make win32 work much better
16:49 audreyt though I'm not overly fond of VC++ express
16:49 audreyt but GHC doesn't build with either native-mstools or native-cygwin is quite painful
16:50 Limbic_Region audreyt - how difficult would it be to make t/examples/examples.t run every .pl file in /examples and below through pugs -c to verify they at least parse?
16:50 Limbic_Region for instance, examples\cribbage_scoring.pl doesn't currently compile
16:50 audreyt Limbic_Region: ooh great idea
16:51 audreyt maybe it can even use ext/File-Find/
16:51 Limbic_Region but it isn't reflected in t\examples\examples.t
16:51 Limbic_Region ahh - wasn't sure if that was implemented yet
16:51 audreyt please go ahead and do that
16:51 Limbic_Region so does that mean there is a File::Spec too?
16:51 audreyt surprisngly yes
16:52 audreyt also in ext/
16:52 Limbic_Region ok, next question
16:52 Limbic_Region is there a way to run an entire program inside an eval block so that I can verify it runs as well as parses even though the output may not be correct?
16:53 audreyt an interpreter api?
16:53 [particle] v6 is p6p5, v6-Compiler is p6p6, correct?
16:53 audreyt interesting thought
16:53 audreyt [particle]: correct
16:54 audreyt Limbic_Region: not currently. system out and check rv
16:54 audreyt is currently more practical
16:54 Limbic_Region audreyt - ok, let me play with that
16:54 audreyt yay
16:54 audreyt Limbic_Region++
16:54 * audreyt goes back to sleep
16:54 Limbic_Region I still might need someone else to check it in
16:54 * Limbic_Region hasn't tried a check-in since the new firewall proxy combo
16:55 Limbic_Region checkouts work so I don't see why there should be a problem though
16:57 audreyt ?eval my $x = my $y = 1; $x =:= $y
16:57 evalbot_12121 is now known as evalbot_12122
16:57 evalbot_12122 Bool::False
16:57 audreyt ?eval my $x := my $y = 1; $x =:= $y
16:57 evalbot_12122 Bool::True
16:57 audreyt yay
16:57 audreyt zzz &
17:00 froh-doh ?eval my $a = 42; my $b = 42; $a =:= $b
17:00 evalbot_12122 Bool::False
17:00 Limbic_Region out of curiosity, in ext/FindBin - is the pod just typo'd where is says perl should it be pugs?
17:03 justatheory joined perl6
17:07 Limbic_Region ok - I would appreciate some advice on some issues I am facing with writing some better tests for examples
17:07 Limbic_Region the first is that I have to use modules in ext which are not part of @*INC
17:08 Limbic_Region unfortunately, I can't modify @*INC to specify ext without knowing where the root pugs directory is
17:08 Limbic_Region of course there is FindBin but guess what - it is in the ext directory
17:08 Limbic_Region catch-22
17:08 Limbic_Region ideas?
17:09 vel joined perl6
17:10 Limbic_Region . o O ( is there anybody out there?  Just knod if you can hear me )
17:11 * cjeris shaves his eyebrows
17:12 HXanadu_ joined perl6
17:12 Limbic_Region cjeris - as long as you aren't also cutting off your nipples
17:12 * Limbic_Region wants to avoid hardcoding stuff but right now that seems like the sanest way forward
17:12 cjeris cut _off_ ? I don't remember that part
17:13 * Limbic_Region thinks he is remembering correctly but is not 100% positive
17:13 Limbic_Region in any case - I welcome any and all suggestions - lurkers, you know who you are
17:16 cmarcelo Limbic_Region: go hardcoded, when it works, try to make it better (?)..
17:23 cmarcelo Limbic_Region: later, should be easier for others to help with something concrete already working.. but that's just a random idea.. =)
17:26 fglock joined perl6
17:31 Limbic_Region cmarcelo - actually, $work has come up so I will table it for this weekend (extremely unlikely as it is my wife's bday) or next week
17:38 cmarcelo fine.. (maybe appending to TASKS is a good thing to do)
17:40 asz joined perl6
17:53 justatheory joined perl6
17:53 buu Limbic_Region: Yo
17:55 Limbic_Region do you have access to the apache logs?
17:55 Limbic_Region err, probably should /msg this
18:01 svnbot6 r12123 | fglock++ | v6 - Perl6Prelude overrides the 'v6::AST' module from v6-Compiler
18:04 svnbot6 r12124 | fglock++ | v6-Compiler - t/01-native.t - tests pass!
18:07 fglock biab&
18:23 weinig joined perl6
18:23 Excedrin left perl6
18:34 prefiks joined perl6
18:34 svnbot6 r12125 | fglock++ | PCR - token always set '$/'
18:38 svnbot6 r12126 | fglock++ | v6-Compiler - t/01-native.t - 4 tests pass
18:39 tup joined perl6
18:40 froh-doh joined perl6
18:43 DaGo joined perl6
18:49 gaal hello!
18:51 Spania32 joined perl6
18:51 Corion joined perl6
18:52 Corion left perl6
19:05 cmarcelo gaal: hi
19:10 * [particle] gave gaal some email to chew on
19:25 weinig joined perl6
19:31 gaal [particle]: did it come with some kind of sauce?
19:31 svnbot6 r12127 | lwall++ | Long promised slaughter of ./ notation.
19:31 gaal aw
19:31 * gaal would have loved it if that could wait till we actually had pragmas
19:32 * [particle] read that as /. notation # aka troll notation
19:34 gaal [particle]: good summary of the antler at hand
19:35 [particle] thanks!
19:35 * [particle] goes back to grazing on four legs
19:36 gaal I would have added a link to the #perl6 discussion, to save time getting the talk started
19:36 * [particle] wonders if parrotcamels have four legs...
19:36 gaal pegacamels?
19:36 [particle] gaal: #perl6 is logged? coming from #parrot-land i'm not used to that
19:36 gaal of course! irc.pugscode.org
19:37 gaal (redirects to colabti.de somewhere but I can never remember the precise url)
19:37 [particle] well, okay. i've learned something new today. time to go home.
19:37 [particle] wait... i *am* home.
19:37 TimToady http://colabti.de/irclogger//irclogger_logs/perl6
19:37 lambdabot Title: #perl6 irc log
19:38 gaal funny thing about the word "Pegasus" - in Hebrew "sus" means horse
19:38 TimToady when did we discuss it?
19:38 [particle] tuesday, perhaps?
19:38 gaal TimToady: Test::todo? sometime last week. there's a search feature
19:39 cognominal joined perl6
19:39 * gaal goes back to depundency decirculation
19:39 [particle] looks like monday, searching for [particle]
19:40 [particle] starting ~13:47
20:01 [particle] ?eval PRE {} POST {}
20:01 evalbot_12122 is now known as evalbot_12127
20:01 evalbot_12127 undef
20:01 [particle] ?eval PRE {} ; POST {}
20:01 evalbot_12127 undef
20:02 [particle] ?eval BEGIN {} ; BEGIN {}
20:02 evalbot_12127 undef
20:02 [particle] ?eval BEGIN {}  BEGIN {} say 1
20:02 evalbot_12127 OUTPUT[1 ] Bool::True
20:02 [particle] ah, okay. thx, evalbot!
20:07 gaal ?evil BENIGN {she loves me not { SHE LOVES ME } }
20:11 TimToady maybe we should rename END to BEGONE
20:12 gaal BALANCES { ... }
20:12 TimToady BEGUINE { 'shall we dance' }
20:16 svnbot6 r12128 | fglock++ | v6 - platform-specific AST moved into lib/Pugs/Runtime/Perl6AST.pm
20:25 svnbot6 r12129 | fglock++ | v6 - updated MANIFEST
20:25 svnbot6 r12130 | fglock++ | v6-Compiler - v6::AST added 'see also' to Pugs::Runtime::Perl6AST
20:30 bpphillips left perl6
20:37 jferrero joined perl6
20:38 weinig joined perl6
20:42 gaal journal up
20:44 fglock joined perl6
20:57 SageLT joined perl6
20:57 weinig is now known as weinig_
20:57 weinig_ is now known as weinig
21:10 Jedai joined perl6
21:13 svnbot6 r12131 | gaal++ | * Add Sig and Code (and prereq Param etc.) to Pugs.Val.Code.
21:13 svnbot6 r12131 | gaal++ |   No ICoercible instances yet, but those should be fun to write!
21:13 svnbot6 r12131 | gaal++ | * Due to what seems like a bug in GHC, hs-boot will not allow
21:13 svnbot6 r12131 | gaal++ |   us to break circularity when consumed types have derived
21:13 svnbot6 r12131 | gaal++ |   instances. For now, we resort to the dreaded #include.
21:15 gaal zzZ&
21:20 svnbot6 r12132 | Sage++ | Made some changes to the translator to make the regex parser a bit smarter about counts vs. literal '{' and '}'. With these revisions, ~98% of a version of perl5's t/ is handeled without critical errors.
21:21 SageLT now to just nail down the problems encountered in the last ~2% that won't translate...
21:21 [particle] using popular mathematics, that should take about 98% of the time, correct? ;)
21:22 SageLT Sounds about right :)
21:22 SageLT Unfortunately
21:24 marmic joined perl6
21:44 froh-doh I've seen (docs/Perl6/Overview/Data.pod) that scalars should support the "exists" method, but it's neither implemented nor included in the test suite. Is the idea still alive?
21:53 svnbot6 r12133 | fglock++ | v6 - Pugs/Runtime/Perl6AST - defines backend specific 'v6::AST::Base'
21:56 svnbot6 r12134 | fglock++ | v6-Compiler - v6::AST::Native and v6::Grammar::Native work together;
21:56 svnbot6 r12134 | fglock++ | - generating AST nodes from a string work;
21:56 svnbot6 r12134 | fglock++ | - 6 tests pass
22:02 svnbot6 r12135 | fglock++ | v6-Compiler - added emitter tests; error: "I hate ambiguous software at /usr/local/share/perl/5.8.7/Sub/Multi.pm line 84."
22:07 fglock would it be ok for the AST nodes to know how to emit code, or should this function be completely separated?
22:10 soisoisoi joined perl6
22:12 diakopter joined perl6
22:22 fglock v6-Compiler will look like: [ Front-end -> Grammar -> AST -> Emitter ] - the '->' part is made of backend glue code
22:23 fglock AST -> Optimizer -> Emitter, even
22:26 dduncan joined perl6
22:27 froh-doh is now known as anonymous_newbie
22:27 dduncan so, by the channel header, it looks like everyone's facing the "Delta source" problem, and so skipping r12102 is recommended
22:27 dduncan I also heard there was look into actualy fixing the problem
22:28 dduncan but I suppose that hasn't resolved yet, so I'll skip the version too
22:28 anonymous_newbie is now known as froh-doh
22:29 svnbot6 r12136 | fglock++ | v6 - svn properties
22:32 svnbot6 r12137 | fglock++ | v6-Compiler - set svn properties
22:41 dduncan that worked
22:41 svnbot6 r12138 | fglock++ | v6-Compiler - clean up debugging code
22:42 fglock left perl6
22:54 diakopter dduncan : what do you mean by "skip the version"
22:55 diakopter oh
22:55 diakopter i'm not using svk
22:55 dduncan yes, oh
22:56 dduncan if you're using svn client, I think it simply gets the latest, with actual version being less important
22:56 svnbot6 r12139 | lwall++ | valid -> SKID
22:56 TimToady I've had no trouble with svn, but I almost always do make realclean anyway, so might not have seen any issues.
22:57 cognominal left perl6
22:57 cognominal joined perl6
22:58 dduncan the problem in question was with the syncing portion that copied from a remote to a local subversion server ... suggesting that what's in one's checkout dir is not a factor in the problem
22:59 TimToady I am not a datapoint, but I play one on IRC.
22:59 cjeris left perl6
23:00 weinig is now known as weinig|coffee
23:00 dduncan fyi, a couple of docs/ files still have $?SELF references in them
23:00 dduncan specifically, mmd.kwid and p6ast_draft
23:01 dduncan but I don't know if those are considered frozen historical documents or not
23:01 dduncan s/historical/state in time/
23:13 nothingmuch seen luqui?
23:13 jabbot nothingmuch: luqui was seen 13 hours 24 minutes 46 seconds ago
23:20 fglock joined perl6
23:20 svnbot6 r12140 | lwall++ | Missed a valid -> SKID
23:20 fglock joined perl6
23:25 fglock clkao: is there a workaround for the 'I hate ambiguous software' death? (v6-Compiler t/01-native.t)
23:30 TimToady um, not writing ambiguous software?
23:32 fglock but that´s what multi subs are about :)
23:34 TimToady you asked for a workaround...  ;p
23:36 fglock left perl6
23:36 fglock joined perl6
23:37 weinig|coffee is now known as weinig
23:37 dduncan fglock, what character encoding is your IRC client set to?
23:38 dduncan ideally, it would be UTF8
23:38 fglock dduncan: it is iso-8859-1(cgi-irc in feather)
23:39 fglock changing to utf8...
23:39 dduncan that's good
23:39 fglock joined perl6
23:39 dduncan then you're curly-quote won't look like a yen sign
23:39 dduncan s/you're/your/
23:40 fglock ´
23:40 fglock oops
23:42 fglock it's a keyboard config problem - I'm on someone else's computer :)
23:43 dduncan now, a test of my own: this should be a Yen sign:[Â¥]
23:43 fglock yes
23:43 mauke_ joined perl6
23:44 dduncan and so it seems that the IRC log for #perl6 also needs to be updated to utf8 ... it doesn't handle multi-byte chars properly
23:44 dduncan that is, http://colabti.de/irclogger/irclogger_log/perl6?date=2006-08-11
23:44 lambdabot Title: #perl6 2006-08-11,Fri
23:45 TimToady That's correct--it doesn't, and it even forces utf-8 off if you refresh, grrr.
23:46 dduncan afaik, it has been that way for awhile, not utf8-native, but not sure if it was intentional or not
23:46 marksto1 joined perl6
23:47 TimToady I think it's actually the http header that is forcing iso-8859-1.  Can't see it in View Page Source.
23:48 TimToady doesn't matter if you set your default to utf8 either.
23:48 TimToady or try various guessing modes.
23:48 dduncan and I do set my browser default to utf8
23:48 TimToady something is telling it not to guess.
23:49 froh-doh probably this could be worked around setting the encoding in the HTML header
23:49 fglock v6.pm has 6 'pass' in cpan testers :)
23:49 dduncan the problem may also be that it is "escaping" the characters
23:49 dduncan but that escaping is in byte mode
23:49 TimToady it works fine if you force it.l
23:49 dduncan looking ...
23:50 TimToady I just get tired of forcing it every darn time I bring up a new page.
23:50 dduncan well, I've confirmed its not using &nnn; stuff
23:51 dduncan and that forcing it does make it work
23:52 dduncan mystery solved ...
23:53 dduncan I telnetted to the site and got this in its header:
23:53 dduncan Content-Type: text/html; charset: ISO-8859-1; charset=iso-8859-1
23:53 dduncan so the server appears to be working in byte mode, just passing the output through as it was input by people, but declaring an inappropriate default for the header
23:54 TimToady http header says:
23:54 TimToady Content-Type: text/html; charset: ISO-8859-1; charset=iso-8859-1
23:54 dduncan that's what I said, yes
23:54 dduncan or that's what I meant
23:54 TimToady well, you didn't believe me, so I didn't believe you.  :P
23:54 TimToady actually, just didn't backlog...
23:55 dduncan I didn't so much believe you as took what you said as an assumption, so I looked it up to make sure
23:56 dduncan so I looked at the next level behind "view page source"
23:57 dduncan anyway, on to other things ...
23:58 froh-doh http://www.htmlhelp.com/tools/validator/charset.html
23:58 lambdabot Title: HTML Validation: Using Character Encodings
23:58 mauke_ is now known as mauke
23:59 kane-xs joined perl6
23:59 aufrank joined perl6
23:59 dduncan these days, I make a point of just having native end-to-end utf8 as much as possible

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

Perl 6 | Reference Documentation | Rakudo