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