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