Camelia, the Perl 6 bug

IRC log for #perl6, 2005-03-16

Perl 6 | Reference Documentation | Rakudo | Niecza | Specs

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

All times shown according to UTC.

Time Nick Message
00:01 larsen has quit IRC ("later")
00:02 scw has quit IRC (Remote closed the connection)
00:06 theorb has joined #perl6
00:11 stevan has quit IRC ("Leaving")
00:11 lumimies has quit IRC (Read error: 104 (Connection reset by peer))
00:12 lumimies has joined #perl6
00:12 jabbot pugs - 774 - added my IRC handle to AUTHORS (as if it
00:18 ninereasons has quit IRC ("Leaving")
00:18 iwt has quit IRC (Read error: 110 (Connection timed out))
00:21 Steve_p stevan++ # testing Test :)
00:21 lumimies has quit IRC (Read error: 104 (Connection reset by peer))
00:22 lumimies has joined #perl6
00:25 Steve_p Great!  not() was fixed :)
00:26 nothingmuch has joined #perl6
00:26 Limbic_Region . o O ( so )
00:26 nothingmuch evening
00:26 Steve_p It had been broken for a while
00:26 lumimies has quit IRC (Read error: 104 (Connection reset by peer))
00:28 Limbic_Region Steve_p - you missed my joke
00:28 Limbic_Region so() is the opposite of not()
00:28 Steve_p Ohhhhh
00:29 Steve_p I must have missed that discussion
00:29 Khisanth there is a so()?
00:29 Steve_p So so() converts other types to the correct boolean then?
00:30 nothingmuch darcs get http://nothingmuch.woobling.org/rssgrowl # uses growl to display new feed items on osx
00:33 Steve_p Larry melts my brain :O
00:34 theorb He used to do that to me, steve_p... sometimes, though, my brain thaws back into new and interesting patterns.
00:34 theorb Other times, it just ends up as a puddle on the floor.
00:35 Steve_p heh
00:35 Steve_p theorb, who are you right now? :)
00:35 theorb I am me.
00:35 Steve_p heh
00:36 theorb James Michael Mastros, at your service, good sir.
00:38 Steve_p I could remember how the orb/castaway nicks worked :)
00:38 Steve_p s/the orb/theorb/ :)
00:38 theorb Quite simple: theorb, theorbtwo are me.
00:39 theorb castaway is my girlfriend.
00:39 Steve_p OK :)
00:39 theorb Jessica Ann Robinson, by name.
00:40 theorb (Though she very much prefers Jess.)
00:43 nothingmuch =(
00:43 nothingmuch whether is much better than so for poetry
00:43 nothingmuch so is not something i'd use for a sub name, though, so i'd rather that be the builtin
00:44 justatheory has quit IRC ()
00:46 Steve_p so true ;)
00:46 nothingmuch damnit
00:46 Steve_p heh
00:46 nothingmuch anything tainted by a fh is not lazy
00:46 nothingmuch if it is lazy it's broken
00:47 nothingmuch if a user wants lazy interaction with the world, they have to work a bit harder than =
00:47 nothingmuch it is worse than not using strict in bad whether
00:47 Steve_p Oh, I thought you were damning "so true" :)
00:47 nothingmuch this is sooooo asking for trouble
00:48 * nothingmuch wants taint mode generalization re-reviewed
00:48 nothingmuch it could be useful for control laziness in a good way
00:55 scw has joined #perl6
01:08 theorb Hm, both sound like good ideas to me.
01:08 theorb Though I'm not convinced we don't have taint generalization.
01:08 theorb That, or I don't quite understand what you mean by it.
01:09 nothingmuch theorb: i mean that tainting is controlled by traits that leak on assignment
01:09 nothingmuch or on interaction
01:09 theorb Was that a new rulling of Larry's, or did you just suggest that?
01:09 nothingmuch i suggested it to p6l
01:09 nothingmuch no one ever answered
01:09 nothingmuch p5 taint mode is just
01:10 nothingmuch my $data is tainted;
01:10 nothingmuch but automatically, from certain sources
01:10 nothingmuch then we could have the is eager taint;
01:10 theorb You can do that yourself with MMD, can't you?
01:10 nothingmuch if either side of an assignment is eager, the expression is unlazified
01:10 nothingmuch you could also have weirder things
01:10 nothingmuch a nice example i came up with is data sterility
01:11 nothingmuch my $data is private($handle);
01:11 nothingmuch my $other_data is private($other_handle);
01:11 nothingmuch since not($handle :=: $other_handle);
01:11 nothingmuch any place where $data and $other_date;
01:11 nothingmuch a
01:11 nothingmuch or their tainted deriviatives
01:11 nothingmuch interact with each other, is a fatal error
01:11 nothingmuch this is very useful from a security point of view
01:12 nothingmuch etc etc
01:12 nothingmuch the point is that these traits can be written as roles or something, i dunno my terms
01:12 nothingmuch and you have an infect multimethod
01:12 nothingmuch which is called with a $source and a $target
01:13 nothingmuch as a sort of, err, instantiator
01:13 nothingmuch and that is called automatically whenever objects touch each other
01:14 nothingmuch by objects i really mean values
01:14 theorb Hm, I see ways to do it, but not without it touching a lot of different things.
01:14 nothingmuch i would at least like someone to comment on it, but no one has =(
01:14 theorb ...it does sound very interesting
01:15 nothingmuch one thing i'd like to use it for is to make sure data doesn't leak out
01:15 nothingmuch my $templater is private($user);
01:15 nothingmuch my DBI::Objectivier $object->auto_private("secret_column_name")
01:15 nothingmuch without explicit sanitization, i.e., a single point where this data is fudged
01:15 theorb ...so you make sure that data tagged with $users{theorb} can't touch filehandles tagged $users{nothingmuch}.
01:15 nothingmuch explicitl
01:16 nothingmuch it would be a fatal error to print that error
01:16 nothingmuch uhuh
01:16 safrican is now known as evilSafrican
01:16 evilSafrican is now known as safrican
01:16 nothingmuch it could also be useful for debugging data flow, along side control flow
01:16 theorb I can certianly see the use of it.
01:17 nothingmuch a much more concise trace, having to do with the consequences of using x or y
01:17 theorb ...otoh, that method is going to see a /lot/ of calls.
01:17 nothingmuch and the process that brought it there
01:17 nothingmuch it's not meant to be something you use all the time =)
01:17 nothingmuch taint mode does these kinds of checks
01:17 theorb Also, data flow and control flow aren't the disseperate things you think they are.
01:17 nothingmuch the slowdown is bearable
01:18 nothingmuch data flow as i see it is a subset of control flow i'm usually more interested in
01:18 theorb I know, but taint mode is done with a perl-level global.
01:18 theorb if (length $theorb->{password} < 5) {$flag=1} else {$flag=0};
01:19 theorb Should $flag be tagged with $theorb->{password}'s privateness?
01:19 nothingmuch that's another discussion, i think
01:19 nothingmuch taintmode in p5 is/was documented in a way that you weren't really sure if flag was tainted or not
01:19 nothingmuch presumably this could be dealt with when defining the trait
01:19 nothingmuch how contageous is it?
01:20 nothingmuch does it leak across whole sub/method calls?
01:20 theorb Note that that code is semantically equif to $flag = length $theorb->{password} < 5 ?? 1 :: 0;
01:20 nothingmuch does it leak across single statements?
01:20 nothingmuch only by direct assignment?
01:20 nothingmuch in that case you are still not assigning $theorb->{password}
01:20 nothingmuch contageousness could also be degenerating in this case
01:20 theorb The def in p5 is vauge in no small part to allow details of optimization to change without going against what had been said about taints.
01:21 theorb ...because trinary and if are very much the same thing in p5.
01:21 nothingmuch uhuh
01:21 Limbic_Region has left
01:21 nothingmuch the performance issue is probably tough to deal with
01:21 nothingmuch but given important data
01:22 theorb Not terribly, actually.
01:22 nothingmuch i bet a company is willing to chuck an extra 20% for hardware $$$ to get added security
01:22 nothingmuch if that's what it takes
01:22 theorb It's MMD on two arguments, with the default being NOP.  It's a problem that will have to be delt with a lot anyway.
01:22 theorb The problem
01:23 theorb The problem is that you always get the overhead.
01:23 theorb Because there's no way to tell if anybody, anywhere, is interested in it.
01:23 theorb Or will become interested in it.
01:23 nothingmuch what if it's a 'use plague'?
01:23 theorb Eh?
01:24 nothingmuch well behaved modules will make it's loading optional
01:24 theorb Hmm, I take that back.
01:24 theorb Hmm.
01:24 nothingmuch it's an overhead that many modules deal with anyway: maknig everyone happy
01:24 nothingmuch configure to use x, but not do it if it's not necessary, because it's slow
01:24 nothingmuch see the bajillion lazyloaders on cpan
01:24 nothingmuch see various BEGIN { if () { require, ->import } }
01:25 theorb The reason, now that I think about it more, that -T in p5 has to be a command-line argument is that it needs to change things very early on.
01:25 nothingmuch theoretically, only the outer layers need to be aware of this, too
01:25 nothingmuch the points where data goes in and out of the system should be guarded, optionally
01:25 obra perl5 taint is also way too big a hammer
01:25 theorb ...so that %ENV is tainted, and everything that depends on %ENV before even the first line is checked for #! and that magic.
01:25 nothingmuch and for this to be configurable is not not very difficult
01:26 theorb I don't know about that; in many ways it is too small a hammer.
01:26 theorb You can print out tainted data, for example.
01:26 theorb And give it out to exec in some circumstances, IIRC.
01:26 nothingmuch what i would like to see with generalization is factoring into policies
01:26 theorb I think you mean compartments.
01:26 nothingmuch is it fatal? for what parts is it fatal?
01:27 nothingmuch what kind of ops auto taint? input?
01:27 nothingmuch only from tainted places?
01:27 nothingmuch what are we allowed to do with this?
01:27 nothingmuch this will all go into the taint trait
01:27 nothingmuch which is backwards compatible and a bit more to p5
01:27 nothingmuch using the same ideas to provide a little more control
01:27 nothingmuch like -t and -T in the same script
01:28 nothingmuch while other more complete, and costly alternatives may arise
01:28 nothingmuch choice is why we are better than x y z (insert php, python, java)
01:29 obra I'd like to _not_ taint filehandles in a web app, for example
01:29 nothingmuch ... because they are mostly logs and such?
01:29 nothingmuch err, my bad
01:29 nothingmuch input files on the webserver, which is not evil
01:29 theorb I'd like to taint only some filehandles in a web app.  To whit, the three STD handles.
01:30 theorb Er, actually, by your description of taint, it's more complicated then that.
01:30 nothingmuch btw: look at DBI and it's tainting policy... i don't think this has seriously hurt anyone, complexity or performance wise
01:30 theorb STD* and all other handles should both be tained, but in different compartments, and never the twain shall meet.
01:30 obra yeah, most everyone turns off taint in production.
01:31 theorb I'll admit to just not using it.
01:31 nothingmuch same
01:31 nothingmuch but i do see uses for it
01:31 theorb Oh, so do I.
01:32 nothingmuch taint mode is to me, something that can be resolved by proper abstraction
01:32 theorb But as far as I can tell, at present, it's pretty useless.
01:32 nothingmuch if i make sure that by design, naughty data does not go into something that gets sensitive data, i'm fine
01:32 nothingmuch plus i've never needed to develop apps where this is important
01:32 mugwump it has its niche.  but I think p6 has other ways of achieving the same result, no?
01:32 obra With 6, would it be possible to create a TaintedScalar type?
01:32 mugwump would that be a trait?
01:33 obra er sorry
01:33 obra TaintedStr.
01:33 obra so that when I pass in tainted data, it just gets magically validated and untainted if safe
01:33 obra or it's not actually a TaintedStr and I have a prototype failure
01:34 nothingmuch obra: interesting idea
01:34 nothingmuch i don't recall tainting ever discussed
01:34 nothingmuch but then again, i haven't been really around perl at all when p6 started booming
01:36 theorb obra, you mean you say $foo is matching(/\d+/), and all assignments to $foo check if they match \d+, and die if not?
01:37 theorb That'll be possible, but obnixious, I think.
01:37 mugwump obra: http://pugs.kwiki.org/?KwidSpecJihad
01:37 mugwump also ingy
01:37 theorb Larry's got a thing against reasonable lvalue subs.
01:39 obra mugwump: :)
01:39 obra theorb: I think that's what I mean
01:39 obra but basically being able to specify type validation in perl, yeah
01:40 mugwump that stuff should tack onto the metamodel really
01:40 nothingmuch what is the metamodel?
01:40 nothingmuch theorb: i don't think it's much different than the 'my $var will ...' stuff
01:41 mugwump My favourite word for the collection of classes that includes "Class", "Method", "Trait", etc.
01:41 nothingmuch ah
01:42 mugwump Hopefully there is enough information in S10-S12 to write a haskell Meta-Meta-Model that these Meta-Model classes can be defined in
01:43 mugwump Then, they can also define themselves.
01:43 obra that's getting a little meta, sam ;)
01:43 mugwump Basically the meta-model is the only one you're interested in, apart from for bootstrapping
01:44 mugwump alright, I'll admit it.  I just like using the "meta-meta-model" at every opportunity
01:44 theorb He says, as if bootstrapping were easy.
01:44 mugwump It's a commonly solved problem in the world of CASE
01:45 nothingmuch <shameless_plug>Object::Met​a::Plugin</shameless_plug>
01:45 nothingmuch ;-)
01:45 mugwump nothingmuch++  # gratuitous combination of three abstract terms, including Meta
01:46 nothingmuch it's basically a system of inheritenece that works with perl's native one, which is supposed to ease the composition of meta-objects from composable pluggable ones
01:47 nothingmuch s/basically//
01:47 mugwump yeah.  that stuff is just ugly in p5
01:47 mugwump you can get the structure right but the semantics usually suck
01:48 nothingmuch i was actually rather pleased with the semantics
01:48 nothingmuch it took a lot of effort
01:48 * mugwump raises an eyebrow and looks on cpan
01:48 nothingmuch it's purpose was to help make a system which is very, err
01:48 nothingmuch not systemy
01:48 nothingmuch the user tells some interface how to build the app
01:49 nothingmuch which componenents to include in the runtime
01:49 nothingmuch but i never got around to using it
01:49 nothingmuch i took up a job instead
01:49 mugwump heh
01:50 nothingmuch it's usefulness is that it helps build paradgims like pipelines and filter chains, and capability based dispatching
01:50 nothingmuch without getting in the way of normal p5 oop
01:51 nothingmuch i wouldn't recommend using it though, unless it exactly fills your niche requirement, so YMMV =)
01:51 afbach has quit IRC (Read error: 60 (Operation timed out))
01:51 theorb And let's hear it for p5 OOP; may the blessed hashref never die.
01:52 nothingmuch hoorah!
01:52 nothingmuch though for performance reasons i used array refs there, to do some faking
01:52 nothingmuch because they are less popular
01:52 nothingmuch the array is tied
01:52 nothingmuch everything else is overloaded
01:52 mugwump bless sub { ... }, "Hooray!"
01:53 theorb Wait... you used a tied array... for /more/ performance?
01:53 nothingmuch well
01:53 mugwump heh.  it's only as bad as a method call
01:53 nothingmuch one of the data types had to be fudged
01:53 nothingmuch either array access, or hash access, or scalar access, or...
01:53 nothingmuch i chose arrays because anyone using them is probably not serious
01:54 nothingmuch and stuck them with the slowest, least convenient solution
01:54 nothingmuch anyway, you don't want to know
01:54 nothingmuch it's about namespace separation between the plugin-objects
01:54 theorb I more or less remember, nm.
01:54 nothingmuch which pretend to be one object with their peers, but also distinct, at the same time, in a sane way
01:58 nothingmuch well anyway, i must be off
01:58 theorb OK, after some consideration, I think I'm calling it a night, rather then getting up and going into the other room to test this.
01:58 theorb Oh.  Good timing; goodnight.
01:58 nothingmuch thanks for a good conversation, everyone!
01:58 nothingmuch has quit IRC ()
01:59 theorb has quit IRC ("leaving")
02:03 Steve_p What port do I open on my firewall for SubEthaEdit?
02:12 cls_bsd autrijus: I found it should set -L${PREFIX}/lib in Makefile.PL to get ghc 6.4 linking pugs
02:15 Alias_ has joined #perl6
02:18 _metaperl has joined #perl6
02:22 jabbot pugs - 775 - Add Andrew Savige's case for non short c
02:22 Alias_ Don't suppose anyone has a HTML diff thingy do they
02:23 Alias_ Might be interesting for people if there were visible examples of the Algorithm::Dependency code before/after p6ificiation
02:29 theorbtwo_elsewh has quit IRC (Read error: 110 (Connection timed out))
02:32 jabbot pugs - 776 - Add Bryan Donlan's return in while test
02:33 crysflame where is CPAN for Perl6?
02:33 mugwump in the pugs dist under ext/ :)
02:34 metaperl has quit IRC (Read error: 110 (Connection timed out))
02:34 _metaperl is now known as metaperl
02:34 crysflame so Alias's perl6 Algorithm::Depdendency is there too?
02:34 mugwump I think so
02:34 Alias_ yes
02:34 crysflame heh, cool
02:34 Alias_ It's the same, but "different"
02:34 Alias_ A bit wordier than I expected, and it feels sort of inside-out
02:35 Alias_ But otherwise very good porting example
02:42 b6s has quit IRC ("leaving")
02:42 oylenshpeegul has joined #perl6
02:43 b6s has joined #perl6
03:05 oylenshpeegul has quit IRC ("Download Gaim: http://gaim.sourceforge.net/")
03:18 metaperl has quit IRC (" The IRC Client of the Gods! -> http://www.hydrairc.com <- HydraIRC")
03:18 metaperl has joined #perl6
03:31 Alias_ has quit IRC ()
03:49 Alias_ has joined #perl6
03:49 Alias_ I'm a bit worried about the Kwid idea...
03:50 Alias_ I'm looking at pugs/ext/Kwid/t/README and for something that is supposed to be more readable as source, it doesn't look very readable to me
03:51 Alias_ oh wait... that's the Kwid bytecode...
03:55 obra heh
03:56 Alias_ But still, concerns persist... like the fact that it uses all of the normal perl characters as markup
03:56 Alias_ How would one replicate..
03:56 Alias_ =head2 method $param [, $optional ]
03:57 Alias_ or deal with C<   something something blah and then you install to the /etc/foo/bar directory, assuming it exists >
03:58 Alias_ I have to \/etc/foo/bar all the time?
04:00 Steve_p Isn't it `/etc/foo/bar`?
04:01 Steve_p Shoot, no, it changed :-/
04:02 jabbot pugs - 778 - * be more specific in 'setting LANG to U
04:02 jabbot pugs - 777 - * remove unneccassary 'return' from Test
04:10 lucs has joined #perl6
04:14 Alias_ has quit IRC ()
04:15 chunzi has joined #perl6
04:29 hoowa has joined #perl6
04:36 ingy fyi, for those following along at home, there is no need to escape /etc/foo/bar
04:37 ingy because it breaks the hugging rule
04:38 * ingy looksaround fo Alias
04:40 ingy =head2 method $param [, $optional ] also breaks the hugging rule for that matter
04:42 jabbot pugs - 779 - * AlDep: beginning to adopt the Selfless
04:45 mugwump has quit IRC (Remote closed the connection)
04:45 mugwump has joined #perl6
05:05 Adam_ has joined #perl6
05:09 Adam_ has quit IRC (Client Quit)
05:09 Adam_ has joined #perl6
05:10 AtnNn has quit IRC ("g2g")
05:15 bd_ has quit IRC (Read error: 110 (Connection timed out))
05:18 lucs Don't break the hugging rule! (wti)
05:20 * lucs hugs ingy
05:20 * lucs pugs autrijus
05:21 * ingy tugs lucs
05:22 jabbot pugs - 780 - * Introduce VThunk (not yet available to
05:22 lucs ingy: Any chance you'll be at YAPC Toronto?
05:23 ingy lucs: there is always a chance...
05:23 ingy but not planning on it yet
05:23 lucs Oh :/
05:24 ingy I go to YAPC Taiwan next week
05:24 ingy and I hate the Toronto airport fwiw!
05:24 lucs Go by train ;)
05:24 ingy customs there is a nightmare
05:25 lucs Customs, nightmare, I wonder why that is...
05:25 lucs ;)
05:25 Aankhen`` has joined #perl6
05:40 rafl has quit IRC (Client Quit)
05:40 hoowa has quit IRC (Read error: 104 (Connection reset by peer))
05:40 rafl_ has joined #perl6
05:42 jabbot pugs - 781 - * really fix 'nor'
05:45 mugwump has quit IRC (Read error: 104 (Connection reset by peer))
05:50 alexe has joined #perl6
05:52 jabbot pugs - 782 - * work VThunk into Prim.hs's op2Logical
05:56 justatheory has joined #perl6
06:00 Adam_ is now known as Alias_
06:07 alexe has left
06:18 autrijus greetings \camels!
06:18 obra hi autrijus
06:19 autrijus hey obra.
06:19 obra what's up?
06:19 autrijus just woke up and fixed a bunch of bugs
06:19 * obra is about to post a summer internship job posting
06:20 jabbot pugs - 783 - Adding t/op/trenary.t and moving some te
06:22 RangerNS has quit IRC (Read error: 113 (No route to host))
06:22 Alias_ how does jabbot work? polling the repository, or triggered _by_ the repository?
06:23 RangerNS has joined #perl6
06:25 Khisanth probably polling, since multiple revisions are sometimes printed backwards here
06:26 autrijus polling.
06:29 safrican has quit IRC (Read error: 110 (Connection timed out))
06:30 jabbot pugs - 786 - * also s/trenary/ternary/ in comment
06:30 jabbot pugs - 785 - * s/trenary/ternary/
06:30 jabbot pugs - 784 - Missing commit.
06:37 scw Thanks for correction.
06:38 autrijus np :) thanks for the tests
06:38 autrijus scw: so ?? :: is all happy now, I gather?
06:38 scw autrijus: I think so. I tried to crash it but failed :p
06:39 autrijus XD
06:39 scw However, do you think we should revert r606?
06:41 autrijus rulePostTernary is gone anyway
06:41 autrijus so the question become one of rulePostConditional.
06:41 autrijus i.e.
06:41 autrijus 1 if 2 if 3 if 4
06:41 scw Ya, and  (1 if 2)
06:41 autrijus which, barring a larry rulling, I'm inclined to keep.
06:41 autrijus i.e. I consider it sane
06:42 autrijus (I was surprised when I first learn perl that it could not be so used)
06:42 autrijus but if there's a ruling against it I'm willing to drop it also.
06:43 scw I always want to write something like   say "haha" if $_ for @things
06:43 autrijus ooh, postfix for. I had not implemented that.
06:43 autrijus let me do that. you willing to write a test that exercises it? :)
06:44 scw sure :)
06:44 cls_bsd autrijus: do you have the same problem? #  http://nopaste.snit.ch:8001/2050
06:45 cls_bsd in ghc 6.4
06:45 autrijus ... implemented.
06:46 autrijus cls_bsd: I think you need to depend on libgmp
06:46 scw autrijus: Err, don't you think you do it so fast? :p
06:46 autrijus /usr/ports/math/libgmp4
06:46 cls_bsd autrijus: yes, and check this :)
06:47 cls_bsd autrijus: http://www.freebsd.org/cgi/cvsweb.cgi/ports/lan​g/pugs/Makefile.diff?r1=1.1&amp;r2=1.2&amp;f=h
06:47 cls_bsd in FreeBSD with ghc 6.4, I need to specify -L${PREFIX}/lib in Makefile.PL
06:47 cls_bsd otherwise failed to link
06:48 cls_bsd autrijus: so I'm not sure if it's general to modfiy Makefile.PL or just patch it in FreeBSD
06:48 justatheory has quit IRC ()
06:49 autrijus I think just patch it in freebsd for now
06:49 autrijus we'll know if other people run into trouble
06:49 autrijus debian people seems happy as-is
06:49 cls_bsd ok
06:52 safrican has joined #perl6
06:59 autrijus scw: ok, I see why "if" should not be nested inside expresisons.
06:59 autrijus say $_ if 5
06:59 autrijus will be parsed as
06:59 autrijus say ($_ if 5)
06:59 autrijus because expressions is tighter bound.
06:59 autrijus so, I've finished "while", "until", "for" and moved postcond into statement level
07:00 autrijus committed. enjoy &
07:00 obra later
07:00 jabbot pugs - 787 - * postfix while/until/for; postfix modif
07:01 Khisanth so say($_) if 5 would work or no?
07:03 scw WoW
07:10 hoowa has joined #perl6
07:11 hoowa in perl6 i call a subroutine is $return = %hash{getvariables} and call a string is $return = %hash{'getvariables'} that's right???
07:13 chunzi has quit IRC (Read error: 110 (Connection timed out))
07:15 iwt has joined #perl6
07:30 jabbot pugs - 788 - t/base/post.t tests post form of if/unle
07:30 hoowa has quit IRC (Read error: 54 (Connection reset by peer))
07:33 hoowa has joined #perl6
07:44 iblechbot has joined #perl6
07:44 hoowa has quit IRC (Read error: 104 (Connection reset by peer))
07:53 nothingmuch has joined #perl6
07:53 nothingmuch morning
07:58 steveq has joined #perl6
08:18 larsen has joined #perl6
08:18 nothingmuch hola larsen
08:19 Aankhen`` has quit IRC (Read error: 110 (Connection timed out))
08:19 larsen Good morning.
08:19 Aankhen`` has joined #perl6
08:25 autrijus greetings.
08:25 obra            autrijus, have you seen http://www.cs.huji.ac.il/~yweiss/Colorization/
08:25 obra Not at all related to your specializations. But pretty.
08:26 _metaperl has joined #perl6
08:26 autrijus insanely cool.
08:27 nothingmuch autrijus: bug in zip
08:27 nothingmuch according to the s29 draft, it should put undefs for values of arrays which aren't long enough
08:27 autrijus so it matches the longest?
08:28 autrijus there goes the useful idiom of `zip` 1..Inf
08:28 obra testing people. A crazy idea: a nopaste bot that fills in the perl6 test magic.
08:28 autrijus obra: elaborate?
08:28 obra or even a sample test script. so that people demonstrating buggy behaviour can just fill in their code
08:28 nothingmuch autrijus: yes
08:28 obra rather than people say "hey. i found a bug"
08:28 nothingmuch autrijus: i'lll write tests, but then I'd like to fix it myself
08:28 hoowa has joined #perl6
08:29 obra just a way to more easily turn bug reports into tests.
08:29 autrijus hoowa: right, %hash{foo} now means %hash{'foo'}
08:29 autrijus hoowa: to quote foo, use %hash<foo>
08:29 autrijus to interpolate foo, use %hash<<foo>>
08:29 obra but really, 3:30am
08:29 autrijus nothingmuch: ok. then you need to fix transpose.
08:29 larsen has quit IRC ("leaving")
08:30 autrijus nothingmuch: just see its Prelude definition and rewrite it so it matches the longest.
08:30 nothingmuch what do i fill in for undefs?
08:30 autrijus VUndef
08:30 nothingmuch ok
08:31 autrijus alternatively, get the length of inputs
08:32 lightstep has joined #perl6
08:32 autrijus and manually match them to the longest one
08:32 autrijus but that won't work
08:32 autrijus because you need to be able to zip multiple infinite lists
08:33 rgs has quit IRC (Read error: 104 (Connection reset by peer))
08:33 rgs has joined #perl6
08:35 nothingmuch =(
08:35 autrijus ?
08:35 lightstep it can work. you can do xs ++ (repeat VUndef)
08:35 nothingmuch nevermind, btb
08:35 nothingmuch brb
08:35 autrijus lightstep: err.
08:36 autrijus the problem is that perl6's (zip) matches to longest
08:36 autrijus not shortest
08:36 autrijus we can't blindly tackle repat VUndef to both arguments.
08:36 autrijus s/both/all/
08:36 autrijus because that will make them all infinite.
08:36 lightstep oh. stupid me
08:36 autrijus so I just told nothingmuch to hack transpose.
08:37 autrijus we were using transpose as the implementation; now we just need to let it undef-fill missing columns.
08:37 lightstep yeah, i know, i followed on the log before joining
08:37 autrijus ok.
08:37 lightstep having the logs is cool
08:37 autrijus yup
08:37 hoowa autrijus i have a question for hashlist context. can i ask u with chinese in perlchina room?
08:37 autrijus sure
08:42 metaperl has quit IRC (Read error: 110 (Connection timed out))
08:42 _metaperl is now known as metaperl
08:47 lightstep what should 'abc'[0] evaluate to?
08:48 lightstep some test implies that is should be 'abc'
08:48 autrijus that makes sense.
08:49 autrijus 'abc'[0] is the same as 'abc'.[0]
08:49 autrijus which is the same as ('abc').[0]
08:49 autrijus I don't know for sure if it's correct though.
08:49 autrijus it is never 'a'.
08:49 autrijus it's either 'abc' or syntax error.
08:50 lightstep currently, it somehow becomes ('abc')
08:50 autrijus that is what I expected.
08:50 larsen has joined #perl6
08:51 autrijus but that's wrong
08:51 autrijus [0] should become a scalar
08:51 autrijus [0,] is the list form.
08:51 autrijus I'm not sure if we have a test for that.
08:52 nothingmuch has quit IRC ()
08:52 scw but @a[0,] not even parsed
08:52 autrijus right, as is any trailing comma.
08:52 autrijus is there a test for them?
08:53 autrijus that is actually an easy-ish Parser.hs fix if you are interested
08:53 lightstep they are tested implicitly in reverse.t. some of the test there don't relate to reversing, as far as i can see
08:54 lightstep i'll want to look at it, to learn about Parser.hs
08:58 lightstep btw, i'll also change the suspicious foldr on line 600
08:59 autrijus hm?
08:59 autrijus oh, foldl it instead?
08:59 lightstep i'll be more efficient and lower order
08:59 autrijus fine by me
09:00 autrijus you can probably tell that I was a one-month-old haskell newbie when I started pugs :)
09:00 autrijus so, lots of cargo cults
09:04 lightstep what is the name of the range thingy inside an array subscript?
09:04 lightstep (i need to name the parser)
09:05 autrijus indice?
09:09 hoowa has quit IRC ()
09:11 scw_ has joined #perl6
09:12 scw has quit IRC ("leaving")
09:13 autrijus hmm, GHC 6.4 is out to most platform now
09:14 autrijus think we can drop GHC 6.2 support by Pugs 6.2.0?
09:15 autrijus that way we gain native Version objects
09:15 autrijus and Graph, and more efficient Data.Map etc
09:15 lightstep Pugs 6.2.0 seems really close
09:15 autrijus ...or even dropping GHC 6.2.2 support by next week's 6.0.12...
09:16 cls_bsd gogogo
09:16 autrijus cls_bsd: you say that because ports has ghc 6.4 now :-/
09:16 autrijus but debian etc is not updated, is it?
09:16 lightstep 6.2: Basic IO and control flow elements; mutable variables; assignment.
09:16 lightstep we have some of those
09:16 autrijus lightstep: we have all of those.
09:16 autrijus some still buggy :-)
09:16 steveq There's no ghc 6.4 in Debian yet as far as I can see
09:17 lightstep there is
09:17 lightstep not in the official mirror, though
09:17 steveq ah right
09:17 autrijus ok. we'll wait a bit more then.
09:17 autrijus once all committers can upgrade to 6.4 without much difficulty
09:17 autrijus we'll drop 6.2 support
09:18 autrijus I wonder if STM can be exposed at pugs level.
09:18 autrijus should be fun. :-)
09:18 cls_bsd push debian~~~
09:18 * cls_bsd over some pugs to debian
09:19 * autrijus wonders if porting parrot to C-- makes sense.
09:19 autrijus probably not by this stage.
09:21 lightstep i will make the subscript work, without changing the parser, i think. i'll just take the indices in list context
09:22 autrijus uh no.
09:22 autrijus [0] # scalar context
09:22 autrijus [0,] # list context
09:22 autrijus larry ruling.
09:22 autrijus basically it is list context if it's a Syn ","
09:22 lightstep @3d_slice = @array[ !($_ % 2) ; 0..9:3; ?test($_) ];
09:22 lightstep if i implement some, why not all?
09:22 autrijus or if it's an expression that 'looks like' a list.
09:22 autrijus sure, go ahead :)
09:23 lightstep i don't even know what that means
09:23 autrijus heh
09:23 autrijus see http://dev.perl.org/perl6/synopsis/S09.html
09:23 lightstep odds on first dimension, 0,3,6,9 on second, indices passing test on 3rd?
09:24 autrijus exactly.
09:24 marcus has joined #perl6
09:25 lightstep but nothing else in the current parser supports `;'. how will i signal the pilots?
09:25 autrijus theoreically ';' is parsed as Syn
09:25 autrijus but only inside brackets.
09:25 autrijus i.e. [] and ()
09:26 autrijus outside brackets
09:26 autrijus it is statement-ending stuff.
09:26 autrijus that makes it tricky to parse; basically we need to add ';' to ruleExpression's big table
09:26 autrijus udner loostOperators
09:26 autrijus but in ruleStatement, we can't use that.
09:26 autrijus s/loost/loose/
09:26 autrijus in ruleStatement, we have to use the expression table that does not include ';'.
09:27 meaj has joined #perl6
09:27 autrijus I hope I'm making sense.
09:28 lightstep you do, until i notice that ; isn't in looseOperators, it's in operators, and it's commented out
09:29 autrijus yeah because it breaks ruleExpression level parsing.
09:29 autrijus see ternaryOp for an example
09:29 autrijus in ternaryOp we only use tight
09:29 autrijus and ignore loose
09:29 autrijus so by the same vein
09:29 autrijus in brackets we allow semicolon ("extra loose")
09:30 autrijus and outside brackets we pretend it doesn't exist.
09:30 meaj guys i need a php and mysql registration and login tutorial
09:30 autrijus meaj: try http://www.google.com/ ?
09:30 autrijus or try #php :)
09:30 meaj common
09:30 meaj i've tried that
09:32 gaal has joined #perl6
09:32 autrijus lightstep: don't assume the ?test($_) form (autothunking) yet
09:32 autrijus lightstep: I'm writing to ask larry.
09:33 lightstep ok
09:34 lightstep and i'll also not assume x..y:z, but will use only standard parsing routines
09:34 autrijus right.
09:34 autrijus x..y:z should work
09:34 autrijus but it's in the range operator signature
09:34 gaal hi all.
09:34 autrijus has nothing to do with slices.
09:34 autrijus greetings, bold gaal
09:34 gaal oh, my, this client is playing mind games with me.
09:35 meaj www.onlamp.com
09:35 rgs my eyes hurt. /mode +c
09:35 gaal and the nickserv doesn't like me.
09:35 autrijus yay. not bold now.
09:35 autrijus what are you using as an irc client? telnet?
09:35 gaal yeah, sorry about that. no, trillian.
09:35 autrijus oh ok :)
09:36 gaal netcat to potr 6667 :-p
09:36 meaj hey!
09:36 meaj i need some perl tutorials
09:36 gaal and i need some luvin'.
09:36 autrijus meaj: http://learn.perl.org/
09:36 meaj thanks
09:36 autrijus meaj: but really, you probably want perl 5 tutorials, in which #perl6 is not the place :)
09:37 autrijus it will be another few weeks before we can write full-fledged login and registration web applications in perl 6 :)
09:37 autrijus so in the mean time, try perl5
09:37 autrijus it's really not a bad language for that task
09:37 steveq Anyone started porting the CGI suite to perl6 yet? ;-)
09:37 autrijus steveq: no, wanna try? :)
09:38 steveq if only I had that much spare time
09:38 autrijus :)
09:38 steveq It shouldn't be difficult, it doesn't do anything too complicated, it's just HUGE
09:39 autrijus exactly.
09:39 steveq I guess it's not possible to do the OO interface yet
09:39 autrijus so, may I interest you in learning PPI and write PPI -> PugsAST translator? :)
09:39 lightstep what is Inf in Pugs?
09:39 autrijus lightstep: Inf in Pugs is Inf.
09:39 steveq What's PPI?
09:39 autrijus steveq: http://search.cpan.org/dist/PPI/
09:39 autrijus it's a parser for perl 5.
09:39 steveq ah
09:40 autrijus it generates a tree that can be translated to pugs tree.
09:40 dada has joined #Perl6
09:40 dada hola
09:41 lightstep oh, i now see that dotdotdotLiteral fails
09:41 autrijus greetings!
09:41 hlafarge has joined #perl6
09:42 meaj has quit IRC (Read error: 104 (Connection reset by peer))
09:42 lightstep are there test for the list literal?
09:42 lightstep s/test/tests/
09:43 viirya autrijus: have anyone report you the failure of Makefile on Windows?
09:43 autrijus viirya: yes, several in fact.
09:43 autrijus I can't duplicate any of them :-/
09:44 viirya autrijus: I just found one, but have no idea of why it's wrong.
09:45 dada just tried, the Makefile seems fine on Windows
09:45 autrijus ingy: win32 hates your magicks :-/
09:45 viirya dada: do you modify manually any thing?
09:45 viirya I comment some lines to make it works.
09:45 autrijus viirya: oh?
09:46 mattc has joined #perl6
09:46 viirya autrijus: one of two pure_all declaration.
09:46 autrijus !.
09:47 autrijus mail Makefile to me?
09:47 autrijus and Cc ingy
09:47 viirya ok.
09:48 viirya autrijus: do you have mail of ingy?
09:48 autrijus ingy at cpan dot org
09:48 dada viirya: no, I didn't modify anything
09:49 viirya weird.
09:49 dada I'm using nmake 7.10.3077, BTW
09:50 dada (the one from Visual Studio .NET)
09:50 autrijus I'm using the free nmake15.
09:50 viirya same with autrijus's version.
09:51 autrijus dada: also send your Makefile to me.
09:52 autrijus viirya: if you comment out the build_subdirs line
09:52 autrijus does it then work?
09:52 lightstep (1;2) isn't a list, is it?
09:53 dada autrijus: where?
09:53 jabbot dada: where is your conscious
09:53 autrijus dada: autrijus at autrijus dot org
09:53 autrijus lightstep: it is not.
09:53 autrijus lightstep: it is a tuple into a 2-dimentional Array.
09:54 lightstep huh?
09:54 autrijus s/into/that slices/
09:54 autrijus say we have a matrix
09:54 autrijus [ 0 1 2 ]
09:54 autrijus [ 3 4 5 ]
09:54 autrijus [ 6 7 8 ]
09:54 lightstep S09 implies that it's a value in its own
09:55 lightstep and not used only for slicing
09:55 lightstep (it doesn't specify other uses, though)
09:55 autrijus well, let me put it this way
09:55 autrijus ";" is a list op
09:55 autrijus or rather, list-associative op
09:56 viirya autrijus: sent. I'm trying for build_subdirs.
09:56 lightstep which evaluates to some list-of-lists, which doesn't exist yet in pugs?
09:56 autrijus inside [] brackets, it merely serves as the non-concating ","
09:56 autrijus pugs has list of lists.
09:56 autrijus VList [ VList [1,2], VList [3,4] ]
09:56 autrijus is one such thing.
09:57 viirya autrijus: works smoothly after commenting it.
09:57 dada so, isn't (1;2) a shorthand for ([1], [2])?
09:57 dada which, in fact, is a list
09:57 autrijus dada: inside [] brackets, yet.
09:58 dada are you sure autrijus?
09:58 lightstep isn't [1] the same is (1) ?
09:58 dada lightstep: no
09:58 lightstep oh, dear
09:58 autrijus lightstep: they are the same under scalar context.
09:58 dada lightstep: note that $a = [1] and $a = (1) do the same thing
09:58 autrijus under list context, [1] is ([1]) and (1) is (1).
09:59 dada ...as autrijus said
09:59 lightstep ok
09:59 autrijus so ((1,2),(3,4)) is (1,2,3,4)
09:59 autrijus but [[1,2],[3,4]] is never [1,2,3,4].
10:00 autrijus that's one of the fundamentally weird thing about perl6.
10:00 autrijus takes some time to get used to it.
10:00 lightstep [[1,2],[3,4]] is the list of lists (1,2) and (3,4) ?
10:00 autrijus yes.
10:00 steveq I'm slightly surprised that  ((1,2),(3,4)) is (1,2,3,4)
10:00 autrijus steveq: because it's list context all the way
10:00 steveq seems to me that it is a list that contains two lists
10:01 autrijus and () flattens inside list context.
10:01 lightstep and ([1,2],(3,4)) is ([1,2],3,4) ?
10:01 autrijus lightstep: yes.
10:01 lightstep at least haskell nested list syntax still works
10:01 autrijus sure.
10:02 autrijus welcome to the world of cryptocontexs!
10:02 autrijus cryptocontext, even
10:05 dada autrijus: I'm not sure that ; is allowed only inside [] brackets
10:05 autrijus dada: I'm sure it's allowed elsewhere.
10:05 autrijus my $a = (1;2;3);
10:06 autrijus that also works.
10:06 autrijus my point is merely that
10:06 autrijus my $a = 1;2;3;
10:06 autrijus is something very different.
10:06 lightstep so semicolons-as-listops are context dependent. i think that is breaks the boundaries of buildExpressionParser. i could create another expression parser, for inside parens&brackets
10:06 autrijus also,
10:06 autrijus my $a = {1;2;3};
10:06 autrijus uses ';' as statement specifiers.
10:07 autrijus lightstep: that is a good idea. I think you can put Y and ; to that category.
10:08 lightstep but why not dispose of expression parsers, and just descent recursively?
10:08 lightstep *descend
10:08 lightstep english is so confusing these days
10:09 autrijus oh, never mind, Y does not belong in the same category as ;
10:10 autrijus hrm, or maybe it does. decisions decisions
10:10 lightstep i think it doesn't
10:10 autrijus but the current ";" in the bottom
10:10 autrijus is not the slicing ;
10:10 lightstep well, it does, but Y is in both parsers, and ; is only in one
10:10 autrijus I'm thinking that
10:10 autrijus my $a = 3 Y 4;
10:11 autrijus nvm. it should be parsed (my $a = 3) Y (4) anyway.
10:11 lightstep really?
10:11 autrijus look at the table in S03...
10:11 autrijus = is tighter than Y
10:11 autrijus but then, "Y" is listed at the same level as ","
10:11 autrijus and
10:11 autrijus my $a = 3,4;
10:12 autrijus clearly means
10:12 autrijus my $a = (3,4);
10:12 lightstep and they won't fix it even after you pointed it out?
10:12 autrijus but in perl5 it means
10:12 autrijus (my $a = 3), (4);
10:12 autrijus so I think it applies to Y too.
10:12 autrijus lightstep: I think that's actually intensional.
10:12 autrijus i.e. not a bug, a feature.
10:12 autrijus so, back to recdescent.
10:13 autrijus if you are up to rewrite Parser.hs to be recdescent, sure!
10:13 autrijus although I think the ';' case can be fixed by introducing extra-loose
10:13 lightstep we have this env threading thingy which i don't know how to do: are the bindings there always global?
10:13 autrijus if you think recdescent is the way to go, I'm all for it
10:14 autrijus you mean Env as state?
10:14 lightstep yes
10:14 autrijus I don't think it's actively used.
10:14 autrijus Parsec will be made into Eval anyway.
10:14 autrijus so it's just there as a stub.
10:14 autrijus once parsec is in eval, bindings in there can be local.
10:14 autrijus consider:
10:14 autrijus if (...) {
10:15 autrijus    my sub infix:<ZZZ> { ... }
10:15 autrijus    $a ZZZ $b;
10:15 autrijus }
10:15 autrijus it's clear that the operator table needs to parse ZZZ
10:15 autrijus but only lexically.
10:15 autrijus that is the reason why Rule.hs must be moved inside Eval monad.
10:16 lightstep so there are no separate parsing and evaling stages in perl6
10:16 autrijus there is a bit parsing
10:16 autrijus a bit evalling
10:16 autrijus but all inside the same monadic environment.
10:16 lightstep and it's supposed to be compilable?
10:16 autrijus it si.
10:16 autrijus it is.
10:17 autrijus scary enough yet?
10:17 * autrijus points to hs-plugins and TH for prior art
10:17 lightstep are all the infix operators resolvable from the ast?
10:17 autrijus or rather, lisp.
10:17 autrijus no; some may be randomly generated.
10:17 autrijus think nethack.
10:18 autrijus err.
10:18 lightstep i don't know how th works, but lisp runtimes come with an evaluator
10:18 autrijus yes, and perl6 must too.
10:18 autrijus there is this eval "" primitive.
10:18 autrijus so dynamic recompilation
10:18 autrijus and/or a bundled bytecode interpreter.
10:18 autrijus so maybe eval"" is always interpreted.
10:19 autrijus or maybe eval"" does a recompilation on the fly, hs-plugins style.
10:19 lightstep i can imagine how it would be compiled, without precompilation. the expressions will be closures parameterised by their unresolved infix operators
10:19 lightstep s/pre/re/
10:19 autrijus sure! it will be a set of cascading recompilation.
10:19 autrijus that has always been the plan, iirc.
10:19 autrijus since perl6 macros is written in perl6 itself
10:20 autrijus and can affect parsing simply by swapping out the parser grammar in midst of tokens.
10:20 autrijus i.e. one can declare, lexically, that ";" now stands for ",".
10:20 lightstep how is precedence figured out?
10:20 autrijus when you declare a rule, you must assign it a precedence via "is equiv", "is looser" or "is tighter"
10:21 autrijus it defaults to something sensible.
10:21 autrijus see http://dev.perl.org/perl6/synopsis/S06.html "subroutine traits".
10:22 autrijus when people ask why perl6 parsing spec took ~3 years to arrive, I usually point to that as the answer
10:24 lightstep the parser must read an expresion before evaluating it, and some parts of the expression might declare new infix operators with unexpected precedence. even figuring out the dwimmy semantics is hard
10:24 autrijus aye.
10:25 lightstep even befunge is compilable, though, and it has real self-modifying code
10:25 autrijus I think every interpretable language is compilable by definition; the boundary is merely how small a RTS you can make.
10:26 autrijus the underlying thing is always a church, I mean turing, machine ;)
10:26 lightstep you mean a jot machine
10:27 autrijus maybe a wayback machine.
10:27 autrijus or a game of life machine, or rule 110 ;)
10:28 lightstep how are the operators extracted from the environment? are they the variables that are subs that have been declared infix?
10:30 autrijus aye.
10:30 autrijus actually, even prefix subs affects parsing.
10:30 autrijus unary subs consumes only one thing
10:31 autrijus and makes "," lowprec than it
10:31 autrijus list subs consumes as many "," as possible.
10:32 autrijus actually, we already support that for our unary primitives in Parser.hs
10:34 autrijus as you can see, perl is a very dwimmingly dynamic language by tradition, and larry & co is making it even more so.
10:34 autrijus oh, and the parser needs to be transcribed into Perl6 Rules at some point.
10:35 lightstep aren't rules only good for matching and stuff?
10:35 lightstep where stuff is parsing non-perl languages
10:36 autrijus uh, no.
10:36 autrijus rules is designed to parse perl.
10:36 autrijus it is recdescent but with arbitary backtracking/lookaround
10:37 autrijus and one of perl 6.0.0's TODO is to parse perl with perl rules
10:37 autrijus so you can easily tweak the parser by modifying the main grammar.
10:37 autrijus where the grammar is a perl 6 module.
10:37 autrijus I will not comment on the sanity of this, only that it is what needs to happen :)
10:37 lightstep so why is implementing the parser in rules part of the pugs project? shouldn't it be part of the language definition (like the derived syntax in scheme)?
10:37 autrijus yes, in fact the person responsible for it is the grammar engine guy
10:37 marcus has quit IRC (Remote closed the connection)
10:38 autrijus the one Patrick Michaud (pmichaud around here)
10:38 lightstep and is it progressing?
10:38 autrijus it is; he is working on a C compiler that compiles rules into parrot
10:38 autrijus so rules can at least run.
10:38 autrijus the problem with perl6 before was that there was nothing parses perl
10:39 autrijus and until the PGE (the thing in C that compiles rules to parrot assembly) is finished, nothing could
10:39 autrijus and PGE was blocking on parrot
10:39 autrijus etc etc.
10:39 autrijus so Pugs is sort of just replacing PGE with parsec, parrot with GHC RTS, and go from there.
10:39 lightstep oh
10:40 autrijus pmichaud says a fully working PGE next week.
10:40 lightstep wow
10:40 lightstep he might beat us to it
10:41 autrijus which is fine
10:41 autrijus we can then use FFI to link PGE
10:41 autrijus and let PGE compile rules into some primitive haskell
10:41 autrijus either parsec, or something in Eval.
10:41 autrijus alternatively, port PGE over to haskell.
10:41 autrijus either way will save lots of work.
10:42 * autrijus stresses that pugs is in no way a competition with PGE and Parrot :)
10:43 lightstep i meant is as admiration
10:43 autrijus ah. ok :)
10:43 lightstep as in "pmichaud signle-handedly beat ten gorillas"
10:43 autrijus er. it is maybe worth nothing that PGE was in the works for the past half year or so :)
10:44 lightstep fodd &
10:59 bd_ has joined #perl6
11:00 Khisanth has quit IRC ("something is wrong with the HD ...")
11:03 elmex has joined #perl6
11:04 elmex just checkedout the latest svn, build and run the tests. is it ok if a few tests fail?
11:04 autrijus yes; I'm looking into it.
11:05 autrijus it is generally okay for tests to fail inbetween releases.
11:05 elmex i got Failed 4/99 test scripts, 95.96% okay. 10/1691 subtests failed, 99.41% okay
11:05 autrijus nod.
11:05 elmex ok
11:05 marcus has joined #perl6
11:07 elmex just wanted to look at the synopses and try out perl6 ;) after waiting so long for parrot and perl6 to 'finish'
11:09 autrijus I hope you like what we have so far :)
11:10 rsta has joined #perl6
11:11 elmex it's impressive what amount is already implemented.... and haskell is a language i like much myself, just that i never write much code in haskell and my .hs skills are a bit rusty..
11:11 autrijus elmex: that's okay. you can practice it here :)
11:11 autrijus may I strike your fancy in implementing more primitives? :D
11:12 elmex what kind of primitives?
11:12 autrijus primitive functions;
11:12 autrijus basically take "perldoc perlfunc"
11:12 autrijus and start filling in missing ones.
11:13 autrijus we just got index().
11:13 autrijus maybe you will be interested in substr()? :)
11:13 autrijus or easier, rindex() ?
11:13 autrijus glob()? :)
11:14 nothingmuch has joined #perl6
11:14 nothingmuch has quit IRC (Client Quit)
11:14 nothingmuch has joined #perl6
11:15 elmex oh ah... well..err ;) i don't think my skills are good enough to produce working haskell code :) but i will see whether i can contribute anything useful :)
11:15 autrijus new tests are always welcome too :)
11:15 autrijus or port your fav perl5 module :)
11:16 elmex heh
11:16 elmex are all perl5 prims in perlfunc going to be implemented in perl6?
11:16 autrijus some as modules
11:16 autrijus and maybe some as library code
11:16 autrijus but yeah.
11:17 elmex hmm,ok
11:17 gaal which reminds me, was ingy serious about ".yaml" (analogously to ".perl")?
11:17 rgs evern reset().
11:17 autrijus gaal: I'm fine with YAML.pm providing that
11:18 autrijus not fine with a prim.
11:18 gaal how do you install a global method? i don't remember,  is there a UNIVERSAL in perl6
11:19 elmex woa... first time i'm seeing reset ()...
11:19 gaal ?
11:19 autrijus gaal: you install it by declaring a multisub.
11:19 autrijus with * as part of its name.
11:19 autrijus multi sub &*yaml { ... }
11:20 gaal cool
11:22 nothingmuch btw, how is method dispatch going to become faster in p6?
11:22 nothingmuch and where are the tradeoffs going to be, if at all?
11:24 autrijus uh. are you asking me as pugs author or asking me as parrot spectator? :)
11:24 elmex *g*
11:24 nothingmuch either or
11:24 autrijus (|)
11:24 nothingmuch what does perl6 expect to get?
11:24 autrijus p6 expect to dispatch methods at compile time
11:24 autrijus as much as possible.
11:25 autrijus without expensive lookups.
11:25 nothingmuch based on optional strong types?
11:25 autrijus optional types help.
11:25 autrijus inference helps.
11:25 nothingmuch like, my
11:25 autrijus but ultimately, because there is a compiler.
11:25 nothingmuch $fh = <get a handle>
11:25 autrijus p5's compiler probably doesn't do anything.
11:26 autrijus except some peephold optimizing
11:26 autrijus so all lookup is runtime.
11:26 nothingmuch look at the immediate window
11:26 nothingmuch what is peephole optimizing, btw?
11:26 nothingmuch and fix it up a bit?
11:26 nothingmuch $i++ -> ++$i in void context, etc?
11:26 iblechbot has quit IRC (Connection reset by peer)
11:26 autrijus right. and I wonder why your sentences are in the wrong order
11:27 nothingmuch because i talk funny
11:27 autrijus ah. like jabbot
11:27 autrijus but yes.
11:27 nothingmuch anyway, $fh = <get a handle>
11:27 nothingmuch now the compiler can assume certain calls are dispatch to it
11:27 nothingmuch and MMD is partially resolved at compile time?
11:27 nothingmuch and are subs with types on the params really just MMD in disguise?
11:29 autrijus malarie didn't run index.t with perl5 ;)
11:30 autrijus otherwise he'd seen that there is one test case that was wrong.
11:30 autrijus index("Hello", "", 999)  # this is 5, not -1
11:31 lightstep f(@a;@b)  <-  is f unary of binary?
11:32 autrijus unary.
11:32 lightstep cool
11:32 autrijus which is why larry used ';'.
11:32 autrijus to avoid misparsing vs ','
11:33 lightstep `,' could be made to work there, i think, but it would have bad interactions
11:33 autrijus very bad interactions.
11:36 theorbtwo has joined #perl6
11:37 autrijus cls_bsd: :-/
11:37 autrijus freebsd's ghc doesn't depend on libunicode
11:37 autrijus so unicode is all borken
11:37 autrijus no Han character identifiers for you!
11:39 kungfuftr unicode on freebsd borken?
11:39 autrijus no, just not linked.
11:39 autrijus I bet some linuxes aren't either.
11:40 kungfuftr ah, okay... so that's why that no work
11:40 kungfuftr is it a ports make option?
11:40 autrijus no, you simply have to make libunicode before making ghc
11:40 autrijus that's annoying. :-/
11:40 jabbot pugs - 789 - * fix index() so it agrees with p5.
11:41 * kungfuftr rebuilds ghc
11:41 autrijus you think it's worth a send-pr?
11:41 autrijus i.e. make ghc depend on libunicode
11:41 autrijus it's not like it's a large dependency
11:41 kungfuftr add it as an optional make option
11:42 autrijus :-/ but then it will hurt because most people get ghc as pkg
11:42 autrijus building ghc is too painful
11:42 kungfuftr yeah, true... but i wouldn't like the idea of enforcing having to use unicode on everyone else
11:42 autrijus well, it should not break anyone's code.
11:43 autrijus it's an additional capability, not something differently implemented.
11:43 lightstep and some don't want that capability
11:44 autrijus indeed? hmm.
11:44 lightstep some only work with ascii
11:44 autrijus but haskell report mandates unicode semantics.
11:44 autrijus so arguably, without libunicode, ghc does not comply.
11:45 qmole has quit IRC (Read error: 60 (Operation timed out))
11:45 lightstep howcome? it's not like gthChar specifies some encoding
11:45 autrijus http://haskell.org/onlinereport/char.html
11:46 autrijus please grep for "Unicode".
11:46 autrijus without libunicode, ghc can't comply with that section, I think.
11:49 autrijus kungfuftr: it's not seeing the wint definition after libunicode. I'm tracing
11:51 elmex has quit IRC (Read error: 104 (Connection reset by peer))
11:52 rsta has quit IRC ("Chatzilla 0.9.67 [Firefox 1.0.1/20050226]")
11:52 kungfuftr *blink*
11:52 autrijus apparently Dimitry Golubovsky has a patchset.
11:52 kungfuftr plus it's libtool13 that now takes over from libunicode iirc
11:52 autrijus yeah.
11:53 * kungfuftr has a few ports he needs to update too... shit
11:55 autrijus hm, so support is there in libc.
11:55 autrijus no need for libunicode
11:55 autrijus there goes the dependency problem.
11:55 autrijus now, how to hook it in...
11:55 autrijus can't quite believe I'm patching the monser ;)
11:55 autrijus monster, even
11:56 kungfuftr bigfoot cut his knee?
11:56 theorbtwo has quit IRC ("Download Gaim: http://gaim.sourceforge.net/")
12:01 * kungfuftr waits for someone to write a flash based subethaedit clone
12:10 jabbot pugs - 791 - * remove non-latin1 parts from unicode t
12:10 jabbot pugs - 790 - * make print encode utf8 by default. jar
12:18 autrijus the full sentence beginning with "jar" is "jarkko, here I come"
12:19 theorbtwo has joined #perl6
12:20 jabbot pugs - 792 - Added t/op/time.t, tests time,times,loca
12:22 lightstep has quit IRC ("leaving")
12:24 iblechbot has joined #perl6
12:25 lightstep has joined #perl6
12:35 autrijus anyone know how to do
12:35 autrijus goto &ok();
12:35 autrijus in perl6?
12:35 autrijus I want to call ok()
12:35 autrijus but let the ?CALLER work
12:38 autrijus oh. call()
12:39 autrijus eww. scary
12:39 autrijus scary but fun. let me implement that
12:46 xern has joined #perl6
12:46 autrijus hi xern!
12:46 * autrijus writes p6l before implementing call()
12:48 rsta has joined #perl6
12:50 rsta has left
12:51 rsta has joined #perl6
12:51 xern hi!
12:51 autrijus xern: got time to put your p6 slides into use? :)
12:52 rsta has left
12:52 autrijus poll:
12:52 autrijus larry said "123abc" numifies to 123
12:52 autrijus "Inf" to Inf
12:52 xern u wanna do it by urself? i have limited time online
12:52 autrijus "Infamy" to 0
12:53 autrijus now, any guess about what "0o789" and "3e4d5" numifies to?
12:53 radek has joined #perl6
12:53 autrijus xern: sure :)
12:53 autrijus still very busy?
12:53 xern but it seems that i have lost my slides long long ago.
12:53 autrijus to Perl 6
12:53 xern i'm also doing bioinfo-related things during my off hours
12:53 autrijus http://xern.perlmonk.org/Perl6/
12:53 xern ah, sure!
12:54 autrijus took some time but we are finnally running it :)
12:54 steveq I was wondering, can a subroutine I write find out if it was called in a numeric or string context?
12:55 autrijus steveq: sure!
12:55 autrijus see S06, wanr
12:55 autrijus want
12:55 steveq aha, I realised it could scalar/list
12:56 autrijus when Num, when Str
12:56 xern autrijus: buy my source is gone. u need to do copy'n'paste by urself :-/
12:56 autrijus same thing.
12:56 autrijus :/ ok
13:00 kungfuftr autrijus: any luck with ghc and unicode?
13:01 autrijus kungfuftr: aye. writing to ask
13:02 autrijus kungfuftr: we can include a table by ourselves as the last course
13:02 kungfuftr ah, k
13:02 autrijus alternatively, I want to push GHC 6.4.1 to come with a builtin tables
13:02 radek has quit IRC ("Chatzilla 0.9.67 [Firefox 1.0.1/20050226]")
13:02 rafl_ has quit IRC (Client Quit)
13:02 rafl has joined #perl6
13:03 kungfuftr autrijus: lang/ghc right? not lang/ghc6 ?
13:03 autrijus there's no ghc6 here
13:03 autrijus just ghc
13:03 kungfuftr whoops, my mistake mis-read a character
13:04 autrijus bah. it's not like it's a hard thing. I'll just roll my own.
13:04 autrijus eta 10 mins
13:04 iblechbot has quit IRC (Connection timed out)
13:09 * webmind wonders if perl6 could perform operations between more then lists? like objects or hashes ?
13:10 steveq You can overload operators for objects
13:10 webmind overload ?
13:11 webmind how is that ?
13:11 steveq well, I could make '+' do something for objects of two classes i've created
13:12 scw has joined #perl6
13:13 steveq http://dev.perl.org/perl6/synopsis/S13.html
13:21 lightstep when i commit (using svn), does it update my tree on my place at the same time?
13:22 autrijus yes
13:22 autrijus in fact, it has no notion of a local tree.
13:22 autrijus svk does, svn does not.
13:23 autrijus svn's local tree is merely a snapshot
13:23 autrijus you cannot query "svn log" when offline.
13:23 steveq yeah, that's annoying
13:23 autrijus in that regard it is merely cvs with a snapshot for the checked out revision.
13:23 autrijus we found that annoying and clkao went ahead to write svk :)
13:25 scw_ has quit IRC ("leaving")
13:27 webmind steveq, like add methods to objects ?
13:28 steveq Just like adding methods you can add infix operators, I presume that's what you were asking about
13:29 webmind and infix operators are?
13:29 webmind sorry.. rather bad with the lingo
13:29 steveq +, -, ~
13:29 webmind just wodnering if you could do stuff like merge 2 objectsa
13:29 webmind -a
13:36 stevan has joined #perl6
13:37 iblechbot has joined #perl6
13:40 stevan has quit IRC (Client Quit)
13:42 cnhackTNT has joined #perl6
13:48 cnhackTNT has left
13:51 autrijus I've finished Unicode.hs
13:51 autrijus but it's too slow to be useful. hrm
13:51 * autrijus tries -O3
13:57 * autrijus tries -O
14:07 stevan has joined #perl6
14:07 autrijus stevan: I like Test.pm interface :)
14:07 autrijus and your decision is as good as mine :)
14:08 stevan autrijus: ok :)
14:08 stevan I assume you mean perl6 Test.pm
14:08 autrijus yup.
14:09 stevan I was going to refactor the error reporting today when I have time
14:09 stevan autrijus: do we have CATCH yet BTW?
14:10 autrijus not yet.
14:10 stevan but die strings are put into $! right?
14:10 autrijus I'm wasting my time trying to implement Unicode semantics :-/
14:10 autrijus inside eval? I think so
14:10 stevan ok
14:11 stevan unicode is important (tedious and annoying at times) but important
14:12 autrijus yeah.
14:15 autrijus fortunately haskell let me inline C code.
14:19 cls_bsd autrijus: should ghc depends on libunicode?
14:19 cls_bsd I'll try
14:20 autrijus cls_bsd: no no
14:20 autrijus won't help
14:20 autrijus ghc is broken
14:20 autrijus no need to try anymore
14:20 cls_bsd ghc is broken? 6.4?
14:20 cls_bsd or?
14:20 jabbot cls_bsd: or is env a sort of unification
14:20 cls_bsd ...
14:20 cls_bsd jabbot: forget or
14:20 jabbot cls_bsd: ok
14:21 autrijus no, ghc can't find wchar.h on freebsd.
14:21 autrijus just a sec
14:22 cls_bsd maybe 5.x?
14:22 autrijus I grepped ML
14:23 autrijus the mailing list archive indicates ghc never supportted freebsd's libc's unicode
14:36 cls_bsd oh, that's great
14:36 autrijus that's fine. I'm rolling my own Unicode.c ;)
14:36 autrijus almost done now.
14:36 autrijus sad, eh
14:43 cls_bsd autrijus++
14:43 cls_bsd how can we live w/o you \o/
14:43 dvtoo has joined #perl6
14:48 clkao autrijus: help the innocent soul on #svk that would help package win32 binaries!
14:50 autrijus ok. now I _really_ want testers.
14:50 theorbtwo Of what, exactly?
14:51 jabbot pugs - 793 - * Unicode.hsc -- consistent unicode sema
14:51 autrijus t/syntax/unicode.t should now unconditionally pass.
14:51 autrijus across any platform :)
14:51 theorbtwo Thanks for fixing my assert_ghc problem from the other day.
14:52 dada autrijus: it doesn't even build for me
14:52 autrijus theorbtwo: np
14:52 theorbtwo src/Internals.hs: Can't find module `Unicode' (use -v to see a list of the files searched for)
14:52 autrijus uh oh. did you rerun Makefile.PL ?
14:52 dada yes
14:52 theorbtwo Yes.
14:52 theorbtwo (It reruns itself.)
14:53 dada (I have the same error as theorbtwo, BTW)
14:53 autrijus hm.
14:53 autrijus "make src/Unicode.hs" ?
14:53 autrijus also, up to r795.
14:53 lhooq has joined #perl6
14:54 * autrijus crosses fingers
14:54 Gruber Compiling Unicode          ( src/Unicode.hs, src/Unicode.o )
14:54 Gruber /tmp/ghc98505.hc:5:21: Unicode.c: No such file or directory
14:54 Gruber /tmp/ghc98505.hc: In function `s86u_entry':
14:54 Gruber /tmp/ghc98505.hc:80: warning: implicit declaration of function `isSpaceC'
14:54 Gruber ...
14:54 theorbtwo Still doesn't work; /tmp/ghc13371.hc:5:21: Unicode.c: No such file or directory...
14:54 steveq I get the same problem at 795 of "Can't find module `Unicode'"
14:54 theorbtwo Er, same as Gruber.
14:55 autrijus but there is a src/Unicode.c ?
14:55 theorbtwo I'm betting on rel pathname problem.
14:55 Gruber yes
14:55 steveq autrijus: yes
14:55 theorbtwo .c and .hs
14:55 theorbtwo That's on the main make, not the make src/Unicode.c
14:55 steveq Unicode.hsc, and Unicode.c here
14:55 lhooq is now known as dadanother
14:55 theorbtwo .c, .hi, .hs, and .hsc, I should say.
14:55 dadanother works for me with r795 and 'nmake src/Unicode.hs'
14:56 steveq This is Gnu make
14:56 autrijus ok, try r796
14:56 autrijus I added -Isrc
14:57 autrijus dada: woot. unicode.t passes?
14:57 steveq the command run is: "ghc --make -Isrc -isrc -static -Wall -fno-warn-missing-signatures -fno-warn-name-shadowing -o pugs src/Main.hs"
14:57 steveq src/Internals.hs:
14:57 steveq    Can't find module `Unicode'
14:57 theorbtwo Some warnings, but compiles.
14:57 dadanother autrijus: yes, 18 tests ok
14:57 autrijus steveq: ok I think I got it.
14:57 dadanother I have one warning when compiling
14:57 dadanother src/Internals.hs:16:
14:57 dadanother    Warning: `digitToInt' is exported by `module Unicode' and `module Data.Char'
14:58 theorbtwo 18 pass, before had "ghc not unicode" and skip.
14:58 lightstep cannot find module Unicode (imported from Rule/Char.hs)
14:58 autrijus r797 should fix it.
14:58 lightstep yuppy
14:59 steveq yay
14:59 autrijus I guess the missing signature warning can be squashed with a proper Unicode.h or something.
14:59 autrijus but I can't duplicate it here.
14:59 autrijus mm, the runtime seems as fast as before.
14:59 autrijus so, no performance penalty
14:59 autrijus yay for sensible FFI interface!
14:59 lightstep thought now digitToInt is now imported more than once in Internals (from Unicode and Data.Char)
15:00 lightstep *though
15:00 autrijus fixed.
15:00 dadanother autrijus: you should add Unicode.hs to make clean maybe?
15:00 autrijus good idea.
15:00 jabbot pugs - 798 - * digitToInt is Unicode's domain.
15:00 jabbot pugs - 797 - * explicitly require Unicode.hs
15:00 jabbot pugs - 796 - * -Isrc should help
15:00 jabbot pugs - 795 - * try again...
15:00 jabbot pugs - 794 - * Unicode should always pass.
15:01 autrijus done.
15:02 * rjbs updates.
15:04 Khisanth has joined #perl6
15:05 rjbs ack, I lost my ghc install. silly os upgrade.
15:05 dadanother everything's fine here (Makefile.PL, nmake, nmake clean, unicode.t)
15:05 autrijus woot woot
15:05 autrijus so, tibetan variable names all over the land.
15:06 rjbs finally!
15:06 autrijus whew.
15:06 rjbs time to rewrite my esperanto dictionary in perl 6. in esperanto.
15:06 dadanother time to find an editor that can actually *show* these characters :-(
15:07 rjbs vim!
15:07 dadanother mmm...
15:08 theorbtwo My xemacs seems to do well enough, after M-x prefer-coding-system UTF-8.
15:08 theorbtwo Though for some reason hebrew comes out very very very small.
15:08 autrijus must be a font issue.
15:09 theorbtwo I know, but I'm not very motivated to fix it.
15:09 theorbtwo Since I can't actually read anything other then English anyway, and a very little bit of German.
15:09 dadanother is "ok(eval 'my $ã~A~D; 1', "japanese declaration");" supposed to mean something?
15:10 dadanother (note that "~A~D" is blue in my vim :-)
15:10 autrijus dadanother: don't think so
15:10 rjbs your encoding is probably wrong. those are probably kana in utf-8, and it's declaring a ja-named variable
15:10 rgs dadanother: try set encoding=utf8
15:10 jabbot pugs - 799 - * Unicode.hs is now cleaned
15:10 autrijus "い" means "it is" according to babelfish
15:11 dadanother rgs: now it beeps several times when I open the file :-)
15:11 rjbs dadanother: check values of tenc and fenc
15:11 dadanother fileencodings=ucs-bom,utf-8,latin1
15:12 lightstep in hebrew, "it is" and "this" are the same word
15:12 autrijus hrm, vim in gnome-terminal doesn't do BiDi.
15:12 autrijus not very surprising.
15:12 dadanother but I can't find termencoding...
15:12 autrijus tenc ?
15:12 rjbs Is it unset, or is it missing?
15:13 lightstep vim never does bidi
15:13 dadanother unset, apparently
15:13 autrijus Eclipse does :)
15:13 dadanother it doesn't even show with :set all
15:13 theorbtwo Hm, last I checked, cat in gnome-terminal seemed to bidi OK, so I'm blaming it on vim.
15:13 rjbs dadanother: you're comiled with +multi_byte ?
15:14 lightstep theorbtwo, probably gnome-terminal does it in line mode itself, and doesn't on the mode that vi uses
15:18 dadanother rjbs: it's the cygwin binary distro, dunno how's compiled
15:18 rjbs dadanother: consult :ver
15:18 dadanother yes, +multi_byte is there
15:20 ingy hola
15:20 jabbot pugs - 800 - * restore basic.t to sanity
15:21 autrijus ingy: unicode varnames etc works consistently everywhere :)
15:21 ingy yow!
15:21 ingy autrijus++
15:21 ingy autrijus: what is up with win32?
15:22 autrijus ingy: it seems that some of Kwid's paths is not nativized to \
15:22 autrijus also, somehow after subdir is built, it does a "cd .." and fails
15:22 autrijus but I can reproduce neither.
15:23 autrijus so is kind of hard to debug
15:23 autrijus would be better if some failing person can provide vnc or telnet
15:23 ingy my win2k box is broked. who reported it?
15:24 autrijus viirya did
15:24 autrijus as did dvergin on my use.perl journal
15:24 autrijus and a random CPAN bug person
15:24 autrijus and someone else I forgot
15:24 autrijus it's failing all over the place with different symptoms
15:24 ingy hmmm. I can review for File::Specedness
15:24 autrijus but all works when I tell them to comment out the subdirs.
15:25 ingy but ext/Test is a subdir, no?
15:26 autrijus sure, so "works" as in "builds pugs"
15:27 ingy I see
15:27 ingy I wonder if abs_path might help here
15:27 autrijus it might. hard to test without a failing case tho.
15:27 ingy aye
15:27 autrijus so maybe ignore that and work on Kwid.pm or Yaml.hs? :)
15:28 malaire has joined #perl6
15:28 * autrijus grins
15:28 autrijus hi malaire! I fixed your index() :)
15:28 ingy sure!
15:28 malaire hi. what was broken?
15:28 rjbs Hm.  Can no longer compile...
15:28 autrijus malaire: index("Hello", "", 999) is 5
15:29 malaire err, isn't that correct?
15:29 autrijus you had it at -1 :)
15:29 autrijus should've run the test with perl5 first :)
15:29 malaire I asked here, and someone suggested I should just implement as -1, because perl5 behavious seems to be bug
15:29 autrijus oh!
15:29 malaire I first did it as perl5 does
15:29 autrijus sorry, I totally missed that.
15:29 autrijus apologies.
15:30 malaire at least I think -1 makes more sense
15:30 autrijus if so, ask on p6l? :)
15:30 autrijus I don't have a strong opinion either way
15:30 malaire ok, I'll make quick question
15:31 autrijus also I refactored to use isPrefixOf
15:31 pasteling "pugsmonk" at 192.168.0.2 pasted "Various new bugs" (20 lines, 647B) at http://sial.org/pbot/8246
15:32 autrijus .perl doesn't do MVal correctly yet. known bug; please write a test
15:32 autrijus "123".[0]; # this may very well be "123".
15:32 autrijus a quick question on p6l may work.
15:34 lightstep why is the third one failing?
15:36 autrijus lightstep: because hash assigning into hash doesn't yet work.
15:37 autrijus hrm it works
15:38 autrijus so the content is right
15:38 autrijus no idea. you interested in tracing it?
15:38 autrijus <- working on a translation job
15:38 lightstep sure
15:38 autrijus also, it is better written as
15:39 autrijus my %a = (a => 1); %a{'a'} = %a; %a<a><a>
15:39 autrijus a parser bug maybe that caused
15:39 autrijus my %a = (a => 1); %a<a> = %a; %a<a><a>
15:39 autrijus to not work. tracing welcome
15:41 lightstep => no autoquotes? cool!
15:41 lightstep s/no/now/
15:41 autrijus :)
15:42 autrijus Parser.hs, pairLiteral
15:42 Limbic_Region has joined #perl6
15:43 lumi_ has joined #perl6
15:43 theorbtwo Allo, Limbic, lumi.
15:43 autrijus greetings.
15:44 pasteling "pugsmonk" at 192.168.0.2 pasted "Other Hash bug regarding .<>" (10 lines, 354B) at http://sial.org/pbot/8248
15:46 lightstep what does \\ do?
15:46 autrijus \ takes a reference.
15:47 lightstep oh, of course
15:47 lightstep it's escaped
15:47 autrijus yeah.
15:47 Limbic_Region salutations theorbtwo
15:49 lightstep and what does \(1,2,3) mean?
15:49 lightstep or \@list ?
15:50 autrijus it means a scalar that refers to a list.
15:50 lightstep ok
15:50 autrijus you can dereference it by using list dereferencing.
15:50 lightstep can every value be an index in a hash, or only strings?
15:50 autrijus by default only strings.
15:50 autrijus but it can be parameterised with shape().
15:51 autrijus currently pugs is misimplemented; it assumes shape(Any)
15:51 autrijus but the default is shape(Scalar).
15:51 autrijus so maybe our FiniteMap Val Val wants to be FiniteMap Str Val for now.
15:51 lightstep and what is %a<b c d> ?
15:51 autrijus err, I mean Shape(Str).
15:51 autrijus %a<b c d> means %a{'b c d'}.
15:51 Limbic_Region autrijus - http://use.perl.org/~dvergin/journal/23673 # more pugs/perl6 feedback from dvergin
15:51 lightstep pugs thinks it's indexed with ('b','c','d')
15:51 autrijus danke.
15:51 autrijus then, maybe a bug. I'm not terribly sure
15:53 autrijus bbiab. &
15:53 lightstep so <> is perl6' ||
15:53 lumi has quit IRC (Read error: 110 (Connection timed out))
15:54 theorbtwo <> and {} are perl6's {} -- <> always quotes; {} never quotes.
15:54 lightstep i mean that <funky name> in perl6 is like |funky name| in lisp
15:56 Limbic_Region autrijus - it looks like dvergin has enabled replies btw
15:56 theorbtwo Oh.
15:58 autrijus ingy: a concrete case: http://use.perl.org/~dvergin/journal/23673
15:58 autrijus ingy: no rush, but take a look when you got cycles
15:59 mattc Hi all, anything I should know before I write some todo tests for the "caller" builtin?
16:00 autrijus caller is an object. we don't have objects, so make all your tests todo_ :)
16:00 autrijus otherwise, thanks, read S06 and start coding
16:00 mattc ok, was just going to port the current perl5 tests... ok
16:01 autrijus are you a committer?
16:01 mattc yep
16:01 mattc as of yesterday :)
16:01 autrijus ah, you're campbell?
16:01 mattc yeah
16:01 mattc hello
16:01 ingy autrijus: this looks suspect:
16:01 autrijus hi. nice to meet you :)
16:01 ingy ghc --make -Wall -fno-warn-missing-signatures -fno-warn-name-shadowing -
16:01 ingy o ./kwid.exe ./src\Main.hs -i"./src"
16:01 mattc you too
16:01 autrijus ingy: yeah, it looks like the "" and the \ is all borked
16:01 ingy should be nativeized
16:02 autrijus aye.
16:02 autrijus but I really really need to finish this translation
16:02 autrijus or the editor-in-chief hcchien will kill me
16:02 autrijus so, see you in a bit
16:02 ingy I submit a nativeized patch
16:02 autrijus ok, will test on win32
16:02 * autrijus goes offline to $wr0k &
16:03 ingy where does dvergin hang out?
16:04 ingy I get the problem now
16:05 malaire autrijus: what is FFI?  (from your earlier comment today:)
16:05 malaire >we can then use FFI to link PGE
16:05 malaire >and let PGE compile rules into some primitive haskell
16:05 theorbtwo The XS of haskell.
16:05 theorbtwo Except, as I understand it, not so evil.
16:06 lightstep what's the difference between 'anything$%&!#^' and <anything$%&!#^> ?
16:06 integral If you look in src/Unicode.{c,hsc} you'll see how unevil it is :-)
16:06 kungfuftr c/hs == evil
16:06 lightstep malaire, foreign function interface
16:06 theorbtwo Well, it's pretty easy to be less evil then XS.
16:07 ninereasons has joined #perl6
16:08 Aankh|Clone has joined #perl6
16:08 Limbic_Region ingy - the only place I see him regularly is at the Monastery
16:09 lightstep theorbtwo, i totally misundestood your earlier explanation about <> and {}. can you try again? isn't {} a closure and <> a string?
16:09 theorbtwo Depends on the context and on how detailed you want to get.
16:09 lightstep on which context does it not work?
16:09 lightstep the way i described it?
16:10 theorbtwo %foo{shift}, the {} are doing double-duty as a hash element operator, and %foo<shift> is just a string.
16:10 lightstep ok
16:10 theorbtwo But as a plain expression, <shift>; is, AFAIK, meaningless.  {shift}, OTOH, is indeed a closure (that gets run immediately in void context).
16:10 lightstep but when they are "just values", they aren't even alike
16:11 theorbtwo Right.
16:11 steveq I read somethign before about adding tests, I've lost it though now, what do i need to do once i have my .t file?
16:11 theorbtwo AFAICR, anyway.
16:11 lightstep currently pugs parses <> as strings. i'll leave it like that for now.
16:14 dada steveq: are you already a committer?
16:15 steveq no, I just want to run my test right now
16:15 dada ah
16:15 steveq I'm just working out how to do the stuff first
16:15 dada you need to set PERL6LIB=blib6/lib
16:15 dada and then: pugs t/blah/blah.t
16:15 steveq ta
16:18 Aankhen`` has quit IRC (Read error: 60 (Operation timed out))
16:20 hlafarge has quit IRC ("KVIrc 3.2.0 'Realia'")
16:23 lightstep should %a<x>=%a create a cycle?
16:25 lightstep ie, should assignments to hash table fields retain the lvalue status of the rhs?
16:25 lightstep (store references and stuff)
16:25 theorbtwo I think it should.
16:26 lightstep and %a<b>=%c<d> ?
16:26 lightstep should this also keep the rhs as a reference?
16:29 lumi has joined #perl6
16:30 pjcj Wouldn't that be the job of %a<b> := %c<d> ?
16:30 lightstep i was wondering when is = lazy and when not
16:30 saorge has joined #perl6
16:31 lightstep towards making pugs behave right
16:31 theorbtwo Hm, what does lazyness have to do with it?  It should still assign whatever value the RHS had at the time, lazy or no, no?
16:32 theorbtwo I should think %a<b>=%c<d> would assign the contents of %c<d> -- a reference IFF %c<d> contains a reference.
16:32 lightstep pugsmonk said earlier that %a<x>=%a not creating a cycle is a bu
16:32 lightstep *bug
16:33 pjcj Were you thinking of COW?
16:33 lightstep no
16:33 lightstep about a real pointer-chasing cycle
16:33 theorbtwo That's because %a is a reference, in scalar context.
16:33 vhborja has joined #perl6
16:34 lightstep ok
16:34 theorbtwo %c<d>='42'; %a<b>=%c<d>; say %a<b> # gives '42'
16:34 lightstep and the contents of the reference aren't touched during the coercion?
16:34 lumi_ has quit IRC (Read error: 110 (Connection timed out))
16:35 theorbtwo Not sure what you mean by that.
16:35 lightstep the hash maps from scalars to scaclars
16:35 lightstep on the domain, there are some references
16:35 theorbtwo Right; that's the default shape of a hash.
16:35 lightstep when doing %a<x>=%a
16:36 theorbtwo No, the domain is x; the range is %a.  (Which is a reference.)
16:36 lightstep is the reference to the variable %a or to a copy of its contentts?
16:36 theorbtwo To the variable %a.
16:36 lightstep i think i got it now
16:36 lightstep stupid identity
16:36 pjcj $a{x} = \%x;  in p5, right?
16:37 theorbtwo %c<d> = %a; %a<b>='42'; is(%c<d><b> , 42)
16:37 theorbtwo Yeah, pjcj.
16:39 * nothingmuch hopes to succeed at getting drunk tonight, contrary to last week, and the week before
16:40 theorbtwo P5 -> P6 rules: $a[1] --> @a[1], $a{'key'} --> %a{'key}       # when you take an element of a hash or array, you keep the sigil of the hash/array, rather then using $.
16:40 theorbtwo The key in $a{key} is always code -- there isn't autoquoting there.  OTOH, the key in $a<key> is always a string.
16:41 theorbtwo scalar(%a) in perl5 is a debugging string; scalar(%a) in perl6 is \%a.
16:41 theorbtwo (And similarly for @a.)
16:42 Khisanth and P5 @a[1,2] -> ?
16:42 theorbtwo Is still @a[1,2].
16:42 Khisanth hrm
16:42 justatheory has joined #perl6
16:43 lightstep for which types should scalar create references?
16:43 Khisanth %a{'one','two'} as well?
16:43 theorbtwo % and @.
16:43 theorbtwo AFAIK.
16:43 theorbtwo Yep, Khisanth, I think.
16:44 lightstep Khisanth, what does that mean?
16:44 Khisanth what was %a«» then? :)
16:44 theorbtwo A mistake that was fixed several months ago.
16:44 Khisanth lightstep: (%a{'one'},%a{'two'})
16:45 theorbtwo <<...>> are now /less/ common then <...>.
16:46 lightstep and what is the perl6 equivalent? %a<one,two> ?
16:46 steveq How can I find the number of elements in a list at the moment?
16:46 theorbtwo I'm not 100% sure, but that looks right.
16:47 theorbtwo steveq, you mean in the p6 design, or you mean that works in pugs?  +@foo should give you the # of elements in foo.
16:47 lightstep or maybe that's %a{'<one,two>'}
16:47 steveq theorbtwo: aha
16:47 steveq I tried .elems and discovered it doesn't exist yet
16:47 theorbtwo No, lightstep; that'd give you the value for the key '<one,two>'
16:48 lightstep +foo is the same as num foo?
16:48 theorbtwo I'm not sure num is a named operator, but it evaluates foo in a numeric context, yeah.
16:48 * theorbtwo needs to re-read the synopses.
16:53 Steve^ has joined #perl6
16:54 Steve^ has left "Kicked"
16:56 mattc has quit IRC ("Download Gaim: http://gaim.sourceforge.net/")
17:00 marcus has quit IRC (Nick collision from services.)
17:01 marcusT has joined #perl6
17:04 sorje has joined #perl6
17:04 autrijus lightstep: a ruling just came: we don't need to parse silent thunking in array slices.
17:04 autrijus # http://www.nntp.perl.org/gr​oup/perl.perl6.compiler/372
17:04 autrijus now S05 needs fixing... ;)
17:04 autrijus bbiab &
17:05 theorbtwo Hm, I have no idea what Larry is talking about there.
17:07 lumi_ has joined #perl6
17:08 Aankh|Clone is now known as Aankhen``
17:11 vhborja has quit IRC (Remote closed the connection)
17:12 lumi has quit IRC (Read error: 110 (Connection timed out))
17:15 matt1 has joined #perl6
17:15 lightstep what is the sigil for lists?
17:16 autrijus there is no sigil for lists.
17:16 autrijus however, perl "arrays" are actually somewhat listish
17:16 autrijus in the sense that if you randomly access them, they are COWed
17:16 autrijus but if you extend them with a generator, they can be of infinite lengh
17:16 autrijus length
17:17 autrijus so we casually mix "arrays" with "lists".
17:17 Aankhen`` COWed?
17:17 autrijus but arrays is merely one kind of lists. hashes is another kind.
17:17 autrijus Aankhen``: copy-on-write
17:17 Aankhen`` Ahh.
17:17 lightstep so +(1,2) is int, but @a=(1,2);+a is num ?
17:17 autrijus uh, the sigil is part of the name of the variable.
17:17 autrijus so +@a
17:17 theorbtwo I was wondering about that earlier -- both should be integral.
17:17 lightstep yeah, that's what i meant
17:17 theorbtwo Er, and right, +@a.
17:17 steveq Is it likely to be quite hard to make functions automatically operate on $_ in absence of any other arguments?
17:18 autrijus steveq: very very easy.
17:18 steveq oh right
17:18 autrijus sub func (?$x = $CALLER::_) { ... }
17:18 theorbtwo In a full p6?  No, sub foo (?$x = $CALLER::_) {}
17:18 autrijus *cough* pugs does that too.
17:18 ingy autrijus: I got to the bottom of all the make stuff
17:18 lightstep i'm thinking about changing reduce, so it will handle convertions
17:18 autrijus ingy: woot!
17:18 steveq I just wanted "@foo = split;" to work as in perl5
17:18 obra "pugs _is_ a full p6"
17:18 Aankhen`` Sorry if this is a stupid question, but... are rules implemented in Pugs?
17:18 autrijus steveq: that's fine. I _don't_ wont "split;" to work as in perl5.
17:19 ingy there are many problems, and the current solution is to fix some of them and then punt
17:19 autrijus Aankhen``: no, not yet. will you settle for a cheap plastic imitation that is PCRE?
17:19 * Aankhen`` shrugs.
17:19 Aankhen`` I'm not yet using it.
17:19 Aankhen`` So sure. ;-)
17:19 autrijus "pcre - a cheap plastic imitation of Amulet of Larry"
17:19 ingy by punt i mean disable ext/Kwid for the moment
17:19 autrijus ingy: ok.
17:19 steveq autrijus: well, if there was regexps i wouldn't mind if split wasn't as magical as in perl5
17:20 autrijus steveq: nod. if next week pmichaud really shows up with PGE, we get rules by the end of the next week after that.
17:20 ingy full writeup in checkin msg
17:20 autrijus if not... wait for pugs 6.283 :)
17:20 autrijus ingy: danke!
17:20 autrijus ingy++
17:20 theorbtwo Woo!
17:20 Aankhen`` Heh, I tried the Perl6::Rules module, and the syntax highlighting in Komodo went crazy.
17:20 autrijus perl6::rules only works with 5.8.[34] and not with any other perls iirc.
17:21 autrijus or was it [12], or [23]
17:21 autrijus it's... damian.
17:21 Aankhen`` It seems to work with 5.
17:21 theorbtwo Wow, r800 already.
17:21 Aankhen`` 5.8.5, that is.
17:21 autrijus Aankhen``: tests pass?
17:21 Aankhen`` Hrm, I don't really remember.
17:21 autrijus cpan testers say FAIL(6).
17:21 Aankhen`` I think they did.
17:21 Aankhen`` Lemme try it.
17:21 autrijus so I doubt its sanity.
17:21 Aankhen`` My memory's quite poor.
17:21 autrijus the only pass is on 5.8.3.
17:23 malaire hmm.. how can I change Int to VInt ?
17:24 autrijus toInteger
17:24 autrijus but why? you should use genericFoo instead of foo for list operations
17:24 lightstep should t/base/for fail? or did i screw something?
17:25 malaire I just need it for my testing-code while I'm playing with rindex... In final form I probably won't need it anymore.
17:25 autrijus okie.
17:25 autrijus the current canonical failures:
17:25 autrijus t/base/undef.t                  58    3   5.17%  16 20-21
17:25 autrijus t/op/arith.t                   132    2   1.52%  110-111
17:25 autrijus t/op/int.t                      30    4  13.33%  26-29
17:26 autrijus t/op/precedence.t               39    3   7.69%  34-35 38
17:26 autrijus so no, for.t should not fail.
17:27 lightstep shit
17:27 rjbs Is it expected that 6.4 won't compile pugs, atm?
17:27 lightstep anyway, i think i found a but in Eval.hs
17:28 hcchien hmm...., so warnings in Unicode.hs
17:29 Aankhen`` Wow.
17:29 Aankhen`` «autrijus»: nmake test made Perl go crazy, I think.
17:29 lightstep hcchien, they've been there since autrijus got it working
17:29 Aankhen`` -124/2375 subtests failed, 105.22% okay
17:29 malaire rjbs: 6.4 works for me (at least rev800 worked)
17:30 hcchien lightstep: ok, just make sure about it. :)
17:30 Aankhen`` Anyway, BBL.
17:30 jabbot pugs - 801 - Fix build for win32
17:32 rjbs malaire: Hm.  I seem to have some problems with my ld.  I'll investigate further.
17:34 Jonathan_ has joined #perl6
17:36 autrijus greetings Jonathan-san.
17:38 malaire btw, would rindex(Str, Str, ?Num=Inf) be ok, or is there a better way to specify it?
17:39 theorbtwo ingy, I don't see where you're dependent on pugs_version.h.
17:40 theorbtwo Oh, wait, re-reading, neither do you.
17:41 autrijus malaire: I imagine it is fine, but why not just ?Num ?
17:41 autrijus you can always test for definedness.
17:41 malaire how do I do that in Haskell?
17:41 autrijus isJust (vCast val)
17:42 malaire perhaps plain ?Int is then better
17:42 theorbtwo Nevermind, there's a lot I don't see.
17:42 autrijus yeah.
17:42 autrijus theorbtwo: .. :)
17:42 theorbtwo The problem is that extensions try to build before pugs itself.
17:44 autrijus !.
17:44 autrijus that shouldn't happen.
17:44 autrijus version of makemaker?
17:45 theorbtwo Er, I may well be wrong.
17:45 jdv79 has joined #perl6
17:45 theorbtwo But that certianly is what it sounds like from ingy's description.
17:48 metaperl__ has joined #perl6
17:48 lightstep my @a = <b c>; <-- qua?
17:48 lightstep what does that mean?
17:49 justatheory has quit IRC ()
17:50 jdv79 qx{} or q:x{} isn't available yet?
17:51 autrijus hcchien: http://autrijus.org/miyagawa.txt
17:51 autrijus jdv79: neither.
17:51 autrijus I think there's a test.
17:51 pasteling "malaire" at 217.119.39.217 pasted "rindex stub - testing for definedness" (9 lines, 258B) at http://sial.org/pbot/8249
17:51 jdv79 ok
17:51 _metaperl has joined #perl6
17:51 malaire that test for definedness doesn't seem to work...
17:51 hcchien autrijus: ok, cool
17:51 autrijus lightstep: I think it means "my @a = ('b', 'c')".
17:52 autrijus when you see <>, think qw<>.
17:53 lightstep and %hash<b c> ?
17:54 lightstep is it (%hash{'b'},%hash{'c'}) ?
17:54 autrijus (%hash{'b'}, %hash{'c'})
17:54 autrijus yes. I was confused.
17:54 lightstep but %a<b> isn't (%a{'b'})
17:54 autrijus it is not.
17:54 autrijus not sure about %a<b >.
17:54 autrijus perhaps not.
17:55 autrijus @a[1] is scalar; @a[1,] is list.
17:55 autrijus so %a{'b',} is list.
17:55 autrijus not sure what %a<b > means. I'd think whitespace is dropped, so a scalar.
17:55 pjcj has quit IRC ("leaving")
17:56 lightstep so %a<b> is %a{'b'}
17:57 autrijus aye.
17:57 lightstep cool
17:58 lightstep i'll do it later
17:58 autrijus "Does Perl contradict itself? Very well then, Perl contradicts itself. Perl is great; Perl contains multitudes."
17:58 autrijus lightstep: danke!
18:00 jdv79 has quit IRC ("Leaving")
18:03 metaperl_ has quit IRC (Read error: 110 (Connection timed out))
18:03 metaperl__ is now known as metaperl_
18:04 malaire autrijus: C< isJust (vCast val) > doesn't seem to work as a test for definedness (see http://sial.org/pbot/8249 )
18:05 autrijus hrmph.
18:05 autrijus I know, I know
18:05 autrijus you give two rindex
18:05 autrijus one (Str, Str)
18:05 autrijus another (Str, Str, Int)
18:05 autrijus and implement an op2 and an op3.
18:05 autrijus I like that :D
18:06 malaire is that only way -- substr then needs op2, op3 & op4 ...
18:06 autrijus no, that's not the only way.
18:06 pjcj has joined #perl6
18:06 autrijus it's just of the relative inconvenience of Inf.
18:06 autrijus weird, that should work.
18:06 malaire ok
18:06 autrijus try this:
18:07 metaperl has quit IRC (Read error: 110 (Connection timed out))
18:07 _metaperl is now known as metaperl
18:07 autrijus case z of
18:07 autrijus    VUndef -> ...
18:07 Khisanth an offset of infinity?
18:07 autrijus    _    -> ...
18:07 autrijus Khisanth: rindex would default to that.
18:07 autrijus rindex("aaa", "aa");
18:07 autrijus # means, rightmost match
18:07 Khisanth oh nvm, I was thinking of substr
18:07 autrijus ah.
18:08 autrijus honestly I don't know the policy of multisubs vs optionals
18:08 autrijus but I think in this case optionals fits the spirit more
18:08 autrijus so let's still try to make it work
18:09 malaire that C< case z of { VUndef -> .. ; _ -> .. } > allways returns basecase, never first one.
18:09 autrijus so error (show z)
18:09 autrijus and let's see what z was
18:10 malaire that gives *** Exception: VNum *** Exception: ./Prim.hs:598:4-38: Irrefutable pattern failed for pattern (_, ('=' : def))
18:10 autrijus wt...
18:10 autrijus oh. hey.
18:11 autrijus it assumed =
18:11 autrijus sorry, I'm borked
18:11 autrijus the pattern assumed a =
18:11 autrijus I'll fix. sec
18:14 theorbtwo I thought haskell wasnät supposed to allow runtime errors for things like that.
18:15 autrijus you'd be surprised :)
18:17 autrijus svn up?
18:17 autrijus ?Int should now work and made into undef.
18:18 webmind has quit IRC (Read error: 110 (Connection timed out))
18:18 malaire ok, I'll test..
18:18 autrijus theorbtwo: you are allowed to make lots of irrefutable pattersn.
18:18 autrijus they are not detected until they are invoked.
18:19 autrijus bug or feature? you decide :)
18:19 autrijus will be sad to be forced into making a base case for all of them tho.
18:20 jabbot pugs - 803 - * change some optioanl sigs to Int
18:20 jabbot pugs - 802 - * allow lack of = in declarations
18:21 malaire ok, that works now and C< isJust (vCast z) > works also
18:22 sorje has quit IRC ("leaving")
18:22 autrijus woot.
18:22 autrijus I need to excise vCast from major branches some day.
18:23 autrijus and use fromValue which makes casting errors trappable in eval"".
18:23 autrijus so new code should probably try to use fromValue :)
18:23 autrijus not a hard requirement, though.
18:24 autrijus fromValue is exactly like vCast, but costs one more monadic mana.
18:24 autrijus I mean, it needs to be used with <-.
18:27 lumi has joined #perl6
18:27 autrijus &func.goto! &func.goto!
18:27 * autrijus is happy
18:27 autrijus I got my lovely goto() back
18:27 dadanother let's write "autrijus considered harmful" :-)
18:27 autrijus lol :)
18:27 autrijus goto() in pugs is so cheap it's not funny :)
18:29 dadanother autrijus: if you have just one minute, I would like to talk about
18:29 dadanother unary *
18:29 autrijus dadanother: sure, go ahead.
18:29 dadanother there's something I don't understand in the order of evaluation of pugs
18:29 autrijus I'm still in mutt mode, but go ahead :)
18:29 dadanother (probably)
18:30 dadanother this is my favorite test:
18:30 dadanother pugs> ? my @a = (1,2,3); my $a = *@a;
18:30 dadanother and I get to:
18:30 dadanother ***  Evl: Syn "*"
18:30 dadanother {Var "@a"}
18:30 dadanother ***   Evl: Var "@a"
18:30 dadanother ***   Ret: (1, 2, 3)
18:31 dadanother so what Syn "*" is evaluating is a list _already_
18:31 dadanother but Syn "*" should detect the array _before_ evaluating it
18:33 dadanother eg. the first line of my implementation of "*" is:
18:33 dadanother vals <- case exps of
18:34 dadanother    [Val v] | valType v == "Array" -> do
18:34 dadanother        -- etc. etc.
18:34 dadanother but _where_ and _when_ gets exps evaluated?
18:34 dadanother or either
18:35 obra has quit IRC (Read error: 110 (Connection timed out))
18:35 dadanother is there any other part, beside the reduce in Eval.hs, which does evaluation of parsed material?
18:37 * gaal pops in
18:38 gaal was away for most of the day, just skimmed the logs
18:38 theorbtwo Allo, gaal!
18:39 gaal re: discussion of failing tests from an hour ago: i didn't check it in yet, but there should be another canonical failure in syntax/subroutine_named_params.t
18:39 gaal hey to2 :)
18:39 gaal also, "someone" should write a t/run/*
18:39 autrijus ok, I hacked &goto in 10 minutes.
18:39 lumi_ has quit IRC (Read error: 110 (Connection timed out))
18:39 autrijus I'm back :)
18:39 gaal hah :)
18:40 gaal i have half a day free tomorrow, so i'll try to do that
18:40 gaal unless, autrijus, should i begin work on symbol table tests instead?
18:40 jabbot pugs - 804 - * &goto.
18:41 autrijus dadanother: ok, back.
18:41 autrijus gaal: you can do either you want :)
18:41 autrijus I'd be equally grateful.
18:41 gaal is S02 updated regarding symbolic references? there seems to be an inconsistency in syntax over () and << >> (compare: S10).       or am i missing something?
18:42 autrijus gaal: when you see inconsistencies, assume the latter synopsis is correct. if your brain refuses to accept, ask on p6l :)
18:42 * gaal has evil, evil plans for a goto.t
18:42 autrijus that's the going rule anyway :)
18:42 autrijus gaal: combine &goto with &?CALLER::CONTINUATION for max fun
18:42 gaal all right :)
18:42 gaal heh.
18:42 autrijus dadanother: exps is unevaluated form
18:42 obra has joined #perl6
18:43 autrijus dadanother: you see them being evaluated because you tell it to --
18:43 autrijus mapM (enterEvalContext "List") exps
18:43 autrijus "enterEvalContext" reduces exps into Vals.
18:43 * dadanother mumbles
18:44 lightstep how do i invoke &proc ?
18:44 theorbtwo &proc()
18:44 gaal do we have substr yet?
18:45 autrijus no. hack it in?
18:45 gaal yeah, if it's easy... just so i can produce a hack of my own
18:46 obra has anyone built a comprehensive listing of all perl6 core functions and variables?
18:46 autrijus that shouldn't be hard.
18:46 autrijus obra: yes S29
18:46 autrijus http://www.rodadams.net/Perl/S29.pod
18:46 autrijus http://www.rodadams.net/Perl/S29.html
18:46 obra is that canonical? if so, why is it not in perl6 svn?
18:46 lightstep why does symExp contain an Exp and not a Val?
18:47 lightstep does any variable contain unevaluated Exps?
18:47 autrijus obra: because rod doesn't have committer rights
18:47 * theorbtwo guesses lazyness?
18:47 marcusT has quit IRC (Read error: 104 (Connection reset by peer))
18:47 lightstep it's really really bad
18:47 lightstep unless there's a reason
18:48 lightstep (bad = confusing)
18:48 autrijus lightstep: yes the reason is
18:48 autrijus my @a = (1,2,3);
18:48 ayrnieu has joined #perl6
18:48 autrijus my $b := @a[1];
18:48 autrijus @a = (4,5,6);
18:48 autrijus $b.say; # 5
18:48 lightstep ok
18:48 autrijus when you see :=, read letrec.
18:49 autrijus to support letrec, we have to use Exp.
18:49 lightstep sure
18:49 hide I wrote 2 quick tests for directing STDOUT and STDERR to a scalar that both fail.
18:49 autrijus hide: good. commit them!
18:49 autrijus todo_ then though.
18:49 hide autrijus: just wonder where to put them.
18:50 autrijus t/base I think, or t/io
18:50 hide I'll add them to io
18:50 autrijus io probably.
18:52 gaal woah, ride home. see y'all later.
18:53 gaal has quit IRC ("Trillian (http://www.ceruleanstudios.com")
19:00 jabbot pugs - 805 - * silence warning and use shiftT for got
19:01 autrijus ccshan++ # taught me the importance of shift and reset
19:02 lightstep i believe that now having VLazy is a block in the way to implement perl6
19:02 lightstep it can be worked around, though
19:02 lightstep you can't easily create cycles in haskell, and in perl6 you can
19:02 autrijus what is VLazy?
19:02 autrijus VThunk?
19:03 lightstep more like VVar or VExp
19:03 autrijus oh ah. yeah.
19:03 autrijus you can do cycles in haskell.
19:03 autrijus but yeah, not as easy as perl6.
19:03 lightstep and you will have to turn the evaluator inside-out
19:03 autrijus well, I take that back
19:03 autrijus let x = x in x
19:03 autrijus boom.
19:03 lightstep gotta work with cafs all along
19:03 autrijus yeah it's all cafs.
19:04 autrijus pretty much.
19:04 lightstep and VExp is preferable
19:04 lightstep i think
19:04 elmex has joined #perl6
19:04 autrijus preferably to VThunk?
19:04 autrijus Thunk carries the env around
19:04 lightstep a side benefit is that symbols will map to values (hence sticking VLazy to my head)
19:04 autrijus exp does not
19:04 lightstep yes
19:04 malaire for some reason I can't seem to get C< isSuffixOf > working in Prim.hs - I just get "Not in scope: `isSuffixOf'"
19:04 autrijus and we want the env
19:05 autrijus there's no by name refs in perl6 anymore outside eval""
19:05 autrijus malaire: hack Internals.hs to pull it
19:05 lightstep the question is: how will it interact with all the patterns&methods of Value
19:05 autrijus search for isPrefixOf
19:05 autrijus brb.
19:06 malaire ok
19:09 lightstep oh, i never notices VThunk before
19:11 lightstep so why does symbol use exp and not thunk? thunk seems more correct
19:11 elmex hm, p6 is nice...
19:15 * kungfuftr suddenly thinks that new p6 objects could be automatically mapped to postgres column types
19:15 autrijus lightstep: yes. thunk is also new as of today.
19:15 autrijus lightstep: so, refactoring welcome!
19:15 autrijus (to move the Pad into VThunk types)
19:16 autrijus err, into Val types that may have VThunk.
19:16 autrijus that is of course the Right Thing To Do
19:17 * autrijus journaling
19:19 elmex hm, how are regexes are going to be implemented?
19:19 kungfuftr see perl6 rules
19:20 elmex k
19:22 Aankhen`` has quit IRC ("Sleep [Time wasted online: 3hrs 14mins 5secs]")
19:28 gaal has joined #perl6
19:30 jabbot pugs - 806 - Added tests for directing STDOUT and STD
19:31 gaal hey, do we have .length for strings yet?
19:36 lightstep no
19:36 lightstep wanna add it?
19:36 gaal i kinda wanted it for another test i was writing...
19:36 gaal lightstep: i don't know haskell (yet)
19:37 gaal hmm, i think there's no length.t ? need to add that
19:37 gaal what does .length mean on something that isn't a string?
19:37 theorbtwo The basic functionality of .chars (there is no more .length) is easy in haskell: length.
19:37 gaal ah, .chars is cool.
19:37 gaal (does *that* work? :)
19:38 lightstep nope
19:38 autrijus ew. graphemes.
19:38 gaal ah :)
19:38 autrijus Haskell doesn't even support that.
19:39 Khisanth theorbtwo: .chars and .bytes?
19:39 lightstep yes
19:39 theorbtwo BTW, I think we need another: .viswidth, that adds up the widths of the unicode characters.  (1 for most alphebetic chars, 0 for most combining characters and zero-widths, and 2 for full-width Han chars).
19:40 gaal autrijus: sorry i wasn't here earlier, can you give an example of syntax of usage for goto? didn't see much in the Synopses.
19:41 gaal you mean ucs-2 when you say unicode?
19:41 gaal because unless i'm mistaken 32 bits is enough for everything currently allocated?
19:41 theorbtwo No, not the bit width.
19:42 theorbtwo The visual width they take up in a "fixed-width" font.
19:42 theorbtwo http://www.unicode.org/reports/tr11/
19:42 autrijus gaal: &other_sub.goto($param)
19:42 gaal ah, it's *that* kind of goto!
19:43 gaal :(
19:43 autrijus theorbtwo: there is also east asian widths
19:43 autrijus which maybe 1 or 2 depending on context
19:43 gaal i wanted goto LABEL
19:43 autrijus oh. bah.
19:43 theorbtwo That was what I was talking about.
19:43 autrijus bye~
19:43 theorbtwo Later!
19:43 gaal bye
19:43 autrijus no, I was saying bye~ to goto LABEL.
19:43 autrijus ;)
19:43 gaal here i was with duff.t almost written...
19:43 autrijus er. hm. uhm.
19:43 gaal almost working that is. it is writen.
19:44 gaal how can we not have duff's device in perl6?
19:44 autrijus we can have inline C.
19:44 gaal i think this fails the test suite :)
19:44 gaal works in p5 too.
19:44 autrijus ok ok I surrender
19:44 autrijus maybe we can goto &BLOCK.
19:44 gaal heh heh
19:45 gaal that's good enough for me.
19:45 theorbtwo Hm, I may be off.
19:46 gaal maybye.
19:46 autrijus maybye.
19:46 autrijus (hi|bye)
19:46 autrijus gaal: you know... it's already implemented. so there.
19:46 autrijus (&goto doesn't care about block of sub)
19:46 gaal whoa. cool.
19:47 gaal now just to get the reference to the block... and for that i need a symbol table lookup... ah, bliss. :)
19:47 lightstep has quit IRC ("leaving")
19:47 Limbic_Region goto should be speced in [AES]4 right?
19:47 theorbtwo Yeah, I am wrong; east asian width is more complicated then that, it seems.
19:47 gaal i think lightstep is offended by my whims :)
19:47 autrijus theorbtwo: I'm forced to deal with it day to day.
19:48 autrijus # http://search.cpan.org/~autriju​s/Unicode-EastAsianWidth-1.02/
19:49 gaal mm, what's a valid identifier for a LABEL? just a number is not okay, right?
19:49 Limbic_Region hmmm - S4 doesn't have much to say about goto
19:49 autrijus LABEL is not yet parsed.
19:49 autrijus Limbic_Region: right it's $today::fresh::ruling
19:49 gaal no, and neither does S10
19:49 malaire I just added "rindex", and I have to go to sleep now... I could try "chars" (or "substr" or something else) tomorrow, if they are still unimplemented, and I have time to work on pugs (which I probably will have).
19:49 gaal it only mentions it for AUTOLOAD and friends.
19:49 autrijus aye. so ask.
19:49 autrijus malaire++
19:49 * Limbic_Region isn't subscribed to p6.l - will go read
19:50 autrijus for now, chars in pugs is unicode codepoints.
19:50 autrijus larry may tell you graphemes
19:50 autrijus but until someone find a good library that is not the size of ICU, pugs does codepoints.
19:50 malaire has left
19:50 Limbic_Region s/subscribed/subscribed anymore/
19:50 jabbot pugs - 808 - Forgot the tests for rindex
19:50 jabbot pugs - 807 - Add 'rindex' -- and tests for it
19:50 gaal better say it does graphemes buggily and have it return codepoints, no?
19:51 theorbtwo I'd say better to implement .chars and possibly .bytes, and die on .graphemes.
19:52 gaal theorbtwo++; # i feel so dirty next to these smart guys
19:53 theorbtwo Well, not neccessarly.
19:53 theorbtwo In many circumstances, .chars == .graphemes.
19:54 Limbic_Region autrijus - I didn't read anything that said goto LABEL; is to be disallowed - am I missing something?
19:54 theorbtwo It's only when you end up using base characters and combining characters that they differ: an x and then a combining dieresis is two chars, but one grapheme.
19:54 autrijus Limbic_Region: I don't think it's disallowed; I just don't know how it fits into the syntactic structure.
19:54 autrijus Limbic_Region: if you can find a reference, yay
19:54 matt1 has left
19:54 Limbic_Region ok - looking through the A now
19:56 theorbtwo OTOH, a ü is one char and one grapheme when written using U+00FC, but two chars and one grapheme when written as U+0075 followed by U+0308.
19:56 theorbtwo Even though the two should look exactly the same when rendered.
19:56 steveq has quit IRC ("Client exiting")
19:57 * gaal writes tests for .char & co
19:57 elmex hm, is there a trick to type »*« ? i don't have the » directly on my keyboard ;)
19:58 Khisanth hmm
19:58 gaal in vim, ctrl-K, > >
19:59 Khisanth in gtk apps, ctrl+shift+ab/bb :)
19:59 elmex ah...complicated...
19:59 * Khisanth still has to find out how to get those to display properly in emaces
19:59 gaal elmex: you know you can use << >> if you want, yes?
20:00 theorbtwo Khisanth: you need a emacs that uses MULE.
20:00 elmex pugs generates parseerror
20:00 Khisanth gaal: but «» look so much nicer :)
20:00 gaal how do i test something emits a warning?
20:00 gaal true.
20:00 theorbtwo BTW, U+AB / U+BB, not U+AA.
20:01 DapperDan has joined #perl6
20:01 elmex whatever, i use vim
20:01 Khisanth ª?
20:01 theorbtwo Control+shift+(a,b), not control+shift+(a,a).
20:02 PerlJam has joined #perl6
20:04 webmind_ has joined #perl6
20:04 stevan has quit IRC ("Leaving")
20:08 Khisanth hrm I guess I need a better font for emacs
20:10 jabbot pugs - 809 - * make arith.t use goto() for better err
20:16 elmex what do this jabbot msgs mean?
20:17 dadanother elmex: it logs the commits
20:17 theorbtwo Checkins to the SVK repo.
20:17 elmex cool
20:17 autrijus it means that someone (in this case me) just committed a new revision into the repository.
20:17 dadanother I committed one just a few seconds ago
20:17 dadanother and I hope I didn't break all that nice UTF8 :-)
20:18 autrijus you did not :)
20:18 dadanother phew
20:20 jabbot pugs - 810 - just corrected my own CPAN id
20:24 * theorbtwo wonders if that CPAN id error is his.
20:24 * dada forgives theorbtwo anyway
20:25 theorbtwo I don't think you were in there when I made my edits.
20:27 rjbs wow. 132 commits since, like 0900?
20:27 theorbtwo Hm: leading the pack in commits is autrijus with 396, followed by ingy with 68.
20:28 autrijus wow. so I officially falled behind 50% today.
20:28 * autrijus journals this
20:31 pjcj has quit IRC ("leaving")
20:31 ninereasons pugs has helped to make the perl6 discussions come alive for me.  thanks autrijus
20:32 autrijus you are quite welcome :)
20:33 * rjbs attempts a build on Win32.
20:34 elmex pugs on ghc should be portable i guess?
20:34 theorbtwo Aye.
20:35 theorbtwo The emphasis, sadly, is sometimes on "should", but most of the time it is.
20:36 gaal suppose $_ holds an arrayref. how do i get the array? p5 syntax doesn't seem to work
20:36 dvergin has joined #perl6
20:36 rjbs $_ is usable as the array.
20:36 rjbs $_[4] = "FIFTH!"
20:36 gaal so should this be valid? %hash<<key1 key2 key3>> = $_
20:36 autrijus argh
20:37 autrijus so() is going back to true()?
20:37 * autrijus votes for aye() just to muddy the water a bit more
20:37 rjbs autrijus: p6l being cruel?
20:37 theorbtwo Those are just < and >, not << and >>, I think.
20:38 Khisanth true() being false does make for some bad reading :)
20:38 gaal autrijus: good timing on that question, since it happened right after i used "so in english in the way
20:38 gaal that it was briefly meant to be used in p6
20:38 gaal and up until now i didn't understand why "so" was good.
20:39 gaal to2: okay; other than that shoudl the above be the wayt to say it?
20:39 rjbs interesting:  my %hash; undef %hash; %hash; # {pugs: cannot cast into [VPair]: VUndef
20:40 gaal yes, rjbs, found recently
20:40 lightstep has joined #perl6
20:40 jabbot pugs - 811 - * properties
20:41 gaal rjbs: actually do you need the third statement to get the error?
20:41 rjbs yes
20:41 gaal then it isn't the same problem i saw :/
20:41 rjbs hm.  Actually, I can also do that without error.  Let me try to produce good case.
20:41 gaal see base/undef.t
20:42 rjbs actual failure case:
20:42 rjbs my %hash; %hash = {}; undef %hash; %hash
20:42 gaal adding to undef.t
20:42 autrijus when aye { return 1 }
20:45 gaal grr, it's another parsefail probelms eval doesn't protect against.
20:48 autrijus hm? " my %hash; %hash = {}; undef %hash; %hash" is fine in eval to me
20:49 gaal failsforme :)
20:49 rjbs pugs> my %hash; %hash = {}; undef %hash; %hash
20:49 rjbs {pugs: cannot cast into [VPair]: VUndef
20:49 rjbs but in eval"" it's fine
20:50 gaal rjbs, could it be you said my %hash earlier already?
20:50 gaal (i noticed i did)
20:50 rjbs no, that was the only line I put in the pugs terp
20:51 lightstep rjbs, the shell is not-so-well
20:51 lightstep safest is running programs from a file
20:51 autrijus mm we need :r some day
20:51 autrijus and :m (daydreaming mode)
20:51 rjbs :m ?
20:52 autrijus :m lets you change to different module namepsaces.
20:52 autrijus to adjust your namespace, basically
20:52 autrijus and to dictate what gets reloaded when you do :r
20:52 autrijus it's all Hugsism
20:52 rjbs cool
20:53 rjbs lightstep: ok, works fine in program, dies in shell.
20:53 rjbs time to prepare to go home, then to class.
20:53 * gaal is cleaning up undef.t a bit (scoping things, it's gone long). i wonder if it'll still happen here.
20:53 autrijus hrm. I think user-defined ??:: , if available, should have an "inner" prec level trait
20:54 autrijus that rules out "and" etc from happening inside the brackets.
20:54 autrijus same applies for the circumfix [] that allows the semicolon.
20:54 autrijus without that trait we're all adhoccing things.
20:54 autrijus (from the parser point of view)
20:54 autrijus rjbs: have fun :)
20:58 theorbtwo Hmm, just read the true()/weather()/so() thread, and I'm wondering...
20:58 theorbtwo How is this different from all()?
20:59 autrijus all() imposes list context.
20:59 autrijus and build junctions.
20:59 autrijus not() is not none().
20:59 lightstep what is Syn "mval" ?
20:59 autrijus you won't say
20:59 autrijus if (none 123) { ... }
20:59 autrijus although of course it works
20:59 autrijus lightstep: it is a hack to create a mutable variable. think newIORef.
20:59 autrijus lightstep: the whole mval thing is very poorly thought out.
21:00 autrijus it is pending a revamp based on ITypes.
21:00 lightstep ITypes?
21:00 autrijus container types. variable types.
21:00 autrijus as opposed to value types.
21:00 autrijus which is VTypes.
21:00 autrijus the I stands for "implementation"
21:01 autrijus so the major ITypes are Array, Hash, Scalar
21:01 autrijus but there may be more ITypes. for example, %*ENV's IType is something that derives from Hash
21:01 autrijus but actually does very different things.
21:01 autrijus i.e. it calls putEnv and getEnv
21:01 autrijus without actually storing anythign in memory
21:01 lightstep oh
21:02 autrijus so: variables have ITypes ("interfaces")
21:02 autrijus and values has VTypes ("types")
21:03 autrijus the interaction is fuzzy though. it's not specced out good
21:03 theorbtwo If you do $foo = $bar, $foo gets $bar's VType, but not it's IType.
21:03 autrijus and I suspect without implemtation one can't talk about it much really.
21:03 autrijus in perl5 it's called "magics"
21:03 autrijus and people generally don't like to think about them.
21:03 lumimies has joined #perl6
21:03 autrijus unless you are rgs or nicholas or jhi.
21:03 theorbtwo (Or, from a user-visible point of view, ties.)
21:03 autrijus except also overloads.
21:04 rgs I don't !
21:04 autrijus the unifying concept is the one of magic.
21:04 lumimies has quit IRC (Read error: 104 (Connection reset by peer))
21:04 rgs they force me.
21:04 autrijus poor rgs
21:04 Juerd I have a mac now
21:04 Juerd How do I tell the terminal to interact with linux boxes (via screen) properly?
21:04 autrijus IType is an attempt to rethink magics
21:04 Juerd I can't use things like backspace and cursor keys
21:05 autrijus but so far I don't think anyone has a good grasp of what they are or what they do.
21:10 lumimies has joined #perl6
21:12 * Limbic_Region wonders if autrijus's 26 hour days have finally overlapped
21:13 autrijus about to.
21:13 autrijus wow, 5:12am.
21:13 gaal r812 demonstrates rjbs' parsefail inside a script.
21:14 gaal test writers: please mark your failing tests (those that must be commented out because even eval doesn't protect from them) with "fail('FIXME: parsefail');"
21:14 gaal this way they won't stay commented out forever :)
21:14 autrijus riight.
21:15 theorbtwo Or stick them at the end of a test-file, or in their own test file?
21:15 Juerd Ah, setting the terminal to xterm instead of xterm-color changes things positively
21:15 lumimies has quit IRC (Read error: 54 (Connection reset by peer))
21:15 Juerd By the way, I'm impressed by the eye candy :)
21:15 integral you got extra RAM?   The eyecandy eats it :-)
21:16 Juerd 512 MB
21:16 Juerd So far, it's snappy enough
21:16 lumimies has joined #perl6
21:16 * integral has >1GB swap files with 256MB
21:16 gaal to2: that interrupts the readibility of the test
21:17 autrijus 23 subtests UNEXPECTEDLY SUCCEEDED
21:17 autrijus all in rindex
21:17 theorbtwo Cool!
21:17 autrijus I think it started that way :)
21:17 autrijus I took the liberty to untodo them all.
21:18 autrijus now, really really sleep.
21:18 lumimies has quit IRC (Read error: 104 (Connection reset by peer))
21:18 autrijus g'nite all!
21:18 * autrijus waves &
21:18 gaal night
21:18 lightstep night
21:20 jabbot pugs - 813 - * rindex is done, not todo
21:20 jabbot pugs - 812 - use "fail('FIXME: parsefail')" conventio
21:21 lightstep how do i create a new file with svn?
21:21 integral lightstep: :>file; svn add file
21:24 lumimies has joined #perl6
21:29 Limbic_Region has quit IRC ("tiuq\]")
21:29 lumimies has quit IRC (Read error: 54 (Connection reset by peer))
21:29 Juerd So - how are SEE sessions organised?
21:29 Juerd I want to join the next
21:31 lumimies has joined #perl6
21:31 lumimies has quit IRC (Client Quit)
21:32 DapperDan has quit IRC ()
21:32 theorbtwo Generally, by somebody saying so on the chan.
21:32 theorbtwo Are you interested in doing something in purtiular?
21:32 Juerd I want to see it in action
21:32 Juerd as a spectator, because I'm not really able to do much editing
21:34 tomyan has joined #perl6
21:39 autrijus lightstep: rooneg's blog: http://asdf.blogs.com/asdf/​2005/03/fun_with_perl6.html
21:40 saorge has quit IRC ("Bye les gens")
21:40 autrijus lightstep: obviously Exp can't do. you are right. VThunk is the way to go.
21:40 * lightstep is converting the tree now
21:40 autrijus (the problem being that my $var := $?CALLER::POSITION did not snapshot the env)
21:40 autrijus ooh oho.
21:40 autrijus lightstep++
21:40 autrijus lightstep++
21:40 autrijus lightstep++
21:40 autrijus I can rest in peace, then.
21:40 lightstep i changed the Symbol definition, and follow the type errors
21:40 autrijus yup. :)
21:40 * autrijus waves &
21:41 autrijus if you do finish converting the thunking, try reply on rooneg's blog just for fun :)
21:41 * autrijus really off &
21:45 stevan has joined #perl6
21:47 dadanother has quit IRC ("the only time I'm easy is when I'm killed by death")
21:50 lumimies has joined #perl6
21:50 lumimies Hi
21:50 lightstep yo
21:51 lumimies Is there a statement/expression postfix when?
21:51 lightstep test it yourself :)
21:51 theorbtwo Should work pretty well like the p5 version.
21:52 lightstep i don't know enough perl to reply meaningfulli
21:53 lumimies perl really works hard on that Makefile
21:53 dada has left "vado a prendere una boccata d'aria fresca"
21:54 dada has joined #Perl6
21:55 elmex hmm.... they synopses are somehow a little bit fuzzy... or maybe i'm missing a tutorial ;-) *g* ...
21:56 dada has quit IRC (Client Quit)
21:57 theorbtwo Try the exgeises.
21:59 mugwump has joined #perl6
21:59 mugwump freenode problem has
21:59 mugwump maybe just my node
22:04 elmex what problems have it does?
22:04 lumimies has quit IRC (Read error: 104 (Connection reset by peer))
22:05 pasteling "gaal" at 192.115.25.249 pasted "weird goto parsefail (delete, don't comment, the last line)" (21 lines, 232B) at http://sial.org/pbot/8257
22:05 gaal can anyone try this and see if it happens to them?
22:05 gaal this test parsefails
22:06 gaal but if you delete the last line and decrement the plan, it passes.
22:06 chip has joined #perl6
22:07 pjcj has joined #perl6
22:08 elmex decrement the plan? you mean plan 1; ?
22:08 gaal yes
22:09 theorbtwo Umm...
22:09 gaal the plan is immaterial; the parsefail going away by simply removing "pass" is weird.
22:09 theorbtwo Hmm, random guess.  Put an extra blank line after that pass("ok");
22:09 gaal to2, you see anything?
22:09 gaal nah
22:10 lumimies has joined #perl6
22:10 elmex hmindeed
22:10 gaal elmex, you see it too?
22:10 elmex yes
22:10 gaal bleh.
22:10 jabbot pugs - 814 - finished the de-$self-ing of Algorithm::
22:11 DapperDan has joined #perl6
22:12 elmex gaal: btw. i only get the parseerror if the last line contains pass(<string>); for example: pass(3); doesn't fail
22:13 gaal hmm
22:13 elmex even something like pass($xyz); works
22:13 theorbtwo Odd.
22:14 lumimies has quit IRC (Read error: 104 (Connection reset by peer))
22:14 gaal ci'nning, fwiw.
22:14 elmex s/pass\(.+?\)/"astring"/ fails too
22:15 elmex any string not in a block after plan and the first sub definition seems to fail
22:16 elmex it seems to have something to do with the contents of the string "&sub.goto does"
22:17 elmex if i replace the first occurence of it by something like "fo" it compiles
22:17 gaal oy
22:17 elmex "&sub.goto does" fails, "sub.goto does" works
22:17 gaal maybe that's being interpolated (ie executed)?
22:17 gaal should that be happening? :)
22:18 elmex pass("&s.g"); fails, pass("&s"); works
22:18 elmex weird
22:18 gaal method calls.
22:19 theorbtwo ...shouldn't interpolate without parens.
22:19 lumimies has joined #perl6
22:20 elmex lol
22:20 elmex "&s.g;" works ;)
22:21 elmex use v6;
22:21 elmex foo("&s.f");
22:21 elmex ""
22:21 lumimies has quit IRC (Read error: 104 (Connection reset by peer))
22:21 elmex a smaller case
22:25 elmex yse v6; ("&s.f"); ""
22:25 gaal elmex, can you add a t/ ?
22:25 elmex t/ ?
22:26 gaal commit a test case
22:26 elmex whats that?
22:26 elmex no clue how and where and stuff ;)
22:27 lumimies has joined #perl6
22:27 gaal hm, the admins have gone to sleep it seems. tomorrow they may give you checkin privs,  so you can write tests.
22:28 elmex never wrote any test in my life before ;)
22:28 lumimies has quit IRC (Read error: 54 (Connection reset by peer))
22:28 gaal you jsut did :)
22:28 elmex and tomorrow i'm gone until the day after tomorrow
22:29 gaal (taking to /msg)
22:29 * Juerd so far likes mac os
22:29 lumimies has joined #perl6
22:29 elmex use v6; ("&s.g"); "" is a test all by itself?
22:30 jabbot pugs - 816 - LKT - resync with Perl 5 version of Loca
22:30 jabbot pugs - 815 - goto.t, with weird parsefail
22:31 tomyan hmm, any program I run just says 'Illegal instruction' and exits
22:31 tomyan anyone else with same prob?
22:32 gaal where did you compile your pugs?
22:32 tomyan ah
22:32 tomyan sorry
22:32 tomyan compiled it before on another machine
22:33 tomyan too easy with nfs
22:33 lumimies has quit IRC (Read error: 104 (Connection reset by peer))
22:33 lumimies has joined #perl6
22:34 tomyan what files to i need to delete so that make will recompile it?
22:34 gaal jsut make clean
22:34 tomyan thanks
22:35 theorbtwo make clean && perl Makefile.PL && make test
22:35 DapperDan has quit IRC ()
22:35 gaal hey, map doesn't work yet? :(
22:40 webmind_ has quit IRC (Read error: 110 (Connection timed out))
22:40 lumimies has quit IRC (Read error: 54 (Connection reset by peer))
22:40 lumimies has joined #perl6
22:41 tomyan that didn't fix it
22:41 tomyan is debian sarge on sparc
22:41 tomyan don't know if that has an impact
22:41 stevan anyone know how SUPER:: is supposed to work in perl6?
22:42 gaal tomyan: are you getting the *exact same* error as before? what size is pugs?
22:42 lumimies has quit IRC (Read error: 104 (Connection reset by peer))
22:43 tomyan 4006790
22:43 tomyan exact same error as before
22:44 tomyan have svn up'd and svn status indicates that there are no local changes
22:44 gaal see if you can compile + run a hello world with ghc
22:44 tomyan k
22:48 lumimies has joined #perl6
22:49 gaal tricky syntax question: can i construct an anonymous hash, assign to it via slice, and return it all in one swell foop?
23:00 jabbot pugs - 817 - correcting some items in Algorithm-Depen
23:00 tomyan ok have sucessfully compiled and run hello world
23:01 tomyan i also rechecked out a fresh pugs and get the same thing
23:01 tomyan not really sure how to go about tracking what the prob is
23:01 gaal well, i think you may be the first to try this on sun...
23:01 gaal try to strace it?
23:02 tomyan i have been running it ok up until this evening
23:02 gaal though illegal execution sounds too early to trace.
23:02 lumimies has quit IRC (Read error: 104 (Connection reset by peer))
23:04 gaal are commas not allowed trailing lists?
23:04 gaal @ary = (1, 2, )
23:04 gaal gives me a parsefail
23:05 ingy !
23:05 lightstep , and ; are not really done
23:06 lightstep , is partially done and ; not at all
23:06 gaal thanks
23:07 gaal ingy, it's ok inside eval.
23:07 tomyan ok strace produces about a screenfull of info
23:07 tomyan have never used it so it doesn't mean very much to me
23:07 gaal that's a bit short (unless you have a tiny font), which is alarming.
23:08 gaal can you paste it http://sial.org/pbot/paste
23:08 lumimies has joined #perl6
23:08 ingy yes please
23:08 gaal sounds like your kernel doesn't like what ghc gave it.
23:09 pasteling "tomyan" at 82.68.136.190 pasted "strace output" (109 lines, 6.9K) at http://sial.org/pbot/8266
23:10 gaal nothing obvious (to me), tomyan, sorry.
23:10 lumimies has quit IRC (Read error: 104 (Connection reset by peer))
23:11 tomyan will google for similar probs with ghc compiled stuff
23:11 lightstep sigill? is it a pun?
23:12 gaal yes, it's what the kernel says when it barfs on your executable.
23:13 gaal also spelled sickill.
23:13 tomyan yeah if i type ./pugs it goes into the shell ok
23:13 tomyan but if i type anything it happens
23:14 lightstep ask at #haskell. they have lots of experience with ghc bugs
23:17 pjcj has quit IRC (Read error: 54 (Connection reset by peer))
23:17 lumimies has joined #perl6
23:17 Limbic_Region has joined #perl6
23:18 stevan hey all, I just started porting File::Spec to perl6, it is in modules/File-Spec if anyone is interested
23:18 stevan I have to go eat dinner now though, but I will be back to work on it more later
23:19 pjcj has joined #perl6
23:19 dvergin has quit IRC ("Chatzilla 0.9.66 [Mozilla rv:1.7.3/20041001]")
23:19 ingy stevan++
23:20 jabbot pugs - 819 - TODO tests for trailing commas ((1, 2,)
23:20 jabbot pugs - 818 - started porting File::Spec to perl6, its
23:21 ingy stevan: it is likely that we will need to move it into ext at some point when MakeMaker is written in perl6
23:21 tomyan has left "Kopete 0.9.2 : http://kopete.kde.org"
23:24 gaal good call picking SVN over CVS then :)
23:28 stevan ingy: sounds good to me
23:28 lumimies has quit IRC (Read error: 104 (Connection reset by peer))
23:28 * stevan is really going up for dinner now
23:29 lumimies has joined #perl6
23:30 jabbot pugs - 820 - forgot obvious further assertions for tr
23:32 elmex gn8
23:32 elmex has quit IRC ("leaving")
23:45 nothingmuch evening!
23:45 gaal hey
23:45 * nothingmuch has not had this much fun since,
23:45 theorbtwo Allo, nothingmuch!
23:45 nothingmuch i think the begining of winter
23:45 nothingmuch yay!
23:45 crysflame hello slashdot
23:45 crysflame http://it.slashdot.org/article.pl?sid=​05/03/16/2151205&amp;tid=145&amp;tid=8
23:46 gaal uh oh :)
23:46 lumimies has quit IRC (Read error: 104 (Connection reset by peer))
23:46 theorbtwo Hm, that wasn't nearly as interesting as I'd hoped.  Try again, nothingmuch.
23:46 nothingmuch well
23:46 crysflame autrijus posted the article
23:46 nothingmuch someone at home had a wedding
23:46 nothingmuch so i went with a very good friend
23:47 nothingmuch and ate a bit
23:47 nothingmuch and drank a bottle of wine or so
23:47 nothingmuch and danced to crappy music
23:47 nothingmuch and reminissed the 9th grade in the way back home
23:47 nothingmuch (we were a couple at the time)
23:47 Limbic_Region nothingmuch - did you finally succeed in imbibing voracious amounts of alchohol resulting satisfactory inebriation?
23:47 nothingmuch and then we saw the middle of a movie
23:48 nothingmuch and then i went home
23:48 lightstep does anyone here have some space on the web, so i can upload files for autrijus to work on in the morning?
23:48 nothingmuch detailed enough, theorbtwo?
23:48 nothingmuch Limbic_Region: yes
23:48 nothingmuch exactly the right amount too
23:48 nothingmuch head spinning slightly
23:48 nothingmuch sipping a bit more wine, to keep it going
23:48 gaal lightstep: how much do you need?
23:48 nothingmuch lightstep: i can open up an account with webspace, shell, email etc on woobling.org
23:49 nothingmuch it's a slow line (278k upwards), but aside from that no limitations
23:49 nothingmuch virtually
23:49 lightstep very little space, a few kb
23:49 gaal nothingmuch, that ain't very slow :)
23:49 nothingmuch gaal: bit, not byte
23:49 gaal prolly better take nuffin on his offer, because i can't give you a shell :(
23:50 lightstep nothingmuch, please do
23:50 nothingmuch login?
23:50 lightstep yes
23:50 nothingmuch no, i meant which ;-)
23:50 lightstep lightstep
23:50 lightstep or amirlb
23:50 lightstep heh
23:51 lightstep i got too tired hacking
23:51 theorbtwo nm: Much better.
23:51 nothingmuch anyone else want an account?
23:52 lumimies has joined #perl6
23:52 * theorbtwo wonders how many Israelites there are on this project.
23:52 nothingmuch 4 last i counted
23:52 nothingmuch lumi, gaal, lightstep & moi,
23:52 lumimies I keep dying :/
23:53 lumimies This sucks
23:53 nothingmuch lightstep: ssh pubkey?
23:54 Limbic_Region I have an acct on perlmonk.org that I am not using - I wouldn't want to share my password but I could certainly put up whatever was needed
23:54 nothingmuch lumimies: perhaps your NAT router is dropping silent connections
23:54 Limbic_Region I am sure jcwren wouldn't mind
23:55 lumimies My network config is stupid
23:55 lightstep nothingmuch, i don't have experience with encription sw
23:55 lightstep i don't even have gpg
23:55 nothingmuch ok then, making temp passwd
23:58 lightstep how do i upload using ssh?
23:58 gaal r821, if anyone wants to add .bytes or .codes
23:58 Limbic_Region man sftp
23:59 Limbic_Region man scp
23:59 Limbic_Region scp localfile login@host:<path>
23:59 nothingmuch scp file [email@hidden.address]
23:59 Limbic_Region it will prompt for password
23:59 nothingmuch .htdocs is your public http dir
23:59 nothingmuch http://woobling.org/~lightstep

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

Perl 6 | Reference Documentation | Rakudo | Niecza | Specs