Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2005-03-14

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:00 Juerd Autothreading on creation doesn't have much practical use though
00:00 iwt has quit IRC (Client Quit)
00:00 Juerd mugwump: Perlego isn't originally perl-ego, but perl-eg-o
00:00 Juerd Esperanto for, quite literally, a greater/better pearl
00:08 wilx Eh, I thought it was per-lego :)
00:08 wilx Or per(l)ego with the l shared between the two parts.
00:11 fxn_ has joined #perl6
00:14 tomyan has left "Kopete 0.9.2 : http://kopete.kde.org"
00:14 pasteling has quit IRC (Remote closed the connection)
00:15 pasteling has joined #perl6
00:21 fxn has quit IRC (Read error: 110 (Connection timed out))
00:24 larsen has quit IRC ("later")
00:26 DapperDan has quit IRC ()
00:47 fxn_ has quit IRC ()
00:49 ebalbaiue has joined #perl6
00:49 ebalbaiue Hello is anyone here fimilar with curses widgets.
01:19 ebalbaiue has quit IRC ()
01:35 f0rth has joined #perl6
02:06 alexe has joined #perl6
02:11 afbach has quit IRC (Read error: 110 (Connection timed out))
02:16 Alias_ has joined #perl6
02:25 bd_ has quit IRC ("Peer pressure.")
02:29 theorbtwo has quit IRC (Read error: 110 (Connection timed out))
02:33 afbach has joined #perl6
02:40 theorbtwo has joined #perl6
02:42 obra nothingmuch++ # switched Test:: to use C::C::C::
02:42 obra or rather, let me do so
02:44 ingy hola
02:45 obra hey ingy
02:45 obra I did som e refactoring of Test.pm
02:45 obra commentary/fixes appreciated
02:47 flw has joined #perl6
02:47 ingy hi obra
02:47 jabbot pugs - 697 - Switch to using $?CALLER::CALLER::CALLER
02:48 Alias_ EVERYBODY CONGA!!!
02:48 flw has quit IRC (Read error: 54 (Connection reset by peer))
02:48 ingy hi Alias_
02:48 Alias_ hello
02:49 ingy Alias_: are you channeling TorgoX?
02:49 Alias_ he said the same thing?
02:49 ingy nm
02:49 Alias_ ok
02:49 Alias_ :)
02:49 flw has joined #perl6
02:51 flw has quit IRC (Read error: 131 (Connection reset by peer))
02:52 flw has joined #perl6
02:55 ingy has quit IRC ("leaving")
03:01 Alias_ has quit IRC ()
03:04 ingy has joined #perl6
03:04 flw has quit IRC (Read error: 104 (Connection reset by peer))
03:20 ingy Q: witheo hashes?
03:37 jabbot pugs - 698 - add op x= test
03:45 mikfire has joined #perl6
03:48 alexe has left
03:56 bd_ has joined #perl6
04:01 viirya has joined #perl6
04:12 mikfire has quit IRC (Remote closed the connection)
04:14 metaperl has quit IRC (Read error: 110 (Connection timed out))
04:27 jabbot pugs - 700 - * implement x=, xx=, Y= etc.
04:27 jabbot pugs - 699 - * findVar now takes env as argument.
04:28 hoowa has joined #perl6
04:29 hoowa good morning
04:31 autrijus hi
04:31 autrijus wow, nothingmuch & co Did It.
04:33 ingy hola
04:33 autrijus yo!
04:33 autrijus fayland++ # x=, xx=, etc
04:34 ingy working on doc support... little confused why perlkwid is in Kwid
04:34 hoowa fayland ???
04:34 autrijus or "flw"
04:34 obra    morning autrijus
04:34 hoowa what's x= xx=???
04:35 autrijus $a x= 3; # $a = $a x 3
04:35 autrijus hey obra.
04:35 hoowa hehe
04:35 autrijus it's implemented :)
04:36 hoowa great
04:37 autrijus ingy: I don't really know... it should've been S26, you know
04:37 autrijus Synopsis 26: Plain Old Documentation
04:37 autrijus (camel ch26)
04:37 hcchien there are some warnings in AST.hs. Is it right?
04:37 autrijus hcchien: GHC 6.4?
04:37 obra autrijus/ingy, I'd love comments on my changes to the test suite.
04:37 obra since it's my first perl6 code
04:37 hcchien autrijus: 6.2.2
04:38 autrijus hcchien: nopaste the warnings? i can't see any warnings
04:38 hcchien k, a sec
04:39 autrijus obra: C::C::C::POS?
04:39 ingy autrijus: do you have a few minutes to work out the doc/layout details?
04:39 autrijus looks very sane.
04:39 autrijus ingy: I didn't get enough sleep, so my brain isn't functioning properly yet
04:39 hoowa i am doing translation.
04:40 hcchien autrijus: http://irc.csie.org:8888/109
04:40 autrijus maybe 30 mins from now so I can get another short nap?
04:40 hoowa perl6 basic sytanx from perl6 and parrot..... oreilly book.
04:40 autrijus hcchien: you are using an old copy.
04:40 hcchien oh? let me pull again....
04:40 autrijus in my AST.hs line 533 it reads
04:40 autrijus Just _  -> internalError "readVar failed on non-value bindings"
04:40 ingy autrijus: ok, maybe we can work in SEE
04:40 autrijus which covers the base case
04:40 flw has joined #perl6
04:40 obra autrijus: yeah, I'm unsure about doing something that deep, but there's only one path for C::C::CC
04:40 autrijus hcchien: your copy is sooo old :D
04:40 obra but it does work now
04:41 autrijus flw: hellow!
04:41 autrijus flw: I implemented x= xx= Y= so yoru test now passes!
04:41 autrijus flw++
04:41 autrijus flw: add yourself to AUTHORS?
04:41 obra  autrijus: and it removed a bunch of code duplication
04:42 autrijus obra: right, and I think that makes perfect sense.
04:42 autrijus obra: so, perl6 feels like perl? :)
04:42 obra  ah. ok
04:42 obra perl6 feels a little weird.
04:42 obra prototypes are strange
04:43 obra I want named parameters
04:43 obra and pugs syntax error reporting is a bit hard to decipher
04:43 autrijus we have named parameters in prototypes
04:43 obra oh?
04:43 autrijus and you can already invoke them using pair => syntax.
04:43 autrijus it's one of the things done in the first week.
04:43 obra !
04:44 obra !
04:44 obra what tests do I look at?
04:44 obra should this work? : my %foo = {}; %foo{'bar'} = "Baz"; say %foo{'bar'};
04:44 autrijus no thests for it, bah
04:44 * obra was asked today if perl6 supported non-scalar hash keys
04:44 obra autrijus: type out a few examples. I'll testify
04:44 autrijus obra: {} is a closure yet
04:45 mugwump has quit IRC (Read error: 148 (No route to host))
04:45 autrijus the autohashify isn't there
04:45 autrijus I seem to recall a test for that
04:45 obra sorry. meant tests for named parmas
04:45 autrijus so it's like
04:45 autrijus my %foo = sub {...}
04:45 autrijus which won't really fly
04:45 obra yeah. now I see
04:45 autrijus ok. named params
04:46 autrijus a sec.
04:47 autrijus hmm
04:47 autrijus for some reason the dispatch code was bitrotten
04:47 ingy autrijus: witheo hashes?
04:48 autrijus so much for non-covered code
04:48 metaperl has joined #perl6
04:48 autrijus sub foo (+$x) { $x }  foo( 'x' => 4 )
04:48 jabbot pugs - 701 - fixed nits
04:48 autrijus is the canonical example
04:48 obra hah.
04:48 obra (the bitrot)
04:48 autrijus +$x makes it addressable only by name
04:48 autrijus positional args can also optionally be addressed by name.
04:49 obra Ok. that rocks so hard.
04:49 autrijus named args are optional by default.
04:49 obra where would you like these tests?
04:49 autrijus but if you use ++$x
04:49 obra and how do you do defaulting?
04:49 autrijus then it's named and required.
04:49 autrijus sub foo (+$x = 3) { $x }
04:49 autrijus # defaults to 3
04:49 autrijus sub foo ($x, +$y = $x) { } # this even works.
04:49 obra where would you like tests?
04:50 autrijus I _think_ t/syntax
04:50 autrijus but I need to take a nap now
04:50 autrijus see details in http://dev.perl.org/perl6/synopsis/S06.html
04:50 autrijus also do some TODO for bareword quoting
04:50 autrijus and :name<value> syntax
04:51 autrijus that is going to rock so much.
04:51 * autrijus bbiab &
04:53 obra  why is it $?CALLER, rather than caller()
04:54 ingy $? vars are lexical environment vars I think
04:54 ingy $?CALLER should return a caller object
04:54 obra pr rather "but s06 says 'caller'
05:06 obra "http://paste.husk.org/2796
05:06 hoowa has quit IRC (Read error: 54 (Connection reset by peer))
05:06 flw has quit IRC (Read error: 104 (Connection reset by peer))
05:06 obra What's wrong with that code?
05:06 lucs plan 9... from outer space!
05:07 * crysflame stands in front of a grave quietly.
05:11 jabbot pugs - 703 - * (1,2)|(3,4) was parsed as any(1,2,3,4)
05:11 jabbot pugs - 702 - * remove borked junction example
05:15 bd_ has quit IRC (Connection timed out)
05:25 obra checked in a snapshot of failing tests
05:25 obra I don't even understnad perl6 syntax :/
05:27 Aankhen`` has joined #perl6
05:31 jabbot pugs - 706 - Miss implepmented operator priority '??:
05:31 jabbot pugs - 705 -  r8445@hualien:  jesse | 2005-03-14 00:2
05:31 jabbot pugs - 704 -  r8444@hualien:  jesse | 2005-03-14 00:1
05:32 fayland has joined #perl6
05:33 crysflame neat
05:33 crysflame someone++ # for jabbot.
05:33 obra gugod, iirc
05:34 cm has joined #perl6
05:34 cm maybe i do :-)
05:34 obra cm: t/syntax/subroutine*
05:35 cm hm?
05:35 Khisanth cm :p
05:35 cm obra: t/oot/toot? :|
05:35 obra wait. cm, you weren't responding to my last comment :/
05:36 cm no, sorry :)
05:36 cm first time in a perl channel and i already cause confusion :p
05:37 * cm hides in a corner, cautiously watching the camel folks
05:37 obra no worries, cm.
05:37 Darren_Duncan has joined #perl6
05:37 obra welcome,
05:37 Darren_Duncan hello ...
05:38 cm hello, hello..
05:38 Darren_Duncan I just noticed the request on p6c to port a CPAN module ... has anyone else started on that yet ... I said I would work on it
05:38 obra Darren_Duncan: url?
05:38 obra note also, that a straight port is likely a bad plan. the code is..not fun.
05:39 Darren_Duncan basically, since I don't know anything about said module going in, all I can promise in the short term is to translate the easier / more obvious parts
05:39 obra it likely makes sense to start with things like an http library and a sha1 library
05:39 obra starting with the dependencies that are more general will probably be the sane side
05:40 Darren_Duncan obra, are you on p6c?
05:41 obra Darren_Duncan: I'm not
05:41 Darren_Duncan A web url for the request is http://www.nntp.perl.org/gr​oup/perl.perl6.compiler/308
05:41 obra oh.
05:41 obra I misunderstood
05:41 obra I thought you meant "A CPAN interface" module
05:41 obra not a module from CPAN
05:41 Darren_Duncan my reply is http://www.nntp.perl.org/gr​oup/perl.perl6.compiler/310
05:41 obra (the former has also been under discussion)
05:41 obra very cool
05:42 Darren_Duncan I only promise to do the obvious bits
05:42 Darren_Duncan eg, change "." to "~", "->" to ".", loop structures, etc
05:42 * obra nods
05:42 Darren_Duncan essentially, its the first refactoring round
05:43 Darren_Duncan I only promise to do 100% of the job on my own modules, since I know them intimitely
05:44 Darren_Duncan FYI, I promised to give the talk at the Perl Mongers meeting in my area for march, which is in 2 days ... I'm going to talk about Perl 6 and what it's like to translate to it ...
05:44 Darren_Duncan my group is Victoria.pm
05:45 Darren_Duncan looking on this module will give me more to talk about
05:45 * crysflame blinks
05:49 cm it's funny how sigils still confuse me :|
05:52 fayland has quit IRC ()
05:58 meetmanya has joined #perl6
06:01 meetmanya has left
06:26 cm has quit IRC ("free!")
06:30 hlen has quit IRC (Read error: 110 (Connection timed out))
06:38 Darren_Duncan I just uploaded http://darrenduncan.net/d/perl​/Locale-KeyedText-1.02.tar.gz to CPAN; this is the newest Perl 5 version of that module and includes improvements that I made to it simultaneously to porting the module to Perl 6 ... so LKT-1.02 and the LKT in Pugs-6.0.11 are the most identical versions to each other.
06:39 Darren_Duncan I will start the Algorithm::Dependency port tomorrow.
06:39 Darren_Duncan ... as Adam Kennedy requested
06:41 Darren_Duncan I'm signing off ... good night.
06:47 jabbot has quit IRC (Remote closed the connection)
06:48 jabbot has joined #perl6
06:48 Darren_Duncan has left
06:48 nothingmuch has joined #perl6
06:55 hoowa has joined #perl6
07:00 autrijus darren++
07:00 autrijus darren++
07:01 obra autrijus: I checked in non-compiling tests to try to get input
07:02 autrijus okie.
07:02 autrijus that's just fine.
07:04 lightstep has joined #perl6
07:07 autrijus ooh guido dropping anonymous functions and reduce() from python 3000.
07:07 autrijus or even 2.5.
07:08 autrijus his is certainly not of lambda nature.
07:08 obra yeah
07:10 * autrijus wonders if shapr will drop python in favor of perl for his $daily_work now
07:12 autrijus looking at namedargs.
07:16 nothingmuch has quit IRC ()
07:18 obra  it's likely that I just don't understand perl6 syntax
07:20 Khisanth autrijus: maybe he will fork a python in Haskell :)
07:21 autrijus ooh :)
07:21 autrijus or he'll write a python parser frontend for pugs.
07:22 lightstep perlbot: paste
07:22 perlbot Paste your code and #perl will be able to view it: http://sial.org/pbot/perl http://dragon.cbi.tamucc.edu:8080 http://erxz.com/pb
07:22 wolverian good morning everyone
07:22 cls_bsd autrijus: where is current TODO?
07:22 * cls_bsd just read a lot of Haskell Tutorial
07:23 erxz_paste "lightstep" at 212.235.32.146 pasted "a prettier findVar (or, using ContT for fun and profit)" (17 lines) at http://erxz.com/pb/541
07:24 * lightstep couldn't resist to show of his Scheme experience
07:25 lightstep s/of/off/
07:28 * autrijus looks
07:28 autrijus cls_bsd: wow. are you interested in hacking in more primitives?
07:28 autrijus useful ones like substr()
07:28 autrijus lightstep: ooooh very profitable
07:29 autrijus lightstep: are you a committer? can you commit it in? :)
07:29 lightstep i'm not a committer
07:29 autrijus email addr?
07:29 autrijus I'll make you one :)
07:29 cls_bsd substr
07:29 lightstep amirlb at bonbon [dot] net
07:29 lightstep how do i commit?
07:29 cls_bsd via svn/svk
07:30 autrijus svn.openfoundry.org/pugs/
07:30 autrijus change a file, "svn ci"
07:30 autrijus that's all
07:30 lightstep cool
07:30 autrijus invitation sent.
07:31 b6s has joined #perl6
07:33 lightstep the terms of use page only shows jibberish
07:33 autrijus that jibberish is here:
07:33 autrijus http://wagner.elixus.org/~hcchien/termtouse.html
07:33 autrijus it's sf.net boilerplate.
07:33 autrijus sorry for borked l10n.
07:34 Steve_p has quit IRC (Read error: 101 (Network is unreachable))
07:40 fayland has joined #perl6
07:40 lightstep i fucked up my local copy
07:40 wolverian whoa, smartmatch in p5! xmath++
07:41 nothingmuch has joined #perl6
07:41 lightstep what is the debian package name for svn?
07:42 lightstep oh, subversion
07:42 autrijus subversion ?
07:42 autrijus wolverian: wow. url?
07:43 wolverian autrijus: http://www.perlmonks.org/index.pl?node_id=439084
07:46 obra autrijus: you know about cia.navi.cx?
07:46 obra openfoundry should submit to it
07:47 Southen has joined #perl6
07:49 nothingmuch morning
07:50 autrijus wolverian: ooh
07:51 wolverian autrijus: this with source filters (Lexical::Attributes..) makes p5 remarkably more like p6!
07:53 Juerd wolverian: Get scrottie's book "Perl 6 Now: the core ideas illustrated with Perl 5"
07:53 Juerd wolverian: It's full of weird black magic to get Perl 6 features working in Perl 5
07:53 nothingmuch autrijus: did you hear about our smashing success yday?
07:53 Juerd Including source filtering, B::Generate, and just writing things differently
07:54 wolverian Juerd: I'll try. :)
07:57 nothingmuch anyone: is r706's bug tested for?
07:57 lightstep nothingmuch, autrijus submitted rev 699 about the same function, a while later
07:57 nothingmuch do we have a test for operator pecedence?
07:57 lightstep and r706 includes only a test
07:58 jabbot pugs - 707 - simplifying some logic
07:58 obra nothingmuch: not seeing any
07:59 nothingmuch lightstep: good point
08:00 * nothingmuch starts writing a more formal t/base/operator_precedence
08:01 obra not in t/op?
08:02 DapperDan has joined #perl6
08:02 nothingmuch t/op/precedence.t?
08:02 lightstep has quit IRC ("i have a test in thursday")
08:03 nothingmuch that also makes sense, but in a different way
08:03 obra I first went to look for it in t/op
08:03 obra where is it in p5?
08:10 fayland has quit IRC (Read error: 145 (Connection timed out))
08:16 nothingmuch i'm not sure there is one
08:16 larsen has joined #perl6
08:16 nothingmuch i think the spec came after the impl
08:18 autrijus nothingmuch++ # smashing success
08:18 nothingmuch lightstep++ # really responsible
08:18 nothingmuch lumi++ # helped a lot too
08:20 nothingmuch larsen++ # was signed on SEE the entire session ;-)
08:20 nothingmuch theorbtwo++ # nearly got SEE working
08:21 lightstep has joined #perl6
08:21 nothingmuch perlbot karma lightstep
08:21 perlbot Karma for lightstep: 1
08:21 nothingmuch lighstep++
08:21 nothingmuch perlbot karma lightstep
08:21 perlbot Karma for lightstep: 1
08:22 nothingmuch oh
08:22 nothingmuch lightstep++
08:22 nothingmuch perlbot karma lightstep
08:22 perlbot Karma for lightstep: 2
08:22 rgs has quit IRC (Remote closed the connection)
08:22 rgs has joined #perl6
08:23 lightstep perlbot, karma nothingmuch
08:23 perlbot Karma for nothingmuch: 11
08:23 jabbot lightstep: nothingmuch  has neutral karma
08:23 lightstep jabbot, noone asked you
08:23 obra   perlbot, karma autrijus
08:23 perlbot Karma for autrijus: 11
08:23 obra   perlbot, karma eleven
08:23 perlbot eleven doesn't have any karma
08:29 wolverian hrm, are there any plans for a generic 'in' inclusion operator in perl6, ala python?
08:35 Juerd wolverian: ~~
08:36 Juerd Or isn't @array ~~ $element what you mean?
08:37 rgs er, $element ~~ @array no ?
08:37 rgs er, no, sorry
08:37 * rgs back to lurk mode
08:38 jabbot pugs - 708 - remove superfluous function
08:39 wolverian Juerd: I just realised that. thanks.
08:39 wolverian where is the table of the defined ~~ operations?
08:39 Juerd S04
08:39 wolverian thanks again. :)
08:39 Juerd rgs: $el ~~ @ar works too
08:40 Juerd rgs: Most lhs ~~ rhs work as rhs ~~ lhs too
08:40 nothingmuch also in t/op/smartmatch.t
08:40 nothingmuch in case you feel like contributing while you read ;-)
08:40 nothingmuch (hash smartmatching is not tested yet)
08:40 Juerd Better write some tests, because SmartMatch.pm was much easier to implement than I had thought
08:40 wolverian Juerd: hrm, it doesn't define 'all(@foo) ~~ @bar'
08:40 Juerd Haven't yet tested any line of it though
08:40 wolverian does that make sense?
08:41 Juerd wolverian: Then that means that every @foo should ~~ @bar
08:41 wolverian Juerd: yes.
08:41 Juerd If no specific thing is defined, normal behaviour counts.
08:41 lightstep like in a subset?
08:41 wolverian Juerd: right.
08:41 wolverian lightstep: yes! :)
08:41 Juerd wolverian: all(@foo) ~~ none(@bar)
08:42 Juerd wolverian: Now it gets scarier :)
08:42 mugwump has joined #perl6
08:42 wolverian heh.
08:42 Juerd wolverian: all(@used_words) ~~ none(@blacklisted_words) or die
08:42 Juerd Though I'd write it as
08:43 Juerd any(@used_words) ~~ @blacklisted_words
08:43 Juerd (and die)
08:43 wolverian I don't want to use ~~ explicitly
08:43 Juerd Why not?
08:43 wolverian I don't know. I'm probably trying to emulate python
08:43 lightstep sub disjoint (@a, @b) {all(@a) ~~ none(@b)}
08:44 lightstep then you can have english instead of line noise
08:44 nothingmuch that is sort of like 1 ~~ 1 and say "foo"
08:44 nothingmuch wolverian: given left_hand_side_of_smartmatch { when right_hand_side_of_smartmatch { } }
08:44 nothingmuch given 1 { when 1 { say "foo" } }
08:44 Juerd sub disjoint { not any(@^a) ~~ @^b }  # probably faster
08:44 nothingmuch lightstep: you could also make that infix ;-)
08:45 wolverian for @words.map:{ .split } { when @validchars { say } else { say "error in $_" } }
08:45 wolverian something like that, except I don't even like the map
08:45 Juerd http://tnx.nl/3655JIRF
08:45 wolverian the 'else' is probably wrong. :)
08:45 Juerd Does that look sane?
08:45 Juerd Anyone want to write tests?_
08:45 Juerd s/_//
08:46 wolverian nok and pok are probably the best function names ever.
08:46 wolverian cutest, anyway.
08:46 Juerd ...
08:46 wolverian I'm so helpful. :)
08:47 Juerd Now whip up some tests for me to show you're sorry :)
08:47 wolverian I guess 'for @words { say if .split ~~ @validchars }' is clear enough.
08:47 lightstep there are 600-odd todo tests
08:47 nothingmuch lightstep: uhuh
08:48 lightstep that's like 40%
08:48 nothingmuch yup
08:48 Juerd wolverian: say .split ~~ /:each @validchars/;
08:48 wolverian except that probably wants to be .split(//) or so. maybe.
08:48 nothingmuch much of pugs is not yet implemented
08:48 Juerd eh
08:48 wolverian Juerd: why?
08:48 Juerd Without .split, of course
08:48 nothingmuch (1 | 2 ^ 3) <-- what does that mean?
08:48 wolverian oh.
08:48 Juerd wolverian: say /:each @validchars/;
08:48 wolverian I don't grok that.
08:48 nothingmuch lightstep: expect many more when people write OOP tests
08:48 nothingmuch and i finally get around to converting rules
08:48 Juerd wolverian: /@foo/ is /@foo[0] | @foo[1] | .../
08:48 nothingmuch neither system is done yet, and will have many many todos
08:48 Juerd wolverian: :each is the new /g
08:49 wolverian Juerd: oh. right. I'm used to m:each/.../ so that confused me, too.
08:49 Juerd So: match valid characters, return them, say them
08:50 wolverian that is scarily magical though.
08:50 wolverian I think I've used too much python recently. I want everything to be readable without reading any documentation.
08:50 wolverian (which is not a good thing.)
08:50 wolverian (except if your programming team consists of morons.)
08:50 autrijus that means a small vocabulary.
08:50 autrijus which is occasionally useful
08:51 wolverian as I said. :)
08:51 wolverian it's why java works.
08:51 autrijus well no
08:51 autrijus java's vocabulary is all pushed thru a single dimension
08:51 autrijus namely class hierarchy and interfaces
08:51 wolverian true.
08:51 autrijus so it's actually Huge.
08:51 autrijus I've read an article on Jarsec.
08:52 autrijus and the hoops they jump thru to make a simple monadic parser is amazing.
08:52 autrijus they had to kludge out lots of vocabulary just to express something simple.
08:52 autrijus but again, it's outside its problem domain really, so can't blame it
08:53 wolverian I wonder how Parsec, er, I mean, P(erl)arsec, would look
08:54 autrijus YAPP / Parsec::RecDescent
08:54 autrijus or, if you are into horror movies, Perl6::Rules
08:54 lightstep monadic parser combinators are old news. arrow combinators are the future.
08:54 autrijus lightstep: where is arrsec and how can I download it?
08:54 lightstep the future, not the present
08:54 autrijus ah.
08:55 autrijus so it involves a sleep($bignum)
08:55 lightstep yeah
08:55 lightstep and maybe more
08:55 autrijus I find the monadic properties very useful.
08:55 autrijus I see the use for apply-less arrows
08:55 autrijus but my problem domain doesn't yet require them, I think.
08:56 autrijus but I need to find time to finish reading the category theory textbooks :-/
08:56 lightstep i thought that arrows were just arrows (which are introduced on page 2)
08:57 autrijus I'm skimmed Pierce's, but Lambek et al's "Higher-Order Categorical Logic" is beyone me currently
08:57 autrijus oh? I thought arrows are premonoidal structures.
08:58 lightstep i don't know cat. theory at all. it looks like lots of smybolism before getting to the real contetnt
08:58 nothingmuch is (3 ^ 3) == 3 true or false?
08:58 nothingmuch it is true because they are the same
08:58 autrijus aye, just like certain programming languages
08:58 nothingmuch so it's not either all
08:58 nothingmuch but it is also false
08:58 nothingmuch since both are == 3, but ^ says only this or that
08:59 autrijus it's false.
08:59 autrijus (true ^ true) == false
08:59 mugwump has quit IRC (Read error: 148 (No route to host))
08:59 autrijus think xor.
09:00 autrijus I think pugs' junction modeling is Correct now, so trust what it tells you :)
09:00 nothingmuch yes, i do think xor
09:00 nothingmuch i'm just not sure how dwimmy it is
09:00 autrijus don't write ^
09:00 autrijus write one()
09:00 autrijus one(3, 3) == 3
09:00 autrijus now it's clear.
09:00 iblechbot has joined #perl6
09:01 autrijus I think one() is the least useful and most complex of junctions.
09:01 autrijus because it does not obey set laws
09:01 autrijus and has to be modelled with two sets.
09:01 Juerd And least useful.
09:01 Juerd Oh, you said that already.
09:01 Juerd :)
09:01 autrijus yup.
09:01 autrijus :)
09:01 autrijus junction modeling can really make use of GADTs.
09:02 autrijus but I'm not ready to require 6.4 just now.
09:03 nothingmuch gadt?
09:03 autrijus GADT is da bomb.
09:04 autrijus and not as alien tech as STM is.
09:04 autrijus # http://research.microsoft.com/%​7Esimonpj/papers/gadt/index.htm
09:04 nothingmuch the link is tempting, but i mustn't click it
09:05 autrijus ok, this is easier
09:05 autrijus # http://haskell.org/ghc/docs/6​.4/html/users_guide/gadt.html
09:05 autrijus will only cost you 2 minutes.
09:05 autrijus (wobbly types)++
09:05 autrijus the second link has a concise example.
09:06 autrijus and after I read that, I wonder why haskell doesn't have it in the first place.
09:06 nothingmuch uh uih uh
09:06 autrijus it is so much mroe intuitive than ordinary data types.
09:06 nothingmuch not yet
09:06 nothingmuch after build is out =)
09:06 autrijus sure, I'll not jump to 6.4 just yet :)
09:10 cls_bsd nopaste?
09:10 cls_bsd ...
09:10 wolverian perlbot: nopaste?
09:10 perlbot Paste your code here and #perl will be able to view it: http://sial.org/pbot/perl
09:10 wolverian ..shouldn't that be /perl6?
09:10 wolverian (and #perl6, of course)
09:11 flw has joined #perl6
09:12 larsen has quit IRC (Remote closed the connection)
09:13 larsen has joined #perl6
09:15 * nothingmuch is stuck on the 8th level of precedence
09:15 nothingmuch between junctive or/xor, and unary err, stuff
09:15 Khisanth wolverian: perlbot is lacking in some features :)
09:15 autrijus bbiab
09:15 Khisanth like seen and context awareness
09:17 fayland has joined #perl6
09:18 DapperDan has quit IRC ()
09:18 lightstep has quit IRC ("gadts are so cool but i must go")
09:23 marcus has joined #perl6
09:32 tiw has joined #perl6
09:38 tiw has left "ERC Version 5.0.2 $Revision: 1.726.2.10 $ (IRC client for Emacs)"
09:41 iwt has joined #perl6
09:56 nothingmuch what are the quoting properties of => lhs?
09:58 hoowa has quit IRC ()
09:58 fayland has quit IRC ()
10:01 autrijus nothingmuch: always quoted regardless of syntactic significant
10:02 autrijus (if => 30
10:02 autrijus (if => 300
10:02 autrijus err
10:02 autrijus (if => 300)
10:02 autrijus is always 'if' => 300
10:02 autrijus and never the conditional if
10:02 nothingmuch okay
10:02 Juerd Only if the LHS is a valid identifier of course
10:02 autrijus yeah, that goes w/o saying :)
10:02 Juerd Where something starting with a number is valid enough :)
10:02 autrijus basically it requires a level of looking ahead.
10:02 Juerd Or isn't it?
10:03 autrijus 1 => 3; # not autoquoted, nor should it be
10:03 Juerd Really? Hm
10:03 autrijus 1aacc => 3; # probably not autoquoted.
10:03 autrijus I don't know for sure.
10:03 Juerd I guess that makes sense now hash keys can be non-strings
10:03 autrijus what does 1aacc for anyway.
10:03 autrijus what does 1aacc stand for, anyway.
10:05 marcus has quit IRC ("Konversation terminated!")
10:10 marcus has joined #perl6
10:10 hlen has joined #perl6
10:18 nothingmuch 13361 yuval     25   0 95660  93M  1760 R    24.3  2.5  26:24   2 cover
10:18 nothingmuch *sigh*
10:19 nothingmuch 30 minutes for some htmls
10:20 wolverian nice post on p6l about carp() and caller()
10:21 hlafarge has joined #perl6
10:24 autrijus food &
10:26 wolverian does 'for @foo>>.split { ... }' iterate over each char or over lists of chars?
10:27 wolverian I assume lists of chars; I'd use * to flatten. am I correct? :)
10:33 tiw has joined #perl6
10:41 mattc has joined #perl6
10:42 mattc has left
10:50 mattc has joined #perl6
10:51 tiw has left
10:53 mattc Hi All, just posted to the list about working on modules for Pugs.  I'm guessing the modules of the standard distribution are the most important, although I'm guessing some of their functionality may be planned as language constructs.  So, Pugger's, I guess the question is, what modules do you think are the most important to make a start on?
10:54 wolverian people are away a bit right now. be patient. :)
10:54 mattc Oh I will be...
10:55 mattc cheers
10:59 bd_ has joined #perl6
11:12 nothingmuch mattc: err, anything
11:13 nothingmuch probably best to start with the Test:: namespace
11:13 nothingmuch because that way people will have no excuses
11:13 nothingmuch then, err, stuff like Time::
11:13 nothingmuch CGI
11:14 nothingmuch Digest:: pure perl versions
11:14 lumi And start with the green ones
11:14 nothingmuch Class::ISA (should be fun, but you won't be able to run it yet)
11:14 nothingmuch Text::
11:14 nothingmuch you have Balanced, and ParseWords, and Tabs which should all be pretty fun in p6
11:15 nothingmuch Soundex, which is prolly simpler
11:15 nothingmuch they are all simple modules
11:15 nothingmuch from perl 5's core list
11:16 nothingmuch err, simple by purpose
11:16 nothingmuch not necessarily impl
11:16 mattc Excellent
11:16 mattc that's a good start
11:16 nothingmuch note that for the Text namespace you probably would like rules
11:16 nothingmuch which are not there yet
11:16 mattc ok
11:17 nothingmuch but don't let that stop you
11:17 mattc so what do you think the way forward is in that situation?
11:17 nothingmuch you can start porting, and then every time you are missing a feature in pugs
11:17 nothingmuch see if it has a todo test
11:17 nothingmuch if it does not, write one
11:17 mattc fine
11:17 nothingmuch and the lambdafolk will get to it rather quickly
11:17 mattc ok
11:17 nothingmuch except if it's something really big
11:17 nothingmuch like things from the roadmap
11:18 nothingmuch which have a schedule
11:18 mattc right
11:18 nothingmuch basically, the end result is that the modules are tests for pugs
11:18 nothingmuch and the modules' tests are tests for the modules and pugs
11:18 nothingmuch and their creation will create more tests
11:18 mattc ok
11:18 nothingmuch specific to pugs
11:19 nothingmuch and given this much, it is err, determinable, exactly in what state pugs is
11:19 nothingmuch and what needs to be further defined by p6l
11:19 nothingmuch and what just needs to be implemented
11:19 mattc should I try to get the modules working any way possible in Pugs, or get them written as we would like them to be if Pugs was complete?
11:19 mattc alright
11:19 nothingmuch i think it's your choice
11:19 mattc ok
11:19 nothingmuch either or
11:20 nothingmuch but the rest of the things should be written in a good way
11:20 nothingmuch p6ish
11:20 nothingmuch maybe the Test:: modules should work early
11:20 mattc yeah
11:20 wolverian DateTime would be nice.
11:20 nothingmuch now, if you're feeling gutsy, grab a copy of
11:20 nothingmuch perlbot YAHT
11:20 perlbot Yet Another Haskell Tutorial -- http://www.isi.edu/~hdaume/htut/
11:20 mattc yeah, got it
11:20 wolverian (and a good test for OO)
11:21 mattc do you think I'll need mush Haskell to work on the modules initially?
11:21 nothingmuch mattc: eval '' should be enough
11:21 nothingmuch otherwise just don't bother yet
11:21 mattc cool
11:22 nothingmuch the modules don't necessarily need to be compilable
11:23 mattc nothingmuch: sorry, not clear on that last one
11:23 nothingmuch well, they don't need to run now
11:24 nothingmuch if someone sits down and ports a module
11:24 nothingmuch that happens once
11:24 nothingmuch it's easier to port to an existing language
11:24 nothingmuch so sometimes you'd like to wait
11:24 nothingmuch sometimes you don't mind doing it now
11:24 mattc ok
11:24 nothingmuch if you don't mind porting stuff to an imaginary language, go ahead
11:24 nothingmuch the work won't be thrown away
11:25 mattc I see, hence the issue about getting it working or getting it beautiful
11:25 mattc I guess that will become clearer as I start work
11:25 mattc Even getting some frameworks down will help (as you said) with finding what is missing....
11:26 nothingmuch uuh
11:26 nothingmuch s/u/uh/
11:27 mattc great, well I'll start poking about with some of the modules listed later today.  See if I can find some low hanging fruit..
11:32 nothingmuch hah
11:32 nothingmuch  load average: 865.89, 577.64, 229.67
11:32 nothingmuch fork bombs are funny
11:46 y6cmE has joined #perl6
11:50 y6cmE is now known as y6cmE|
11:51 y6cmE| has left
12:01 Odin-FOO has quit IRC (Read error: 54 (Connection reset by peer))
12:02 Odin-FOO has joined #perl6
12:02 nothingmuch is there something like head/tail
12:02 nothingmuch that knows how to skip the first N lines?
12:04 iblechbot has quit IRC (Operation timed out)
12:04 madhouse has joined #perl6
12:11 luqui has joined #perl6
12:12 luqui ha'dy y'all
12:12 hlafarge has quit IRC ("KVIrc 3.2.0 'Realia'")
12:12 Aankhen`` has quit IRC (Connection timed out)
12:12 luqui I must smell
12:12 * luqui showers
12:13 rgs heya luqui.
12:13 luqui hi
12:13 alexe has joined #perl6
12:13 luqui the recent message on perl6-compiler, about closing the filehandle, I think it has to do with laziness
12:13 tiw has joined #perl6
12:16 luqui has quit IRC (Client Quit)
12:37 tiw has quit IRC (Remote closed the connection)
13:01 Limbic_Region has joined #perl6
13:09 lwhsu has joined #perl6
13:11 * Limbic_Region notes that Pugs is being discussed at the Monastery quite a bit - WinXP problems - http://www.perlmonks.org/index.pl?node_id=439183
13:11 iblechbot has joined #perl6
13:14 Juerd Time for pugsmonks! :)
13:15 Juerd And what's this www thing?
13:15 Juerd It doesn't have my login cookie, and now the page is all white and blue instead of blackish.
13:16 ihb Juerd: i know, that'
13:16 ihb s annoying
13:19 malaire has joined #perl6
13:19 nothingmuch why aren't the cookies for .perlmonks.org?
13:20 nothingmuch nobody uses .net/.com that much, so i think that's sort of ok
13:23 theorbtwo nothinmuch, the cookies are purposefully scoped to only the domain you logged in on.
13:23 nothingmuch cookies can be across perlmonks.{tld}
13:23 nothingmuch but why should www.perlmonks.org and perlmonks.org be different?
13:23 theorbtwo For one thing, it makes it easier to have different domains logged in to different accounts.
13:24 nothingmuch isn't .com/net enough for that?
13:24 theorbtwo I'm an outlier case, I'll admit, but I've got five different accounts that'd be useful to have logged in:
13:25 theorbtwo theorbtwo, theonetwo, castaway, castorbaway, and im2.
13:25 Steve_p has joined #perl6
13:25 nothingmuch beh
13:25 nothingmuch you guys are special
13:25 nothingmuch ;-)
13:25 ihb theorbtwo: why so many accounts?
13:25 nothingmuch how do you remember which one maps to what host?
13:26 nothingmuch ihb: castaway and theorbtwo are distinct, but share stuff. castorbway is their union. theonetwo is god version, and im2 is a bot
13:27 ihb why have castaway and theorbtwo? how do you share stuff on PM?
13:28 theorbtwo castaway's my girlfriend, who occasionally uses my computer.
13:29 Limbic_Region Juerd - The monastery has many domains - it is unrealistic to expect everyone to use the same one as you
13:30 Limbic_Region as far as the cookies working across multiple domains - I leave that to the gods like theorbtwo
13:32 Alias_ has joined #perl6
13:32 Alias_ Passing this along for someone
13:32 Alias_ <kungfuftr> http://paste.husk.org/2801
13:32 Alias_ <kungfuftr> simple enough code, seems to crap out under pugs
13:32 Alias_ he can't seem to get in here for some reason
13:32 kungfuftr has joined #perl6
13:32 kungfuftr =0o
13:32 Alias_ oop! I tell a lie
13:33 * Alias_ just posted kung's link
13:33 * kungfuftr ducks
13:34 autrijus greeeeetings
13:35 nothingmuch hola
13:35 theorbtwo Allo.
13:37 Steve_p Howdy :)
13:37 * nothingmuch needs some ideas
13:38 nothingmuch theorbtwo: want to try see again?
13:38 theorbtwo Sure!
13:38 theorbtwo I think it'll work this time.
13:39 theorbtwo I ended up copying the hd image from the other pearpc machine.
13:39 nothingmuch okay, but i can't recieve
13:39 nothingmuch at work
13:39 theorbtwo That's OK, there's already a hole in my firewall.
13:39 autrijus kungfuftr: right, hash vivification is borken.
13:39 autrijus kungfuftr: I'll fix. a sec
13:39 nothingmuch dsertisland.dynodns.net?
13:39 theorbtwo desert-island.dynodns.net
13:40 nothingmuch see://desert-island.dynodns.net # clickable on osx
13:40 theorbtwo Aaargh!
13:40 theorbtwo My damn pearpc just died again.
13:40 gugod yay
13:40 nothingmuch gugod: that's not nice
13:41 gugod hmm ?
13:41 nothingmuch ;-)
13:42 gugod failed to contact
13:44 iblechbot has quit IRC (Connection reset by peer)
13:45 theorbtwo Gugod, could you host?
13:45 gugod I don't have public ip.
13:46 gugod hmm
13:46 gugod I'll try tunneling
13:47 theorbtwo OK, try connecting to me again.
13:48 gugod can you see://data.gugod.org ?
13:49 fayland has joined #perl6
13:50 autrijus hi fayland.
13:51 fayland hi
13:51 theorbtwo nothingmuch, can you try see://desert-island.dynodns.net again?
13:51 nothingmuch one min
13:53 hcchien I guess I see a locked file
13:54 theorbtwo Double-click it, and I'll make you r/w.
13:59 flw has quit IRC (Read error: 54 (Connection reset by peer))
14:00 autrijus kungfuftr: still there?
14:00 autrijus %foo{$a} = %foo{$a} + 1;
14:00 autrijus this works.
14:00 autrijus so ++ is borked.
14:02 theorbtwo autrijus, any suggestion for a haskell-side task for a bunch of novices?
14:04 autrijus hmmmm.
14:04 autrijus oh, btw, I ported perlthrtut's prime finder example
14:04 flw has joined #perl6
14:04 autrijus tom christiansen's
14:04 theorbtwo We have threads now?
14:05 autrijus I ported it into haskell
14:05 autrijus to start thinking about how to hook to pugs
14:05 autrijus seems easy
14:05 theorbtwo Ah.
14:05 autrijus # http://autrijus.org/prime.hs
14:07 autrijus so, haskell side.
14:07 autrijus you can try fixing kungfuftr's problem :)
14:07 autrijus but easier bites is implement new useful prims.
14:07 autrijus substr, for example.
14:08 autrijus basically look at perlfunc
14:08 autrijus and pick low-hanging fruits
14:08 autrijus so to speak
14:08 autrijus that will instantly make pugs more useful for daily task
14:08 theorbtwo Works for me.
14:09 theorbtwo We can assume p6==p5 ?
14:09 Alias_ or go looking through Algorithm::Dependency for functions it uses :)
14:10 Alias_ ... but I might be biased in that regard :)
14:12 * theorbtwo seems to have lost his SEE-partners.
14:13 theorbtwo You guys want to re-join, and come in on Prim.hs?
14:13 autrijus Alias_: sure, but darren will probably have the first pass over it :)
14:13 Alias_ of course
14:13 Alias_ Does P6 have a solution for the isa dilemma?
14:14 Alias_ i.e. that for a public interface, you can't check object params using C< my $param = shift; if ( $param->isa('class') ) ... > because you have absolutely no way of knowing you are getting an object
14:15 theorbtwo Everything's an object.
14:15 Alias_ even undef?
14:15 autrijus yup.
14:15 theorbtwo I think so.
14:15 autrijus undef.does(Class);
14:15 autrijus is always okay.
14:15 Alias_ constants? numbers?
14:15 autrijus fine and fine.
14:15 hcchien theorbtwo: I don't see the Prim.hs.
14:15 autrijus "Hello".say # prints "Hello\n"
14:16 theorbtwo (1, 2, 3).isa(List);
14:16 Alias_ is there any single thing you can make fail on .does()?
14:16 autrijus sure, an error ;)
14:16 autrijus (1/0).does(Class); # bzzt
14:16 crysflame wouldn't errors be in the does(Error)?
14:16 autrijus but otherwise, no.
14:16 autrijus crysflame: not if they're untrapped.
14:16 crysflame aha, right
14:16 * crysflame resolved the 1/0 error condition in a latent manner
14:16 Alias_ hmm... so hopefully I can stop adding C< use UNIVERSAL 'isa'; > to every single module I have written
14:16 flw has quit IRC ("Gotta go, bye all (SunNet HIRC-2 Ëæ»úÍ˳öÐÅÏ¢)")
14:17 autrijus if .does(Class) { ... }
14:17 crysflame autrijus: so 1/any(0..5) has a 1 in 6 chance of throwing an error unless trapped?
14:17 autrijus # same as  UNIVERSAL::isa($self);
14:17 Alias_ currently I use C< my $param = isa($_[0], 'Class') ? shift : return undef >
14:17 autrijus crysflame: any() has nothing to do with rand().
14:17 Alias_ or variations
14:17 autrijus Alias_: yeah. such trappings are gone for good
14:17 theorbtwo crysflame, it will always do 6 things, one of which is throwing an error.
14:18 crysflame right, sorry, i'm still not used to talking about junctions yet
14:18 * crysflame was mentally collapsing it due to the normal arithmetic, d'oh
14:18 theorbtwo hcchien, try reconnecting.
14:19 Alias_ When I saw Damian's talk about junctions, I was super impressed
14:19 Alias_ Of course, at the time I assumed he had some idea of how to deal with all the big issues they generate
14:19 theorbtwo Hmm, will ?Int=Inf as an argument in Prims.hs Just Work?
14:19 kungfuftr autrijus: apologies, got called off
14:20 kungfuftr management-- # busy enough as is
14:21 autrijus theorbtwo: I think so
14:21 autrijus except Inf is not Int
14:22 autrijus so you need a Num for that.
14:22 kungfuftr autrijus: yar, have a feeling @foo[$a]++ would be borked too
14:22 autrijus yup.
14:23 kungfuftr autrijus: which test file would you need a patch for?
14:24 autrijus t/op/inc.t
14:25 autrijus I think.
14:25 kungfuftr k, 2 mins
14:25 autrijus I'll look at it. need to nap a bit
14:26 theorbtwo Anyone still interested in SEEing with me?  If not, I'd rather just move to xemacs...
14:27 * hcchien has to offline a while
14:28 fayland has quit IRC (Read error: 145 (Connection timed out))
14:28 autrijus I think this inc bug will finally prompt me to do VType.
14:28 autrijus I mean, IType.
14:28 autrijus and from that, tieables.
14:28 nothingmuch theorbtwo: i'm back
14:28 nothingmuch would you like to try?
14:29 theorbtwo Yes.
14:29 autrijus kungfuftr: your email? I can make you a committer to commit the inc.t tests
14:30 autrijus scott-pugs at kungfuftr.com ?
14:30 kungfuftr autrijus: that would do
14:30 nothingmuch hola
14:31 autrijus invitation sent; welcome aboard.
14:31 kungfuftr autrijus: *blink*
14:31 nothingmuch err, orb, please note line 60
14:31 nothingmuch i'd like to mix abs() or something, with junctive | or ^
14:31 nothingmuch in a way that proves that abs binds less tightly
14:31 autrijus I'll nap a bit now. see ya :)
14:31 autrijus &
14:31 nothingmuch ciao autrijus
14:33 nothingmuch btw- you have emacs movement
14:35 iblechbot has joined #perl6
14:38 castaway has joined #perl6
14:38 * castaway wonders if theorbtwo is in da house.
14:38 * theorbtwo is.
14:39 castaway yay :)
14:42 nothingmuch ok, now that that's settled... 12 =)
14:42 nothingmuch we must show that && is tighter than ||
14:44 nothingmuch ciao orb
14:44 nothingmuch me too, actually
14:45 * castaway raises an eyebrow
14:46 sorje has joined #perl6
14:47 alexe has left
14:48 nothingmuch castaway: at what?
14:49 lumi Telepathic conversation?
14:49 nothingmuch oh, sub etha session
14:49 castaway why you were say "ciao orb"
14:50 castaway s/say/saying/
14:50 theorbtwo Because I said that I had other things to attend to, in purticular the document you wanted me to take a look at.
14:50 theorbtwo But I said it on the sub-etha-edit session, not on the IRC chan.
14:51 castaway Ahhh
14:52 * nothingmuch finds p6 prec levels at the bottom quite confusing
14:53 autrijus that is not prec levels.
14:53 autrijus prec levels is in Parser.hs
14:53 * autrijus reboots & :)
14:54 nothingmuch err
14:54 nothingmuch bottom of the prec list
14:54 nothingmuch that is, their definition
14:54 nothingmuch not Prim.hs
14:54 autrijus oh ok.
14:55 kungfuftr *blink* how do i change svn to use my username as posed to anonymous?
14:55 autrijus the table is defined in "operators" in Parser.hs
14:55 autrijus kungfuftr: just "svn ci"
14:55 kungfuftr k... ta
14:55 nothingmuch autrijus: i'm taking it from s03
14:55 nothingmuch and i don't like what I se
14:55 nothingmuch e
14:56 malaire where should I add tests for 'lc' - or are there tests for it already?
14:56 nothingmuch i think many things should definately not be lower prec than assignment
14:56 nothingmuch malaire: t/op/lc.t
14:56 nothingmuch in either case
14:56 nothingmuch do we have lc?
14:57 * nothingmuch could actually implement that
14:57 * castaway drops out again..
14:57 nothingmuch ciao castaway
14:57 kungfuftr righto... commitede
14:58 lumi Unicode has three cases, right?
14:59 castaway has left
14:59 theorbtwo Upper, lower, and title, yes.
14:59 nothingmuch three cases?
14:59 nothingmuch smallcaps, lower, and upper?
14:59 larsen_ has joined #perl6
14:59 theorbtwo "Case" can be a misleading term, though.
14:59 * kungfuftr breaks pugs testsuite
15:00 lumi How's that?
15:00 theorbtwo In Egyptian, lowercase and uppercase look the same, but titlecase puts the whole thing in an oval.
15:00 kungfuftr lumi: making the parser barf
15:01 theorbtwo Don't print things directly; use Test.pm's functions.  diag() if you just want to say something.
15:02 * nothingmuch is going to have a looong evening
15:02 nothingmuch *sigh*
15:02 nothingmuch bbiab
15:09 malaire is it ok to implement lc with Char.toLower & uc with Char.toUpper?  (and what about title-case then??)
15:09 larsen has quit IRC (Read error: 110 (Connection timed out))
15:10 nothingmuch uc and lc are toLower and toUpper
15:10 nothingmuch if larry will decide p6 has tc
15:10 nothingmuch then we'll find toTitle
15:10 malaire I'm just testing simple patch to add 'lc'
15:11 nothingmuch malaire++
15:14 kungfuftr utf8-- # makes these things way too confusing
15:14 nothingmuch kungfuftr: i think not
15:14 nothingmuch it's all implemented by underlying libraries
15:14 nothingmuch which were very well thought out
15:14 nothingmuch by people who devoted lots and lots of time
15:15 kungfuftr nothingmuch: yar, is still confusing though
15:15 kungfuftr at the lower level that is
15:15 nothingmuch who cares about the lower level? ;-)
15:16 nothingmuch (well, your program's users do, but it's supposed to do the right thing for them)
15:16 kungfuftr not me (unless i'm having to play around with our japanese search engine again)
15:23 marcus has quit IRC (Remote closed the connection)
15:27 ingy hola
15:29 Limbic_Region Parrot will have titlecase even if p6 won't
15:33 theorbtwo Allo, ingy, Limbic.
15:35 ingy hi theorbtwo
15:35 ingy autrijus: ping
15:36 ingy autrijus: please review http://pugs.kwiki.org/?PugsExtLayout
15:36 Juerd Limbic_Region: I was just messing with you.
15:36 Alias_ has quit IRC ()
15:41 nothingmuch why are the docs ext?
15:41 Limbic_Region salutations James and Juerd
15:46 ingy nothingmuch: that's what autrijus wanted
15:48 nothingmuch ingy: err, fine, i gues =P
15:48 nothingmuch does it make sense though?
15:48 nothingmuch i mean, are we expecting docs to be shipped differently?
15:48 nothingmuch on a different schedule, or on different media?
15:48 autrijus nothingmuch: yeah, I think module-like layout makes sense
15:49 autrijus because it gives us power to refactor at will
15:49 nothingmuch ah
15:49 autrijus instead of being forced to keep adding to the 10,000 page pile that is perl*.pod
15:49 autrijus which is all installed under lib/pod/
15:49 autrijus and can't be managed with any module tools whatsoever.
15:50 autrijus I find that sad
15:50 nothingmuch i see
15:50 nothingmuch well, that makes sense
15:50 autrijus ingy: ok. so .hs is listed also in lib/ instead of in src/?
15:50 * nothingmuch thinks a high priority of 6pan is dependancies
15:50 ingy autrijus: like .xs
15:50 autrijus except .xs is not usually put into lib/ either.
15:50 autrijus or is it?
15:50 nothingmuch it should most definately not be a big deal to install a module that wants many others
15:50 autrijus I seem to recall that .xs is mostly in toplevel.
15:50 nothingmuch if this is solved by listing deps
15:51 nothingmuch or making a better format
15:51 autrijus yeah.
15:51 nothingmuch or moving this code into a mostly static structure
15:51 ingy autrijus: why make it any harder for author than writing .hs or .c ame as .pm?
15:51 ingy s/ame/same/
15:52 autrijus ingy: because inlining haskell and C should be the norm
15:52 autrijus for small chunks of code
15:52 autrijus but yeah, I see your logic
15:52 * autrijus thinks
15:52 ingy autrijus: I want to write "modules" as just .hs
15:52 autrijus the thing is, we are dealing with GHC package management needs
15:53 autrijus but I guess it can work with things in src/ also.
15:53 autrijus I just need to fix my eclipse fp mode.
15:53 autrijus err,
15:53 ingy autrijus: then src is just a temporary state
15:53 autrijus s/src/lib/
15:53 autrijus so you want .hs files to be first-class.
15:53 autrijus modules, that is.
15:54 ingy yes
15:54 autrijus or .cpp, etc.
15:54 ingy ruby makes .c first class
15:54 obra hi
15:54 ingy hi obra
15:54 autrijus hi obra.
15:54 nothingmuch what is "first class" in this sense?
15:54 autrijus nothingmuch: installed into sitelib.
15:54 autrijus in the same lib/ layout.
15:54 nothingmuch ah
15:54 autrijus instead of merely linked and shuffled into auto/.
15:54 autrijus like perl5 did.
15:54 ingy nothingmuch: no dynaloader bs in .pm to load .hs etc
15:55 nothingmuch ah
15:55 autrijus except .hs is not interpreted.
15:55 autrijus so same magic as Inline.pm needs to apply.
15:55 autrijus if I parse you correctly, that is
15:55 nothingmuch maybe we should start with .so or .dylib first?
15:55 ingy well the pugs binary should support loading .so files
15:55 autrijus sure. assume it does. then?
15:55 nothingmuch btw, how does inline control site-wide inlining?
15:56 nothingmuch is it Inline::Blah's responsibility?
15:56 nothingmuch and also, have we considered a single file per module interpreted format?
15:56 nothingmuch i'd like there to be a =begin MODULE META DATA
15:56 nothingmuch the a bunch of YAML
15:57 nothingmuch so that single .pm modules could be dealt with more grokkably
15:57 ingy nothingmuch: for insalled Inline module creates a .so no different then if it were xs
15:58 autrijus nothingmuch: I think the idea is for them to be module/class traits.
15:58 autrijus i.e. available at code level
15:58 nothingmuch autrijus: including license, author, etc?
15:58 nothingmuch how does one extend that?
15:58 nothingmuch in a different sub namespace?
15:58 ingy autrijus: basically I want to be able to write .hs files whereever .pm files go. And I want inline/outline pod/kwid to produce the right man/html.
15:59 autrijus nothingmuch: S11 covers (some) of them
15:59 autrijus ingy: autocompilation of .hs files whenever it's touched?
15:59 nothingmuch autrijus: SIGNATURE, META.yml, Module::Build, etc all thought us that these things are not very static
15:59 ingy autrijus: sounds right
16:00 autrijus nothingmuch: aye aye. I think the idea is to have arbitary key=>val mappings as traits.
16:00 nothingmuch ingy: what I meant about site-level inlining is- are .so files shared? are they under lib/?
16:00 autrijus nothingmuch: maybe the keys can be URIs.
16:00 autrijus nothingmuch: they are under auto/.
16:00 autrijus whether we want auto/ or not is another matter.
16:00 autrijus ingy: ok. in that case I see your point
16:00 autrijus so if I have some haskell code that has nothing to do with the main module code
16:01 autrijus I can still put them into src/
16:01 nothingmuch and Makefile.PL magically preparses th .so of inlined modules?
16:01 ingy nothingmuch: yes they are like if you did it with xs
16:01 autrijus and if I have some C lib code that has nothing to do with main modules
16:01 autrijus then I can still put them into include/
16:01 autrijus or something like that
16:01 autrijus and tell the makemaker-equivalent to include them into search path
16:01 ingy autrijus: sounds good
16:01 autrijus for the main module code in lib/
16:01 autrijus which will then compile upon installation time
16:01 autrijus always
16:01 b6s has quit IRC ("leaving")
16:01 autrijus and recompile themselves whenever touched.
16:01 autrijus i.e. adopt the Inline regime
16:02 nothingmuch i'd like a sort of standard way to share platform independant code/err/whatever
16:02 nothingmuch any so should be onder $OSTYPE/$MACHTYPE/$HOSTTYPE, perhaps
16:02 autrijus nothingmuch: not parsing that
16:02 ingy autrijus: so the .hs in lib is the code that is accessible through the AST, ie loadable by Pugs
16:02 nothingmuch err, given an NFS share
16:02 nothingmuch file_server:/perl
16:02 autrijus ingy: riight.
16:02 autrijus ingy: and we expect them to adopt certain conventions.
16:03 ingy of course
16:03 kungfuftr ingy++ # too smart for me
16:03 autrijus sounds dandy.
16:03 nothingmuch i'd like to be able to install a pure perl module on hpux
16:03 nothingmuch and have it just work on aix
16:03 nothingmuch if i install one with inline crap
16:03 nothingmuch on hpux
16:03 nothingmuch then the next time i touch aix, it works
16:03 nothingmuch err, sort of
16:03 autrijus ingy: ok. I'm sold.
16:03 nothingmuch or alternatively, i have to say 'inline_magic Module::That::Uses::Inline'
16:03 autrijus that sounds like the Right Thing.
16:04 autrijus so we still use file exts.
16:04 autrijus as the way to dispatch processors
16:04 autrijus whether we end up with make or not
16:04 nothingmuch will auto compilation use a setuid type thingy, per box?
16:04 autrijus that is negotiatable.
16:05 nothingmuch or will it be per user, given no root intervention
16:05 nothingmuch ?
16:05 autrijus some system has no suid ;)
16:05 theorbtwo We should be able to work both ways.
16:05 autrijus I think ~/.pugslib/ or something per user makes sense.
16:05 ingy autrijus: I'll start working on it then, beginning with the doc stuff
16:05 autrijus but that's just me.
16:05 nothingmuch installation of pugs should properly configure this peer machine
16:05 theorbtwo Some systems will trust their compilers, some won't.
16:05 autrijus ingy: woot woot. you rock so much.
16:05 theorbtwo (Some may trust some compilers.)
16:05 nothingmuch i think it should be a compile time configuration option for pugs
16:06 nothingmuch on where to find runtime configuration
16:06 nothingmuch for how to deal with these policies
16:06 autrijus eh. I think Config.pm is a good idea.
16:06 autrijus I think we'll stick with it.
16:06 nothingmuch could it perlhaps be perlified?
16:06 autrijus config.pm is perlified no?
16:06 nothingmuch so the user could, at their own responsibilitiy, edit it
16:06 nothingmuch and get expected results?
16:07 nothingmuch autrijus: well, it is, but it's not bidi
16:07 theorbtwo So when pugs tries to require a non-.pm file, a sub in Config.pm gets called.
16:07 nothingmuch i think so
16:07 autrijus it is not bidi!?
16:07 nothingmuch also, this would really ease deployment of pugs
16:07 nothingmuch or installation of great humungous systems
16:07 autrijus what does bidi mean in this context?
16:08 malaire btw, is it possible to define several pattern in lambda?
16:08 malaire i.e. if I have (\(a:as) -> ...whatever...), is there a way to add base-case in case (a:as) doesn't match (without using explicit case .. of)
16:08 nothingmuch a system will talk with Config, and override it when it is run, or stuff like that
16:08 nothingmuch err,
16:08 nothingmuch malaire: | ... | otherwise
16:08 nothingmuch see findVar, i think
16:08 nothingmuch autrijus: i mean makefile.p6 equiv doing something like:
16:08 autrijus malaire: I think you need to use case analysis.
16:09 ingy autrijus: witheo hashes?
16:09 autrijus ingy: mm?
16:09 nothingmuch given Config.site_lib { when good { ok } when bad { frob_site_lib } }
16:09 nothingmuch sub frob_site_lib {
16:09 autrijus right. right.
16:09 autrijus yup.
16:09 nothingmuch $user->ask("should I frob site_lib for you?")
16:09 autrijus you can already do that with Config.pm.
16:09 autrijus or any other makemaker assumptions, or @INC.
16:09 ingy autrijus: witheo == what is the Haskell equivalent of
16:09 autrijus it's just not well interfaced.
16:10 autrijus ingy: HashTable.
16:10 nothingmuch given ... { when yes { Config.site_lib.add("stuff") }
16:10 gaal has joined #perl6
16:10 autrijus ingy: or, if you are in functional mood, Data.FiniteMap (6.2) / Data.Map (6.4)
16:10 autrijus ingy: pugs uses FiniteMap.
16:10 nothingmuch default { die "i either you let me frob site_lib, oro i can't run" } }
16:10 autrijus which sort of sucks.
16:10 ingy autrijus: to be answered: "theo hashes is HashTable"
16:10 nothingmuch autrijus: you can't write to Config, can you?!
16:10 autrijus theo hashes is Data.HashTable
16:10 nothingmuch those things are compiled, no?
16:11 ingy autrijus++
16:11 nothingmuch hola gaal!
16:11 autrijus of course you can.
16:11 gaal hey nuffin!
16:11 autrijus I don't know where you get that idea.
16:11 autrijus Config.pm is just a simple pure perl module!
16:11 nothingmuch i was always sure it was generated by Configure
16:11 nothingmuch and basically there to query things
16:11 autrijus it was but you can change it.
16:11 autrijus I do that all the time.
16:11 lumi Hi gaal
16:12 nothingmuch that's a good thing
16:12 gaal hey :)
16:12 nothingmuch well, anyway, it needs to be namespaced and stuff
16:12 nothingmuch and more subref happy
16:12 theorbtwo But if you change it to make $Config{byteorder}=3412, your CPU doesn't magically become vaxendian.
16:12 nothingmuch Config.paths.site.lib
16:12 autrijus yup. that I ~totally agree
16:12 autrijus theorbtwo: heh, that's because the hook is not there
16:12 autrijus patches welcome :D
16:12 autrijus like, it will first ask for your credit card number
16:13 * gaal seems to recall some cpus with an endianity switch
16:13 autrijus and buy a new CPU for you
16:13 autrijus and break in your house to install it
16:13 autrijus and repair the door, then hypnotise you to forget all what happened
16:13 nothingmuch oh my
16:13 nothingmuch ofcourse it's possible, but we're not getting into that, are we?
16:13 autrijus and voila, it works
16:13 nothingmuch gaal: alpha
16:13 theorbtwo MIPS does, in particular, but it only does little and big.
16:13 nothingmuch autrijus: instead it could just emulate byte order
16:13 autrijus nothingmuch: yeah. no fun tho.
16:13 nothingmuch well, it's a /possibility/
16:14 nothingmuch i'm not touching it ever
16:14 nothingmuch in fact, if someone ever does it, i'm not talking to them
16:14 autrijus :)
16:14 nothingmuch but for stuff like bit twiddling algos
16:14 nothingmuch use Test;
16:14 nothingmuch local Config.byte_order = little;
16:14 nothingmuch ...
16:14 nothingmuch =D
16:14 autrijus temp
16:14 autrijus local is read temp :)
16:14 nothingmuch err, right
16:15 theorbtwo my Int $foo is littleendian;
16:15 nothingmuch theorbtwo: i meant fudge the whole code from the outside
16:15 theorbtwo (That's the right way to change ITypes, right?)
16:15 nothingmuch MPEG::Audio::Frame had a little endian bug,
16:15 nothingmuch i only had access to ppc at the time
16:15 autrijus theorbtwo: yeah. maybe.
16:15 nothingmuch emulation of integer arith could prove useful
16:17 autrijus ooh. design bug uncovered by pugs.
16:17 autrijus (p6c, now p6l)
16:17 kungfuftr anyone mind if i update MANIFEST?
16:18 autrijus nope.
16:19 obra autrijus: did my tests make any sense?
16:20 marcus has joined #perl6
16:23 kungfuftr voila
16:23 malaire is the bot which should report new revisions broken? it hasn't spoken anything for a while...
16:24 autrijus obra: yes. looking at the syntax error
16:24 autrijus jabbot: are you broken?
16:24 jabbot autrijus: That is interesting. Please continue.
16:24 malaire :)
16:24 autrijus argh chatbot::elize
16:24 autrijus eliza, even
16:24 crysflame autrijus: i have infocombot on my aim buddy list
16:25 autrijus oh. syntax error is autoquoting.
16:25 autrijus guess I really _need_ to do autoquoting now.
16:25 autrijus doing so.
16:25 lumi It's a z machine?
16:26 obra heh
16:27 Steve_p Is "wronger" a word ;)?
16:27 autrijus sure is :)
16:27 autrijus "wronger" =~ /^\w+$/
16:27 Steve_p ...if Larry says so, at least :)
16:28 kungfuftr perhaps in american english
16:28 autrijus it is well known that call-by-need doesn't mix well with side effects.
16:28 autrijus which is why virtually all call-by-need languages are functional languages.
16:28 Steve_p No, larryglish :)
16:28 autrijus it's be interesting to see how perl6 deals with this. hm.
16:29 * autrijus still had not abandoned the hope to make (a subset of) perl6 purely functional and appropriately monadic :)
16:29 crysflame it has, iirc, several infocom z-machine games that you can play over aim
16:29 crysflame with saved states
16:30 Steve_p Perl 6 , the Lisp Killer :)
16:30 crysflame We are the Borg.
16:30 crysflame Your functions will be assimilated into the collective.
16:30 crysflame Resistance is futile.
16:30 autrijus You will be camelized.
16:30 rgs onionized.
16:31 theorbtwo Both.
16:31 crysflame Caramelized.
16:31 crysflame (with a hint of lemon)
16:32 kungfuftr s/monadic/manicial/;
16:32 autrijus well, haskell can solve the
16:33 autrijus do { fh <- openFile "file" ReadMode; array <- readLines fh; ... ; hClose fh }
16:34 autrijus problem, exactly because of the monadic structure that guarantees that hClose can force any thunks in previous IO actions to happen
16:34 theorbtwo I thought it was just that <- isn't lazy.
16:34 theorbtwo Am I wrong?
16:34 autrijus theorbtwo: <- is very lazy :)
16:34 ingy autrijus: http://pugs.kwiki.org/?FreepanProposal
16:34 autrijus array <- hGetContents fh -- takes no time at all even if fh is a 2gb file
16:35 autrijus hm. never mind me.
16:36 autrijus I was actually Wrong.
16:36 autrijus haskell exhibits the same behaviour as pugs.
16:36 * autrijus reads
16:38 autrijus right. the idea is: either use a lazy hClose (i.e. hGetContents) that puts the fh in semiclosed state
16:38 autrijus or, use a strict hGetContents that is trivially implemented with sequence hGetChar.
16:39 autrijus i.e. don't mix lazy hGetContents vs strict hClose.
16:40 marcus has quit IRC (Nick collision from services.)
16:40 marcusT has joined #perl6
16:41 autrijus oh, and the standard haskell recommendation is to use slurp($filename) ;)
16:41 autrijus i.e., readFile.
16:41 autrijus ingy: it looks very good.
16:42 nothingmuch ingy: is sync subversioned?
16:42 nothingmuch or is there a master update server?
16:42 ingy sync?
16:43 nothingmuch i.e.
16:43 nothingmuch i upload with svn a module to local mirror
16:43 nothingmuch does it notify in a p2p sort of way, the other mirrors?
16:43 nothingmuch and how is co-authorship controlled?
16:43 hcchien svk mirror, I think. ha
16:43 nothingmuch i'd like it to be os that every author has a private dir
16:44 nothingmuch and the ability to create public dirs
16:44 nothingmuch for which they're the only default committers
16:44 nothingmuch but that they can grant access to anyone
16:45 ingy I'm not totally sure about the private dir
16:46 ingy freepan isn't about private stuff
16:46 ingy it's about being open
16:46 theorbtwo Hm, the way pugs is run is that there's lots of comitters, a couple admins, and only autrijus releases... how would you handle that in the freepan world?
16:46 nothingmuch i don't mean private as in not accessible
16:46 theorbtwo Make properties not as writable as the rest?
16:46 nothingmuch i mean private like the perlmonks scratch pad
16:46 theorbtwo s/properties/some properties/
16:47 ingy theorbtwo: sounds right
16:47 ingy nothingmuch: I'm not familiar with the scratchpad
16:48 hcchien what is the differents with sf.net or openfoundry?
16:48 nothingmuch err, it's just there
16:48 obra sf.net is run by commercial interests
16:48 nothingmuch it's yours
16:48 nothingmuch it's unofficial
16:48 nothingmuch you jot stuff down
16:48 nothingmuch you can zap it
16:48 ingy nothingmuch: is it public readable?
16:49 nothingmuch ingy: there's a bit on perlmonks
16:49 nothingmuch but generally i'd say yes
16:49 nothingmuch i would like it to be just a place where i can put up a file, or a prerelease tarball
16:49 nothingmuch for review
16:49 ingy as long as everything is public readable
16:49 nothingmuch without messing up the 'official' dir
16:49 nothingmuch CPAN is not very tolerant to errors
16:50 obra nothingmuch: meaning what?
16:50 ingy nothingmuch: no need for uploading tarballs
16:50 nothingmuch err, whatever
16:50 ingy you can just mark a rev as rc3 etc
16:50 nothingmuch upload a doc
16:50 nothingmuch upload an idea
16:50 hcchien commit a doc. :)
16:50 ingy that's all fine
16:51 nothingmuch ingy: i mean without messing up history
16:51 nothingmuch without indexing
16:51 ingy it's your repos
16:51 ingy only things with certain properties get indexed
16:51 nothingmuch sort of like a privately wable, world rable ftp dir
16:51 ingy everything else is adhoc
16:52 ingy nothingmuch: yes, and mirrored
16:52 autrijus I also want keywords :)
16:52 obra tags++
16:52 autrijus freepan:keywords perhaps.
16:52 autrijus freepan:tags
16:52 obra call them tags. everyone will be into them.
16:52 autrijus but tags is overloaded.
16:53 autrijus tags/6.0.11/
16:53 autrijus you think that won't bite?
16:53 ingy autrijus: yes, of course, just properties
16:53 autrijus "6.0.11 is just another tag!"
16:53 nothingmuch hah
16:53 nothingmuch that's the one place where p4 is right
16:53 nothingmuch they called them labels
16:53 obra a version might be just another tag
16:54 theorbtwo Oh, perforce, not perl4.
16:54 autrijus context, context :)
16:54 hcchien so it sounds like a open svn repository for all? :)
16:54 ingy which can be set through 'svn pe' or 'META.yml' or FreePAN UI
16:55 autrijus oh. I actually already implemented => autoquoting.
16:55 autrijus it's just a matter of uncommenting it.
16:55 ingy hcchien: I  would like openfoundry to be the central command possibly.
16:55 autrijus so, done in no time. make tests
16:55 nothingmuch what about performance, btw?
16:55 nothingmuch how will freepan bear the load of SVN?
16:55 nothingmuch or whatever?
16:56 autrijus by harnessing the power of global mirror/relay points?
16:56 ingy hcchien: hopefully we can talk with openfoundry in Taiwan
16:56 ingy (when I am in Taiwan)
16:56 hcchien ingy: they would like to. :)
16:56 ingy good
16:57 obra ingy: you could also deploy the foundry code on freepan ;)
16:57 nothingmuch and what about safe boxes for cpansmoking? i think this deserves a lot of attention
16:57 ingy well all the parts of freepan will be available on freepan
16:57 ingy nothingmuch: make it so :P
16:57 nothingmuch ingy: i meant this
16:58 nothingmuch i meant is this somehow related to freepan tags?
16:58 nothingmuch will there be an indexing notification hook api?
16:58 nothingmuch $FreePan->subscribe(...)
16:58 nothingmuch and then you get something like an email
16:58 nothingmuch a comsat
16:58 autrijus sub formalize($text, +$case) { say $text } formalize('hello', case=> 'upper');
16:58 nothingmuch or just a private RSS updated
16:58 autrijus woot, works. r716
16:59 ingy sorry guys, work is calling me&
16:59 hcchien a similar project is http://opensvn.csie.org/ :)
16:59 gaal shouldn't the developer get to choose what version control system they prefer?
16:59 obra autrijus: woo!
16:59 obra gaal: this is a distribution system in the end
16:59 obra gaal: you can develope outside freepan and upload
16:59 autrijus gaal: we're just swapping svn for ftp.
16:59 obra autrijus: does that whole suite pass now?
17:00 autrijus gaal: with the good thing that we can mirror cvs and p4 and arch etc into svn.
17:00 autrijus preserving history.
17:00 autrijus can't do that with ftp.
17:00 theorbtwo I'm worried about how large a mirror would be.
17:00 autrijus I think disks are cheap.
17:00 theorbtwo If you want to preserve all history, in purticular.
17:00 autrijus and svn uses skip-deltas and lazy trees.
17:00 autrijus so should be generally Okay.
17:00 autrijus obra: no. investigating
17:00 gaal okay then :)
17:01 theorbtwo Mm, could also mirror on-demand.
17:01 autrijus yup.
17:01 theorbtwo More squidy then a traditional mirror, but also allows mirrors to decide exactly how much space they want to devote.
17:02 * clkao yawns
17:02 autrijus right. that'd be sick^Wnice.
17:02 autrijus ooh, the person who makes this possible is here.
17:02 clkao don't we have version control?  why not just cp and mv?
17:02 clkao s/have/hate
17:02 autrijus I thought you mean cat and rm.
17:02 autrijus cp and mv is too flexible.
17:03 theorbtwo I love version control -- so long as I don't have to admin it.
17:03 obra clkao: they're fine, so long as you've aliased your shell to prepend "svk" to everything
17:03 autrijus obra++
17:03 autrijus amazingly, cp mv cat rm  are all svk commands.
17:03 gaal "real programmers dd if=/dev/dsp of=a.out and whistle"
17:03 autrijus gaal++
17:03 obra can I cat _into_ svk?
17:03 clkao no
17:03 autrijus svk cp - //file
17:04 autrijus mmm tempting.
17:04 autrijus svk import - //file
17:04 autrijus not very intuitive tho.
17:06 stevan has joined #perl6
17:07 autrijus greetings stevan-san!
17:07 stevan greeting autrijus
17:07 autrijus how's life? :)
17:07 malaire btw, should functions like substr, index & rindex be implemented as 'op0' in Prim.hs?
17:07 stevan not bad ,.. and you
17:08 autrijus just fine. got => autoquoting working. working thru obra's named params test.
17:08 stevan nice
17:08 autrijus malaire: well, you can add op3 and op4 categories if you want.
17:08 autrijus malaire: but I think op0 will suffice.
17:08 gaal is there a short-term todo list, eg for tests that need writing?
17:08 ninereasons has joined #perl6
17:08 pasteling "pugsmonk" at 192.168.0.2 pasted "Bugs in Pugs regarding Hash access" (11 lines, 320B) at http://sial.org/pbot/8169
17:09 autrijus gaal: yes; "everything that does not concern objects or rules or macros."
17:09 autrijus gaal: basically, look at perl5's test tree and find the delta.
17:09 gaal thanks
17:09 autrijus np :)
17:09 obra those are only the basic named param tests. once those pass, I'll add more
17:10 autrijus who is this pugsmonk? :)
17:12 autrijus whomever that person is, both bugs in that nopaste is now fixed.
17:13 nothingmuch has quit IRC ()
17:14 crysflame 05:15 < Juerd> Time for pugsmonks! :)
17:14 autrijus ahh.
17:14 crysflame probably somewhere around there
17:14 crysflame might not be juerd though :)
17:15 autrijus ;)
17:15 Limbic_Region Juerd is currently in a bitch fest over at the Monastery about xmath's smart match operator patch for p5
17:15 autrijus oh? can you quickly recap?
17:16 * crysflame hasn't seen/heard of xmath in a while
17:16 gaal pugs is so fast even anonymous bugreports run through in no time.
17:16 * autrijus hadn't been around to the monastry much.
17:16 Limbic_Region sure - ~~ is legal (albeit abusive) syntax in p5
17:16 autrijus oh no. I used that for i18n.pm.
17:16 Limbic_Region the argument is to gather statistics on how much code the proposed patch will break
17:16 autrijus but it's okay. nobody but clkao is silly enough to even consider using that for i18n.
17:17 * obra grins at autrijus
17:17 justatheory has joined #perl6
17:17 autrijus Limbic_Region: http://search.cpan.org/dist/i18n/lib/i18n.pm
17:17 Limbic_Region the counter-argument is in the cases where it is used to mean something else the patch won't come into play anyway
17:17 Limbic_Region the counter-counter argument is - prove it
17:17 crysflame Limbic: the next time you see Alias, ask him how many occurences of uses of ~~ there are on CPAN
17:17 crysflame he has this nifty little tool that can tell you, i think
17:17 crysflame s/Limbic/.../
17:18 Limbic_Region crysflame - not my fight
17:18 crysflame yup, sorry
17:18 Limbic_Region just recapping per autrijus' request
17:19 autrijus danke, Limbic_Region.
17:19 Limbic_Region bitte
17:20 Juerd I grep CPAN often
17:21 Juerd I just don't have any CPAN mirror around for grepping at the moment, because I needed the disk space to store the latest episode of 24
17:21 Limbic_Region thought you were going home Juerd?
17:21 Juerd No proof is necessary at this stage
17:21 malaire If I try C< index "Hello", "l", 3 > in pugs, I get errot about unimplemented unaryOp - so should index be added as op1?
17:21 malaire (I don't really understand where variable-argument functions would belong in Prim.hs ...)
17:22 Juerd Yeah, plans changed, Larry (not Wall) is fetching McFood instead
17:22 autrijus malaire: what's its prototype?
17:22 malaire \\n   Str       pre     index   (List)\
17:23 autrijus oh. it takes a slurpy list.
17:23 autrijus not sure that's the best way to attack index().
17:23 Limbic_Region fwiw - my opinion on the matter is that the finished patch should be on by default with some way to turn it off but obviously not lexically (like Taint checking)
17:23 autrijus index(Str, Str, ?Int=0)
17:23 autrijus surely?
17:24 malaire how do I put that in Prim.hs?
17:24 theorbtwo I was wondering about that for substr() a while ago.
17:24 autrijus malaire: just put it at any line in the bottom table
17:24 pasteling "pugsmonk" at 192.168.0.2 pasted "Another bug in Pugs regarding Hash access" (11 lines, 355B) at http://sial.org/pbot/8170
17:24 autrijus I'll put it below ucfirst
17:25 autrijus now you'll have our first function with arity of 3.
17:25 autrijus so you'll need to do op3.
17:25 theorbtwo The default on the length parameter isn't expressable without defaulting, though, except possibly for Inf.
17:25 Juerd Limbic_Region: Why?
17:25 theorbtwo There's even more of a problem with the replacement bit.
17:25 Juerd Limbic_Region: If nothing breaks, why provide crippleability?
17:25 autrijus theorbtwo: in that way just ?Int and test for definedness
17:25 malaire does that definition make pugs automatically call op3 "index"?
17:25 theorbtwo Oh!
17:25 gaal (any reason why some files in t/ are +x and some aren't?)
17:26 autrijus gaal: no good reason. different committers.
17:26 Limbic_Region I was working under the assumption no proof of non-breakage Juerd
17:26 autrijus malaire: no, you need to add a line to 525.
17:26 Limbic_Region but /msg me if you want to discuss further and keep #perl6 on topic ;-)
17:26 autrijus malaire: I'll handle that.
17:27 Juerd Limbic_Region: The only proof we can have is CPAN
17:27 Juerd Limbic_Region: And outside that, we can only guess. Still, if people have ~~ anywhere, the fix is to s/~~/scalar/g
17:27 Juerd No pragma needed
17:27 theorbtwo ~~ and scalar don't have quite the same semantics.
17:27 theorbtwo ~~ will unrefify.
17:28 Juerd What does that mean?
17:28 Juerd Oh, stringify
17:28 Juerd Yes, but then s/~~/""./ is the fix
17:29 Limbic_Region [12:25] <Juerd> Limbic_Region: If nothing breaks, why provide crippleability? If it is necessary to s/~~/scalar/g then it is possible something would break
17:29 Juerd Still no reason for a patch
17:29 Limbic_Region my point is if you are going to break backwards compatability - fine - but give people a way to revert back while they hunt for all the changes they need to make
17:29 theorbtwo I agree with Limbic on this one.
17:30 Limbic_Region (no transition period)--
17:30 autrijus pugsmonk: 1st is not a bug.
17:30 mattc Hi All, after discussion earlier with nothingmuch, I'm in the initial stages of playing around with porting modules to pugs.  Started with Time::Local and localtime and gmtime lang features are missing.  So now do I just go ahead and (attempt) to port the tests in t/op/time.t to perl6 as todo tests?  Is there any other procedure/docs/other notification I need to do?
17:31 autrijus pugsmonk: 2nd is a bug; the neccesary fix is in Pretty.hs for MVal case; write a test or I'll just ignore that for now
17:31 vladtz has joined #perl6
17:31 Juerd Limbic_Region: Hunting is grepping. They need to grep in order to know they have breakage anyway.
17:31 Juerd Limbic_Region: Adding "no smartmatch" or actually fixing the problem is equal in the amount of work.
17:31 theorbtwo It's not a hard requirement, but it'd be a goodness.
17:32 * gaal considers t/japh/abigail.t, decides against it
17:32 theorbtwo I don't know about that, Juerd.  You have to realize that you've got prefix operator ~ twice being confused with infix operator ~~.
17:32 Juerd theorbtwo: This is an operator. In perl 5, operators are very deeply in the core. The parser needs to know how to parse.
17:32 Juerd theorbtwo: You can't just change syntax with a pragma in Perl 5.
17:32 theorbtwo But you only have to fix it once.
17:32 Limbic_Region Juerd - this really is about p5 but I disagree with you - they don't need to grep to know they have breakage - they only need to see it no longer works when they run it
17:32 Juerd That requires a lot of change in the entire parsing engine
17:32 theorbtwo L~R, but they have to figure out what broke.
17:33 Limbic_Region second, I am proposing that ~~ be smartmatch by default - as a fully working patch
17:33 Juerd And that's not worth the risk of breaking much more than this patch could ever
17:33 theorbtwo But BEGIN {}s get run early, and use is a begin.  So the data you need should be available.
17:33 Limbic_Region but that there be a way to turn off smart match in favor of old functionality if user so chooses
17:33 Juerd It's simply not possible without huge raping of perl's core
17:33 theorbtwo So put your change to the parser in an if () that checks if the magic bit is set in $^HINTS.
17:33 Juerd And nobody will volunteer for that
17:33 Juerd And nobody will dare run code after that.
17:34 theorbtwo How is it different from, say, warnings?
17:34 theorbtwo compile-time warnings, that is.
17:34 Juerd warnings doesn't change syntax
17:34 Juerd ~ is unary prefix
17:34 marcusT has quit IRC (Read error: 54 (Connection reset by peer))
17:34 Juerd ~~ in binary infix
17:34 Juerd They're very different.
17:34 autrijus malaire: please svn up, I added op3 /  op4
17:34 malaire ok
17:34 theorbtwo I agree, they shouldn't break each-other.
17:34 Juerd The only possible breakage is when ~~ is used between the name of a sub and the first argument
17:35 tmoertel has quit IRC (Remote closed the connection)
17:35 Juerd And that resolves as the old behaviour
17:35 Juerd So foo~~bar is still foo(~~bar)
17:35 Juerd Only print $fh ~~bar goes wrong
17:35 Juerd It's a one in a gazillion chance someone actually uses that.
17:35 Limbic_Region [12:17] <autrijus> Limbic_Region: http://search.cpan.org/dist/i18n/lib/i18n.pm
17:35 Limbic_Region [12:16] <autrijus> oh no. I used that for i18n.pm.
17:35 Limbic_Region there's your 1
17:36 autrijus but I'm happy to see it break.
17:36 Limbic_Region perl -Mi18n=/path/to/po-files/ -le 'print ~~"Hello, world"';
17:36 autrijus serves greater good, etc.
17:37 obra actually, it should be called 18n.pm
17:38 obra perl -M18N
17:38 autrijus 17n.
17:38 autrijus perl -M17N
17:38 obra multilingualization
17:38 obra did I miscount?
17:38 autrijus is 17.
17:38 obra ah :)
17:38 autrijus I know, because m17n is actually a term :)
17:39 obra right. I was trying to remember. m18n looked funny, but I couldn't place it
17:40 autrijus except 17n is not a valid identifier
17:41 autrijus oh no. you made me recall the ake.pm idea again.
17:41 autrijus perl -make test
17:41 autrijus "simply repackage pmake"
17:41 malaire hmm.. I added C< \\n   Int       pre     index   (Str, Str, ?Int=0)\ >
17:41 malaire to Prim.hs, but when I test index, I get "unimplemented listOp" and not 3-ary op
17:42 autrijus uh. never mind, I'm stupid
17:42 autrijus a sec
17:43 awwaiid has joined #perl6
17:43 autrijus fixed.
17:43 autrijus r719
17:44 Aankhen`` has joined #perl6
17:46 theorbtwo Hello, awwaiid!
17:46 awwaiid howdy
17:46 theorbtwo Strange, and I just spoke to mid a few hours ago...
17:46 autrijus ooh larry gives a semantics for =
17:46 awwaiid I'm supposed to be working, but I thought I'd idle in here with the cool people for a bit
17:46 autrijus hi awwaiid.
17:46 awwaiid greetings
17:47 awwaiid Congratulations to you and everyone on the wonderous progress of Pugs :)
17:47 autrijus *blush*
17:47 autrijus thanks for your kind words.
17:47 awwaiid well deserved.
17:47 autrijus wants to join? it's fun :)
17:48 awwaiid So I hear. I'm going to try dipping my toe in I think.
17:49 awwaiid Hard to do much though because of that whole paid-job thing (and because I'm extremely easily distracted :) )
17:49 autrijus cool. does testing strike your fancy? or porting your $favourite_module? or attack some old golf courses? :)
17:50 Khisanth attacking golf courses?
17:50 Khisanth I suppose that WOULD be appropriate for a pug :)
17:50 autrijus rofl.
17:50 autrijus "g" stands for "golfing"
17:51 theorbtwo ...after the Haskell Users Golfing System, in which golfing makes even less sense.
17:51 awwaiid hehe. I may try some golfing out. But I need to grab the latest darcs and all first. I figure I'll hang out here (I'm already watching the mailing list) and jump in once I see a good spot
17:51 theorbtwo Darcs?
17:52 awwaiid darcs?! You know not of darcs? tsk tsk
17:52 awwaiid :)
17:52 awwaiid I mean the latest darcs checkout, actually. not darcs itself. i got that already
17:52 theorbtwo Oh.  Another revision control system.
17:52 theorbtwo We use svn/svk around here.
17:52 autrijus you can use darcs :)
17:52 awwaiid I thought both were  being used?
17:53 autrijus yup.
17:53 autrijus but svn is currently primary.
17:53 awwaiid what are you using to bridge them?
17:53 ninereasons Gofer I think
17:53 autrijus svk.
17:53 PerlJam has joined #perl6
17:53 awwaiid ah
17:53 autrijus ninereasons: "g" in "Pugs" stands for "golfing"
17:53 autrijus awwaiid: it's fine to use either, really.
17:53 awwaiid well thats good. cause I'm going to use darcs :)
17:53 ninereasons <theorbtwo> ...after the Haskell Users Golfing System, in which golfing makes even less sense.
17:53 autrijus cool :)
17:54 autrijus ahh.
17:54 autrijus sorry, missed that.
17:54 autrijus "Gofer" is a language.
17:54 * autrijus writes journals
17:55 * theorbtwo notes that autrijus is #2 on http://svk.elixus.org/?SVKPeople
17:56 theorbtwo .oO(Plural?)
17:58 saorge has joined #perl6
18:03 autrijus typo :)
18:04 gaal what's the one-liner to "prove" a single test i'm working on?
18:04 autrijus set the following envs:
18:04 autrijus HARNESS_PERL=./pugs
18:04 autrijus PERL6LIB=ext/Test/lib
18:04 autrijus prove t/foo/bar.t
18:04 autrijus that's all.
18:05 autrijus someone wiki it please? :)
18:05 gaal thanks, that means i can do it with vim :)
18:06 awwaiid do we have a wiki?
18:06 theorbtwo pugs.kwiki.org
18:07 awwaiid cool. I had already started adding stuff to my own wiki :)
18:07 autrijus pugs.kwiki.org is for developers.
18:07 autrijus which is why I don't link to it from pugscode.org.
18:07 autrijus so it can be free from gefingerpoken and mittengrabben.
18:07 awwaiid ah
18:08 gaal http://perlmonks.org/?node_id=368438 can be useful
18:10 theorbtwo Um, what are you linking to there?
18:11 gaal me, to2? autrijus showed me how to run a single test i was working on
18:11 gaal so in response i mentioned how i was going to run it.
18:11 theorbtwo That's your homenode, did you link to the wrong place?
18:12 gaal ah yes, sorry. http://perlmonks.org/?node_id=434793
18:12 * gaal perhaps needs to go home now :)
18:23 gaal can i turn off strict 'vars'?
18:24 gaal my $a = $b; # when $b was never declared
18:24 gaal (i'm testing undef)
18:25 autrijus you can't yet.
18:25 gaal okay, then i'll just test my $a = my $b for now.
18:29 autrijus my $b;
18:29 autrijus my $a = $b;
18:29 gaal y
18:30 vladtz has quit IRC ("Leaving")
18:30 autrijus journal up. zzz &
18:30 autrijus have fun! :)
18:30 gaal night.
18:31 pasteling "lumi" at 62.90.49.81 pasted "What's wrong with this picture?" (6 lines, 84B) at http://sial.org/pbot/8172
18:32 lumi What am I doing wrong?
18:33 lumi (Nevermind the algo, just the compiling)
18:35 lumi Oh um fixt it
18:37 gaal has left
18:47 PerlJam has quit IRC (Read error: 110 (Connection timed out))
18:51 lumi %a{'f'}++ doesn't work but %a{'f'}+=1 does
18:52 lumi For non-existant %a{'f'}
18:53 theorbtwo I think that's a known bug.
18:53 theorbtwo In purticular, the test failure in t/op/assign
18:54 awwaiid well, the darcs repo and the svn repo don't seem to be in sync :(
18:55 theorbtwo Er, t/op/inc
18:57 lumi I don't see it, can you tell me what line?
18:57 theorbtwo Hold on a second.
18:57 lumi Actually some of those last tests look broken
18:58 lumi With the 'my @a=(1);' and then incrementing @a[1] and expecting it to be 2
19:00 theorbtwo Line 79 is what I meant.
19:00 theorbtwo Hm, that one looks wrong to me too.
19:00 lumi But it has a *defined* value, mine's on an undefined one
19:00 theorbtwo But I'm going to go to the other room and watch the last West Wing now.
19:00 lumi Have fun
19:00 theorbtwo You could add another test case then, but I expect they'll just both fail.
19:01 theorbtwo I guess that's not a bad thing, though.
19:01 * theorbtwo doesn't quite have the TDD religion yet.
19:03 lumi I would, but I can't commit
19:05 RangerNS has joined #perl6
19:06 RangerNS Greets all.. Are there known problems with parrot on a AMD64?
19:08 ihb in perl 6, are subs always called with & and built-ins never?
19:08 wolverian no.
19:09 wolverian subs are _never_ called with &.
19:09 ihb oh.
19:09 integral hmm, you can't do: &sub.() ?
19:09 wolverian &foo is the sub object.
19:09 wolverian integral: that's cheating :)
19:09 integral bah
19:09 nothingmuch has joined #perl6
19:10 stevan hey nothingmuch
19:10 nothingmuch hola
19:10 PerlJam has joined #perl6
19:10 stevan hey remember all that stuff about S<> in the synopsis
19:11 lumi Hi nothin
19:11 nothingmuch uhuh
19:11 nothingmuch hola lumi
19:11 * nothingmuch is finally home and free
19:11 nothingmuch going to finish t/op/precedence.t
19:12 nothingmuch any SEEers want to help out? it's pretty fun
19:12 integral wolverian: hmm, why wouldn't &sub() work?
19:12 ihb btw, a thought i've had. with Perl 6 being so flexible, if "we" want to introduce another core operator, wouldn't that likely break a lot? will it pose a problem? nowadays it's pretty safe to create a new operator, isn't it? or will we not want to do that? will we just use a module that adds the operator? how does other languages (e.g. haskell that can define operators) handle this?
19:12 awwaiid greetings, nothingmuch
19:12 nothingmuch awwaiid! how fun!
19:13 awwaiid :). I'm just idling for now, but I'll join the fun in a bit.
19:13 stevan nothingmuch: I will SEE with you
19:13 integral ihb: Haskell has fixed rules for what chars can go in an 'operator' and in a normal bareword, so it's lexer already knows about all possible operators
19:13 nothingmuch ihb: you just err, fudge an infix sub
19:13 nothingmuch multi method, actually, if i'm right
19:13 nothingmuch see://woobling.org
19:14 nothingmuch awwaiid: good to hear
19:14 nothingmuch pugs could use you very well
19:14 nothingmuch stevan: hola,
19:14 awwaiid what is "see://" ?
19:14 ihb integral: i'm more talking about collisions. the discussion about ~~ on PM actualized the topic for me.
19:14 nothingmuch want to also open the synopsis/test stuff on your side?
19:14 nothingmuch awwaiid: http://pugs.kiwki.org/?SubEthaEdit
19:15 nothingmuch it's an editor with collaborative features
19:15 stevan actually its in util/catalog_tests.pl
19:15 awwaiid ah. I haven't explored the wiki enough
19:15 stevan get the latest SVN
19:16 ihb are functions and operators the same thing under the hood in Perl 6? can you do the equivalent of "(+) 2 3" or "x `foo` y"?
19:17 ihb what i'm getting at is that it could be hard to add things to the core, but we might not want/need that in Perl 6?
19:18 wolverian integral: well, it might. I don't see a implementation issue with it. I'm personally not sure if it's a good meme.
19:19 wolverian integral: so you're right, anyway.
19:21 integral ihb: you can talk about an operator as &infix:<+> for example
19:23 Ovid has joined #perl6
19:23 wolverian ihb: operators are functions.
19:24 nothingmuch wolverian: functions-> submethods? subs? multimethods? err, ?
19:24 nothingmuch ihb: in pugs i'm not sure they are functions to be talked about yet
19:25 wolverian nothingmuch: good point. multi subs.
19:25 nothingmuch multi sub eq ?
19:26 wolverian a sub that is dispatched with MMD
19:26 nothingmuch multimethod is a method for several objects at once, right?
19:26 nothingmuch submethod is either sub, or method
19:26 nothingmuch what perl5 sub is
19:26 nothingmuch (please correct me!)
19:26 nothingmuch sub is like you're typical some_language function
19:26 nothingmuch (imperative, right?)
19:26 nothingmuch so what's the diff between multimethods and multisubs?
19:26 wolverian multimethods are bound to classes in that they can be inherited
19:26 nothingmuch multimethods are only for objects?
19:26 wolverian multisubs can not be inherited
19:26 nothingmuch ah
19:26 nothingmuch i see
19:26 wolverian you are right here that both can be used.
19:29 nothingmuch test fu task:
19:29 nothingmuch go through tests in random order
19:29 nothingmuch and add little bits of doc at the top
19:29 nothingmuch to help util/catalog_tests.pl
19:30 stevan but put all the docs inside =pod or =kwid blocks please :)
19:32 nothingmuch stevan: perhaps this should be fudged a bit, so that each (todo_)?(...) line has it's test reason extracted
19:32 nothingmuch and line number of occurance written in the file
19:32 stevan nothingmuch: that would be good
19:32 nothingmuch i'll hack it in
19:32 stevan ok
19:32 stevan I am going to File::Spec-ify the path stuff
19:33 nothingmuch File::Findify it too?
19:33 nothingmuch or rather, ditch file::Spec, file::find will be easier
19:35 hide should 'my $stdout=open($*OUT);
19:35 hide ' create a handle tied to STDOUT?
19:36 wolverian I'd say just doing my $stdout := $*OUT; would be sufficient (unless someone has closed it, in which case you should be able to just $stdout.open, or some such.)
19:36 wolverian I don't know what pugs does here.
19:37 ihb so in short: we do not want to add things to the core in Perl 6?
19:45 wolverian adding things to core is up to Larry at this point.
19:45 wolverian (where core means the distribution)
19:45 wolverian did you have another definition? :) I'm a bit too tired really, heh.
19:47 ihb wolverian: my thought: perl 6 is flexible => you can define your own <whatever> => you can't easily add things to the core and at the same time be sure it won't break a lot of stuff.
19:47 mugwump has joined #perl6
19:48 malaire ihb: If you just mean defining new operators/functions, then those will be easy in perl6.
19:48 ihb ... which would, unless you don't have the need to add things to the core, perhaps would make the language stale?
19:49 ihb malaire: yeah, so, basically, you don't add things to the core, you use modules that import operators for you?
19:49 wolverian ihb: you can do whatever you want to _your_ perl6
19:50 wolverian ihb: I don't honestly see what you're asking really.
19:50 malaire Or do you mean adding new functionality to core, e.g. after perl 6.0.0 is out, adding some new funtionality in subsequent perl6 versions?
19:50 ihb malaire: yeah.
19:50 ihb wolverian: the discussion about ~~  on PM actualized this thought.
19:51 wolverian the different datatypes in perl6 are sufficiently segregated and strongly typed that there is little space for errors in this regard.
19:51 wolverian oh, right, I see now what you mean.
19:51 ihb wolverian: continue...
19:51 ihb ok, good. :-)
19:52 wolverian I would be _very_ wary of adding my own behaviours to the core datatypes
19:52 malaire IIRC that is made to be easy enough. Perl6 is created in such a way that it can be extended later. There are even some things which Larry says probably won't be in 6.0.0, but they are making sure those functionalities can be added later.
19:53 malaire (MMD based on named parameters was one such thing discussed resently)
19:55 wolverian yes, official features are easy to add, and that's why I wouldn't add my own unofficial features to things that would be used generally.
19:56 wolverian requiring a specific perl6 version isn't a very nice solution either :)
19:56 ihb btw, is the ^ operator still alive? i mean in things like @foo ^=~ $bar and @foo ^. $bar etc. (i don't remember if it really was ^ but i think so)
19:56 jabbot ihb: I havn't seen cubic , obra
19:57 integral ihb: that's for hyper?   Hyper is now «~ for example
19:57 lightstep has joined #perl6
19:58 wolverian ^ is the junctional one()
19:58 Khisanth ihb: same feature different syntax now :)
19:58 integral eg. sum(@a «*» @b) # inner produce
19:58 integral s/e/t
19:58 * malaire Goes to sleep now...
19:58 wolverian so, can you stack hyperops?
19:58 malaire has left
20:00 lightstep 3 test scripts fail, yet only 2 subtests fail?
20:03 nothingmuch lightstep: a dubiously ending test file
20:04 nothingmuch with no plan
20:04 crysflame 0 tests ran in one of those scripts, perhaps?
20:04 nothingmuch could yield a test script failing, with 0 subtests
20:05 lightstep t/syntax/subroutine_named_params fails to parse (or something)
20:05 lightstep and t/op/inc is fails after succeeding
20:06 nothingmuch t/op/inc is new, i think
20:06 nothingmuch i'll look at them both in about 10 mins
20:06 lightstep does perl6 have to be 32-bit?
20:09 lightstep ^^ please ignore
20:12 mattc Hi All, having first look at porting the Time::namespace modules pugs, these need the builtins "time", "times", "localtime" and "gmtime", newby question on moving forward - do I just write a failing todo test for these builtins?  Is there a procedure for this?
20:12 mattc obv the test won't compile without those builtins either....
20:12 ihb i'm gonna have to reconfigure so that the hyper operator looks sane, not «*»
20:13 lightstep mattc, please write test for all required builtins
20:13 Khisanth could be *» or «* too I think :)
20:14 tomyan has joined #perl6
20:15 mattc lightstep: ok - I'll write one - Rules aren't in yet, are they?  I'll write around them if not...
20:16 lightstep i believe that not
20:16 mattc cool
20:30 nothingmuch stevan: how are you with getopt?
20:30 stevan never used it
20:30 nothingmuch ook
20:30 * stevan does web apps :)
20:30 nothingmuch i would like to have printing the code line optional, without things getting ugly
20:31 stevan I think this might be too much information really
20:32 nothingmuch commented out
20:32 Aankhen`` has quit IRC ("Sleep [Time wasted online: 2hrs 48mins 3secs]")
20:33 nothingmuch what was the conclusion of the 'Test Comments' thread on perl-qa?
20:34 stevan it never concluded
20:34 stevan it is still up in the air
20:34 stevan some people decided some things,.. then other people dredged it back up again,
20:34 stevan repeat that about 3 times and thats what happened
20:35 nothingmuch err, i don't know what to call it either ;-)
20:35 nothingmuch it's not a 'reason'
20:35 nothingmuch i tend to lean to desc
20:35 stevan every one looks at it differently
20:35 nothingmuch should we leave it at that?
20:35 stevan for now
20:35 stevan the POD file this produces is huge though
20:35 stevan I think we might want to break ti down more
20:36 xerox has quit IRC ("ERC Version 4.0 $Revision: 1.703 $ (IRC client for Emacs)")
20:36 stevan 100K of POD
20:36 nothingmuch we could make it splittable by perl
20:36 nothingmuch =cut
20:36 nothingmuch ### SPLIT HERE ###
20:36 nothingmuch =pod
20:36 nothingmuch and then pipe that into another perl script
20:36 stevan that would work
20:37 nothingmuch i think i prefer one big file for now
20:37 nothingmuch i don't want to cleanup a mess every time i'm trying to get a summary
20:37 nothingmuch do we want to document test cases, btw?
20:37 stevan what do you mean?
20:37 nothingmuch we could use a S<> in a comment to denote the user defined description
20:37 nothingmuch is() # S<>
20:37 nothingmuch if that's there
20:38 nothingmuch then we have no guesswork
20:38 stevan we could try that
20:38 nothingmuch the question is: will anyone actually bother to document?
20:38 stevan it would take a while to update allt he test files
20:38 stevan probably not
20:38 nothingmuch ,\s+"".*?; is prolly good enough
20:39 nothingmuch for most things
20:39 nothingmuch (e.g., the test output string)
20:39 stevan is this maybe redundant with the original test file?
20:40 nothingmuch i think it's not
20:40 nothingmuch in case we want to override
20:40 nothingmuch it should be optional
20:40 nothingmuch when the output isn't good enough
20:40 nothingmuch like if it's fscked on a test
20:40 nothingmuch or if it's too hard to parse
20:40 nothingmuch or if the reason is just stupid
20:40 nothingmuch like the ones i write
20:41 nothingmuch which are logical only when read as the output
20:41 * nothingmuch has to stop that
20:41 lightstep does %a = ('a' => 1); create a constant hash table?
20:42 nothingmuch lightstep: no
20:42 nothingmuch i think for that you want %a is constant = ()
20:42 nothingmuch but i'm not sure if it applies to nested vars
20:42 nothingmuch for that you probably need to use the shape() trait thingy
20:42 nothingmuch which i haven't yet read on
20:43 nothingmuch maybe that's just for multidim arrays
20:45 PerlJam has quit IRC (Read error: 145 (Connection timed out))
20:46 tomyan has left "Kopete 0.9.2 : http://kopete.kde.org"
20:50 lightstep may i add a -fno-warn-orphans to the official Makefile to remove the warning about orphans?
20:51 nothingmuch lightstep: as far as most people are concerned yes
20:51 nothingmuch svn lets us fix this if it's a problem
20:51 lightstep cool
20:51 nothingmuch and you know what you're doing
20:51 nothingmuch do you have commit access?
20:51 lightstep yes
20:52 PerlJam has joined #perl6
21:07 sorje has quit IRC (Remote closed the connection)
21:12 ingy hola
21:12 nothingmuch who is interested in util/catalog_tests.pl creating many pods, one inside each dir?
21:12 nothingmuch stevan and I wrote a splitter for it
21:12 nothingmuch but I'm not 100% sure on how it should behave
21:12 nothingmuch ingy, want to join the SEE mess?
21:12 ingy sure
21:13 nothingmuch see://woobling.org
21:13 theorbtwo Can I come in?
21:13 nothingmuch no, this is for cool people only, theorbtwo
21:13 nothingmuch ;-)
21:13 ingy haha
21:13 ingy how do I connect?
21:14 * theorbtwo sniffles.
21:14 nothingmuch er, cmd+shift+k
21:14 nothingmuch or you can just click the link, normally
21:14 nothingmuch it works in colloquy
21:14 nothingmuch catalog_tests.pl is a bit more verbose
21:14 nothingmuch and prints markers
21:14 nothingmuch split_.*.pl will take that stuff
21:14 nothingmuch and split it
21:15 nothingmuch theorbtwo: are you joining or what?
21:15 theorbtwo Reads "contacting".
21:15 nothingmuch errm
21:16 * nothingmuch doesn't see you
21:16 * nothingmuch connected to you and pulled in
21:16 theorbtwo Thanks.
21:17 saorge has quit IRC ("ERC Version 5.0.1 $Revision: 1.726.2.3 $ (IRC client for Emacs)")
21:33 hlen_ has joined #perl6
21:35 PerlJam has quit IRC (Read error: 131 (Connection reset by peer))
21:38 Limbic_Region has quit IRC ("tiuq\")
21:40 PerlJam has joined #perl6
21:47 iwt has quit IRC (Client Quit)
21:50 nothingmuch theorbtwo: are you dumping that section?
21:50 nothingmuch *session
21:51 PerlJam has quit IRC (Read error: 145 (Connection timed out))
21:53 theorbtwo Hmm?
21:53 theorbtwo I'm still connected, agaik.
21:53 theorbtwo AFAIK.
21:53 nothingmuch i meant, tcpdump/ethereal
21:53 nothingmuch it should be enough to cover nearly everything =)
21:53 theorbtwo No, haven't been.
21:53 theorbtwo But I got the one earlier in the day.
21:54 theorbtwo But at this point, I'm not sure more dumps are helping.
21:54 * nothingmuch feels it's time to zap the comment, fix the noclobber
21:54 nothingmuch and commit the file,
21:55 theorbtwo Jess is looking into learning the elisp she needs; I should be doing a better job understanding the protocol.
21:55 theorbtwo Mostly ordering dependencies, though.
21:55 theorbtwo Sounds good to me.
21:55 theorbtwo We need to figure out what the goal is better before this sort of thing works well, I think.
21:56 theorbtwo I still like my plan, and have no real idea what the rest of you crazies are talking about.
21:56 nothingmuch theorbtwo: i'll let you know when eris is reinstalled
21:56 nothingmuch i think stevan is right:
21:56 theorbtwo If neither POD nor Kwid can do what I'm looking at, then they both suck.
21:56 ingy ?
21:56 clkao has quit IRC (Read error: 60 (Operation timed out))
21:56 stevan nothingmuch: I know I am right,.. but about what specifically
21:57 theorbtwo Most tests test a single sentance.  I want to link to that sentance.
21:57 nothingmuch it's getting complex
21:57 theorbtwo POD docs often have a head every four or five screens.
21:57 nothingmuch and files
21:57 nothingmuch i think it should be a sane way to summarize a dir
21:58 nothingmuch =items are warned if not distinct though, so you can usually rely on even that fine granuality
21:58 ingy theorbtwo: write a test case of what you want and i will refactor into kwid if possible
21:58 nothingmuch =head2 is pretty common, and also linkable
21:58 theorbtwo Ah, I thought you were saying that only head1, or possibly head* was linkable.
21:58 theorbtwo =item is much better.
21:58 ingy in kwid it is this:
21:58 stevan I agree head2 is better then =item
21:58 ingy - some term
21:59 ingy description of term.
21:59 stevan ingy: how to link easily?
21:59 ingy link is [some term]
21:59 theorbtwo Cross-file link?
21:59 ingy or [somefile/some term]
22:00 ingy or [some text|somefile/some term]
22:00 ingy it is just like pod, only less syntax
22:00 ingy as is all of kwid
22:00 ingy so there you go!
22:01 theorbtwo How do I make an invisible link target?
22:01 nothingmuch theorbtwo: is that a good thing?
22:02 theorbtwo It is if I want to link from a statement in a design doc to the a test that impelements it.
22:02 nothingmuch i think this should be done by backlinking
22:02 theorbtwo Even better, one that shows inline.
22:02 theorbtwo It should be done in both directions.
22:02 nothingmuch but maintained in only one side, IMHO
22:02 theorbtwo Yes.
22:02 theorbtwo Absolutely.
22:03 theorbtwo People write them in some convient form to write.
22:03 theorbtwo And the script converts them into some convient form to read.
22:03 nothingmuch i think that meta comments in the tests, tellling where xyz is specced
22:03 nothingmuch being optional
22:03 theorbtwo Read: HTML.
22:03 theorbtwo I agree.
22:03 nothingmuch and dwimmy
22:03 nothingmuch are the least annoying way
22:03 theorbtwo Possibly HTML via a transitional form of POD or Kwid, possibly not.
22:04 nothingmuch inside a test i don't think it should even be pod or kwid
22:04 nothingmuch is() # S<>
22:04 nothingmuch =)
22:04 theorbtwo # S<> isn't obvious.\
22:04 nothingmuch L<S04/item_name>
22:04 nothingmuch # spec:L<S04/item_name>
22:04 ingy in kwid you could possibly have:
22:04 theorbtwo my $anon_sub = sub {1}; # SPEC: S4/item name.
22:05 ingy .test test name
22:05 ingy ...
22:05 ingy .test.
22:05 * theorbtwo tries to avoid swearing at ingy.
22:05 ingy [test name]
22:05 ingy ?
22:05 nothingmuch ingy: what does that mean?
22:05 theorbtwo I couldn't care less about Kwid.
22:05 nothingmuch tests inline in kwid?
22:05 nothingmuch or kwid in comments?
22:05 theorbtwo I don't have any Kwid readers.
22:06 theorbtwo Kwid is a distraction to this project, not the point of the project.
22:06 * nothingmuch disagrees
22:06 nothingmuch p6 is a good oppertunity to rethink these things
22:06 nothingmuch before they are fixated
22:06 nothingmuch kwid is not worse than pod
22:06 stevan POD is bad,.. Kwid is better (but not perfect)
22:07 nothingmuch except in that it's less known by perl programmers
22:07 theorbtwo Kwid is worse then POD in as much as POD is already existant.
22:07 nothingmuch but then again, everybody knows wiki format
22:07 theorbtwo Kwid seems to mostly say "it's just like POD except for this and this and this".
22:07 nothingmuch theorbtwo: they're so interchangeable that it doesn't matter
22:07 theorbtwo No, nobody knows wiki format, because every "wiki" has a different format.
22:07 nothingmuch it's a generic format,
22:07 theorbtwo This is kwiki format, which is somewhat different, but confusingly similar, to mediawiki format.
22:08 theorbtwo The problem with POD isn't the syntax, it's the semantics.
22:08 nothingmuch i find the semantics good enough 90% of the time
22:08 nothingmuch people grok that [this item] is a unit
22:08 nothingmuch and that * foo is a bullet
22:08 theorbtwo L<...> sucks, but not because it's L and angle brackets and not square brackets.
22:08 nothingmuch why does it suck?
22:08 stevan because it doesnt DWIM
22:09 nothingmuch invert the problem - make your targets more linkable
22:09 theorbtwo Because I don't have any strong intuition what I can put in there and what it will look like.
22:09 nothingmuch so it should DWIM, that's not difficult
22:09 nothingmuch theorbtwo: i do
22:09 ingy I don't want to be in an argument. Each of us has things they want to work on. I will continue working on kwid and leave this discussion alone.
22:09 theorbtwo Really?
22:09 nothingmuch i read perlpod
22:09 theorbtwo So did I.
22:09 nothingmuch i forgot it the first time
22:09 nothingmuch reread, and since it's been there
22:09 nothingmuch the quoting semantics piss me off
22:09 theorbtwo But when I feed it to man, I get "the foo manpage" on things that aren't manpages.
22:09 lightstep if make test runs, does it mean i didn't fuck up the code too much?
22:10 nothingmuch that's search.cpan.org crap
22:10 ingy I really am only here to be helpful.
22:10 nothingmuch it's a bug, IMHO
22:10 nothingmuch which i'm too lazy to complain about to Graham Barr
22:10 theorbtwo Ah.
22:10 theorbtwo I read lots of pod on search.cpan.org
22:10 nothingmuch lightstep: if the tests are good enough, then in theory yes =)
22:10 theorbtwo I want it to look right there.
22:10 stevan lightstep: yes and no
22:10 nothingmuch so search.cpan.org should be fixed
22:10 mattc has left
22:10 nothingmuch not pod
22:10 lightstep i only changed some things in the basic engine
22:10 theorbtwo I'd suggest, again, stealing your bracket-link syntax straight from PM.
22:11 nothingmuch pod is a way to structure doc
22:11 theorbtwo Make it as consistant as you can, is the most important thing.
22:11 stevan ok you two,.. stop arguing or we will use XML
22:11 nothingmuch pm bracket syntax rocks
22:11 theorbtwo This is a /big/ break from POD, where there are a lot of formatters, and few of them agree.
22:11 theorbtwo Thank you, nothingmuch.
22:11 awwaiid nooo! NOT XML!!!
22:11 nothingmuch awwaiid: it's sexy, it's complete, it must be good!
22:11 nothingmuch YAMLdoc
22:12 nothingmuch document structure is indentation
22:12 * awwaiid suddenly feels horrible pain in chest
22:12 stevan awwaiid: but those Java guys will finally respect us ...
22:12 nothingmuch anyway, i want to eat
22:12 nothingmuch theorbtwo: suggest pm links to ingy about kwid
22:12 nothingmuch they add power by means of the schema
22:12 nothingmuch which is optional
22:13 nothingmuch but is more readable, imho
22:13 nothingmuch but slashes should dwim, in a way that makes the schema guessable
22:13 nothingmuch i don't like `file.txt`, i think it should be [f://file.txt], as a shortcut for [file://file.txt]
22:13 theorbtwo Actually, schema shouldn't be optional in kwid.
22:13 theorbtwo And I already did.
22:14 nothingmuch theorbtwo: /me didn't notice
22:14 Khisanth hmm
22:14 Khisanth [f://f://file.txt]? :)
22:14 nothingmuch so bottom line is: i don't care, do whatever you want, i'll use it
22:14 ingy nothingmuch: I actually changed your semantics... the real kwid form is {file: file.txt}
22:14 nothingmuch food &
22:14 nothingmuch why {} and not []?
22:15 ingy nothingmuch: but `file.txt` would get the same output in most formatters, so why bother
22:15 nothingmuch can we also make it match (\s+|//)?
22:15 nothingmuch schema:// is very obvious for everyone
22:15 ingy nothingmuch: [] is for links exclusively
22:15 nothingmuch ingy: semantics
22:15 theorbtwo I'd prefer, as far as possible, using simple URLs.
22:15 nothingmuch i would like it to link to the file
22:15 ingy oh, ok
22:16 nothingmuch so that in viewer funky, you click, and get the docs of that program
22:16 ingy well [file://file.txt] would work
22:16 nothingmuch or the source of it, if there are no docs
22:16 decay :>
22:16 nothingmuch that's relative to the current file, right?
22:16 ingy nothingmuch: actually just: file://file.txt would work
22:17 ingy nothingmuch: depends on the  formatter
22:17 nothingmuch make it depend on a spec, not a formatter
22:17 nothingmuch this needs to be deterministic
22:17 nothingmuch that's all i have to say, really
22:17 theorbtwo Couldn't have said it better myself.
22:18 theorbtwo I'm glad you said it first and kept me from saying saying it worse.
22:18 ingy sure thing...
22:18 nothingmuch i couldn't care less about formatting, because i'll use it anyway, and wouldn't mind silliness
22:18 nothingmuch but the semantics are important to me
22:18 nothingmuch now, what about css? ;-)
22:19 nothingmuch i'm really off now... bbiab!
22:19 ingy the semantics will be well defined. but the spirit is already well defined, so I will write a reference implementation to bootstrap things before writing the spec.
22:21 nothingmuch yum, food is thawing
22:21 nothingmuch ok, i zapped the .comment
22:21 nothingmuch and i'm committing
22:21 nothingmuch everyone ok with that?
22:21 ingy sure
22:21 nothingmuch except: i forgot how to noclobber in perl
22:22 theorbtwo unless -f
22:23 nothingmuch no ">" type param to open? *sniff*
22:24 mugwump I think a reference XML conversion from kwid bytecode would help stem confusion...
22:24 mugwump what do you think, ingy?
22:24 mugwump Actually, scrap that.  Forget XML.  Let's call it *SGML* ;)
22:25 ingy mugwump: fine. I will add Kwid::Formatter::XML. trivial
22:25 mugwump XML might suck at being YAML, but it's quite good as a standard markup language :)
22:26 mugwump s/standard/lowest common denominator/
22:26 theorbtwo It's pretty good.
22:26 theorbtwo It'd be better if it could handle arbitrary binary data as well as textual data, but it's not bad.
22:27 mugwump Sure.  I'd like to be able to include UML diagrams.
22:27 hlafarge has joined #perl6
22:27 mugwump Any thoughts on inline multimedia, ingy?
22:28 ingy .image
22:28 ingy .binary
22:28 ingy whatever
22:28 mugwump great.  and tables?
22:28 * mugwump looks at the bloody source :)
22:28 ingy perhaps an include facility is needed
22:28 ingy .table
22:29 nothingmuch KISS
22:29 ingy nothingmuch: IISS
22:29 mugwump yes, include would be nice - for instance, see the Scriptalicious module...
22:29 mugwump also, Pod::Constants...
22:29 nothingmuch i think tables ought to be grokked frmo tab separated indented blocks
22:29 Juerd No.
22:29 Juerd Tab be bad.
22:29 nothingmuch tab be != space
22:29 nothingmuch and != comment
22:29 ingy nothingmuch: it is up to the table plugin, I think
22:30 Juerd Tab's invisible and visually indistinguishable from spaces
22:30 nothingmuch it's not necessarily tab indented
22:30 mugwump Scriptalicious scripts have to replicate some stock POD in order to get the POD page to work out.  But really, it wants to be a POD include
22:30 nothingmuch just in between columns
22:30 Juerd No, tabs are bad by definition
22:30 Juerd I hate them
22:30 Juerd I want at least one other way to handle tables.
22:30 wilx has quit IRC (Read error: 54 (Connection reset by peer))
22:30 wilx` has joined #perl6
22:30 * Juerd suggested something to p6l a while ago
22:30 ingy I would strongly vote against using tabs for markup
22:30 * nothingmuch has a delegate (ingy)
22:30 Juerd That I still think would work well for pod.
22:30 mugwump There is precedent here in kwiki, folks.
22:31 Juerd kwiki's tables suck
22:31 Juerd Next! :)
22:31 ingy Juerd++
22:31 ingy wiki tables suck
22:31 Juerd It doesn't have table headings
22:31 Juerd Now what happened in that design?
22:31 mugwump I like TWiki tables
22:31 mugwump |* th *| td |
22:31 nothingmuch latex!
22:31 nothingmuch just kidding
22:32 Juerd rubber!
22:32 stevan raw Postscript :)
22:32 theorbtwo I still think embedded HTML is really the easiest way all around.
22:32 Juerd See <20040821100132.GO17296@c4.convolution.nl> is p6l
22:32 ingy all of this is possible if you delegate it to .table plugin
22:32 theorbtwo You're assuming only one formatter again.
22:32 Juerd theorbtwo: But the hardest to parse
22:33 Juerd s/is p6l/in p6l/
22:33 ingy tables should not be core imo. KISS again
22:33 Juerd They can be
22:33 Juerd If they're simple enough
22:33 theorbtwo But there are so many existing HTML parsers.
22:33 Juerd I think my idea is
22:33 Juerd theorbtwo: Irrelevant.
22:33 theorbtwo Not really, no.
22:33 Juerd theorbtwo: There are so many XML parsers that it's starting to work AGAINST xml as a good choice for data.
22:34 Juerd I think a simple table design must be part of the pod spec
22:34 theorbtwo I think it's one of the few ways in which POD really sucks.
22:35 nothingmuch theorbtwo: html is evil, it is too much formatting, not enough info
22:35 nothingmuch too freeform for documentation of API, etc
22:35 mugwump ingy, whip us up a fresh example of what a table using a .table plugin would look like
22:35 mugwump just because it's a plugin doesn't mean it isn't shipped with core
22:35 Juerd http://tnx.nl/3656TBBS
22:36 ingy mugwump: here
22:36 ingy .table
22:36 Juerd I still think that's a very workable and easy to parse simple solution for the most commonly used tables.
22:36 mugwump :)
22:36 ingy ... TWiki syntax ...
22:36 ingy .table.
22:37 Juerd It requires NO parsing for plain text output
22:37 Juerd And in fact, you can skip parsing it altogether if you want
22:37 PerlJam has joined #perl6
22:37 Juerd But you can still interpret it and output nice HTML when that's desired
22:37 mugwump And it leaves gaping ambiguity in the face of combining and double-width characters, Juerd
22:37 mugwump But there's no reason it couldn't be an alternative plugin
22:38 Juerd mugwump: All POD is utf-8, and double^Wfull width characters are well, 2 normal columns wide.
22:38 ingy Juerd: it is problematic for multiline cells
22:38 theorbtwo No, it doesn't; combining characters combine and double-width characters are double-width.
22:38 Juerd ingy: Not really - just repeat the ==== line in between cells
22:38 theorbtwo All unicode characters have a defined width of 0, 1, or 2.
22:38 Juerd ingy: This isn't a full spec, but it can be extended to one.
22:38 ingy Juerd: it is fine with me
22:39 Juerd theorbtwo: width 1 is "half width"
22:39 Juerd theorbtwo: width 2 is "full width"
22:39 Juerd There is no "double width"
22:39 theorbtwo Er, sorry.
22:39 theorbtwo Irrespective, all unicode characters have a well-defined length of 0, 1, or 2.
22:40 mugwump Oh?  The emacs multilingual demo page shows a triple width character in Hindi
22:40 mugwump Sorry, 1.5 width :)
22:40 Juerd ingy: I imagine that you could easily use === in the header division line to indicate multi-line cells, that have --- in between them
22:40 Juerd ingy: And --- between head and body for single line cells
22:40 Juerd This fixes the problem instantaneously without giving up the plain text readability aspect
22:41 Juerd instantly too
22:41 ingy Juerd: looks promising...
22:41 mugwump | delimiters are still readable in plain text.  You can still line them up.
22:41 Juerd ingy: Want me to mock up a quick spec with some examples?
22:41 clkao has joined #perl6
22:41 ingy make sure you can put verbatim blocks in cellls
22:41 ingy Juerd: sure!
22:41 Juerd mugwump: It's HARD to parse correctly, and doesn't handle multiple line cells either
22:42 Juerd ingy: Current idea is that everything is verbatim
22:42 ingy Juerd: no
22:42 Juerd ingy: Are non-verbatim tables needed? It's programming language documentation, after all
22:42 ingy sure... you want to have prose too
22:42 Juerd In tables?
22:42 tmoertel has joined #perl6
22:42 ingy with bold/italics etc
22:42 Juerd I see
22:43 mugwump Juerd: very true (about | being hard to parse)
22:43 ingy I would simply say that indented text is verbatim
22:43 Juerd ingy: That results in ugliness in the source, though
22:43 Juerd code         purpose
22:43 Juerd =========  ==============
22:43 Juerd $foo         variable foo
22:43 Juerd (Not even trying to line up here)
22:44 ingy $foo      variable foo
22:44 ingy oops
22:44 Juerd It's very consistent with the rest of POD though
22:44 ingy $foo       variable foo
22:44 ingy Juerd: but it's in .table
22:44 Juerd .?
22:44 ingy which is like =begin table
22:44 ingy ie it should work for pod too
22:45 Juerd Why not =table, with the entire command paragraph being the table?
22:45 Juerd =table <possible caption here>
22:45 Juerd th   th   th
22:45 Juerd ==== ==== ====
22:45 Juerd td   td   td
22:45 Juerd line two  here
22:45 mugwump ingy, one thing I think you got right in KWID was the {*  *} thing.  something similar could be used to allow arbitrary markup and flow inside cells, if a twiki-ish syntax was adopted
22:45 Juerd ---- ---- ----
22:45 hlen_ has quit IRC ("Client exiting")
22:45 Juerd next line of
22:45 Juerd cell s    here
22:46 Juerd ---- ---- ----
22:46 Juerd
22:46 Juerd normal paragraph again
22:46 Juerd where s/next line of/next row  of/
22:46 ingy Juerd: maybe write something up on the wiki
22:46 mugwump Defining columns as being aligned with whitespace disgusts me and reminds me of mainframe data exchange.  but each to their own :)
22:46 Juerd I'll write it off-wiki first
22:47 ingy awesome
22:47 ingy Juerd++
22:47 lightstep perlbot: karma Juerd
22:47 perlbot Karma for Juerd: 8
22:47 jabbot lightstep: Juerd  has neutral karma
22:47 ingy Juerd: are you SEE enabled?
22:47 Juerd I can see, but I don't think you were referring to my visual capabilities
22:48 ingy :P
22:48 ingy got mac?
22:48 Juerd No
22:48 ingy :( ok
22:48 Juerd What be SEE?
22:48 ingy ping me later
22:48 ingy SubEthaEdit
22:48 nothingmuch this reminds me:  theorbtwo, put yourself in http://pugs.kwiki.org/?OSXPeople
22:49 ingy real time multiuser editing
22:49 Juerd ah
22:49 Juerd sounds nice
22:49 Juerd No linux port?
22:49 ingy nice for fleshing out this kind of stuff
22:49 ingy nope
22:49 ingy mac only
22:49 nothingmuch Juerd: get theorbtwo to work on it =)
22:49 ingy sadly
22:49 Khisanth write one in Perl6 :)
22:50 * nothingmuch would rather bind fav editor to erlang
22:50 nothingmuch and then write with that
22:50 bd_ Uhm, what version of ghc is needed to build pugs these days? I just svk upped, and making gives the error: ghc-6.2.2: unrecognised flags: -fno-warn-orphans
22:50 theorbtwo Hoping to use elisp to get emacs to speak the protocol.
22:51 nothingmuch blame lightstep
22:51 theorbtwo Still in fairly early stages.
22:51 theorbtwo (vi'ers are on their own.)
22:51 PerlJam has quit IRC (Read error: 145 (Connection timed out))
22:51 * mugwump contemplates p6macs
22:51 bd_ meh. *upgrades ghc*
22:52 nothingmuch bd_: i think i'd rather undo that change
22:52 bd_ True, since the readme claims 6.2 is sufficientr
22:52 nothingmuch there's no ghc 6.4 for osx yet
22:52 bd_ but I might as well upgrade anyway
22:53 nothingmuch and autrijus doesn't want to force 6.4 for other reasons
22:53 nothingmuch lightstep: can you undo?
22:54 theorbtwo Hold on; I'll make Makefile.PL only do that if version is 6.4.
22:54 * theorbtwo wonders if ghc versions have vstring semantics.
22:56 ingy does pugs expose data sections yet?
22:57 * lightstep got back from afk
22:57 lightstep i'd like to undo, but don't know how
22:57 lightstep the problematic revision was r724
22:57 nothingmuch lightstep: commit reverse patch... but don't
22:58 nothingmuch svn doesn't allow undoing your actions
22:58 nothingmuch like some VCSs (darcs!) do
22:58 lightstep is there a linear patch order on svn? how primitive!
22:59 mugwump ingy, one other thing I'd like to do is be able to assign marked sections of kwid to constants in code.  For that, I think a search specification language akin to XPath would be very nice.
22:59 mugwump This could actually *be* XPath, using the reference XML conversion as the XML document, even if no actual XML document is used.
23:00 theorbtwo That should do it.
23:00 ingy mugwump: ok.. but I am working within the confines of POD semantics until things get rolling more.
23:00 theorbtwo Ugh... or not.
23:00 theorbtwo Note to self: svn up, then make edits.
23:00 ingy mugwump: kwid_to_xml may be your answer though
23:01 theorbtwo How do I get rid of an "Aborting commit: '/usr/src/pugs/Makefile.PL' remains in conflict"?
23:01 lightstep revert?
23:02 ingy no
23:02 ingy svn resolved filename
23:02 ingy or delete the conflict files by hand
23:02 theorbtwo Thanks.
23:02 ingy np
23:02 mugwump ingy: Sure.  I'm just relating my experience from writing Pod::Constants - in Perl 5, it's a great module, aside from it being too slow to use practically for many things.  If the kwid was being kept in the parse tree as KWID bytecode (perhaps with a pragma or module), then it would be a lot faster and more practical...
23:03 nothingmuch theorbtwo: 3 way merge with rev before you updated, your version, and head version
23:03 nothingmuch and then svn resolved file
23:03 theorbtwo r728.
23:04 theorbtwo Not well tested, though.
23:07 nothingmuch (map { $_+1 } <== (1, 2, 3) ==> map { $_*2 })
23:07 nothingmuch what does that mean, anyone?
23:07 nothingmuch ;-)
23:07 nothingmuch tip: bottom of S03
23:08 lightstep theorbtwo, it doesn't work here (ghc6.4)
23:08 theorbtwo Didn't work how?
23:09 lightstep doesn't add -fno-warn-orphans
23:09 lightstep ghc --version gives "The Glorious Glasgow Haskell Compilation System, version 6.4"
23:09 theorbtwo Hm.
23:10 lightstep maybe the regex is to blame
23:12 theorbtwo Grr, /me stupid.
23:14 Juerd ingy: http://tnx.nl/3657ZUJN
23:14 iblechbot has quit IRC (Connection timed out)
23:16 nothingmuch does pugs have trouble parsing infix ^?
23:16 nothingmuch inside an eval '' things work
23:16 nothingmuch but if unwrapped, regardless of how many parens, the test fails
23:16 ingy Juerd: that looks very promising.
23:16 Juerd Thank you
23:17 ingy I have one reservation.
23:17 lightstep Y and yen are parsed horribly
23:17 Juerd That's not many
23:17 ingy It seems very brittle
23:17 Juerd Which is it?
23:17 Juerd What is brittle?
23:17 ingy how do you handle formatting errors?
23:17 ingy I guess you could just show the block verbatim
23:18 Juerd \w characters in ignored zones should probably issue a warning
23:18 ingy with a warning somewhere
23:18 Juerd And a line with enough (more than three?) - characters in data positions, but no other character, should too
23:18 Juerd And just render it following the spec
23:19 Juerd And everything as one big verbatim block if you really can't make any sense of what the author meant (for example, if there is no column width specification line at all)
23:19 nothingmuch could somoene please see://woobling.org, precedence.t
23:19 Juerd Which I will from now on abbreviate of cwsl :)
23:19 nothingmuch and read s03
23:19 DapperDan has joined #perl6
23:19 Juerd s/of/as/
23:19 nothingmuch lines 119, 121, and 135 should really fail?
23:20 ingy hi DapperDan
23:20 nothingmuch i really hope i misunderstood s03
23:20 DapperDan hi ingy
23:20 nothingmuch because i thought that part of it was stupid
23:20 nothingmuch also, that test needs more cases
23:22 ingy Juerd: are you up for writing the parser/formatter?
23:22 lightstep perlbot, nopaste
23:22 perlbot Paste your code here and #perl will be able to view it: http://sial.org/pbot/perl
23:23 Juerd ingy: No, I'd LOVE to do it, but I can't
23:23 ingy Juerd: *2text would be easy :P
23:23 Juerd In fact, if I were able to do this, I would probably have done it already
23:23 obra perlbot, but we're on #perl6
23:23 Juerd Easy, but work I can't do
23:23 Juerd ingy: I have a severe form of RSI
23:23 ingy Juerd: cool, well somebody will. nice ideas!
23:24 Juerd My involvement in Perl 6 is already too much for my wrists, arms and hands
23:24 ingy maybe post to the pugs wiki
23:24 Juerd Will do
23:25 pasteling "lightstep" at 217.132.212.230 pasted "futurist pugs shell - call for improvments" (8 lines, 299B) at http://sial.org/pbot/8190
23:25 lightstep should i implement this?
23:25 lightstep or differently?
23:25 Juerd Wow, the wiki is SLOW
23:25 DapperDan is there a trac install for pugs, or somewhere else where i can view a timeline of changeset/commits?
23:26 theorbtwo That'd be great, lightstep.
23:26 nothingmuch lightstep: while you're at it, make <expr> work across lines
23:26 nothingmuch pugs> (1 |
23:26 nothingmuch *** Error:
23:26 nothingmuch instead it should look like:
23:26 nothingmuch pugs> (1 |
23:26 theorbtwo Hmmpf, for some strange reason, this doesn't seem to work, no matter what I do.
23:26 lightstep nothingmuch, i don't have readline, and i don't even know the interface. it's in another part of the code
23:26 nothingmuch : 2 |)
23:27 nothingmuch ( 1 | 2 )
23:27 nothingmuch just make parsing commulitive:
23:27 theorbtwo Things will work from perl -e, but not when I put them in the lib...
23:27 theorbtwo Very confusing to me.
23:28 nothingmuch if it doesn't parse, read more, and then finish when it does
23:28 nothingmuch DapperDan: there's rss for commits
23:29 nothingmuch and in general, you can find other statistical goodness on rt.openfoundry.org
23:29 DapperDan thanks
23:29 nothingmuch lumi: do you have any suggestions?
23:30 theorbtwo It'd be nice if the parser could provide feedback as to if the input is invalid, or incomplete.
23:30 Juerd ingy: http://pugs.kwiki.org/?PodTables
23:30 Juerd ingy: Updated too
23:31 Juerd afk
23:32 pasteling "nothingmuch" at 212.143.91.217 pasted "funny stuff from s03" (11 lines, 293B) at http://sial.org/pbot/8191
23:33 Limbic_Region has joined #perl6
23:33 ingy Juerd++
23:35 nothingmuch *loud cough*
23:36 Juerd Gesundheit.
23:36 nothingmuch nono, see nopaste
23:38 lumi I have 5s ping to the world apparently
23:39 lumimies has joined #perl6
23:39 theorbtwo Sounds horrible, lumi(mies)?
23:39 larsen_ has quit IRC ("later")
23:40 theorbtwo G'evening, Limbic.
23:40 lumimies Yes, it's, um, not much fun
23:41 * lumimies backlog
23:43 Limbic_Region salutations theorbtwo
23:44 Limbic_Region Jean is in driver's education from 6-9pm EST for the next 2 weeks, I am debating getting involved now that I only have 1 job
23:44 lumimies Suggestions for what?
23:44 Khisanth perl6 has true but not false?
23:47 mugwump bool::false
23:48 PerlJam has joined #perl6
23:51 DapperDan has quit IRC ()
23:55 Juerd Khisanth: true is a unary operator
23:55 Juerd Khisanth: That returns true when its argument is true.
23:55 Juerd Khisanth: It is to ? what not is to !

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

Perl 6 | Reference Documentation | Rakudo