Pugs t-shirts www.cafepress.com/pugscode | Pugs 6.2.9 released | pugscode.org | pugs.kwiki.org | paste: sial.org/pbot/perl6 | www.geeksunite.net
Set by stevan on 15 August 2005.
00:35 Samhain is now known as efilnikufesin 01:12 ben is now known as venk 01:33 mugwump is now known as TPmG|mgwmp 01:54 buu is now known as buubot 01:55 buubot is now known as buu
svnbot6 r7294 | Darren_Duncan++ | /modules/Rosetta-Incubator : updated all 15 lib/*.pm files so that the file contents match the external file names rather than being generic templates; replaced all occurances of 'Foo' and '0.0.0' with correct class names and versions; filled in the correct NAME and VERSION and LICENCE AND COPYRIGHT documentation for each module 02:39
02:42 brentdax__ is now known as brentdax 04:05 brentdax__ is now known as brentdax
geoffb putter or fglock, what % of test suite does PIL-Run pass? 06:08
svnbot6 r7295 | Darren_Duncan++ | /modules/Rosetta-Incubator : added new file /MANIFEST.SKIP 06:22
obra seen autrijus 06:25
jabbot obra: autrijus was seen 7 hours 20 minutes 31 seconds ago
gaal geoffb: ping 06:41
geoffb gaal, pong 06:42
gaal heya :)
see m19s28.vlinux.de/cgi-bin/pugs-smokeserv.pl
around 55% according to the latest smokes there.
geoffb gaal, yeah, found smoke.pugscode.org/
gaal oh wait, those are old, it seems
geoffb autrijus++ # new easy to remember URL 06:43
gaal whee
geoffb putter, fglock, nevermind my last question, but please check STATUS (which I'm about to commit fixes for) to make sure PIL-Run status is reasonable
OK, committed. 06:45
Autrijus: I think I've mostly done the STATUS updates, but I might have dates or details wrong. Please give it a looksee. 06:46
svnbot6 r7296 | geoffb++ | Extensive updates to STATUS
geoffb plays with a one-liner to determine the commit rankings . . . 07:02
I'm impressed; 50% of 113 committers can claim 9+ commits; 25% can claim 24+; 10% can claim 150+. Pretty well spread out. 07:04
And even autrijus and iblech combined do not add up to 50%.
Mmmm, well-rounded committing . . . . 07:05
Make that 112 committers -- an oversimple regex had created a committer with a whitespace name with 14 commits. :-) 07:15
coral heh 07:16
geoffb OK, time to attempt sleep 07:19
& # sweet, sweet slumber
gaal the open :w bug is very weird. I can't reproduce it; named arguments to Prelude's open seem not to be bound. 07:33
luqui could have something to do with "is primitive"? 07:34
gaal hmm, let's see.
wow, good guess 07:35
it indeed looks like it breaks named args.
luqui++
luqui has had problems with is primitive before 07:37
gaal doExtract doesn't handle SubPrim, I wonder if that's the reason. 07:40
oops, it does
in the _ clause
do you see any effective difference between doExtract SubBlock and doExtract _ 07:42
?
Parser:309
doExtract _ formal body = (body, names', params) 07:43
luqui looks
brentdax Hmm, I suppose I should implement a block cipher next.
gaal is the repetition of 'body' bad?
brentdax: the masses want fortuna! ;-)
(there's no reference implementation though) 07:44
brentdax gaal: Maybe once I finish with the ciphers.
gaal yeah, that order does make sense :)
brentdax (And fortunately, although there's no reference implementation, I happen to have just acquired a copy of /Practical Cryptography/, which defines Fortuna.) 07:45
luqui gaal, yeah, I can see a difference 07:46
but I don't know quite what it means
what does extract do?
gaal it's eventually used to populate env with subParams etc. 07:47
ruleSubDeclaration and retVerbatimBlock 07:48
er, not env
the actual sub
brentdax: there's a patch to linux that implements Fortuna for /dev/random, but it has a few kernelisms. 07:49
brentdax I know. 07:50
(We're also lacking hashing algorithms in pure Perl 6...)
gaal Cipher::Digest?
brentdax Nah, digests aren't ciphers. I think they'd be under Digest::. (I'm thinking about moving everything to be under Crypt::, though--Crypt::Cipher, Crypt::Digest, Crypt::Random...) 07:51
(Although digests are used for more than cryptography.) 07:52
gaal Oh, I tought your Cipher was to be a general crypto API. 07:53
brentdax It's to be a general API for encryption algorithms. Everything under Cipher:: should derive from or compose into the Cipher class; it doesn't make sense for hash algorithms and such to do so. 07:54
gaal linux has the transform layer above that... what do they use it for? 07:55
brentdax Dunno, I haven't looked at Linux's crypto in depth. (I think Wikipedia linked to the Fortuna patch, though.) 07:57
Oh...can you `does` a class, or do you have to `is` it? 07:58
gaal you do a role, no? 07:59
luqui under theories you `does` a class
gaal happily, luke's here to answer that! :)
luqui but currently you can only `is` classes
brentdax Ah, okay. 08:00
Oooh, TEA looks easy to implement. 08:01
gaal 32 bit block, right? 08:07
luqui just learned RSA in school :-)
brentdax 64-bit block, 128-bit key. The "T" is for "Tiny", and it deserves the name. 08:14
en.wikipedia.org/wiki/Tiny_Encryption_Algorithm
luqui ooh, designed by David Wheeler 08:17
cool
brentdax ?eval my @ary = 0..255; say @ary.splice(0, 16, []).perl; @ary.elems 08:35
evalbot_7296 15 241
brentdax Hmm... $situations_where_i_would_like_autochaining_methods++; 08:36
luqui ?eval my @a = 0..255; say @ary but { .splice(0, 16); }.elems 08:37
evalbot_7296 Error: Undeclared variable: "@ary"
luqui ?eval my @a = 0..255; say @a but { .splice(0, 16); }.elems
evalbot_7296 Error: No compatible subroutine found: "&elems"
luqui ?eval my @a = 0..255; say (@a but { .splice(0, 16); }).elems
evalbot_7296 Error: No compatible subroutine found: "&elems"
luqui ?eval my @a = 0..255; say @a but { .splice(0, 16) }
evalbot_7296 16171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319
luqui almost there
?eval my @a = 0..255; say elems(@a but { .splice(0, 16) }) 08:38
evalbot_7296 Error: No compatible subroutine found: "&elems"
luqui ?eval my @a = 0..255; say +(@a but { .splice(0, 16) })
evalbot_7296 240 bool::true
luqui that's the ticket
brentdax (In this case, I have to have block ciphers implement _zeroize, because Cipher::Block has state to zeroize too.)
luqui zeroize? 08:39
brentdax "Oh shit, the secret police are breaking in, delete everything now!"
You overwrite all the keys and intermediate data with zeroes--hence, zeroize.
(It's also a good behavior for a destructor.) 08:40
luqui ahh
like shred, but in memory
brentdax Yup.
You can see why I'm asking for `is sensitive` on p6l. 08:41
gaal won't randomize be more secure, assuming there's time?
"throw the deck in the air" in solitaire :) 08:42
luqui wonders how 'is sensitive' would be implemented given the high level of abstraction
brentdax Heh. Schneier actually recommends against throwing the deck in the air--apparently a lot of the order is retained when you do that. He says you should just calmly shuffle the deck. 08:43
luqui it might be tough to keep from accidentally making a cow copy somewhere or something
brentdax You might have to disable a lot of magic like that, but if you're applying `is sensitive` you're already saying you care more about secrecy than speed. 08:44
gaal i thought it takes seven shuffles to "really" randomize? 08:45
svnbot6 r7297 | gaal++ | pugsbugs for `is primitive` and named params
gaal (this one's a showstopper since it breaks open) 08:46
brentdax gaal: Yes, but you have to get by with what you can. 08:47
luqui brentdax, yeah, but that kind of magic happens at the VM level 08:49
and, for instance, the JS backend would not be able to do anything about it
brentdax True. Hmm.
luqui what would it take to write a parrot-specific module to do that?
i.e. is it modulable at all?
brentdax I'm not sure you can hook into stings at low enough levels. (e.g. you'd have to know when a string grows so you could zero over the old buffer.) Meh. 08:53
s/stings/strings/ 08:54
Hmm...is it a Good Thing or a Bad Thing when you know that adding documentation to a module will probably triple its length? 08:55
luqui likes that 08:56
svnbot6 r7298 | gaal++ | add test temp file to svn ignore list, these are sadly not removed automatically on Windows 08:57
brentdax Okay, Cipher::Block and Cipher::TEA are written. Now to get some test vectors. 08:58
autrijus gaal: fixing 09:06
...except your test passes for me here. weird 09:07
gaal: the bug might be because I turned off magical pair handling for primitives. 09:11
because otherwise
~(x => 3)
will not stringify
gaal: but really, your test succeeds for me :-/ 09:12
there need to be a trait that says "positionals only" it seems. 09:14
autrijus ponders
or just have ~() accept pairs.
Pair.prefix:<~> 09:15
wolverian you mean prefix:<~> (Pair)?
gaal whoops, back
autrijus yeah
gaal i TODO'ed it, ja
wolverian good, I thought I had missed something :)
autrijus gaal: no, it unexpectedly passes.
gaal hmm 09:16
autrijus try it?
gaal sec
silly windows shell, ^C does break... 09:17
autrijus anyway, I attempted another kluge
namely only real builtins accept all-positionals
and user defined primitives still handles named 09:18
it feels klugy, so better ideas welcome.
gaal ! 09:21
unexpected success here too. weird, because it did fail previously.
does io.t pass for you?
autrijus I doubt so as open :w is shown to not work 09:22
gaal t/builtins/io/io.t
autrijus I'm recompiling, a sec
it fails as expected.
luqui autrijus, with that kludge, how do we get operator adverbs
?eval say (1..10 :by(2)) 09:23
evalbot_7298 Error: cannot cast from VBool True to Pugs.AST.Internals.VCode (VCode)
autrijus luqui: we don't, so you better think of some way so we can safely demagicalize pairs
oh wait, you already had.
;)
luqui :-)
autrijus int(x => 1)
is there some way in &int's prototype to saw we don't want named on the first positional field, short of falling back to *@_ ? 09:24
and *@_ is bad since we want item context
luqui sub int((Item, Pair) $x) {...} 09:25
autrijus ooh new syntax.
what's the , ?
luqui I think Larry went with that as a synonym (in type position) for (+)
autrijus but how do I say, then, it demands Int context?
luqui hmm
autrijus sub int ((Item, Pair) $x is context(Int)) ? 09:26
luqui that's getting pretty heavy
autrijus it's also not what most people can intuit.
me included.
luqui I mean, you really want: sub int (Int $x) { $x }
but a Pair is not an int, so it would never fit in there
autrijus sub int (Int =$x)
luqui ? 09:27
autrijus sub int (Int $x is positional is coerced)
or something like that.
sub int (Any $x as Int) {}
better?
anyway, the prototype of ".." needs some thinking. 09:29
I mean, signature.
svnbot6 r7299 | brentdax++ | Cipher API work-in-progress check-in: 09:31
r7299 | brentdax++ | * Cipher::Block
r7299 | brentdax++ | * Cipher::TEA
r7299 | brentdax++ | I haven't even tried compiling these, let alone making sure they work properly. I'm particularly concerned about TEA and byte-order issues...
autrijus gaal: io.t now still fails, albeit at a different place. please investigate
brentdax And with that, it's time for bed.
luqui sub infix:<..> (Int $left, Int $right, *%adverbs) {...}
autrijus luqui: not +$by ? 09:32
brentdax &
luqui that works too
autrijus luqui: and it's a multi for Int/Int for Str/Str ?
luqui oh, that, right
autrijus how does (1 .. '3') work?
and how does (1 .. $pair) work?
luqui autrijus, 1..'3' is an error unless Int does Str 09:33
how is 1..$pair supposed to work?
autrijus which it does via coercion, no?
say 1; # look works
luqui (oh, what is a pair in item context?)
autrijus luqui: exactly.
luqui so in that case, Int does Str
gaal autrijus: ack
luqui which is something I've been saying all along 09:34
autrijus I know, but not part of canon
that, and demagical pairs
luqui anyway, this comes back to the semantics of coersion
autrijus namely, &coerce:<as>
luqui which have definitely not been worked out
autrijus and how compiler inserts those forms. 09:35
*nod*
luqui to me, &coerce:<as> takes a thing on its left side and a *context* (not a type) on its right
and then the compiler inserts coerce:<as> everywhere 09:36
svnbot6 r7300 | autrijus++ | * Repair open :w using a terribly kluge that tests the
r7300 | autrijus++ | subroutine body for Primness, and if it's Prim, don't
r7300 | autrijus++ | accept named arguments but use coercion instead.
r7300 | autrijus++ | It's a horrible kluge -- we need something like that
r7300 | autrijus++ | at language level!
luqui but there is special support for when coerce:<as> is a no-op
that is, the compiler should know that
autrijus by context, you mean
luqui however we end up telling it... 09:37
autrijus CxtClurpy Type | CxtItem Type | CxtVoid
so it still carries a type
luqui yeah
autrijus then we have first-class contexts? ;)
how lovely.
luqui however, coerce:<as> is a really funny thing 09:38
in order to make that play well with the typecheck
er
all its logic pretty much has to be in its signature(s)
autrijus aye. 09:39
luqui i.e. multi coerce:<as> (@array, Item of Num $cxt --> Int) {...} # array becomes integer in numeric context
omitting the --> clause is unacceptable 09:40
autrijus *nod*
autrijus feels a distinct need of formalization / visiolization. 09:41
svnbot6 r7301 | gaal++ | readline should not have used guardIO, go back to tryIO undef
gaal when readline reaches EOF, it shouldn't raise an exception. but other read errors should probably fail loudly, no?
luqui agrees 09:42
luqui wonders if he's the one who should do it
autrijus gaal: yes, you may need to have a guardIOwith form or something 09:43
which would involve case-analyzing the ioError
or
guardIOexcept
guardIOexcept :: IOError -> IO a -> Eval a
or even 09:44
gaal [IOError] perhaps?
autrijus guardIOexcept :: (IOError -> Maybe a) -> IO a -> Eval a
the idea is using predicates to maybe catch it
uncaught ones are thrown again
or using data driven way: 09:45
guardIOexcept :: [(IOError, a)] -> IO a -> Eval a
or even
guardIOexcept :: [((IOError -> Bool), a)] -> IO a -> Eval a
guardIOexcept [(isEOFError, undef)] $ do ... 09:46
gaal guardIOwithASieve
autrijus the isEOFError predicate is convenient here
gaal ah, yes, nice.
autrijus anyway, improvise. I need to nap a bit more :)
gaal enjoy 09:47
autrijus luqui: I confirm your wondering :)
luqui oh, we already do have first-class context, do we not?
?eval say want
evalbot_7301 Scalar (Any), LValue bool::true
autrijus luqui: we do, except how it is defined is undefine 09:48
d
so I cheated with a Str.
gaal can someone on linux please svn up and tell me if io.t crashes for them near the end?
autrijus I wonder if we want tagged unions for that. or just a Context interface with Item/Slurpy classes.
gaal trying to figure out if this failure is win32 specific.
luqui thinks it is probably just a union
autrijus luqui: is tagged unions canon yet? ;) 09:49
luqui most definitely. no idea how they're spelled, but they're there
autrijus or is MMD visitors so strong that we don't need the counterpart in the expression problem setting?
luqui hmm?
elaborate 09:50
autrijus luqui: with strong OO-MMD all functional visitors with tagged unions can be rewritten with roles
hence there are people who argue we'd only need one or the other.
Scala of course got both.
gaal: fbsd 09:51
# Looks like you planned 55 tests, but ran 52
*** tempfile.3702.956: openFile: resource busy (file is locked)
at tmp-Prelude.pm line 310, column 18-61
luqui Scala didn't get both, because scala forgot that case types are union types
if you have Foo = Bar | Baz, there is no guarantee in Scala that there is not a Quux that is also a Foo
autrijus so they are open like OCaml unions
which may or may not be a feature :) 09:52
but yeah, it's different from ordinary algebraic variant types.
gaal autrijus: close doesn't :-(
luqui it looks like it until you think about contravariant typing
autrijus luqui: yup.
but I really need to doze off. bbiab :) & 09:53
luqui thinks he will write up a coersion proposal
night
09:56 brentdax__ is now known as brentdax
joao_ good $localtime 10:03
gaal heya 10:06
10:07 joao_ is now known as joao
gaal $todo.add("make io fails appear to originate in calling code, not the prelude; or at least give a stack trace") 10:13
what's todo_fail been renamed to? 10:22
fail .. :todo?
(yes :) 10:25
kgftr|konobi autrijus don't suppose you happen to know of any 'stemmers' for chinese (ie: for search engines) [OT i know, but damn freenode doesn't allow prvmsg]
svnbot6 r7302 | gaal++ | introduce guardedIO, which is like boolIO but fails on errors. 10:26
r7302 | gaal++ | use in close and soon other ops.
broquaint win 5 10:28
Dagnabbit.
gaal hrm? 10:29
luqui kgftr|konobi, freenode doesn't allow prvmsg? 10:30
gaal you need to be identified by nickserv.
svnbot6 r7303 | gaal++ | fix test (this involved making sure files are closed before opening 10:32
r7303 | gaal++ | them again; should this really be needed?)
kgftr|konobi last time i registered with freenode i got spammed with "please donate" etc, so never again 10:35
joao registering gives you the possibility to identify yourself. that's the main reason, for me :-) And I don't remember to receive those messages 10:36
luqui what? never happened to me
broquaint Oh no not spam!
They have that on the internet now? 10:37
10:37 joao is now known as jff, jff is now known as joaoferreira
gaal kgftr|konobi: spammed with /msgs or by email? 10:38
joaoferreira sorry guys:
[11:37] -NickServ-Freenode is a service of Peer-Directed Projects Center, an
[11:37] -NickServ-IRS 501(c)(3) (tax-exempt) charitable and educational organization.
[11:37] -NickServ-For frequently-asked questions about the network, please see the
[11:37] -NickServ-FAQ page (freenode.net/faq.shtml).
this is the message
where's the spam? :D
10:38 joaoferreira is now known as joao
kgftr|konobi gaal: e-mail 10:38
joao oh
They don't require the email, do they? 10:39
gaal don't give them your email then :)
joao :)
kgftr|konobi they used to
gaal don't now. 10:40
kgftr|konobi oh... works now... yay!
joao but I think you could provide the value: noemail
(not sure, though)
gaal (opt-out)--
10:46 Lopo_ is now known as Lopo
theorbtwo kgftr|konobi, mind if I hit you up for 802.11 configuration advice? 10:51
gaal advice the first: close telnet :) 10:55
theorbtwo orafu, of course, if anybody else wants to help, speak now and I'll spam the channel with off-topic stuff. 10:56
Dammit, irssi completion is getting rather annoying. 10:57
s/orafu/or/
luqui ?eval sub f ($x) { say $x } f { 1 }.() 11:00
evalbot_7303 1 bool::true
luqui ?eval sub f (*@x) { say @x } f { 1 }.()
evalbot_7303 <SubBlock(<anon>)> Error: cannot cast from VBool True to Pugs.AST.Internals.VCode (VCode)
luqui if anything that seems backwards
maybe it's a slurpy block thing
joao ?eval 42.shift()
evalbot_7303 42
joao what should be the error? 11:01
broquaint ?eval ().shift
evalbot_7303 undef
luqui "shift: method not found"?
joao ok, the usual
luqui ?eval sub f (*@x, *&slurp) { say "args: @x[]; block: " . &slurp } f { 1 }.() 11:02
evalbot_7303 Error: unexpected "." expecting operator, ":", ",", term postfix, postfix conditional, postfix loop, postfix iteration, ";" or "}"
luqui heh, perl5+perl6)/2
?eval sub f (*@x, *&slurp) { say "args: @x[]; block: " ~ &slurp } f { 1 }.()
evalbot_7303 Error: Slurpy array followed by slurpy scalar: MkParam {isInvocant = False, isOptional = False, isNamed = False, isLValue = True, isWritable = False, isLazy = False, paramName = "&slurp", paramContext = CxtSlurpy (mkType "Code"), paramDefault = Noop}
luqui no silly, that's a slurpy block!
?eval sub f (*&slurp, *@x) { say "args: @x[]; block: " ~ &slurp } f { 1 }.() 11:03
evalbot_7303 args: ; block: <SubBlock(<anon>)> Error: cannot cast from VBool True to Pugs.AST.Internals.VCode (VCode)
luqui ?eval sub f (*@x, *&slurp) { say "args: @x[]; block: " . &slurp } f({ 1 }.())
evalbot_7303 Error: unexpected "." expecting operator, ":", ",", term postfix, postfix conditional, postfix loop, postfix iteration, ";" or "}"
luqui ?eval sub f (*@x) { say @x } f({ 1 }.())
evalbot_7303 1 bool::true
luqui ?eval sub f (*@x) { say @x } f ({ 1 }.())
evalbot_7303 1 bool::true
luqui ?eval sub f (*@x) { say @x } say f {1}.()
evalbot_7303 <SubBlock(<anon>)> Error: cannot cast from VBool True to Pugs.AST.Internals.VCode (VCode)
luqui hm
svnbot6 r7304 | gaal++ | move some more Prims to guarded IO; guardIOexcept coming soon. 11:21
kgftr|konobi theorbtwo: sure 11:25
theorbtwo Ah, exelecent! 11:38
Sorry I didn't notice you earlier -- three machines and several windows on this one is not condusive to noticing everything that's going on...
kgftr|konobi =0P 11:40
theorbtwo Bah, and my pcap is apparently in a borked half-upgraded state, need to reboot my router. 11:41
Can you join #foobarbaz to avoid spamming this channel, and so that Jess can possibly fill you in while it's rebooting? 11:42
11:47 theorbtw1 is now known as theorbtwo
nothingmuch moose 12:10
gaal elk! 12:12
svnbot6 r7305 | gaal++ | guardIOexcept, used in readline (where else do we need it?) 12:15
nothingmuch wonders how much it will be to make the type inferrencer's nullary ops become parametrized 12:16
and then making the unification code behave like theorys
theories
seen luqui 12:17
jabbot nothingmuch: luqui was seen 1 hours 13 minutes 33 seconds ago
nothingmuch luqui: ping
luqui nothingmuch, pong 12:23
luqui figures he should do some type inference exercises 12:24
to figure out how one might actually do it over theories
gnop 12:26
&
nothingmuch que es gnop? 12:33
i was meaning to ask how L::AG is progressing
luqui 'gnop' eq reverse 'pong' 12:38
@Larry (notably al and pmichaud) and I are talking about the parrot port of L::AG 12:39
nothingmuch what does it mean in the context?
luqui unpong?
nothingmuch what does pong mean in the context?
luqui basically, pong respond to your ping, and then I realized that I had to go again, so I unresponded 12:40
heh
nothingmuch ah
luqui other than that L::AG is not coming
I'll have some reasonable hacking time come the weekend
nothingmuch luqui: i have a problem 13:20
type::operator::nary: layout($$) = { join(" ", $.name, map { layout($$) } @{ $.params }) }
type::operator::binary: parenthesize($$) = { $$->isa("type::operator::pair") || level($$) }
i can't inherit level to any child in $.params
how could i hack in support for level(@.params) = { level($$) } 13:21
and then say layout(@.params); # map { layout($_) } @{ $.params }
luqui.ungnop 13:24
luqui well, of course you could always build a cons list and do it that way 13:37
nothingmuch eep
that's not perl like =)
luqui but as far as level(@.params) = ...
well, the current architecture will let you do that 13:38
(not hard to hack in)
nothingmuch yeah, seing the code i figured it out
luqui but once I switch to the memory-friendly version, it might not be so easy
nothingmuch since attrdef = attr <perl_block ()>
that's what i was really concerned about - that the next version should not lock this out
luqui I think it's doable as long as @.params is uniformly typed 13:39
nothingmuch that is an easy promise to make
luqui uh huh
nothingmuch that is, if @ISA is respected by L::AG
they are all ->isa("type")
luqui oh, by uniformly typed, I mean has the same set of attributes defined on it 13:40
nothingmuch ah
hmm
luqui as in, they are all cases of the same nonterminal
nothingmuch teh sux0r
luqui I think your grammar is a single-nonterminal grammar anyway, so you don't have to worry
nothingmuch que es nonterminal?
luqui AGs come from CFG-land
nothingmuch CFG? 13:41
luqui context-free
nothingmuch ah
i dunno much about that
luqui nonterminal appears on the left side of the colon
so, traditionally, you have:
foo: bar baz | quux
each of the things on the right ("bar baz" and "quux") is a production
you associate a set of attributes for each *nonterminal*, whereas you provide different implementations for each *production* 13:42
you can also think of it this way: data Foo = Bar | Baz 13:43
Foo is the nonterminal, Bar and Baz are the productions
so if you have a tree where every node can be anything, then that is a single-nonterminal grammar
nothingmuch okay
luqui and uniformedly-typedness is guaranteed
nothingmuch so how does that help me? ;-)
nothingmuch fails to make the link 13:44
luqui that means that, for your grammar, layout(@.params) will be possible
because @.params will all be cases of the same nonterminal
nothingmuch but they won't 13:45
luqui really? your layout grammar has more than one nonterminal?
nothingmuch list a has only one child in @.params
it's type::operator::nary->new(list => type::variable::free->new);
but you can parametrize types over N types 13:46
that is, you can parametrize nary type operators over N type parameters
luqui let me ask you this: are there any types in your AG that have an attribute that another type doesn't?
nothingmuch oh 13:47
i thought that by the same attrs you meant same definition of attrs
not same names
luqui nononono, that wouldn't be useful at all
nothingmuch right 13:48
well, not now
but that's only because some aren't used
there is no reason not to have them
(but it would be nice if they were auto generated ;-)
luqui anyway, I'm going to take a nap. Long day ahead, and haven't slept enough. 13:49
luqui the sleep pussy &
nothingmuch ciao
joao is surprised. These guys really sleep :) 13:58
nothingmuch =) 13:59
*fzzzzzzzzzzzzzzzz* went my brain
when typing length :: list a -> int somehow an instantiated variable gets instantiated into itself 14:00
oh, right 14:05
since it remains generic it's the same var.
doh!
bhoult is there a way to get perl to log every program that it runs? 14:16
nothingmuch bhoult: yes, but that is entirely un perl related
what you need to do is create a C wrapper
that logs argv to a file
and then execs perl with the same args
and then put that in place of perl
and rename perl to perl_orig or something like that 14:17
QtPlatypus bhoult: Perhaps you should ask on one of the #perl channels
bhoult ok, thanks.
QtPlatypus nothingmuch: Personally I would run perl under a truss and then look for the exec'es
nothingmuch then you understood differently than I did 14:18
i thought he wanted it to log every script that is run by perl
and you thought he wanted it to log every command that a perl script runs
bhoult I want it to log every script that perl runs. 14:19
nothingmuch btw, QtPlatypus: search.cpan.org/~rclamp/Devel-Syste.../System.pm 14:20
14:26 brentdax__ is now known as brentdax
nothingmuch bzzt again 14:29
svnbot6 r7306 | autrijus++ | * listop was too eager in globbing up block arguments: 14:37
r7306 | autrijus++ | f{1}.()
r7306 | autrijus++ | should mean f({1}.()), not (f{1}).(). Thanks to Shillo
r7306 | autrijus++ | for reporting it.
PerlJam I find it really magical in a way that I can read about a bug on p6l and then when I look at #perl6 it contains comments to the effect that the bug has been fixed. 14:40
:-)
nothingmuch oh moose! 14:41
eric256 continues his quest to learn haskell....this isn't soo bad realy once you start to get some understanding of it ;) 14:54
svnbot6 r7307 | iblech++ | * Usual svn props.
r7307 | iblech++ | * t/builtins/strings/length.t: chars "abcdef" > 4 should (and is) the same as
r7307 | iblech++ | chars("abcdef") > 4.
r7307 | iblech++ | * t/pugsbugs/primitive_named_params.t: Fixed and unTODOed the test.
autrijus eric256: the distance from 0 to 1 is larger than 1 to maxint :) 14:55
eric256 autrijus -> zen master
lol 14:56
autrijus gaal: you made mkdir etc into guardedIO
which means they raise exceptions
but in perl5 they merely return false
that's a change of semantics... I wonder if it's warranted.
nothingmuch tests his connection 14:57
autrijus maybe it will push us into implementing fatalism properly
autrijus ponders.
wow, TSa bowed out. 14:58
the same moment as I rebilled the 6.2831 milestone into something more concrete ;)
svnbot6 r7308 | autrijus++ | * redefine "runtime role composition other features" in the 15:00
r7308 | autrijus++ | 6.2831 milestone as "type system and linking".
nothingmuch bowed out of what? 15:03
eric256 he bowed out of the mailing ilst
of course then he also asked questions in his message ..... seemed kinda drama queen ish 15:04
nothingmuch will have a look
i didn't even understand his goodbye 15:06
svnbot6 r7309 | nothingmuch++ | Blondie's milner.pl
r7309 | nothingmuch++ | * recursive functions, and generic recursive functions
r7309 | nothingmuch++ | * initial generic vars includes the ones from the prelude (silly me ;-)
kolibrie wow # re TSa 15:08
nothingmuch wonders why so many people are wasting their time gauging and inspecting kwalitee 15:11
Limbic_Region dunno 15:13
my one and only module is lacking pod coverage testing and dependency in another module 15:14
I am not going to worry about that
eric256 kwalitee?
nothingmuch Limbic_Region: the problem is that instead of pod coverage they are testing for a test that tests pod coverage 15:15
they are completely insane
eric256: kwalitee is a measure of how good a module is
based on some traits of the distribution
"it sounds like quality, but it isn't exactly quality" 15:16
they test every dist on cpan
and make sure that:
it expands properly, it has META.yml, it has a Makefile.PL or a Build.PL, it has a license, a README, a Changelog, etc
which is, on the whole, OK
but they're really getting carried away on the perl-qa list 15:17
adding weird metrics for these things
which make absolutely no sense
and my grudge about it is that so much effort is going into it, when it could be wasted on actually improving a modules *interface*
gaal autrijus: well, we have to hash out lexical pragmas for that.... 15:21
and yeah, i wasn't sure aboubt semantics; i thought everything is fail-based now except when it obviously doesn't make sense (like readline) 15:22
nothingmuch gaal.ping( efilnikufesin ) 15:23
gaal nothingmuch.pong(what!?) 15:24
nothingmuch nay nay, efilnikufesin is someone you know 15:25
ping him
gaal is he!?
nothingmuch yes
the other yuval from israel.pm
efilnikufesin yup
gaal efilnikufesin: i'm glad irssi has nick completion. ping. 15:26
efilnikufesin heh, sorry, freenode wouldn't let me use my regular nickname
nothingmuch yeah, I hasn't read past 'efi' yet myself ;-)
efilnikufesin SO I had to come up with an [not so] original one
gaal and hi :) 15:27
(i have to go for a while in about 2)
efilnikufesin it's an Anthrax song, nothingmuch :)
nothingmuch i dunno who anthrax are
gaal nothingmuch: won't your proposal for `is sensitive` be utterly slow? 15:28
gotta moose. later! &
nothingmuch no
type inferrence should figure out what types could any container possibly contian 15:29
and generate code to raise events only for containers that could contain types with events
SamB nothingmuch: you seem to expect an awful lot from type inference... 15:30
nothingmuch yes
i think it's the key to allowing dynamic languages to actually at all in the context of the dynamism that perl 6 will have 15:31
now, ofcourse, if there is a balance, you don't need to invoke it
for example, if you know there are no events for tainting 15:32
or no slow thingies around
then you don't need to infer types to make sure you are not doing slow things where you don't need to
svnbot6 r7310 | iblech++ | * Moved the now succeeding 15:36
r7310 | iblech++ | t/pugsbugs/{parsing_hash,attribute_list,parsing_braces_in_rules}.t out of
r7310 | iblech++ | pugsbugs/.
r7310 | iblech++ | * Note that map-and-sort-in-for.t and grep-and-sort-in-for.t would pass too,
r7310 | iblech++ | if "grep { 1 } @array" parsed (it did, but probably the . precedence fix
r7310 | iblech++ | broke it).
rafl Is it possible to build a pugs shared library? 15:44
eric256 heheh my tutorial hit a part where they use a continuation to mimick a fold ..... but i wasn't realy friends with fold to start with. ;) and the \x + function calling with no parans or commas left me a little lost. ;) 15:45
gonna try an reright the example with better variable names than x t and g .lol 15:46
nothingmuch rafl: autrijus is working on it (the cabalization stuff relates to that)
rafl nothingmuch: Ah, fine. Will it be part of 6.10? 15:47
Err, 6.2.10.
nothingmuch i dunno
rafl Who was that guy that wanted to port parrot to VMS? dudley_ maybe?
dudley_ Yeah, that was me
That was back when I had a much more plentiful tuit supply, though 15:48
eric256 finds a typo in the example...that made a bid difference ;) 15:51
rafl My dict doesn't know about tuit. What's that? 15:52
nothingmuch you mean a big difference
eric256 that too
nothingmuch rafl: when you get to it
get tuit
or get a round tuit
SamB rafl: they come in round or square
nothingmuch that means you have time
rafl OK, thanks.
SamB a round tuit == "around to it"
nothingmuch when someone says they will do something when they get around to it 15:53
rafl Ah, now it actually makes sense. :-)
nothingmuch you can give them one of these: www.myrtlewoodgallery.com/get_a_round_tuit.htm
rafl OK, does the cabal stuff already work? What's the prefered way of building pugs?
nothingmuch autrijus: ping 15:54
rafl Woo.. compiling the prelude seems to be broken. 15:55
unexpected "j"
expecting expression
at tmp-Prelude.pm line 245, column 19
nothingmuch the prelude is preprocessed? 15:56
eric256 haskell q: can i add parans around functino calls to make them clearer?
tried making cfold' f z (x:xs) = f x z (\y -> cfold' f y xs) into cfold' f z (x:xs) = f( x z (\y -> cfold' f y xs)) but it gets mad and spews lots of errors
integral eric256: you need to use them like in Lisp (f args), not f(args) 15:57
eric256 ahh. thanks 15:58
rafl nothingmuch: It's precompiled for performance reasons, afaik.
integral you can also use $ to chain functions together as it is very low precedence: f x $ \y -> ... === f x (\y -> ...)
nothingmuch i know it's compiled, and then the hs code is preprocessed
but tmp-Prelude.pm is kind of weird
eric256 (\y ) is a continuatino being passed to f in this case
nothingmuch wonders what happenned to iblech 16:03
autrijus rafl: fixing 16:04
rafl autrijus: Thanks.
eric256 beleives he finaly understands the continuations example....first time this guy picked realy bad variable names and reused the same names in different functinos for different uses....oiu 16:10
nothingmuch eric256: what example is that?
svnbot6 r7311 | autrijus++ | * Fix prelude parsing; the last "fix" prevented the 16:11
r7311 | autrijus++ | map { ... } @foo
r7311 | autrijus++ | form, which is doubleplus nongood. rafl++
eric256 nopaste 16:14
lol. i can never remember how to wake that bot up.
perlbot nopaste
perlbot Paste your code here and #<channel> will be able to view it: sial.org/pbot/<channel>
pasteling "eric256" at 66.102.136.70 pasted "Continuations with Folding" (4 lines, 118B) at sial.org/pbot/13477 16:15
eric256 one part still has em confused in the fourth line it does
f x (g t) -- what is happening with the g t there? 16:16
i think they are being pass to x wich is a function at that point, but i'm not certain
nothingmuch 's brain starts fizzing and bubbling again 16:17
eric256 yea i don't think its the best example for a begginers tutorial. lol 16:18
qwr eric256: g is probably a function and t is applied to it
eric256: f x returns function and (g t) result is applied to the returned value 16:19
rafl want's to check in a first version of his XML::SAX port. It doesn't do anything usefull currently, but I'd like to have some help because I run into somthing that seems to be a pugs bug.
checking it in seems a quite easy way so everyone can take a look at the code and play around with it.
qwr eric256: together it's like two arguments to f (called currying) 16:20
eric256 thanks qwr...your right...i'd been looking at it from the wrong angle
somehow i forgot all about the recursive part of the fold...that makes nearly perfect sense now....not enough to rewrite the example coherntly but enough for the momemnt 16:21
mement. thanks
gaal rehi 16:22
svnbot6 r7312 | rafl++ | r16678@ata: rafl | 2005-10-05 18:24:00 +0200 16:25
r7312 | rafl++ | * Added first bits of an XML::SAX port. Doesn't do anything useful yet.
r7313 | rafl++ | r16679@ata: rafl | 2005-10-05 18:24:40 +0200
r7313 | rafl++ | * Removed some accidently checked-in auto-generated files.
rafl Would someone please try to execute 'XML::SAX.load_parsers.perl.say' and tell me why the generated code doesn't contain the expressions captured in line 45? And why the generated code can't be evaled again. 16:28
Looks like a kind of pugsbug to me. 16:29
autrijus looking. 16:39
stevan hey autrijus :)
autrijus yo stevan :) 16:40
I need some brains to think about perl5/ installation problem 16:41
as currently, when you "make install" pugs, "pugs -BPerl5 ..." does not work
because metamodel etc are not installed.
kolibrie eric256: which haskell tutorial are you following? /me might try if it's working for you 16:42
autrijus I can see two options; one is to move them /en masse/ into pugs's perl6 sitelib
under perl5/ too
stevan hmm
do we really need to install that stuff?
by default I mean?
autrijus another option is to install them as regular CPAN modules; either bundling, or list them as optional dependency and release them separately to cpan.
stevan: that's part of the question yes.
"release them separately" means they are likely to be useful without pugs. 16:43
if so, we can list a Bundle::Pugs and list them
and they'd follow their own schedule
if not, then install them all into p6 sitelib makes sense.
ideas?
stevan hmmm 16:44
thinking
autrijus cool, I'm taking a cycle to look at XML::SAX
kolibrie they'll only be needed for -BPerl5 once MM2 is haskelized?
stevan when do you plan to release?
autrijus stevan: in 48 hrs
nothingmuch autrijus: i need advice
stevan I think the shorter route is best then
autrijus kolibrie: "they" means -BJS and -BPerl5
nothingmuch i'm pondering implementing type::operator::typeclass
stevan putting into lib/
autrijus kolibrie: has nothing much to do with MM2/Haskell runcore 16:45
nothingmuch and type::operator::oo
autrijus nothingmuch: in p5 for blondie?
nothingmuch in the milner script right now
autrijus stevan: which lib? lib6?
nothingmuch to be backported to plondie
blondie
typeclass is kind of trivial
autrijus nothingmuch: okay. advice?
stevan autrijus: whichever one is easier
kolibrie autrijus: I thought "they" were the perl5 metamodel modules
nothingmuch but how would OO be compiled to a lambda calculous?
without losing information?
autrijus kolibrie: that, and PIL2JS, and PIL-Run, and Perl6-* 16:46
nothingmuch i guess i need to look at CLOS
stevan I know I wont have enough tuits over the next 48 to put the MM up on CPAN seperately
autrijus nothingmuch: you use recursive polymorphic record types.
nothingmuch that sounds scary
autrijus nothingmuch: see OCaml, or better TaPL, about featherweight java :)
nothingmuch tapl hasn't arrived yet =(
i wish it will
this stuff would be *so* much easier
essentially we have two record types 16:47
for every two record types
we have another type that is the set of keys which both share?
that is their supertype?
autrijus stevan: okay. in that case I'll install everything into perl6's sitelib as perl5/
stevan: and we can figure out proper partition laterz
stevan yes 16:48
I will need to chat with putter and fglock
autrijus nothingmuch: usually OO needs subtyping.
kolibrie (less work)++
stevan re: p5 stuff
autrijus nothingmuch: the could be nominal subtyping, where each type remembers its parents
nothingmuch: or structural subtyping, where any record type can subtype another simply by containing the same fields.
nothingmuch: perl6 is definitely nominal. 16:49
stevan nothingmuch: OO in pure lambda calculus ,.. hmmm ;P
autrijus nothingmuch: see O'Haskell page for further enlightenment
eric256 kolibrie - www.isi.edu/~hdaume/htut/ is the tutorial i'm following. working well for me
autrijus (and my GHC hackery would help to bring them into reality)
nothingmuch isn't theory.pod all about saying that perl 6 is nominal typing appearance in structural typing semantics?
autrijus nothingmuch: www.cs.chalmers.se/~nordland/ohaske...urvey.html
nothingmuch: yes. 16:50
nothingmuch: it layers a structural (duck) foo on top of nominal (type) bar.
nothingmuch duck? 16:51
autrijus "if it can do such and such things it's naturally of this type"
without predeclaration
kolibrie eric256: thanks
nothingmuch ah 16:52
nothingmuch will try to do typeclasses
and then record types
with simple nominal inheritence
and then try to reimplement that with structural semantics 16:53
stevan has to $work &
nothingmuch and then try to make it support OO better
and then try to translate it all to theories
luckily it's the holiday season
xinming_Beijing autrijus: hmm, did you edit the overview please? hmm, I checked out the latest revision just now, and found overview has been updated. So, May I know where the modification is... So, I can update these information.
nothingmuch i should have lots of vacation time in the next month
autrijus xinming_Beijing: one single update, line 169:
<li>6.2831: 型别ē³»ē»Ÿļ¼ˆtype systemļ¼‰äøŽé“¾ęŽ„ļ¼ˆlinkingļ¼‰ć€‚</li>
nothingmuch anyway, dinnertime 16:54
then I have to finish the rule translation
autrijus xinming_Beijing: following the CUFP presentation, I've refined the 6.2831 milestone from the vague "random runtime features like role composition" into the more specific "type system and linking".
nothingmuch: cool, much thanks
nothingmuch autrijus: is the plan sensical? or am i missing too much knowlege? 16:55
xinming_Beijing autrijus: hmm, the word "type" in Simplified Chinese, It's normally called "ē±»åž‹" or "型号", I will update it soon. :-)
autrijus nothingmuch: it's sensical and I think you'll enjoy figuring out things
xinming_Beijing: please do update it :)
xinming_Beijing++
nothingmuch alrighty
luqui - i need $grammer->ammend('foo: ...') to add attribute defs to grammars 16:56
i don't need it, but it would be nice
nothingmuch hates ACM more every time he reads the words "controlled feature"
autrijus er, "amend"
nothingmuch spelling was never my forte
never will be
autrijus xinming_Beijing: also, is "macros" "宏集"? I thought it's "宏"
the milestone after that 16:57
nothingmuch autrijus: yesterday or before you mentione "From ML Type Inference to Stratified Type Inference"
autrijus nothingmuch: yes, two-phase inference.
nothingmuch i can't find anywhere except acm
autrijus nothingmuch: can't be.
nothingmuch perhaps it's a slightly diff title?
www.google.com/search?num=30&hl...tnG=Search 16:58
autrijus cristal.inria.fr/~fpottier/publis/p...nas-05.pdf
xinming_Beijing autrijus: normally 宏
nothingmuch grazie
xinming_Beijing autrijus: If we use macros set, then 集 must be used.
autrijus k 16:59
but it's not a set 17:02
it's just macros
xinming_Beijing autrijus: hmm, But I will update it also, In fact, I can understand what macro mean. And å·Ø集 is also used from some old-days books, hmm, IIRC The earlier book also č½Æ体. But now, all books use č½Æ件
autrijus so please fix as desired
yeah. those are zh-tw words :) 17:03
xinming_Beijing autrijus: then, It must be 宏
autrijus cool
xinming_Beijing I did a fix to it
svnbot6 r7314 | yiyihu++ | * Correct a translation for the word "macro" 17:11
r7314 | yiyihu++ | * Update the overview according to the modification.
rafl autrijus: Found something out about that strange XML-SAX behaviour?
geoffb nothingmuch, what does ACM mean by "controlled feature"? 17:18
autrijus, did you get a chance to look over/correct my STATUS update from last night?
nothingmuch geoffb: that i need to pay to read the article 17:19
geoffb oh. ewww.
Hmmm. How much does ACM membership cost? Don't members get free access?
autrijus rafl: I see Features
('Features' => {.})
geoffb (Not that I at all disagree that paying for basic CS knowledge is very, very sad . . . .)
autrijus rafl: \Class.new(('known_parsers' => [{('Features' => {.}), ('Name' => MkMatch {matchOk = True, matchFrom = 1, matchTo = 19, matchStr = "XML::SAX::PurePerl", matchSubPos = [], matchSubNamed = {}})}, {('Features' => {.}), ('Name' => MkMatch {matchOk = True, matchFrom = 1, matchTo = 16, matchStr = "XML::SAX::Expat", matchSubPos = [], matchSubNamed = {}})}, {('Features' => {.}), ('Name' => MkMatch {matchOk = True, matchFrom = 1, matchTo = 25, matchStr = " 17:20
joao nothingmuch, do you need ACM articles?
;)
nothingmuch joao: not right now
PerlJam geoffb: It used to be about $25/year for students and $100/year for non-students for ACM membership. I don't know what it is these days.
rafl autrijus: Yes, but Features should have a hash as its value.
nothingmuch autrijus found something for me
joao nothingmuch, if you need, I can try to get it...
nothingmuch okay 17:21
legally?
joao Yes
I have full access to the ACM portal
rafl autrijus: Not something that is a syntax error when serialized using .perl.
geoffb PerlJam, ah. Not as bad as I expected
nothingmuch so wait, they charge for the storage and retrieval? they don't have the copyright on the actual articles?
autrijus geoffb: I did and it looks good. I think I need to transclude the "toward 6.28.0" plan from my journal to there
geoffb: help welcome, or I can do it myself
joao nothingmuch, but some articles that are listed there can't be downloaded
autrijus rafl: oh, you think it's a .perl bug?
geoffb autrijus, if it's just C&P, go for it. If you have to think, I can take a look in a bit. 17:22
joao nothingmuch, the have copyrights, I suppose
nothingmuch, but they provide pdf's and html version of their papers
to members
nothingmuch anyway, i'll remember to bug you when i hit a wall the next time
joao sure 17:23
PerlJam geoffb: Ah, according to their website, it's $99/year for "professionals" and $198/year for professional membership plus ACM Digital library.
(and other stuff)
joao If you need from other scientific resources I can try to get it too :)
elsevier, ..
autrijus geoffb: I have to think about the org, but I want your column more :)
joao PerlJam, yes, but for students is cheaper
PerlJam joao: yeah, they have all sorts of different plans for students. The cheapest appears to be about $20/year. 17:24
geoffb PerlJam, so ~$200 to be able to read the articles. Annoying but not horrible for a CS pro in the US, but pretty brutal for non-pros / non-US types
PerlJam looks like $42/year for membership + digital library (for students)
geoffb autrijus, OK, then article comes first. Hope it lives up to the hype -- I've got sick head today.
geoffb rants uselessly about how much sinus infections suck 17:25
PerlJam and $62/year if you want the subscription to Communications of the ACM
(as a student)
joao yes
that's it (I guess)
PerlJam hasn't been an active member of the ACM in almost 10 years.
rafl autrijus: Yes. @config[-1]{"Features} seems to have the right content. 17:26
wolverian PerlJam, our university provides access to the ACM digital library, which is nice 17:35
xinming_Beijing hmm, what's the differences between `{}' and `do { }' are please?
PerlJam wolverian: cool
xinming_Beijing: "do "
xinming_Beijing closure seems to be a do command. 17:36
does `do' here mean do immediately. and closure will "do" while you are calling it? 17:37
17:37 noone2 is now known as mikemonster
joao {} is not haskell valid syntax, is it? :) 17:38
autrijus xinming_Beijing: do{} is an expression that evaluates the block; {} is just a block.
eric256 joao i think he meant in pugs 17:39
PerlJam xinming_Beijing: {} makes a closure in some contexts, do{} just executes the code in {}
joao oh :)
stupid me
nothingmuch sub do (&code) { code() }
wolverian xinming_Beijing, in void context closures are automatically run - I think they're equivalent to 'do { }' there 17:40
autrijus rafl: got it. fixink
wolverian I also seem to remember that they're run in 'sub foo { bar; { ... } }' automatically, which is somewhat bizarre
autrijus wolverian: but if you want to return {}, you can write return {}. 17:41
wolverian autrijus, right, but it makes no sense to me.
I recall someone explained the logic to me last time, sorry if I'm bothersome :)
PerlJam Perl6 just looks for a leading pair to distinguish {}-hash c'tor from {}-closure c'tor, right? 17:42
autrijus rafl: "our" does not work yet, that's why.
rafl: or maybe not, hm. still thinking 17:43
rafl: turns out may be due to depth... 17:56
the "." was abbreviated "..."
I increased the depth. recompiling
yup. increased so it dumps until level 1024. 17:57
rafl: fixed. thanks! 17:58
gaal yo. t/builtins/arrays_and_hashes/pairs.t:73 parsefails. should it? 18:00
$hash_of_1_pair.pairs.sort.map:{ .key~'='~.value }.join( ',' )
autrijus aw, must be due to the new blockdot bug 18:03
svnbot6 r7315 | autrijus++ | * Increase .perl's recursion level so it won't turn into "..."
r7315 | autrijus++ | until level 1024 -- in contrast to 10 before.
r7315 | autrijus++ | * Also, when it does reach there, output "{...}" instead of "{.}".
autrijus I posted p6l for clarif
s/bug/fix/
s/fix/bug/ 18:04
anyway, I'm fixing the bug. or bugging the fix.
gaal big flop operator, or flip bug
xinming_Beijing hmm, In fact, after `$var ?? true :: false' 's changed into !!, I wonder if !! will be the specification, As Larry said to use it for a week. :-)
svnbot6 r7316 | gaal++ | getc, like readline, needs guardIOexcept [(isEOFError, undef)] 18:09
autrijus gaal: you saw my comment re mkdir? 18:15
btw, parser fix bugged, committing after test
gaal autrijus, yes, sounds like a reason to push lexical pragmas in :) 18:16
nothingmuch hmm 18:17
gaal i don't mind reverting to undef in this release of course, if we won't make it
autrijus I don't mind it being fatal either. 18:18
anyway, the parsing fix is in.
svnbot6 r7317 | autrijus++ | * gaal reported the block parsing fix is still buggy, so now 18:21
r7317 | autrijus++ | I made sure that adverbial blocks parse differently from
r7317 | autrijus++ | nonadverbial ones:
r7317 | autrijus++ | pugs> :d f{x}.z
r7317 | autrijus++ | App &f (: App &z (Syn "sub" {sub {...}}: ))
r7317 | autrijus++ | pugs> :d f:{x}.z
r7317 | autrijus++ | App &z (App &f (: Syn "sub" {sub {...}}): )
nothingmuch can anyone help with finding out what PGE emits for e.g. p6rule_like('abcdef', 'bcd', qr/0: <bcd @ 1>/, '$0 capture'); ?
#parrot people are not responding 18:22
autrijus ok, I'll shift to perl5 installation
then back to cabalization
nothingmuch: ...particle is handling it now
gaal i gotta run for a bit... later! &
dduncan goodbye and hello 18:23
I understand that today's focus is getting the tests to work, for a 6.2.10 release, later today or so?
autrijus dduncan: yes! 18:25
dduncan: changelog too
dduncan I hear you 18:26
svnbot6 r7318 | nothingmuch++ | Some [slightly broken] progress in milner.pl
r7319 | gaal++ | some TODOifications
joao nothingmuch, which articles are you reading to make the implementation? 18:28
nothingmuch joao: so far only the one mentioned in the comments 18:29
joao let me see :)
nothingmuch Basic Polymorphic Typechecking
it was very nice
joao thanks 18:31
svnbot6 r7320 | nothingmuch++ | Oh shit! The reason the test failed was that the wrong variable name was used (list_plus_ten or plus_ten) 18:32
r7321 | iblech++ | * Usual svn props. 19:03
r7321 | iblech++ | * Moved t/pugsbugs/{map-and-sort-in-for,grep-and-sort-in-for}.t out of
r7321 | iblech++ | pugsbugs/, as grep { 1 } @array works again, autrijus++
r7321 | iblech++ | * t/statements/do.t: Should "do 42" work?
r7321 | iblech++ | * t/pugsbugs/{cast_undef_shortcircuit,parsing_if,attribute_of_return_value}.t:
r7321 | iblech++ | * unEVAL.
autrijus iblech: blib6/lib/perl5/* .
autrijus also needs to list optional deps 19:05
obra Somehow, I saw "optional sleep" 19:06
autrijus I think you need mandatory sleep. 19:07
:)
obra :)
svnbot6 r7322 | autrijus++ | * copy perl5/ into blib6/lib/perl5/ for installation. 19:09
eric256 needs extended sleep ;) 19:19
dduncan quick question: does the current pugs support an equivalent to Perl 5's concept of labels, such as one can use with a 'next' or 'last' or etc? 19:23
autrijus eric256: you can get an extra-large dose of sleep :)
dduncan attempting to use them like in perl 5 was a compile error; commenting them out made compile work
autrijus dduncan: no, it's planned along with gaal's pragma work.
dduncan so I'll commit with them commented out, then 19:24
autrijus may or may not make the release; if not, then after the release
nothingmuch GRR
nothingmuch is leaking closures somewhere
autrijus nothingmuch: mm?
p5 closures?
you can trivially leak them ;)
nothingmuch no, it's more than that
pasteling "nothingmuch" at 82.81.247.180 pasted "the bad code" (16 lines, 358B) at sial.org/pbot/13483 19:25
eric256 haskell feels alot like pascal sometimes....keyword/module/pacakge wise. at least from what i remember of evil pascal 19:26
nothingmuch for some reason $against gets 'abc' twice when it should be getting 'abc' and then 0
nothingmuch slaps eric256
don't you dare speak about haskell that way
eric256 lol
nothingmuch taught pascal recently
it sucks so bad i'd prefer to be a wartime prostitute than a pascal programmar 19:27
eric256 LOL
and they insist on teaching it in school
autrijus mumbles something about fortran.
nothingmuch haven't done that 19:28
autrijus good, because you'd rather be a wartime soldier than a fortran programmer
dudley_ mumbles something about DEC BASIC
geoffb
.oO( VAX Assembly -- I got the last year of it, before my university switched to teaching MIPS )
19:29
xinming_Beijing autrijus: hmm, How can we get the current time string using localtime please?
`localtime time` doesn't work. :'(
autrijus in p5?
xinming_Beijing no pugs
in pugs
nothingmuch OMG!!!!!!!!!! I AM SUCH AN IDIOT
nothingmuch was programming bash in perl
used $1 instead of $_[0] 19:30
which was already shifted into $str anyway
autrijus xinming_Beijing: or no, I'm not sure. look at src/perl6/Prelude.pm
there's no stringification method there
svnbot6 r7323 | Darren_Duncan++ | /ext/Locale-KeyedText : corrected 2 files so that everything compiles; in KeyedText.pm, commented out any labels used with next/last (todo, uncomment when labels implemented); in t_LKT_Util.pm, corrected an actual syntax error 19:33
nothingmuch woot! 19:34
first ~150 tests programmatically ported to parrot
no Test::Base yet
but it's easy to split that up
xinming_Beijing I will get {obj:Time::Local} for the function localtime, Is that the right behavior? 19:35
autrijus xinming_Beijing: yes, but it really needs a good stringification method
19:36 brentdax__ is now known as brentdax
xinming_Beijing autrijus: hmm, so, IMHO, `localtime time` should return the current time "string" 19:37
autrijus xinming_Beijing: under string context, yes.
xinming_Beijing hmm, I don't mean the string itself, But just what pugs should print.
autrijus yes.
I totally agree.
write a TODO test for it please.
something that compares "{localtime}" against '{obj:Time::Local}' and see they don't match. 19:38
:todo<feature>
nothingmuch p6rule_is("xyz", '\By\B', 're_tests 138 (#168)');
err, wrong channel
PerlJam hey, today is wednesday isn't it? 19:39
autrijus yes.
eric256 some places it is ;) 19:40
PerlJam perl6cabal have their phone conferences on wednesdays. autrijus, you should join in :)
autrijus PerlJam: should I. I'm not in the cabal, you know :)
PerlJam autrijus: no, but you might as well be. :)
autrijus I was invited in the sketch
but it's semipublic -- #parrotsketch on irc.perl.org -- transcripts are published, and all is welcome to observe 19:41
(as in, +m)
eric256 sketch? cabal?
autrijus but not the phone conference or the cabal list.
eric256: I guess these should be in the FAQ... 19:42
eric256 hehe.
autrijus eric256: re sketch, see use.perl.org/~jesse/journal/26995
re cabal, it's the sixperl list of perl six design team
with weekly conference calls summarized by luqui 19:43
# use.perl.org/~luqui/journal/
obra all of this is syndicated to planetsix.perlfoundation.org
autrijus right, which is the One True Portal to all your perl6 news!
obra woot! 19:44
autrijus (suggest new feeds as appropriate to obra.)
obra thank god. perl6 has one true SOMETHING
eric256 i didn't even know that part. (about the one true portal, well actualy most of that)
autrijus obra: ;)
it also has one true operator.
?eval true 'ring'
evalbot_7312 bool::true
autrijus see?
obra what? the hotsprings operator?
autrijus it rings true
obra groans
autrijus bad-joke-r-us
eric256: anyway, the cabal's existence was not well publicized until this year 19:47
eric256: but its members can be tracked at dev.perl.org/perl6/people.html
which for some reason is missing obra and pmichaud.
eric256 feels as if he suddenly realized the world is run by secret clubs 19:48
autrijus eric256: it's time for you to get illuminated
you can begin by reciting "Hail Eris". 19:49
eric256: anyway, so when you see @Larry, that is synonymous to cabal. 19:50
eric256 your such a wealth of information, if your not carefully they might have you wacked for spreading there secrets ;) 19:51
autrijus that is why I am actually a committee
you can't squash us all!
autrijus feeds eric256's paranoia some more 19:52
eric256 lol 19:53
eric256 suddenly has the image of a thousand tiny men inside of a Humanoid robot. ;) 19:54
wolverian autrijus, except when cabal is the haskell release tool..
autrijus we are actually a thousand humanoid robot inside a person
wolverian (haskell, for discriminating oppressors?)
autrijus we have a dream: one day children of silicon can join hands with children of carbon, and one will be judged by one's .chars instead of one's .elems... 19:55
wolverian heh, I immediately thought "perl vs lisp" 19:56
dduncan I've discovered an issue with the current pugs, which may be known, where testing a method argument for definedness returns true even when the arg is explicitly passed undef 19:57
autrijus dduncan: write a test?
dduncan I'm trying to recreate it outside of my module 19:58
nothingmuch damnit 20:01
there is some lossy data 20:02
autrijus ok, perl5 installation done.
whew.
Qiang hi , autrijus. back to tw ? 20:03
joao obra, why obra?
autrijus Qiang: no, in eu 20:04
svnbot6 r7324 | nothingmuch++ | partial conversion - currently non-refactored
r7325 | autrijus++ | * For perl5 helpers like -BPerl5 and -BJS, adjust the search path
r7325 | autrijus++ | for the "perl5" library in the order of:
r7325 | autrijus++ | '.', '../..', $installsitelib, $sourcedir
r7325 | autrijus++ | that is mainly to facilitate debugging during development.
Qiang can never figure out where you are. hehe
finland ? 20:05
obra joao: totally random two syallable word. no relation to any real word
joao obra, ok, it's a portuguese word :)
obra Yep. I was at yapc.eu this year. I saw ;)
Also spanish
joao yaps, do you know what it means? 20:06
I was at yapc.eu too :-)
autrijus hm, what's wrong with ext/Getopt-Long/t ? maybe it should be moved as t_disabled as there is no code.
I'll do exactly that
Qiang: correct.
Qiang: going to stockholm, then amsterdam, then stockholm 20:07
eric256 has a hard enough time affording staying in one place ;)
joao autrijus, how much is a plain ticket from "europe" to taipei?
Qiang nice. hope you have a good time besides pugs :)
autrijus Qiang: in fact, yes, but pugs is the foreground :)
going to places is, as you know, akin to changing desktop wallpapers to me.
joao: usd$1k, if booked in advance. 20:08
joao not cheap :)
Qiang hhe. nice comparesion 20:09
autrijus far from it.
I mean, far from cheap.
svnbot6 r7326 | nothingmuch++ | nested groups in rules.t converter
Qiang that's the advantage of not having to work full-time. but still how you can do the conference thing beyong my believe. 20:11
autrijus that's the advantage of minimizing the Real World window :) 20:12
the disadvantage is, of course, that you miss the ultra high resolution "physics" engine.
Qiang you can always do that later :)
so when are you back to tw ?
autrijus not sure there will be a reality around in a few decades, but one can hope. 20:13
Qiang: in november
Qiang err . :D
autrijus Qiang: I'll stay thru the lunar new year, then start wandering around europe indefinitely
Qiang i haven't spend chinese new year for at least 5 years. 20:14
europe will be too small for ya.
svnbot6 r7327 | autrijus++ | * disable Getopt::Long tests because there is no code yet.
autrijus Qiang: aye... so maybe also canada 20:15
dduncan nevermind what I said before ... issue seems to be elsewhere
Qiang if don't mind the winter here :)
but try vancouver anytime. 20:16
autrijus can't be worse than scandanivia.
eric256 autrijus did you win the lottery or something? or just realy good at saving and living on nothing?
autrijus eric256: the latter.
Qiang autrijus: that's true.
eric256 i'm assuming no wife and children? if it weren';t for them i'd be rich ;)
autrijus eric256: and I don't start saving until my bank account hits $0 (minus this month's living expense) 20:17
Qiang eric256, lol
autrijus eric256: aye... vasectomy has its benefits, you know
eric256 i look back at before marriage and i'm just amazed at how cheap one man can live. ;)
Juerd Does anyone use their @feather.perl6.nl e-mail address?
It was a much requested feature, but I don't see any evidence of anyone actually using it :) 20:18
autrijus Juerd: I do not
if you start accepting delivery to @no.perlcabal.org or @perlcabal.org (both pointed to the same machine) maybe it would become popular ;)
(or not.) 20:19
Juerd autrijus: I noticed by the amount of spam in your inbox :)
autrijus lol.
Juerd Oh, I can make it accept delivery on those domains if you want
autrijus don't bother really :)
Juerd Okay
20:19 brentdax__ is now known as brentdax
Juerd Hi Brent 20:19
brentdax Hey. 20:20
Juerd I'm off
Should anyone wish to comment on feather's email system, please just do so
nothingmuch eep! 20:21
Qiang autrijus, your $work involve catalyst too ?
vladtz 7323 hangs in t/builtins/io/dir.t memory use is up to 400M and climbing...(Linux build)
autrijus Qiang: a bit, yes
Qiang er. xinming in beijing ?
autrijus vladtz: confirmed.
fixing
Qiang what's your view on it? stable / good enough ?
autrijus Qiang: it's good enough, definitely. 20:22
I'd not call it 'stable'.
nothingmuch what nagative zero width subpattern assertions cannot be variadic in perl 5?
autrijus "actively maintained and developed".
nothingmuch: because perl5 is not PCRE.
nothingmuch no, not why
which
all of them
?
autrijus all of them
nothingmuch =(
autrijus er wait
just behind
nothingmuch okay
autrijus ahead is fine 20:23
you can fake variadic behind using multiple behinds
nothingmuch no need
Qiang i see. we have few people from perlchina have interest to learn and to introduce catalyst to others. 20:24
autrijus Qiang: cool. I do wonder how soon will there be a catalyst book 20:28
it seems adequate during this autumn renaissance of perl books 20:29
Qiang chunzi (a member) done some catalyst work (wrote member.perlchina.org) and it looks promising. 20:30
look at how RoR taken off, perl's framework for webapp need a boost too. 20:31
autrijus I wonder how RoR had taken off really.
it's mostly given the other languages a good shake of reality
and make MVC cool again.
Qiang well. least generated lots buzz. perl has been quite comparing to python/ruby 20:32
autrijus right. buzz.
autrijus ponders an everybody-blog-about-pugs campaign
autrijus decides it's a bad idea instantly
eric256 is confused by ovids email to the list. starts with a "roles shouldn't provide trust" and ends with "thats why i think roles shoudl be allowed to specify trust".......besides the fact that i have no idea how roles actualy help in his example 20:33
autrijus vladtz: fixed. committing...
Qiang heh. it should be done base on the real work. it will attract people if it's good. 20:34
if it is good, then some PR doesn't hurt :)
autrijus right. appropriate PR for appropriate stages.
autrijus mumbles something about Dylan and PR deficiency. 20:35
obra funny. I have friends who were big dylan snobs in the 90s
Qiang hhe. if i didn't read your journal, i would have no idea about dylan (tho i still do , :)
autrijus dylan is really pretty good. I shall spend more time playing with it. 20:37
svnbot6 r7328 | nothingmuch++ | better version of converter
r7329 | Darren_Duncan++ | some ChangeLog updates 20:43
dduncan eric256, I think I understand what ovid wants, that a role can declare with 'trusts' that only certain other classes are allowed to call its private methods, just as a class can do the same with 'trusts' 20:46
I think I want the same thing too
where Perl itself enforces these things, and the called method doesn't have to use 'caller' etc to test who called it 20:47
fyi, I was going to use a caller-based trick in the perl 5 versions of my classes to simulate the perl 5 private methods, ensuring no one but those classes I approve can call them 20:48
I mean, simulate perl 6 private methods
svnbot6 r7330 | autrijus++ | * gaal accidentally broke readdir by deleting one random line. 20:55
r7330 | autrijus++ | vladtz caught it right away.
wolverian autrijus, I've heard dylan is "just a crippled lisp without s-expressions". then again, what language does that not match... 20:56
autrijus wolverian: forth does not match.
but indeed
nothingmuch laundry time
bicycle time 21:01
autrijus starts journaling 21:05
geoffb Blog up: www.oreillynet.com/pub/wlg/7996
*whew* 21:06
autrijus woot!
geoffb Time for some backlogging, and then $work
autrijus I've been advertising for you all day
geoffb heh
I hope it meets expectations, then!
nothingmuch nothingmuch.woobling.org/p.t
intermediate parrot test stuff
rafl autrijus: Thank you!
nothingmuch if someone has debugging tips, that could help
i'm off anyway 21:07
autrijus geoffb: I feel... a bit embarrased I guess, but very grateful for the writeup. 21:10
it's excellent.
geoffb thanks 21:11
autrijus geoffb++
geoffb I had a choice to make you anonymous or not, I decided that people just plain like celebrities. :-)
thanks for the kind words
leo__ geoffb++
autrijus geoffb: hence, the embarrasment
geoffb and again. :-)
autrijus but I will celebrate your writeup in my euro oscon talks and shamelessly use them in the takahashi slides :) 21:12
geoffb heh
leo__ $ ./parrot -Ofun examples/pasm/fact.pasm 21:13
# works
autrijus excellent
even better, it's strictly equivalent to 21:15
$ ./parrot examples/pasm/fact.pasm
hence proving parrot has its sense of fun as builtin
(for some value of proving)
geoffb heh 21:16
eric256 geoffb nice article 21:18
geoffb thanks, eric256
leo__ autrijus: it's of course optimized fun 21:20
joao wonders which is the best place to start blogging/journaling 21:21
geoffb use.perl.org. :-)
autrijus joao: haskell sequence and use.perl are both easy to set up
gaal rehi. 21:24
oops :)
joao geoffb++ # great article :) 21:28
geoffb Thanks, joao
autrijus geoffb's column: www.oreillynet.com/pub/au/2333 | Pugs 6.2.10 coming soon | pugscode.org | pugs.kwiki.org | paste: sial.org/pbot/perl6 | www.geeksunite.net 21:29
geoffb thanks, autrijus 21:30
autrijus np :)
21:42 joao_ is now known as joao
dduncan I've decided to start smoking ... since it looks so easy now 21:52
autrijus cool!
autrijus praises low entry of barrier to smoke.pugscode.org
eric256 man...just say no...don't you watch the commercials? don't submit to peer presure!!
autrijus further praises nothingmuch for bringing it over to smoke.parrotcode.org 21:53
eric256 oh...ummmm..hhmmmm....nevermind ;)
dduncan also, I like that new smoke.pugscode.org page
fglock__ the pugs Marlboro men
eric256 ummm...the colums on that page have no headings..... 21:54
dduncan yes, there is that problem 21:55
on another note, I think the only runtime problem with /ext/Locale-KeyedText is also the same as what is causing t/builtins/arrays_and_hashes/pairs.t to fail 21:56
once that test is made to work, my module probably will too 21:57
autrijus eric256: they have tooltips 21:59
eric256 not for me 22:10
odd
autrijus firefox here. 22:11
eric256 i would swear those werent there a minute ago. lol
firefox here too, but sometimes mine doesn't seem to like tool tips
autrijus lol
eric256 shouldn't all the know fails be marked in some way so that you know when something breaks *more* tests? 22:12
or is there some easy way to tell if a new build is failing more tests?
autrijus look at the numbers on the smoke page, mostly
we are down to 191 fails. thank eris 22:13
(but concretely, thank gaal)
gaal but it's a good point. it'd be great if the smokeserver stored the yaml data too and diffed it
autrijus it is.
gaal you're very welcome
tomorrow (well, today) i'm giving a talk about pugs again
for my local pm group
eric256 how do you access the diffs?
autrijus eric256: it's p5 hackery - util/smokeserv/smokeserv-server.pl 22:14
gaal eric256: you don't, currently :)
eric256 ahh
autrijus eric256: comparing two yaml records, using something like wikipedia's "diff between revs" ui
gaal though i recall someone used to take the output of `make test` and put it on a wiki
eric256 blasphemy, the smoke server isn't writtin in perl6!!! what outrage
autrijus you are welcome to port them!
eric256 did i say blasphemey? i mean ingenious. ;) 22:15
autrijus roflmaohlagh
gaal hahaha
eric256 (/me apologies now for any past and or future spelling errors )
dduncan I just discovered ...
as I'm attempting to get the smoke utility up and running ...
eric256 aplogizes....aplogize's...well you get the point 22:16
dduncan that it has a half dozen CPAN distro dependencies that I didn't have installed yet, and some are large
so porting all that is non-trivial
autrijus dduncan: oh?
gaal eric256: if you do try to diff tests.ymls, make sure you weed out 'time' :)
eric256 finaly reached gaurds in haskel....watch out i'll be hacking on something soon
autrijus dduncan: I thought it's just LWP.
eric256 good point gaal
dduncan I refer to 'make smoke'
autrijus eric256: I look forward to it
dduncan: ah. right. YAML, Test::TAP::Model, etc 22:17
eric256 yea dduncan i looked into porting Test way back and realized the same thing...but can't you use perl5 modules in pugs...so theoritcaly you could port them over slowly
autrijus yes, but it is decidedly less fun that way
dduncan yes, you could
gaal Test::TAP::HTMLMatrix pulls in petal and stuff.
dduncan and Petal pulls in stuff 22:18
autrijus much more practical though.
eric256 its like 6 degrees of seperation from Test to every module on CPAN?? ;)
autrijus wonders if "p" in "perl" stands for "playful".
gaal for `purrs`.
autrijus eric256: modulo the islands, perhaps
gaal++
"purrs eyes rolls laughs" 22:19
what a fine language.
eric256 hmm i wonder how hard it would be to map all the dependencies of cpan in some topographical way...could be interesting
autrijus eric256: Alias did something like that some time ago
gaal Module::ScanDeps!
autrijus er, that too. 22:20
dduncan I think I just installed all of these, for 'make smoke': Test-TAP-Model, Test-TAP-HTMLMatrix, URI, Petal, MKDoc-XML ... I already had YAML from before, so didn't have to pull that
eric256 wow... haskell gaurds are like multi methods on crack...this could get fun
gaal all you need is to install Meta and then run it on that... *duck*
dduncan about a half dozen dependencies, besides what Perl 5.8.7 bundles
autrijus gaal: we already Model the Meta
so we never meta model we didn't like. 22:21
gaal dduncan: oh well, at least vanilla build doesn't require all that. if you *do* want to yamlsmoke, it's really just one command, `cpan Test::TAP::HTMLMatrix'. 22:22
We need more Acme:: modules!
dduncan sure ... but I didn't do that
autrijus gaal: it may be nice to adopt ExtUtils::AutoInstall for that I think
gaal [tense mangling] so... did!
autrijus saves some trouble for manual chasing 22:23
gaal hey, i know the guy who wrote that!
autrijus sounds like a sick fellow 22:24
not as sick as a certain person who wrote inc::Module::Install, though
gaal yeah, i just read the manpage and saw the "block" version of the module... 22:25
dduncan it says I should create a .smoker.yml ...
gaal you don't have to, dduncan
autrijus I never did
dduncan what good is it then
gaal but if you do, your smokes on the server will have your name on them
dduncan does anyone else do that? 22:26
autrijus so you will get extra doses of fame and glory.
gaal i think i'll add a 'homepage' field there so that googlegreedy people get tempted
dduncan I'm only inclined to put my name on them if other people are ... not for privacy reasons, but so I don't look greedy 22:27
gaal dduncan, it can be useful if for example you're messly like i am, and occasionally submit a smoke with local code variations from the tree
i do it, nothingmuch does it
dduncan good enough for me
gaal and i was joking about the homepage :) 22:28
eric256 i would run the smoke tests...but i'm betting someone on feather already does and that would be kinda pointless ;)
dduncan but you and nothingmuch doing it already is enough impetus for me to
gaal eric256, if you only build on feather then probably, yes
dduncan: what platform are you on? 22:29
dduncan Mac OS X 10.3.9
gaal wait, no, feather doesn't autosmoke
dduncan I'm doing it on my own comp, not a server somewhere
gaal yeah, most of us are. nothingmuch is on some mac too, but i don't know what version.
eric256: if you need a break from haskell there's one or two improvements in the build system - in fact making automatic smoke submission easier is one of them 22:30
eric256 i'm game 22:31
dduncan my situation is different than nothingmuch, since I install pugs in a non-standard location ... I never put it in /usr/local ...
likewise, I leave the systemperl alone and put my own in a non-standard location
gaal great! grep -r for PUGS_SMOKE_UPLOAD: run-smoke uses it to optionally do something after the smoke 22:32
but it shouldn't do it that way, it should look for configuraion in config.yml
dduncan curiously enough, the build info given at the top of the posted smoke files doesn't say what versions of the OS etc are being used 22:33
gaal eric256++
dduncan for nothingmuch, it simply says darwin-thread-multi-2level
eric256 grepping now.
gaal that's $^O, i suppose? 22:34
dduncan: if you know a portable way to fix that, please do!
dduncan: also, i don't know if nothingmuch is installing at all (i for one never do)
dduncan I don't immediately know
eric256 hmmm grep -r is gone and ....still gone...got a better idea where i'll find it at?
gaal util/run-smoke.pl, but maybe a few loose scrips 22:35
and probably hack.pod too :)
dduncan maybe he isn't ... I could have been confused by all the 'standard' paths listed, and absense of other paths, save 'blib6/lib' 22:36
gaal i should really sleep, but i'm not sleepy
eric256 is there another util that is already reading the config file i can use as an example? or just hack something together for a start? 22:40
gaal eric256: sure, Makefile.PL uses it 22:42
eric256 duh. lol 22:43
gaal use PugsBuild::Config; PugsBuild::Config->lookup('ghc_heap_size');
dduncan do you know if nothingmuch runs smoke from a cron job or manually?
gaal cron i think; he updates all the time.
eric256 soo all i need is 'use PugsBuild::Config' ?
if so then yaml_harness.pl can be simplified too 22:44
dduncan it is perhaps redundant if I do the default one, since he does it automatically and we may have the same system ... however, he doesn't do any other backends
gaal eric256: that and add a defualt value for your filed
field
eric256 what is the defualt for that feild?
joao is going to sleep 22:45
gaal plus update the templates...
sec, gotta see what my cat is up to
joao waves
eric256 looks at PugsConfig.pm but it says not to modify it because it was created with util/generate_config ... which doesn't seem to exist 22:47
gaal not that one... sec
you want lib/PugsBuild
lookup raises an error on unknown values, possibly a wrong choice on my part (feel free to change if you think so) -- 22:48
eric256 no such file here.../me starts to feel more like trouble than help
gaal -- so it has to knwo what values are recognized 22:49
inc/PugsBuild/Config.pm
my bad
eric256 yea just found it
gaal maybe i am sleepy a bit :)
eric256 okay so right below smoe_concurrent i'll add the default...and a resonable default? 22:50
gaal but maybe deprecate the old way instead of removing it completely? i don't know who actually uses it
maybe just nm
yes, exactly
eric256 what is a reasonable default though? 22:51
gaal not to upload, i think
so ~
which means undef in YAML
well in the perl code say undef 22:52
in the examlpe config.yml, util/config-template.yml, put a comment 22:53
then run-smoke.pl can look up the smoke server url, and if not null, send a smoke there.
eric256 k i think...its just running 22:54
system("$ENV{PUGS_SMOKE_UPLOAD}" )
right now
gaal ah, also i have a bug :) lookup, the fool, is checking for defindedness instead of existence 22:55
i should sleep 22:56
eric256 i have no idea what you are talking about. lol
gaal i'll fix that then.
eric256 if ( defined $ENV{PUGS_SMOKE_UPLOAD} ) { # that the line you mean? 22:57
gaal nah, in the config.pm. committed. 22:58
svnbot6 r7331 | gaal++ | PugsBuild::Config should check for existence, not defindedness, of known 22:59
r7331 | gaal++ | lookup elements.
gaal heh, that's 1337 spelled backwards. rawk
eric256 uhmmm my feather account can't make for some reason
no ghc found....thats just odd.
i gotta run now...can i commit what i've done? no chance to test it yet 23:00
gaal maybe Juerd just apt-get dist-upgraded?
eric256 and if so how do i commit on svk? i'm used to svn
gaal since i'm going to bed now and noone's around (i think? hello?) maybe you shouldn't unless you're sure it doesn't break the build 23:01
clkao same. just recheckout
gaal then again if noone's around...
eric256 hehe i'll set on it..and to it proper in the morning instead of rushing now...
gaal hah, hello clkao, do you have a trigger on svk? :)
anyway, i'm off for real now 23:02
eric256 i'll even sit on it
later
gaal good night!
clkao busy making 1.05
gaal clkao++ # making
gaal zzZZZ &
autrijus g'nite gaal 23:06
I need to sleep too. 23:07
journal up. see ya tomorrow :)