Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2006-05-06

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:07 goedel joined perl6
00:07 TimToady yay, now passing over 11,000 again.
00:32 wolverian TimToady++
00:33 TimToady doubtless audreyt will find a way to drop that back down to a more reasonable number over the weekend. :)
00:35 meppl joined perl6
00:36 Quell joined perl6
00:48 TimToady I'm wondering whether we should disallow # as quote delims.
00:50 TimToady At least one of the tests fails because rx#/# eats the # trying to traverse the whitespace to find the delimiters...
00:50 wolverian what whitespace? :)
00:51 TimToady A comment is always whitespace...
00:51 wolverian there is no comment there, is there?
00:52 TimToady there is if rx trys to traverse whiteSpace to get to the delimiter...
00:52 TimToady *tries
00:56 TimToady whiteSpace = skipMany (simpleSpace <|> comment)
00:56 Ymmv joined perl6
00:58 wolverian what if there's only one whitespace? will skipMany ignore it? :) ah well. cough.
00:59 TimToady If you'd like to rewrite the parser in P6 rules, that'd be cool.
01:01 TimToady I'm sure a lot of people would find [ <simple_space> | <comment> ]* a lot easier to understand...
01:02 TimToady but it would still eat the #...
01:05 meppl gute nacht
01:09 oylenshpeegul joined perl6
01:09 TimToady g'night
01:10 meppl ;)
01:14 macroron joined perl6
01:19 justatheory joined perl6
01:24 rbysamppi joined perl6
01:27 flounder99 joined perl6
01:52 oylenshpeegul left perl6
01:59 Khisanth joined perl6
02:02 OutThere joined perl6
02:03 OutThere is now known as SubStack
02:11 ayrnieu joined perl6
02:13 stclare joined perl6
02:22 macroron1 joined perl6
02:43 integral joined perl6
02:49 audreyt joined perl6
02:58 azuroth anyone feel like drawing interaction diagrams?
03:07 frederico joined perl6
03:33 aufrank joined perl6
03:42 FurnaceBoy joined perl6
04:00 FurnaceBoy_ joined perl6
04:05 FurnaceBoy joined perl6
04:41 rbysamppi Hey...in Synopsis 6, it talks about immutable and mutable types, then value and implementation types. What's the relationship between whether or not a type is mutable and if it's a value or implementation type? Could I do things like this: @something is Array; $input is IO; &pattern is Rule?
04:41 rbysamppi (All those variables are being declared.)
04:46 PerlJam you need a declarator in there somewhere.
04:50 rbysamppi Yeah, I forgot them.
04:51 rbysamppi But assume that they're all my's.
05:12 aufrank joined perl6
05:12 aufrank hey all
05:13 PerlJam though, I wonder if in absence of stricture, would "@foo is Array" create a package variable of the appropriate shape
05:17 PerlJam I guess it must
05:18 azuroth foo bar baz quux quuux quuuux quuuuux
05:18 azuroth ...
05:32 FurnaceBoy hey I know that tune.
06:09 ardder joined perl6
06:09 Quell joined perl6
06:24 Aankhen`` joined perl6
06:36 neoesque joined perl6
06:38 penk left perl6
06:58 ghenry joined perl6
07:11 elmex joined perl6
07:21 szbalint joined perl6
07:28 iblechbot joined perl6
07:52 Southen joined perl6
07:53 spinclad Aragone: I don't see a way to keep parallel Judy1 + JudyHS arrays, since J1 takes word-length indexes and JHS takes counted strings
07:55 spinclad but it looks like adding first, next, last, prev to JudyHS would not be too hard, as long as you don't care about the order, only that it enumerates them all.
08:08 KingDiamond joined perl6
08:40 spinclad audreyt: see ^^
08:42 spinclad at this point i'm ready to do four things: (1) add iterators to JudyHS and contribute them back, so we can use them for Hashes
08:44 spinclad (2) build Tries with either Array[256] or JudyL[256] arrays
08:45 spinclad (3) build the < %tokenclass | %tokenclass > tokenizer with Tries
08:47 spinclad (4) do a precedence parser based on the rest of OPTable.pir
08:48 spinclad i suppose the first thing to do is add these to -- what, not RT TODOs, that's parrot, right?  just a TODO file somewhere.
08:52 spinclad re (2), i'm thinking of stepping through the Trie by octets, but with JudyL array nodes one could reasonably step through by unicode chars (codepoints, i guess).
09:03 larsen joined perl6
09:18 pdcawley_ joined perl6
09:29 nnunley joined perl6
09:38 kanru joined perl6
10:16 Juerd audreyt: /etc/sudoers updated
10:16 Juerd audreyt: /win 25
10:16 Juerd argh
10:17 Juerd s[audreyt\: /win 25][]
10:19 nnunley /me hands Juerd a new set of fingers.
10:19 nnunley Heh.  Irony.
10:31 turrepurre joined perl6
10:31 KingDiamond joined perl6
10:33 Juerd nnunley: I could use new wrists too. Do you happen to have some spares?
10:34 nnunley I wish.
10:36 xerox joined perl6
10:37 nnunley Hrm.  So it looks 'fmap' has become deprecated.
10:54 DaGo joined perl6
11:09 gaal nnunley: huh?
11:19 nnunley Data.FunctorM is deprecated with ghc 6.5, and with it fmap.  Not sure how long the deprecation cycle is in Haskell, though.
11:20 nnunley Err.. base-1.0, that is.
11:21 nnunley Definitely doesn't hit pugs in the near future, but still.
11:30 xerox joined perl6
11:33 iblechbot joined perl6
11:36 elmex joined perl6
11:39 gaal that's... interesting. got a link to a discussion?
11:55 nnunley http://www.haskell.org/ghc/dist/current/docs/libraries/base/Data-FunctorM.html
12:11 gaal hmm, so so many things will now have to derive Foldable... also, it seems that the Functor class and fmap aren't deprecated, themselves, just the monadic fmapM
12:12 gaal curious to see that fold functions are now methods
12:12 gaal err no
12:12 gaal just limited to class
12:13 gaal err yes, actually, methods.
12:14 pdcawley_ joined perl6
12:19 trampel joined perl6
13:49 DaGo joined perl6
13:52 kanru joined perl6
13:52 Limbic_Region joined perl6
13:54 neoesque joined perl6
13:55 trampel left perl6
14:08 lichtkind joined perl6
14:17 miyagawa joined perl6
14:25 justatheory joined perl6
14:28 DaGo joined perl6
14:35 pdcawley_ joined perl6
14:42 audreyt spinclad: (enuming JHS) would be fantastic.
14:44 audreyt spinclad: write down any thoughts you may have w.r.t that and add it to docs/notes/?
14:45 clkao audreyt: good evening
14:45 audreyt hi
14:46 clkao got mail about yaml::syck?
14:46 audreyt yup
14:49 audreyt clkao: sorry, was afk enjoying the latest cross-talk production in the series by Dr.Lai's Performance Workshop :)
14:49 audreyt (the one after the "millenium crosstalk")
14:51 * audreyt resumes procmail'ing
14:55 clkao heh
15:01 audreyt clkao: hm, YAML.pm and Y::Syck has inconsistent indent handling
15:05 audreyt clkao: what would you like me to do in the Y::Syck end? inhibit emission of double-quoted strings with indentation? imho it should be fixed at ingy's end
15:07 audreyt clkao: YAML 1.1 spec section 4.5.1.1 shows that syck's treatment is canonical
15:09 ushi joined perl6
15:10 clkao i don't know, right now i can't switch bac kto use older svk because it uses yaml
15:11 audreyt mm
15:11 larsen joined perl6
15:11 audreyt inhbit emission of qq+newline will fix interop
15:11 audreyt but that is potentially expensive
15:12 audreyt let ingy fix it at his end is perhaps easiest
15:13 elmex joined perl6
15:15 clkao mmm
15:15 aufrank hi folks
15:16 audreyt aufrank: hey
15:16 audreyt what was the letter you wrote that TimToady mentioned?
15:20 FurnaceBoy joined perl6
15:20 larsen_ joined perl6
15:21 aufrank audreyt: I sent you two letters a couple of days ago
15:21 aufrank to audreyt at that name  dot org
15:21 aufrank one was asking for comments about a developer tools SoC proposal, the other about PDL on perl6 SoC proposal
15:22 audreyt ah. right.
15:22 audreyt oh, so you cc'ed tt on the 2nd one
15:22 audreyt didn't noticed that. :)
15:22 aufrank yeah, he had been encouraging about that idea
15:22 xerox Did you find more pugs puppies to code Audrey? :-)
15:22 xerox (Howdy)
15:23 audreyt xerox: yeah, here is one with two ideas :)
15:23 xerox Good!
15:24 audreyt I wonder if we are overflowing hs.org slots a bit, but then I don't see a "quota line" in hs.org's google page...
15:24 xerox No, it's okay.
15:24 xerox We're thinking out how to make it fair, anyway :-)
15:25 * xerox unrolls the Mentoring Monad papyrus
15:25 aufrank audreyt: I'd still love to talk things out with you/ingy/juerd if any of you has time
15:26 audreyt the PDL (unified interface to vector/array/bitmap operations) one in particular probably belongs to hs.org more than perl.org if implemented on the Hs runcore
15:26 clkao audreyt: so return value is through capture as well now?
15:27 aufrank yeah audreyt, I figured the developer tools would be a TPF proposal if anything, and the PDL would be haskell.org
15:27 audreyt clkao: yeah. return is just invoking the return-cc "function"
15:27 audreyt clkao: and it makes more sense to reuse callconv
15:27 audreyt rather than conjuring another callconv out of thin air
15:28 kanru joined perl6
15:28 audreyt aufrank: the devtools one needs more... focus
15:29 audreyt I think "IDE support" is a clear banner
15:30 audreyt so "vector data types"->hs.org and "IDE support"->pl.org?
15:30 aufrank that makes a lot of sense.  I tried to bundle in some perl6 coding, but those aspects did make it seem very scattered
15:31 aufrank yeah, that works for me
15:31 audreyt you aware of util/perl6.vim and util/cperl-mode.el ?
15:31 larsen joined perl6
15:32 aufrank yeah, but last time I tried those they weren't up to date with the spec
15:32 aufrank that said, the existence of those is one of the reasons I tried to think of other things to bundle into the proposal
15:33 audreyt I think for IDE support, perhaps the most critical one is an underlying library that editors can call to
15:33 audreyt which all revolves around the AST/Grammar
15:34 audreyt that covers synhilight, taglookup, typeinfo, errmsgparse, and even rudimentary debugging
15:34 audreyt it'd be nice if vim and emacs and eclipse and whatnot can use perl6 to parse perl6.
15:34 audreyt (especially now that parsing perl6 without perl6 is going to be even more difficult...)
15:35 aufrank yeah, definitely
15:35 audreyt and as such is easily 3mo proj
15:35 aufrank yup
15:35 aufrank that sounds excellent
15:35 audreyt woot
15:36 aufrank I'm having trouble remembering what the name of the recent p5 pretty printing project was
15:36 aufrank parsing perl code according to a document model, IIRC
15:36 aufrank there was at least one perl.com article on it
15:37 audreyt PPI.
15:37 aufrank yeah, that's the one
15:37 audreyt Alias is occasionally here
15:37 * aufrank goes to look
15:37 audreyt and always on irc.perl.org #perl
15:37 audreyt there is also TimToady's MAD
15:37 audreyt now part of bleadperl
15:37 audreyt that dumps op+doc tree as one xml tree
15:38 audreyt so, the pdl one. Hs was traditionally very much _not_ a fast numerics language
15:38 audreyt probably because people who need fortran knows where to find it
15:38 aufrank right
15:39 aufrank there's at least one student interested in trying to make haskell friendlier to scientific computing this summer
15:39 audreyt oh? url?
15:39 aufrank I saw him in #haskell, but I'm checking now
15:40 audreyt but the fun of pdl is also that it makes things easier to script
15:40 audreyt there is a lot about this that can be learned from Guy Steele et al's Fortress
15:40 audreyt it's quite p6-like (rather Scala-like) in many ways, but targetted at the scientific computing crowd
15:43 mako132_ joined perl6
15:46 aufrank audreyt: http://hackage.haskell.org/trac/summer-of-code/ticket/13 and http://hackage.haskell.org/trac/summer-of-code/ticket/24 are the proposals that are sort of related, but I don't think either of those is from the guy I saw on #haskell
15:47 aufrank audreyt: yeah, fortress is the language I'm most anticipating aside from p6
15:47 aufrank and they're not -Ofun at this point ;)
15:48 audreyt they are rather like Arc at this point ;)
15:48 xerox But Arc isn't! :-)
15:48 audreyt (with all due respect to quux and pgraham)
15:52 jsiracusa joined perl6
15:56 aufrank bbiab, making some food &
16:02 TimToady audreyt: did you see my earlier musings about outlawing # as a quote delimiter?
16:04 audreyt TimToady: yeah. I don't see why not
16:04 audreyt I mean, we already disallow ws
16:04 audreyt and # is arguably ws.
16:04 TimToady Just looking for simplifications...
16:04 TimToady and since that's already what Pugs does...  :)
16:05 TimToady well, we're giving them most of Unicode plus [[[...]]], so I can't see that many complaints about losing #.
16:05 Ymmv joined perl6
16:06 audreyt yay :)
16:06 TimToady also I was discussing virtualizing <%.foo|%.bar> earlier...
16:06 TimToady and wondering about the performance implications.
16:07 TimToady since we need to track the token sets along with the grammar mods...
16:08 TimToady virtualizing just makes it a little harder to keep track of when to invalidate the cache, i guess...
16:08 audreyt ...and they are lexical to boot...
16:08 TimToady lexical to the comp unit, but dynamic to the cmpiler...
16:08 audreyt hm.
16:08 TimToady but you'd kind of like to think of each %.foo entry as its own method for overriding purposes...
16:09 audreyt currently I invalidate the cache after a BEGIN that may introduct new syms
16:09 audreyt regardless of what actually happened
16:09 audreyt perf isn't great that way
16:09 TimToady which is likely suboptimal
16:09 audreyt indeed
16:09 audreyt another thought is to make cache-invalid part of sym-table-entry-add
16:10 TimToady if we keep track of all the places it's used?
16:10 TimToady or make it check a valid bit that's in a handy place...
16:10 audreyt the latter is what I was thinking
16:11 TimToady I'm wondering if a more consistent symbol policy
16:11 TimToady like we did with my declarations
16:11 TimToady would let us process macros more expeditiously.
16:12 TimToady as in "you may not use a macro earlier than it defined in a lexical scope".
16:12 theorbtwo You can use macros retroactively?
16:12 TimToady no, but you can use macros from outside the current scope
16:13 TimToady and then override them.
16:13 TimToady that's what might be made erroneous in the interests of implementation.
16:13 TimToady we basically already did that with my $foo
16:14 TimToady basically, when we start a new lexical scope, it has a single new grammar, but we just don't know it all yet.
16:14 TimToady that's the idea.  not sure if it really works though.
16:15 TimToady it probably won't fly.
16:15 TimToady and stacked grammars in a single lexical scope can be useful.
16:15 * theorbtwo nods.
16:16 TimToady but we then do run into the same problem as with lexical vars, which is if a child calls back into our scope as its caller, which grammar do we tell them their statement was compiled with?
16:17 TimToady In particular, if that child is an eval.
16:17 TimToady and wants to default to the same language it was called from.
16:19 TimToady we need to be able to hand that child a $?PARSER that includes the macro names that were current at that point, however we define "current".
16:19 TimToady that means that <%foo|%bar> can't be off in some other scope independent of the current parser object.
16:20 TimToady that implies %foo and %bar are attributes of that parser object
16:20 TimToady and written <%.foo|%.bar>.
16:21 audreyt uh. if it's in some scope, we can hand the child a closure.
16:21 audreyt i.e. close over %foo
16:21 audreyt and hand it to that child
16:21 audreyt even if %foo is a cache of some sort
16:23 TimToady It's a closure that has to persist from compile time to run time, is all.
16:23 audreyt but we already do that for all BEGIN-time objects
16:23 audreyt that's why we attach to the AST an "object space"
16:24 audreyt with all compile-time-result objects
16:24 audreyt and that applies to eval"" as well, yeah
16:24 TimToady yeah, I'm sure it's doable, it just needs to be efficient.
16:24 justatheory joined perl6
16:24 TimToady mostly efficient for subsequent compile in this block, not too worried about eval.
16:25 TimToady though in a sense they're the same thing.
16:25 audreyt well, they need to be the same thing
16:26 audreyt otherwise we end up with perl5ish not-closing-over-enough-things eval""
16:26 audreyt which would be bad.
16:27 TimToady but my earlier talk of simpler policy is basically whether %.foo has to live in the current parser object or can live in COMPILING's lexical table.
16:28 audreyt and I think it should be a lexical-table-pragma-thing
16:28 audreyt since its effect is as such
16:29 TimToady hmm, you mean use COMPILING %foo?
16:29 TimToady *<%foo>
16:29 TimToady would have to be reimported on every subrule invocation
16:30 TimToady since it could be a different parent grammar.
16:30 audreyt but a shallow lexical-pad-union thing is cheap
16:30 TimToady or do you just mean a policy to look up %foo in teh current $?PARSER?
16:31 TimToady or the current COMPILING?
16:31 audreyt the current COMPILING.
16:31 TimToady (and all of its antecedents, for overlays)
16:31 audreyt (if this is slow, then OUTER is slow)
16:32 TimToady could just write the grammar <%COMPILING::statement_control|...
16:32 audreyt that's what I mean, except perhaps %COMPILING::?GRAMMAR::statement_control
16:32 audreyt or some other nonclashing names
16:33 TimToady this is basically just inside-out grammar objects...
16:33 TimToady seems a little silly, stated like that.
16:33 audreyt well, but if they are not closed over
16:34 audreyt (which they are not usually)
16:34 TimToady they?
16:34 audreyt the %foo hashes
16:34 audreyt they only get closed over when the block has an eval
16:34 audreyt or equivalent
16:34 audreyt inside it
16:34 audreyt they are not "env", that is.
16:36 TimToady seems like it would be really easy to generate an awful lot of duplicate closures in parsing if we're not careful.
16:36 audreyt (or exported, but that amounts to closing the scope over)
16:36 audreyt and as such can be efficiently codegen'ed into a "local" register (to use parrotspeak) instead of a true lexpad entry, if we can make sure that a closure is not needed
16:36 audreyt nod.
16:36 audreyt but I thought it's the API here that you are wondering about... :)
16:37 TimToady I wonder about everything, except when I don't...
16:37 TimToady but yes, I'm mostly wondering what is the most natural API.
16:38 TimToady and I do think that people can imagine a "current parser object" more easily than they can mysterious closures.
16:38 audreyt then in that case, <%COMPILING::foo> is I think not more strange than <%.foo>
16:38 audreyt especially for people actually tweaking the p6 grammar
16:38 audreyt i.e. I wonder why we are huffmanizing this :)
16:39 TimToady except for the fact that COMPILING has a policy of one-nameset per scope, and %.foo doesn't imply that
16:39 audreyt yup.
16:40 audreyt I guess I'm biased :)
16:40 audreyt (mutable cursor properties vs. immutable closure-based updating)
16:41 TimToady well, as long as it always does everything everyone might ever want, I don't care.  :)
16:42 audreyt heh :)
16:42 TimToady are you working on Capturizing pugs this weekend?
16:44 TimToady (to the extent that anyone with ADD can be said to be "working on" any particular thing... :)
16:44 audreyt lol
16:44 audreyt $job want me to port Jifty to Win32
16:44 audreyt already uncovered two XS module build failures so far
16:44 audreyt XS and win32 doesn't easily mix it seems
16:44 audreyt if I get them (and maybe more of them) resolved tomorrow, with the aid of the great CPAN community
16:44 audreyt then yes, I'd love Capturizing pugs
16:45 audreyt otherwise it'd have to wait till Monday.
16:45 TimToady k
16:45 TimToady I'm just itching to start writing bits of the Pugs compiler in P6 rules...
16:46 audreyt oh, sure, but that's quite orthogonal to capturizing...
16:46 TimToady but when we make the Capture <=> Match thing bridge across, we can start rewriting rules piecemeal.
16:47 TimToady or start thinking about auto translation.
16:47 audreyt oh. right.
16:47 audreyt nodnod. I've been thinking about autotranslation for months :)
16:47 TimToady I know.  But I'd be happy with piecemeal hand translation.
16:48 TimToady if only to prototype the autotranslator
16:48 audreyt nod. how about starting with Signatures? :) (Perl6::Subs, Perl6::Bindings, etc all have incomplete specs)
16:48 audreyt and it'd equip Pugs with a good Signature parser; the current one doesn't do unpacking
16:48 audreyt (any sort of)
16:48 audreyt so is of limited use when writing tree transformers
16:48 audreyt which relies heavily on unpacking
16:49 TimToady I can start thinking about that.
16:49 TimToady have my own set of distractions though...
16:52 audreyt :)
16:53 TimToady speaking of which, I need to wander off.  anything else hanging fire?
16:57 audreyt not afaics
16:58 audreyt I envy that your distractions form a set
16:58 audreyt mine is a cyclic graph with duplicate nodes
16:58 audreyt (recursively defined)
16:59 TimToady at least such a thing can be lazily defined.
16:59 TimToady not sure it's sufficiently immutable though.  :)
17:00 TimToady Don't stay up past your bedtime, young lady!
17:00 TimToady But also, Have the appropriate amount of fun!   :)
17:01 TimToady afk &
17:05 audreyt :)
17:08 aufrank audreyt: the match object you get back from parsing a signature should have positional args in $/<positional>[0] or just $/[0]?
17:09 audreyt I imagine $<positional>[0] would be more... descriptive
17:10 aufrank so the match object after parsing a signature should have $/<positional>, $/<named>, and $/<returns> ?
17:11 audreyt maybe... or maybe it needs to have several levels of invs
17:11 aufrank and we'd want something like $/<named><foo> to also have a <type> match for sub bar ( $foo ::Dog ) {...}
17:11 aufrank invs?
17:12 audreyt sub foo ($x : $y : $z : $w)
17:12 audreyt tiebreakers
17:12 aufrank I'm not parsing the single colon there
17:16 audreyt mm?
17:16 audreyt but it's tiebreaking
17:16 audreyt conceptually we have tiebreak, pos, nam, slurpy "zones"
17:16 aufrank I meant my human brain does not recognize what that syntax would mean in a sub =\
17:16 audreyt oh oh ok
17:17 audreyt sorry. it only makes sense in a multi
17:17 audreyt multi foo (Int $x : Str $y : Num $z) {}
17:17 aufrank oh oh, ok
17:17 aufrank so those are each potential invocants?
17:17 aufrank that's what you meant by invs
17:17 * aufrank clicks
17:18 audreyt in multi there may be multiple such tiebreaking levels
17:18 aufrank ok
17:18 audreyt multi foo ($x, $y : $z, $w : $a)
17:18 audreyt currently they should all be positionals
17:18 audreyt (but it's a bit silly)
17:18 aufrank and each tie breaking level can have positionals, nameds, and slurpy zones?
17:19 audreyt no, slurpy can't be
17:19 aufrank (but not implicit paramaters)
17:19 audreyt nameds aren't required to be there in 6.0.0
17:19 aufrank ok
17:19 audreyt so essentially just multi-level of tiebreakers
17:19 audreyt then the final non-tiebreaking level
17:19 audreyt consisting of pos, named, and slurpy
17:19 aufrank got it
17:20 * aufrank updates his notes
17:20 audreyt but, each positional also has a name
17:20 aufrank yeah, I saw that in the test
17:20 audreyt and in fact can have a different internal name from an external name
17:20 aufrank also, the name of the argument doesn't necessarily match the internal name of the variable
17:20 audreyt sub foo (:external($internal)) {}
17:21 aufrank right, but that is a named, not a positional, right?
17:21 audreyt right.
17:21 audreyt positionals always assume the same name
17:21 aufrank the only way to treat a positional as a named is to use its internal name as its external
17:21 audreyt (which may or may not be a bug)
17:21 aufrank right
17:21 * audreyt ponders
17:21 audreyt sub foo (:x($y) is positional)
17:22 audreyt but no, it's not part of spec
17:22 audreyt according to spec, yes.
17:22 aufrank so all args matches have a slot for type constraints, external name, and internal name
17:23 aufrank the last two can be different for nameds, but are always the same for pos's
17:23 audreyt aufrank: look at src/Pugs/AST/Internals.hs
17:23 audreyt line 799
17:24 audreyt the various boolean traits can be merged into a single "traits" Set
17:24 audreyt other fields need special treatment
17:25 audreyt namely, "default", "name", and "context"
17:25 aufrank seeing it :)
17:25 audreyt and now we have external name as well.
17:25 audreyt also, that does not cover unpacking
17:25 audreyt which would need another slot per-param
17:25 audreyt to hang another Signature into a param
17:25 audreyt to allow subcasing
17:25 aufrank right, a code parameter with its own :(...) sig
17:26 audreyt as wellas
17:26 audreyt sub f (@array [$head, @*tail]) {}
17:27 audreyt or
17:27 audreyt    sub register ({:$name, :$addr, *%guest_data}, $room_num) {
17:27 audreyt }
17:27 audreyt in the latter case we have an anonymous (empty named) positional
17:27 audreyt which is then unpacked-as-hash
17:27 aufrank right
17:28 audreyt so the unpacking has three forms: as-hash, as-array, and as-signature
17:28 audreyt but the unpacking param all take just the Sig
17:28 audreyt so it's just a flag on the unpacker
17:28 audreyt or even better, just reuse the same "sigil" flag: hash/array/scalar
17:29 audreyt but that's all BDUF
17:29 audreyt make something work first == more fun :)
17:29 aufrank if I manage a checkin, where should it live?
17:30 audreyt maybe src/Pugs/Parser/Signature.pg
17:31 audreyt to faciliate scw's .pg.hs translator later
17:33 aufrank ok, I'm gonna keep working on it :)
17:35 audreyt :)
17:35 audreyt g'nite
17:42 rbysamppi joined perl6
18:02 mako132_ joined perl6
18:06 r0nny joined perl6
18:24 Quell joined perl6
18:29 * theorbtwo thinks length('audreyt') == length('aufrank') and substr('audreyt', 0, 2) eq substr('aufrank', 0, 2) makes me confused.
18:30 sockstat joined perl6
18:33 aufrank theorbtwo: I was the only au.* I knew for a long time
18:34 aufrank everyone in my office signed their mails "/" ~ substr($name,0,1)
18:34 aufrank and there was already an alan who had dibs on /a
18:35 theorbtwo Yeah, Castaway and Corion joined perlmonks around the same time, and both just signed "c", only in different cases.
18:35 aufrank so I was /au and usernames and email addys followed from there
18:35 * aufrank hasn't been around the monastery in a while
18:37 solarbunny joined perl6
19:00 * FurnaceBoy notices the same confusion as theorbtwo and wishes this irc client would auto-colour code people
19:00 * FurnaceBoy never really investigated whether it will, just thinks it would be useful
19:06 penk joined perl6
19:11 elmex_ joined perl6
19:18 ruoso joined perl6
19:19 mako132_ joined perl6
20:01 lichtkind joined perl6
20:27 lichtkind i got to my birthday an t-shirt with an larry wall photo and the slogan "to perl or not to perl that is here the kvetchion", fortunatly didnt had the tshirt shop chartreuse
20:28 theorbtwo fortunately the t-shirt shop didn't have chartreuse"
20:28 theorbtwo Er, '"'.$last
20:29 lichtkind sorry i dont understand
20:29 szbalint haha
20:29 frederico joined perl6
20:30 theorbtwo I was trying to correct your grammar.
20:30 szbalint nice bday present.
20:30 lichtkind ok thanks thats always help
20:31 FurnaceBoy is now known as FB|afk
20:31 theorbtwo And, naturally, couldn't manage to get my own quite right.
20:31 lichtkind yes i slowly i got famous in promoting perl :)
20:41 eal left perl6
20:47 KingDiamond joined perl6
20:56 interferon joined perl6
20:57 interferon left perl6
21:05 nothingmuch what would you name the property "knows where it is in a tree" or somesuch
21:06 wolverian a type? :)
21:06 nothingmuch ?
21:06 nothingmuch oh
21:06 nothingmuch no, it's a role
21:06 nothingmuch i mean, what would you name the role/typeclass
21:06 nothingmuch that implies that you can ask a node who it's parent is
21:09 wolverian node?
21:10 nothingmuch nope, that's taken, and it doesn't necessarily know who it's parent is
21:11 wolverian child?
21:11 wolverian ("its", btw)
21:11 nothingmuch yeah,  sorry, it's =)
21:11 nothingmuch i was thinking ChildOf maybe
21:11 nothingmuch since that's a bit more explicit
21:11 nothingmuch but... meh
21:11 nothingmuch there must be a more compsci-savvy name
21:11 wolverian w3c uses child :)
21:12 TimToady pedigree maybe?
21:12 nothingmuch wolverian: it can be child without knowing who it's parent is
21:12 nothingmuch oof, phone =/
21:13 wolverian nothingmuch, adopted? :)
21:13 wolverian NotOrphan
21:18 nothingmuch oof
21:18 nothingmuch i hate jewish mother syndrome
21:18 wolverian heh, what?
21:18 nothingmuch a good friend of mine, who does that a lot, just phoned me up
21:19 nothingmuch her boyfriend dumped her
21:19 nothingmuch so she called herself an idiot for even trying
21:19 nothingmuch and yadda yadda yadda
21:19 nothingmuch now, if you don't comment, you're insensitive
21:19 nothingmuch if you agree, you're calling her an idiot
21:19 nothingmuch if you disagree you're violating her space because she's hurt
21:19 FB|afk is now known as FurnaceBoy
21:20 nothingmuch when people do that to me i try to be mean (== honest)
21:20 nothingmuch usually they realize i'm not going to fall for that
21:20 nothingmuch and try something else
21:20 nothingmuch but this time it was pretty tough
21:20 nothingmuch i think i'll just go with HasParent
21:26 wolverian ?eval (1..10) ~~ 2.5
21:27 * ruoso making pizzas
21:28 wolverian ENOEVALBOT :(
21:32 shachaf joined perl6
21:36 spinclad i dunno, i think you could pass on commenting on 'idiot' and go with 'yeah, that sucks' and so on
21:38 spinclad but there's lots of ways to play the game
21:55 nothingmuch spinclad: the point is to delegate bad feelings
21:55 nothingmuch she feels like shit
21:55 nothingmuch she wants me to feel like shit
21:55 nothingmuch i'm willing to be empathic
21:56 nothingmuch even sympathetic to a certain degree
21:56 nothingmuch but i will not feel bad just because she does
22:13 elmex joined perl6
22:13 theorbtwo .oO(Dropping like flies.)
22:16 Juerd Als achter vliegen vliegen vliegen, vliegen vliegen vliegen achterna
22:41 Odin-LAP Juerd: Tongue twisters?
22:44 macroron__ joined perl6
22:53 SamB joined perl6
23:05 wolverian hrm, why is <> the same as $*ARGS? how is $*ARGS related to STDIN?
23:06 theorbtwo wolverian: Something like how <>, <ARGV>, and @ARGV are related in p5.
23:09 wolverian theorbtwo, I have never understood why <ARGV> reads from STDIN.
23:10 merlyn in perl5?
23:10 wolverian (I mean, it is convenient to have something that does so, but why is it called 'ARGV'?)
23:10 wolverian merlyn, yes.
23:10 merlyn only if @ARGV is empty or contains "-"
23:10 merlyn if @ARGV is empty when <> is invoked, then "-" gets shoved into it
23:10 merlyn so really, it's only when "-" is seen
23:10 wolverian ah.
23:11 wolverian merlyn++
23:11 merlyn and then $ARGV = "-"
23:11 wolverian now it makes sense. it's invisible magic.
23:11 merlyn not entirely invisible
23:11 merlyn you can see @ARGV being nibbled, and $ARGV being set
23:11 theorbtwo (Except, of course, @ARGV doesn't appear to contain '-', so it's not quite that magical.)
23:11 merlyn well - it wouldn't at the time
23:11 theorbtwo Er, it's not quite that magic.  It's even more magical.
23:11 merlyn it's an indivisible step
23:12 merlyn if <> needs to open a file, and @ARGV is empty, then @ARGV = "-"
23:12 merlyn $ARGV = shift @ARGV; open ARGV;
23:12 merlyn etc
23:12 merlyn so it's in @ARGV for a moment. :)
23:12 merlyn but you don't have access at that moment
23:13 theorbtwo Makes sense.
23:13 merlyn and you *can* put "-" in @ARGV
23:13 merlyn "this", "-", "that"
23:13 theorbtwo Somewhat more obnixiously, you can put "|foo" into @ARGV, and perl will happily run your program.
23:13 merlyn that's a *feature* :)
23:14 theorbtwo Indeed.
23:14 merlyn although most coders would be surprised by that.
23:15 Limbic_Region joined perl6
23:25 wolverian is there a short syntax to temporize an object's attribute? something like i.e. my $foo = $*ARGS.with(irs => undef).readlines; # although I know .slurp would work too
23:26 wolverian s/i.e.// # redundant
23:38 trym joined perl6
23:41 Juerd Odin-LAP: No, Dutch people are used to such tongue exercise.
23:47 Limbic_Region joined perl6
23:48 kanru joined perl6
23:49 mako132_ joined perl6
23:58 trym joined perl6

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

Perl 6 | Reference Documentation | Rakudo