Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2007-03-11

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:00 putter 7k hours.  It would be so nice to have it be *this* xmas.
00:02 putter btw, a while back you "complained" about ticket bot spam.  not sure if you were serious.  I actually thought it was kind of cute.  showed tracker actually being used (which in so many foss projects they're dead)
00:03 putter err, ticket system is dead.  got started, never caught on, accumulated drift of unmanaged cruft.
00:04 audreyt hm?
00:04 specbot6 r14329 | larry++ | Whack in rethink of caller/context
00:04 svnbot6 r15559 | audreyt++ | * zip.t - fix old Yen usage
00:06 audreyt oh. dev.pugscode.org. botspam ne usage :) and need better irc integration for it to be useful
00:07 putter ah
00:07 audreyt been pestering trac folks about it. stay tuned :)
00:07 putter tuned
00:08 audreyt failure down to 318... wondering if I should commit
00:10 svnbot6 r15560 | audreyt++ | * filetest.t: .TEST is no more.
00:11 putter commit early, commit often...  anyone who needs stable can -r into the past, no?
00:11 audreyt aye.
00:23 diakopter joined perl6
00:34 svnbot6 r15561 | audreyt++ | * fp.pm: 1... is now spelled 1..*
00:34 svnbot6 r15562 | audreyt++ | * indirect_notation.t: "meth $obj" no longer calls "$obj.meth";
00:34 svnbot6 r15562 | audreyt++ |   remove the test. (Write "meth $obj:" or "$obj.meth" instead.)
00:34 svnbot6 r15563 | audreyt++ | * multi_sub.t: the proto erroneously restricted the following multi.
00:36 svnbot6 r15564 | audreyt++ | * meth_vs_sub_call.t: Again, "meth $obj" without a trailing
00:36 svnbot6 r15564 | audreyt++ |   colon no longer invokes the method.
00:36 svnbot6 r15565 | audreyt++ | * Prelude: Make explicit the Num exports as builtin.
00:39 [particle] joined perl6
01:03 offby1 joined perl6
01:10 * putter wonders if audreyt is up unusually late or early or something.
01:18 audreyt unusally late; just one compile away.
01:18 Limbic_Region she was supposed to go to sleep some time ago
01:19 Limbic_Region audreyt - how much would it cost for you to not need to work for some $employer?
01:20 audreyt with travel expenses included, usd$3k/mo. if I can get sponsorships somewhere else for travels, then less than that.
01:20 * Limbic_Region assumes that is in USD?
01:21 * audreyt points to "usd"
01:21 Limbic_Region heh
01:21 * Limbic_Region is a bit tired too and it is still early here
01:21 audreyt :)
01:22 Limbic_Region I will wait a few days to make sure my idea is not just a bit of manic delusions but....
01:22 Limbic_Region 30 sponsors at USD $100 per month = USD 3K / month
01:23 Limbic_Region and I think that is very doable
01:23 diakopter Limbic_Region: if I may surmise about your idea... yep, I was right.
01:23 * Limbic_Region volunteers to be the 1st sponsor
01:23 * diakopter is 0th
01:23 audreyt Limbic_Region: diakopter got to be 0th
01:23 Limbic_Region heh
01:24 Limbic_Region well - I honsestly don't have the first clue what the financial situation of the perl 6 supporters is
01:24 Limbic_Region so I am thinking fund raiser - where they have that little thermometer to indicate how close we are
01:24 Limbic_Region yadda yadda
01:25 audreyt well, my $job is billing per-hour. I can adjust my working hours each month depending on funding, that's pretty sure.
01:25 Limbic_Region yeah except I personally want you all to myself
01:25 Limbic_Region er um
01:25 avarab joined perl6
01:25 Limbic_Region all to perl 6
01:25 audreyt colour me flattered ;)
01:26 audreyt I guess I can easily publish my paypal log, but other than that I have no idea if/how/whether to do this.
01:27 Kattana :o interesting idea Limbic_Region
01:28 diakopter audreyt: how about a nice Jifty app - Sponsorship.  complete with "matching funds" support, for those wanting the ability to make conditional commitments.
01:29 * moritz throws in http://www.seocompany.ca/proj​ect-support-open-source.html perhaps they could be won for sponsoring audreyt as well?
01:29 lambdabot Title: Project SOS -- Support Open Source
01:30 diakopter "I think I have one more donor coming online sometime this week. I put out a spec for the registry and backend tracking of donations. If you are a quality PHP/MySQL coder and use an MVC templating system this would be a nice small project for you."
01:30 Limbic_Region as I said, I am tired so not sure I am thinking straight but it doesn't seem entirely unreasonable to think raising 3K/month for 6 - 12 months is unrealistic
01:31 diakopter s/PHP\/MySQL/JiftyOnFeather/
01:32 moritz diakopter: but look at the date - that's june 2006 - fairly old news
01:32 moritz :(
01:33 diakopter exactly... my point is the last news posting is last year.
01:33 diakopter so do it elsewhere
01:33 diakopter sorry, I shouldn't expect so much mind-reading :-D
01:33 moritz 't was just an idea ;)
01:34 putter I'm in.  2th.
01:35 putter My one concern being that it sometimes seems a $job is the only thing that...
01:36 putter gets audreyt to have a sane sleep schedule!
01:36 Limbic_Region true
01:36 audreyt heh :)
01:37 * audreyt starts massive committing...
01:37 Limbic_Region well, I personally don't think there will be any trouble finding sponsors for 1 time donations and for intervals
01:38 Limbic_Region the biggest concern I have is someone leading the project itself
01:38 Limbic_Region we can't count on audreyt - she's too humble
01:39 * diakopter nominates svnbot6 to be the leader
01:39 Limbic_Region need a web page with means of donations, FAQ, and what not
01:40 putter step one, for *tomorrow*, obtaining paypal address from audreyt.
01:40 audreyt [email@hidden.address] ;)
01:41 moritz step two, cease discussions at this point to stop audre.* from beeing hilighted today ;)
01:41 Limbic_Region well - I commit to $1200 (either as 1 time donation, $100 / month for 12 months, or $200 / month for 6 months)
01:42 Limbic_Region I also commit to helping with a FAQ and things to include on the web page
01:42 Limbic_Region provided someone else commits to actually building and maintaining the web page
01:43 Limbic_Region you guys are fooling yourselves if you think she is going to go to sleep before she finishes comitting
01:43 moritz ok ;)
01:43 svnbot6 r15566 | audreyt++ | * DrIFT.YAML: Add YAML instance for parallel arrays.
01:43 svnbot6 r15567 | audreyt++ | * Pugs.Internals: Move (Typeable1 [::]) instance here from Pugs.Class and
01:43 svnbot6 r15567 | audreyt++ |   also exports Monoid (becuase all the new Pad stuff is done with it.)
01:44 * Limbic_Region has 3 more classes to finish documenting and then he is done for the night too
01:44 larsen_ joined perl6
01:44 moritz I just want to remark that we should secure the money before audreyt gives up $job, it would be too ironic if she gives it up, has money for 3 months and then can't find any work... or something
01:45 svnbot6 r15568 | audreyt++ | * Pugs.Internals.Monads: "retError" is now spelled as the
01:45 svnbot6 r15568 | audreyt++ |   much more familiar "die".  The original rarely-used "die"
01:45 svnbot6 r15568 | audreyt++ |   is now "fatalError".
01:45 Limbic_Region moritz - I was thinking about that - unfortunately we can only do that for the current month
01:46 Limbic_Region moritz - it is unrealistic to expect people who volunteer to donate over a period of time to give that amount all at once
01:46 diakopter moritz: it appears that audreyt's $job hours are flexible and elastic both upwards/downwards.  don't worry about her finding $work, I'd suggest.
01:47 audreyt aye. technically that is easy; I malloc my working hours at beginning of each month and I'm billed by hour.
01:47 moritz Limbic_Region: you are right - but we should at least try to get promises for continuing support...
01:47 moritz ok, that simplifies a lot ;)
01:48 moritz sounds quite cool - who offers such flexible jobs?
01:48 Limbic_Region moritz - consultants typically have that flexibility
01:49 Limbic_Region mortiz - it is a high risk occupation though
01:49 Limbic_Region mortiz - that is, in general.  Some highly in demand individuals needn't worry too much
01:50 Caelum joined perl6
01:50 moritz Limbic_Region: but beeing highly demanded usually implies getting more than 3k USD/month ;)
01:50 moritz at least in europe
01:50 moritz much more ;)
01:51 * moritz should hilight on mortiz ;)
01:51 audreyt yeah :) but then, that won't get me 50%+ time working on FOSS stuff :)
01:51 svnbot6 r15569 | audreyt++ | * Pugs.AST.Internals - Introduce the VCodeMulti data type
01:51 svnbot6 r15569 | audreyt++ |   to maintain symbolic links into other pad entries to
01:51 svnbot6 r15569 | audreyt++ |   support multi dispatching.
01:51 svnbot6 r15569 | audreyt++ |   Also massively refactors PadEntry to support proper constants
01:51 Limbic_Region moritz - it is my understanding that audreyt doesn't work as much as she could because she likes spending her time on other stuff
01:51 svnbot6 r15569 | audreyt++ |   and states, type constraints, and prototype values.
01:51 svnbot6 r15569 | audreyt++ |   The Sym node now takes an extra value of "initial prototype"
01:51 svnbot6 r15569 | audreyt++ |   such that this:
01:51 svnbot6 r15569 | audreyt++ |     sub f { my sub g { ... }; &g := ... }
01:51 svnbot6 r15569 | audreyt++ |   can generate fresh &g that agrees with the end-of-compilation
01:51 svnbot6 r15569 | audreyt++ |   version without being affected by rebinding.
01:51 moritz allright
01:52 moritz now it's time for bed for me as well... night ;)
01:52 diakopter I'd like to continue to sponsor the perpetual, distributed perl6 hackathon with periodic localizations at perl conferences and corporate slideshows.
01:52 svnbot6 r15570 | audreyt++ | * Pugs.Types.Code: Add support for VMultiCode as a Code
01:53 svnbot6 r15570 | audreyt++ |   backend, so proper support for new multi-dispatch algorithm
01:53 svnbot6 r15570 | audreyt++ |   (as in qc-dispatch.hs) can be built on it (tomorrow ;)).
01:53 svnbot6 r15571 | audreyt++ | Regen DrIFT instances.
01:54 TimToady "Sponsor this poor but beautiful Asian child for just dollars a month and keep her out of a life of servitude..."
01:54 Limbic_Region TimToady++
01:54 diakopter FOSS can be an unforgiving master.
01:55 svnbot6 r15572 | audreyt++ | retError is no more; use "die" instead.
01:55 svnbot6 r15573 | audreyt++ | Pugs.Prim.*: Chase retError/Sym changes.
01:58 svnbot6 r15574 | audreyt++ | * Pugs.AST.Pad: diffPad now considers rebound entries as
01:58 svnbot6 r15574 | audreyt++ |   "fresh", even if it already existed in outer scope.
01:58 svnbot6 r15574 | audreyt++ |   This is per TimToady++:
01:58 svnbot6 r15574 | audreyt++ |     my multi f () { ... }
01:58 svnbot6 r15574 | audreyt++ |     {
01:58 svnbot6 r15574 | audreyt++ |         my multi f ($x) { ... }
01:58 svnbot6 r15574 | audreyt++ |         # &f is "fresh" here
01:58 svnbot6 r15574 | audreyt++ |     }
01:58 svnbot6 r15574 | audreyt++ |   Also fills the mergePadEntry hook with a stub; currently
01:58 svnbot6 r15574 | audreyt++ |   it blindly unifies signatures to (*@_) if the arities
01:58 svnbot6 r15574 | audreyt++ |   mismatch, but it's expected that we can do per-parameter
01:58 svnbot6 r15574 | audreyt++ |   unification on lvalue/context/type with (Monoid Params)
01:58 svnbot6 r15574 | audreyt++ |   in newVal-land.
02:01 svnbot6 r15575 | audreyt++ | * Pugs.AST: New readCodesFromRef API to get all variants
02:01 svnbot6 r15575 | audreyt++ |   (recursively) from a short name entry.
02:01 svnbot6 r15575 | audreyt++ |   Also add proper support for static scopes: variables
02:01 svnbot6 r15575 | audreyt++ |   declared with "state" (including imported functions)
02:01 svnbot6 r15575 | audreyt++ |   no longer gets unneccessarily cloned upon pad reentry.
02:03 offby1 where _does_ she get the energy
02:03 audreyt TimToady: should .kv be exported the same as .keys and .values?
02:03 audreyt aka, kv(%foo)
02:04 audreyt (assuming that Pair.key and Pair.value doesn't need to be exported)
02:04 audreyt (not really a specific API question; rather, if we can say that when multiple builtin types support the same method with similar semantic, we export it -- as in Hash.kv and Array.kv)
02:04 TimToady don't see why not
02:05 SamB *similar*?
02:06 * SamB thinks of python's collection interfaces...
02:06 TimToady offby1: some of what is currently coming out as kinetic energy was stored up as potential energy in the svk spring
02:06 offby1 I suspect coffee
02:06 SamB (maybe you want to make sure the semantics are the *same*?)
02:07 audreyt ok, same then.
02:07 TimToady for some definition of same
02:09 * Limbic_Region wanders off to watch a movie
02:09 svnbot6 r15576 | audreyt++ | * Pugs.Eval.Var: Thoroughly separate method dispatch
02:09 svnbot6 r15576 | audreyt++ |   and subroutine dispatch:
02:09 svnbot6 r15576 | audreyt++ |     foo $obj;   # no longer calls $obj.foo
02:09 svnbot6 r15576 | audreyt++ |     $obj.foo;   # calls $obj.foo first, fallback to foo($obj)
02:09 svnbot6 r15576 | audreyt++ |   Also improved error reporting; incompatible multi variants,
02:09 svnbot6 r15576 | audreyt++ |   method lookup failures, and subroutine lookup failures are
02:09 svnbot6 r15576 | audreyt++ |   now reported with distinct messages, instead of the old
02:09 svnbot6 r15576 | audreyt++ |   "No compatible subroutine found".
02:09 svnbot6 r15577 | audreyt++ | * Pugs.Prim: Export (Pair|Array|Hash).kv but hides Pair.key
02:09 svnbot6 r15577 | audreyt++ |   and Pair.value, based on the principle that methods that
02:09 svnbot6 r15577 | audreyt++ |   do the *same* thing across multiple builtin Classes should
02:09 svnbot6 r15577 | audreyt++ |   be "is export"ed.
02:10 svnbot6 r15578 | audreyt++ | * Pugs.Parser: "proto" is now considered a _multi variant
02:10 svnbot6 r15578 | audreyt++ |   itself.  Still need support for its special tie-breaker
02:10 svnbot6 r15578 | audreyt++ |   status...
02:13 svnbot6 r15579 | audreyt++ | * Pugs.Parser.*: Properly support signature-affected
02:13 svnbot6 r15579 | audreyt++ |   categories even in the middle of subroutine parsing:
02:13 svnbot6 r15579 | audreyt++ |     my sub f ($x) { # named unary
02:13 svnbot6 r15579 | audreyt++ |         f 1 + 2;    #   parsed as (f 1) + 2
02:13 svnbot6 r15579 | audreyt++ |     }               # at end of scope, resolve the inner &f
02:13 svnbot6 r15579 | audreyt++ |                     # into the PadEntry itself
02:13 putter $100 usd just landed in audreyt from me.
02:13 audreyt (actually this time I didn't use offline svk branch :) so the commitlogs are written on the fly per module...)
02:14 TimToady don't tell clkao. :)
02:14 audreyt putter: er. um. much appreciated, really.
02:14 audreyt :D
02:14 putter np.  your work is much appreciated.
02:15 svnbot6 r15580 | audreyt++ | * Pugs.Eval: Binding to qualified constants now properly
02:15 svnbot6 r15580 | audreyt++ |   dies (instead of silently doing nothing).
02:15 svnbot6 r15580 | audreyt++ |   Also method-redispatched-as-subs, when lookup fails,
02:15 svnbot6 r15580 | audreyt++ |   now still reports as "no such method".
02:17 TimToady bbl &
02:17 * diakopter chipped in some too. yay for paypal.
02:18 svnbot6 r15581 | audreyt++ | * Pugs.Monads: &?CALLER_CONTINUATION is now a simple constant
02:18 svnbot6 r15581 | audreyt++ |   sub with a simple signature that matches "want", instead of
02:18 svnbot6 r15581 | audreyt++ |   a multi; when we convert &want into MO, it can just box the
02:18 svnbot6 r15581 | audreyt++ |   continuation's signature object and save all the guesswork.
02:20 dmq joined perl6
02:20 svnbot6 r15582 | audreyt++ | * Misc. API chasing from the Sym/PadEntry change in other modules.
02:20 svnbot6 r15583 | audreyt++ | * recursive_definition.t: unTODO now that recursive defs work:
02:20 svnbot6 r15583 | audreyt++ |     sub postfix:<!>($arg) {
02:20 svnbot6 r15583 | audreyt++ |         if $arg == 0 { 1 } else { ($arg-1)! * $arg }
02:20 svnbot6 r15583 | audreyt++ |     }
02:23 svnbot6 r15584 | audreyt++ | * pair.t: Pair's key() and value() are no longer builtin subs.
02:23 audreyt ok, that's it for the part of the work so far that doesn't causes 90% red :)
02:24 audreyt once constant, proper multi, constrained pad entries, etc. stops causing 90% red I'll commit them next.
02:25 putter @tell Limbic_Region Limbic_Region++
02:25 lambdabot Consider it noted.
02:25 putter diakopter++
02:25 offby1 @tell offby1 gosh, you're cute
02:25 lambdabot You can tell yourself!
02:25 offby1 :-(
02:25 putter lol
02:25 offby1 it's not the same.
02:25 audreyt smoke is expected to get slower; 203 failure here.
02:26 audreyt I guess that's it :) g'nite :) &
02:26 offby1 Zzzz
02:26 putter audreyt: very neat.  I look forward to looking at it.  sleep well.
02:27 diakopter offby1++
02:27 putter really need a wave symbol.  /*  ,* ,"
02:28 diakopter `)  ~)
02:29 putter `)
02:30 putter of course, we have unicode...
02:33 putter How about we start with a wiki page?
02:33 putter FAQ + paypal link?
02:34 putter oh, hmm.  yeah.  the anyone can edit it aspect of that might be contraindicated for a paypal link.  what's the next idea...
02:36 offby1 "contraindicated".  heh
02:47 svnbot6 r15585 | putter++ | yet_another_regex_engine/oop.pl - created.  Just a scratch file, containing the beginnings of a p5 transliteration of the Perl-6.0.0-STD.pm operator precedence parser.  Vision is to make it executable, and then shake it down.
02:54 Psyche^ joined perl6
02:55 putter So for reference, r15560 seems a pretty r number for the "last stable revision before the object overhaul began".
02:56 putter Or r15559.
02:57 * allbery_b makes a note to hold off on the weekly update& rebuild
03:02 erg joined perl6
03:06 putter I'm sure boston.pm would be willing to kick in a donation.  Need website.  Mostly need FAQ.  As could always point to blog or somesuch.
03:09 Psyche^ is now known as Patterner
03:09 putter Boston.pm meeting this Tuesday, March 13.  Having a surfable FAQ by then would be nifty. :)
03:10 avar putter: hrm,, hosting for what?
03:14 putter http://colabti.de/irclogger/irclogger_log/​perl6?date=2007-03-10,Sat&amp;sel=537#l926  http://colabti.de/irclogger/irclogger_log​/perl6?date=2007-03-11,Sun&amp;sel=18#l27  http://colabti.de/irclogger/irclogger_log​/perl6?date=2007-03-11,Sun&amp;sel=54#l80
03:14 lambdabot Title: #perl6 2007-03-10,Sat, http://tinyurl.com/2xztu9
03:16 putter or i suppose the first link should have been http://colabti.de/irclogger/irclogger_log/​perl6?date=2007-03-10,Sat&amp;sel=532#l919
03:16 lambdabot Title: #perl6 2007-03-10,Sat, http://tinyurl.com/2f5be9
03:19 putter end of day
03:22 stevan__ joined perl6
03:24 putter avar: not sure how to sum it up.
03:24 putter stevan_: moose
03:25 putter we can cheaply free up more of audreyt's time for pugs, so we would be collectively insane not to.
03:28 * putter wonders if that holds true for TimToady too, but suspects audreyt's structural simplicity makes it a much lower hanging fruit.
03:33 putter good night &
03:35 erg joined perl6
03:37 avarab joined perl6
03:38 avarab eek, power outage, I need an ups
03:40 avarab is now known as avar
03:40 avar @tell putter I could host that page I guess..
03:40 lambdabot Consider it noted.
03:40 erg_ joined perl6
03:52 allbery_b joined perl6
03:54 allbery_b joined perl6
05:21 breinbaas joined perl6
05:23 gaal @tell putter Sub::Name uses XS! and isn't compatible with threads, either. Why would you prefer it over *__ANON__?
05:23 lambdabot Consider it noted.
05:44 avar gaal: it doesn'w work with 5.005 threads
05:44 gaal what doesn't?
05:44 gaal oh
05:46 avar http://search.cpan.org/src/​XMATH/Sub-Name-0.02/Name.xs
05:49 iblechbot joined perl6
05:59 jmacclure joined perl6
06:00 specbot6 r14330 | larry++ | More fiddling with context().
06:03 TimToady wow, 2230 unexpectedly succeeded.  unfortunately, most of those are inverted character classes, and I suspect they're succeeding merely because they fail to match...
06:04 TimToady but maybe they're really working now.
06:05 jmacclure left perl6
06:08 TimToady oh, I remember seeing fglock check in some unicode prop fixes.  that must be it.  fglock += 2230
06:09 TimToady (or so)
06:09 TimToady if so, that means we're now passing more than 20,000 tests!!!!
06:10 TimToady or are those counted in the 18,000?
06:11 TimToady and yes, it does run about 60
06:11 TimToady 60% slower
06:13 BooK_ joined perl6
06:13 TimToady maybe we can release 6.28 on April Fool's day
06:15 jeremiah joined perl6
06:15 amnesiac joined perl6
06:17 TimToady zzz &
06:21 xinming joined perl6
06:37 tcliou joined perl6
06:46 Psyche^ joined perl6
06:46 meppl guten morgen
07:02 Psyche^ is now known as Patterner
07:07 hcchien joined perl6
07:29 jisom joined perl6
07:29 jisom left perl6
07:29 jisom joined perl6
07:40 offby1 guten Stanley!
07:40 meppl good morning offby
07:41 * offby1 glances around nervously.
07:41 offby1 who, me?
07:41 offby1 nobody saw me.
07:41 offby1 you can't prove a thing
07:41 offby1 I didn't do it
07:43 buetow joined perl6
08:16 kanru joined perl6
08:22 nipotan is now known as nipotaway
08:39 elmex joined perl6
08:54 avar cease him!
08:55 * offby1 desists
09:28 VanilleBert joined perl6
09:50 clkao nothingmuch: ping
09:54 iblechbot joined perl6
09:55 rindolf joined perl6
10:05 gaal clkao: I think he's snoboarding now?
10:05 clkao oh well.
10:06 clkao the test tap model thingy should have info about how long each test file takes
10:07 gaal it doesn't?
10:07 gaal hmm, yaml_harness provided it...
10:13 bernhard joined perl6
10:24 moritz can't we just use the plan as a rough estimation of how long it will take?
10:24 moritz and then count in 01-sanity how long a test takes on average...
10:25 b00t joined perl6
10:25 moritz then multiply that number by 50, and if a test file takes longer than $time_per_test*$plan, kill pugs
10:25 moritz s/50/42/ :)
10:33 DrSlump joined perl6
10:34 DrSlump hello
10:35 VanilleBert left perl6
10:35 Belaf joined perl6
10:37 Aankhen`` joined perl6
10:49 chris2 joined perl6
11:10 mj41 moritz: see http://svn.pugscode.org/pugs/util/PaP6-testing/
11:10 lambdabot Title: Revision 15585: /util/PaP6-testing
11:12 mj41 watchdog is win32 only
11:13 moritz comments in english would be helpfull ;)
11:13 mj41 something different, but san be usefull too
11:13 mj41 yes, I know, but my English sucks, I speak perl :-)
11:14 moritz mj41: my $lang sucks worse than your englisch (except where $lang eq "de" or perhaps $lang eq "en")
11:15 mj41 http://svn.pugscode.org/pugs/ut​il/PaP6-testing/lib/Watchdog.pm , see sub sys_for_watchdog
11:16 mj41 and http://svn.pugscode.org/pugs/​util/PaP6-testing/watchdog.pl
11:21 mj41 test_loop.pl runs commands from conf.pl,  through sys_fo_watchdog, e.g.
11:21 mj41            'name' => 'make',
11:22 mj41            'cmd' =>'perl Makefile.PL',
11:22 mj41            'mt'  => 1*60*60,
11:24 cognominal joined perl6
11:32 lhz joined perl6
11:32 sisi left perl6
11:33 lhz hi
11:33 moritz hi lhz ;)
11:33 lhz I get banned from #perl all the time
11:34 moritz why?
11:34 lhz moritz: no idea.. coarse filter ?
11:35 rindolf lhz: I'm a #perl op.
11:35 Patterner I'm banned too.
11:35 rindolf Patterner: really?
11:35 Patterner well, unless I'm reading "[FreeNode] -!- Cannot join to channel #perl (You are banned)" wrong...
11:36 tene I've never been banned from #perl
11:36 mj41 you start 'perl test_loop.pl' and 'perl watchdog.pl'. Watchdog will watch output changes of commands starts through sys_fo_watchdog, and after timeout without any change kills innermost pid.
11:36 rindolf Patterner: banned people normally can join - they are just deprived of voice.
11:36 lhz tene: you must have nice neighbours
11:36 tene rindolf: banned = cannot join
11:38 Patterner -v is for misdemeanours, ban for criminal offenses :)
11:38 tene Patterner: you cannot speak in a channel you are banned in even if you're joined to the channel, even if the channel is unmoderated
11:39 Patterner this makes no sense
11:39 tene Patterner: sure it does
11:39 Patterner usually a ban is followed by a kick => not in the channal and no joining possible
11:40 rindolf Patterner: I don't see a ban on alicedsl.de
11:40 Patterner and *.de?
11:41 moritz Patterner: surely not, I can join ;)
11:41 Patterner so irssi lies... well, "Everybody lies"...
11:44 lhz it's not fun standing in the cold
11:44 moritz http://moritz.faui2k3.org/tmp/perl-bans <-- list of bans in #perl
11:45 moritz perhaps it helps somebody
11:45 rindolf Patterner: try now.
11:46 lhz rindolf: i can join :) thanks
11:47 rindolf Someone did a ban on 85.*.*.*. %-)
11:47 moritz funny ;)
11:47 rindolf lhz: you're welcome.
11:47 moritz that would affect most german ISPs I guess ;)
11:51 cognominal joined perl6
11:54 Patterner rindolf++
11:55 rindolf Patterner: you're welcome.
12:04 explorer joined perl6
12:15 larsen_ joined perl6
12:17 dolmans joined perl6
12:19 dolmans joined perl6
12:19 mjk joined perl6
12:39 RHainsworth joined perl6
12:41 RHainsworth question on use of parrot in pugs: how do call a function written in parrot from within a perl6 program?
12:43 RHainsworth parrot_pugs_2: suppose function called <foo> in file <bar.pir> in current directory.
12:51 diakopter joined perl6
13:29 gaal Hey. (How) Should the wiki be linked to docs/*? For example, a "source tree overview" doc would be great to have -- but shouldn't it also be part of the actual source?
13:30 gaal There's for example the existing Pugs::Doc::Hack
13:30 gaal It's no GHC Commentary, but it's a start
13:34 cognominal joined perl6
13:35 ozo_ joined perl6
13:40 audreyt greetings lambdacamels
13:40 gaal heya audreyt
13:40 rindolf Hi audreyt
13:41 audreyt gaal: wiki can link to docs via source:docs/foo/bar/ syntax
13:41 audreyt docs can link to wiki via L<> syntax
13:41 audreyt wiki is much easier to index/navigate/find things
13:41 RHainsworth hello all
13:42 audreyt so I'd like it to be an ongoing index into the source three, with perhaps comments that are more dynamic (i.e., not strictly tied to some part of the code)
13:42 gaal it == the prospective Commentary?
13:42 audreyt *tree
13:42 audreyt yeah, or any wikibook
13:43 RHainsworth would someone please point me to a doc on how to use parrot from inside pugs?
13:43 gaal svk ci feels... safer :) is the wiki backed up? (hehe, is svn repo backed up?)
13:43 audreyt gaal: svn repo is replicated.
13:44 gaal if only by myriad "svn co" :)
13:44 audreyt svn.openfoundry.org has one
13:44 audreyt svn.perl.org another
13:44 audreyt googlecode too
13:44 gaal nodnod
13:44 audreyt so. a thought is to make wiki part of pugs
13:44 audreyt store it with svn backend under wiki/
13:45 gaal avoiding loops :)
13:45 audreyt yeah :)
13:45 gaal unles they are Strange Loops, in which we can keep them as pets
13:47 audreyt so does that sound sane?
13:47 audreyt for there is existing code: http://trac.edgewall.org/attachment/wiki/Tight​erSubversionIntegration/svn-wiki-backend-patch
13:47 lambdabot Title: TighterSubversionIntegration: svn-wiki-backend-patch - The Trac Project - Trac, http://tinyurl.com/2gvlzw
13:49 * gaal is writing a very high level Overview page
13:49 audreyt gaal++ gaal++ gaal++
13:49 audreyt meanwhile I'll finish up multi dispatch and pad storage constraints, and eliminate VRef
13:50 gaal whee!
13:50 diakopter karma gall
13:51 diakopter karma gaal
13:51 audreyt @karma gaal
13:51 lambdabot gaal has a karma of 71
13:51 moritz @karma gaal +1
13:51 lambdabot gaal has a karma of 71
13:51 moritz ;)
13:51 moritz @help
13:51 lambdabot help <command>. Ask for help for <command>. Try 'list' for all commands
13:51 moritz @help karma
13:51 lambdabot karma <polynick>. Return a person's karma value
13:51 moritz read only :(
13:52 diakopter lambdabot: learn: "user += n"
13:54 gaal diakopter: that's because of this line in the source: karma gaal = const 71
13:55 diakopter hooray for mixed amphetamine salts: my mental todo-list actually works again!
13:55 audreyt that will make everybody's karma 71
13:55 audreyt diakopter: still, an external todo list helps a lot :) but having a working L2 cache is good indeed!
13:55 gaal unless gaal is a literal
13:55 moritz gaal: so lambdabot has to learn how to modify its own source code ;)
13:56 gaal she'll probably get there. if she doesn't already do it
13:56 diakopter audreyt: yeah, but if I can't remember something long enough to put it on the external todo-list, I haven't been able to even use an external one.
13:57 diakopter s/if/when/ in my last
13:58 diakopter anyway, gaal++ for writing a high level Overview page
13:58 diakopter @karma gaal
13:58 lambdabot gaal has a karma of 72
13:58 diakopter k; it works
13:58 moritz shouldn't ++gaal eq gaam?
13:59 audreyt no... Str is not a mutable class
13:59 audreyt ?eval 'gaal'++
13:59 moritz audreyt: you have to think in meta syntax ;)
13:59 audreyt :)
13:59 evalbot_r15585 user error (Incompatible version number for compilation unit␤Consider removing blib6/lib/Prelude.pm.yml and make it again␤)␤pugs: user error (*** *** Can't modify constant item: VUndef␤        at <prelude> line 781, column 9-46␤           <prelude> line 781, column 9-46␤    at)␤
14:00 gaal .oO(I broke teh pugs)
14:00 yts joined perl6
14:09 gaal audreyt: when's the move to newAST planned? not for this release probably, right?
14:10 gaal eg. Pugs.AST.CaptInternals:506
14:43 devbot6 dev: Overview edited by gaal <http://dev.pugscode.org/wiki/Overview>
14:44 gaal (This is obviously very early r, please add stuff :)
14:45 moritz gaal++ it looks very readable
14:46 moritz even for /me non-haskell-hacker
14:46 bernhard joined perl6
14:48 gaal thanks for the input :) there's a lot more to add, for example the only thing I mention about the runtime there is the MO bridge (and that very loosely) but there are plenty of things oughta be discussed
14:49 gaal how does memory management work? what would adding a debugger entail? how is the pugs runtime different from one that would have been written in a non-FP language? etc.
14:50 gaal also, just a list of things that are stale or transitionary would be great
14:51 gaal like, src/PIL's in the closet
14:51 gaal (hmm, Pilsner: the Closet)
14:51 jisom_ joined perl6
14:54 gaal putter and every other core hacker, your additions to the stone doc soup welcome :)
14:55 Psyche^ joined perl6
14:55 gaal .oO( in the line of steps to spur dev more discussed earlier, I think we should break iblech out of school or something )
14:58 audreyt gaal: all the Exp structure will stay the same for this release; otoh all the Val variants will be borged
14:59 Limbic_Region joined perl6
14:59 gaal *nod* a journey of a thousand constructor begins with one Val
15:00 Psyche^ is now known as Patterner
15:00 gaal s/r /rs/
15:00 gaal s,rs/,rs /,
15:00 audreyt we already dealed with the native pure classes (or rather, have a good frameowr to deal with them)
15:00 audreyt PerlSV is taken care of; my current work will nail VRef and VCode
15:00 audreyt then VObject
15:00 Limbic_Region audreyt - did anything happen with the save the asian girl campaign?
15:00 lambdabot Limbic_Region: You have 1 new message. '/msg lambdabot @messages' to read it.
15:00 Limbic_Region moosages
15:00 audreyt and all the imporatant constructors should be done then
15:00 Limbic_Region hrm
15:01 audreyt Limbic_Region: dunno, most likely nothing
15:01 Limbic_Region @moosages
15:01 lambdabot putter said 12h 35m 59s ago: Limbic_Region++
15:01 gaal you mean, eg PureStr and the general-magical any-Hs-Boxable?
15:01 audreyt yeah
15:01 * gaal dances
15:02 gaal not as useful with other types, though: PureNum's not a native Hs type
15:03 gaal and btw, to import Prim in Meta we need another circularity saw
15:03 audreyt we can freely use -boot now anyway
15:03 gaal (c-saw?)
15:03 audreyt feel free to
15:05 gaal I'm reluctant to -boot unless I can't think of anything else, becuase Prim's -boot would be large
15:05 Limbic_Region is there a way to put money in a paypal account (that isn't yours) if you don't have one yourself (and have no intention of getting one)?
15:06 moritz Limbic_Region: you can give me the money, and I'll transfere it to a paypal account ;-)
15:06 audreyt Limbic_Region: [email@hidden.address] is my paypal account.
15:06 gaal hmm, I should write a boot-boot.pl mangler that looks at either an .hs file or maybe even an existing .hi and writes a -boot
15:07 Limbic_Region audreyt - that didn't answer the question though
15:07 * Limbic_Region is completely paypal ignant
15:07 moritz Limbic_Region: no, honestly: find somebody you trust who has a paypal account
15:07 Limbic_Region I think my sister has one
15:07 * Limbic_Region wonders how much trouble audreyt would have cashing a personal check from a US based bank
15:08 moritz what do you think about donate.pugscode.org as URL for the donation page?
15:08 Limbic_Region I think you just volunteered
15:08 gaal Limbic_Region: even if it's no trouble, it's probably very high overhead
15:09 Limbic_Region what about a direct EFT - I do that to the Philippines monthly and we get a decent exchange rate
15:09 moritz Limbic_Region: I don't have an idea how to add a virtual host to that server
15:09 gaal I'm guessing $20 commission (without knowing anything about .tw banks)
15:09 moritz Limbic_Region: without shell access, that is ;)
15:19 kanru joined perl6
15:21 diakopter Limbic_Region: there are no commissions/fees if you use paypal and have a "confirmed" bank account.
15:21 specbot6 r14331 | audreyt++ | * S12: Pass-throught methods should capture the entire
15:21 specbot6 r14331 | audreyt++ |   invocation, not only the positional part.  Also remove
15:21 specbot6 r14331 | audreyt++ |   the bogus "is context".
15:26 diakopter moritz: donate.pugscode.org or sponsor.pugscode.org ?
15:26 audreyt (bbiab, hack)
15:26 moritz diakopter: yes ;)
15:26 diakopter moritz: heh.
15:27 moritz diakopter: I don't know which is better ;)
15:27 moritz lets toss a coin
15:27 moritz ?eval rand() < 0.5 ?? "donate" !! "sponsor"
15:27 evalbot_r15585 "sponsor"
15:27 * diakopter waits for TimToady or a TPF person to volunteer to set up a sponsorship fund so donations can be US-tax-deductible.
15:28 moritz diakopter: evalbot_r15585 know's the answer ;)
15:28 diakopter heh
15:28 diakopter ?eval rand() < 0.5 ?? "donate" !! "sponsor"
15:28 diakopter ?eval rand() < 0.5 ?? "donate" !! "sponsor"
15:28 evalbot_r15585 "donate"
15:28 diakopter ?eval rand() < 0.5 ?? "donate" !! "sponsor"
15:28 evalbot_r15585 "sponsor"
15:28 moritz diakopter: hey, that's cheating ;)
15:30 moritz I#m not a native english speaker so i don't know which one is better
15:30 moritz s/#/'/
15:32 Seeraa joined perl6
15:37 Patterner ?eval rand() < 10 ?? "donate" !! "sponsor"
15:37 evalbot_r15585 "donate"
15:38 Seeraa left perl6
15:43 Juerd moritz: Sponsorship has goals attached
15:43 Juerd moritz: And donating is just giving money, with no strings attached
15:43 Juerd (overly generalized explanation)
15:44 moritz Juerd++ thanks
15:44 moritz so we want "sponsor", right?
15:44 Juerd Most people want both ;)
15:46 moritz yes, but the give money in order to push pugs/p6 dev, not because audreyt is a cute, suffering child (to paraphrase TimToady ;)
15:48 allbery_b heh
15:52 Juerd Well, with sponsorship you generally have fixed goals. It's like "I give you this amount of money, and in return I expect you to [ reach this milestone | work this many hours ]"
15:52 moritz Juerd: that's what is called "employement" ;)
15:53 moritz at least that's how I learned it ;)
15:53 Juerd It's almost the same
15:53 Juerd With sponsorship, you don't own the (thoughts of, work of) the "employee"
15:55 moritz Juerd: reading the first two paragraphs of http://en.wikipedia.org/wiki/Sponsor I don't get that impression
15:55 moritz well, anyway... I don't care... the question is still <sponsor donate>.pick
15:55 devogon joined perl6
15:57 diakopter cnames and ServerAliases are easy...
15:57 RHainsworth left perl6
16:00 Khisanth joined perl6
16:01 khisanth_ joined perl6
16:03 khisanth_ is now known as Khisanth
16:04 forsaken joined perl6
16:04 mkirank joined perl6
16:06 moritz_ joined perl6
16:12 Juerd moritz_: Bick both? :)
16:12 Juerd s/B/P/
16:12 moritz_ in SEO terms that's not a a good idea
16:12 Juerd moritz_: And re owning things: branding something isn't owning it
16:13 Juerd What's SEO?
16:13 moritz_ but I guess it doesn't matter
16:13 moritz_ Juerd: search engine optimisation
16:13 Juerd Have one redirect to the other. Don't alias.
16:13 * Juerd would go for sponsorship
16:13 moritz_ ok
16:13 moritz_ so both
16:14 moritz_ who has the permissions to add virtual hosts to pugscode.org?
16:14 Juerd audreyt:
16:14 Juerd Although. Perhaps it's cnamed entirely
16:14 Juerd It isn't
16:14 Juerd Audrey can change that
16:23 Psyche^ joined perl6
16:26 Limbic_Region moritz - I think sponsor is the right term only because that's what audreyt used last night
16:27 Limbic_Region moritz - the important thing is making it clear on the page
16:27 Limbic_Region and not leaving a 1 word domain name to convey intent
16:27 * Limbic_Region has done a bit of research and will probably break down and get a paypal account
16:28 moritz_ Limbic_Region: ok, I agree ;)
16:31 awwaiid_ joined perl6
16:35 Psyche^ is now known as Patterner
16:57 VanilleBert joined perl6
17:15 wilx joined perl6
17:23 buetow joined perl6
17:31 specbot6 r14332 | larry++ | turned context() into an arglist-specified navigator
17:31 specbot6 r14332 | larry++ | defined caller more correctly as context(&?ROUTINE,1)
17:31 specbot6 r14332 | larry++ | clarified relationship of caller : CALLER :: context : CONTEXT
17:32 audreyt TimToady: does STD handle pseudoassignment within scoped decl yet?
17:32 audreyt constant $x = 123;
17:32 * gaal mooses
17:32 audreyt currently this is ill specced:
17:32 audreyt constant ($x, $y) = 123
17:33 audreyt TimToady: I'm thinking about unifying pseudoassignment with <defaultvalue> in the common 1arg case
17:33 audreyt by saying that the paren-may-be-omitted form includes the initializer
17:33 audreyt viz.:
17:33 audreyt constant ($x = 123, $y = 456); # legal
17:33 audreyt constant $x = 123; # legal, shorthand for :($x = 123)
17:33 putter joined perl6
17:33 audreyt this seems far more regular than the hack we previously suggested in infix:<=>.
17:34 _jcrigby joined perl6
17:37 TimToady seems fine to me
17:37 TimToady don't have time to check STD right now--gotta go play the drums again.
17:37 TimToady &
17:37 justatheory joined perl6
17:39 audreyt cool. will spechack
17:40 putter Limbic_Region: how about "donate".  as someone pointed out, sponsorship implies greater commitment by the sponsored party.  it would be nice to leave audreyt free of implicit commitments.
17:40 lambdabot putter: You have 2 new messages. '/msg lambdabot @messages' to read them.
17:40 putter donate -> greater resources -> able to better take advantage of opportunities, but no implication of -Ofun ceasing to be the guide.
17:42 putter basically thinkening the shoestring (budget), rather than any change in administrative approach.
17:43 * diakopter imagines TimToady thinking about perl6 specs while drumming to CCM
17:45 diakopter for the uninitiated, I was using "CCM" to mean http://en.wikipedia.org/wiki/​Contemporary_Christian_music
17:46 amnesiac joined perl6
17:49 amnesiac_ joined perl6
17:51 specbot6 r14333 | audreyt++ | * S03: Unify scope declarator initializers with signature
17:51 specbot6 r14333 | audreyt++ |   parameter initializers, yay!
17:51 specbot6 r14333 | audreyt++ |   These forms are now fine:
17:51 specbot6 r14333 | audreyt++ |     constant $x = 123;
17:51 specbot6 r14333 | audreyt++ |     constant ($x = 123);
17:51 specbot6 r14333 | audreyt++ |     constant :($x = 123);
17:51 specbot6 r14333 | audreyt++ |   And this is naturally forbidden:
17:51 specbot6 r14333 | audreyt++ |     constant ($x) = 123;
17:52 gaal w00t!!!!1111one
17:52 gaal audreyt++
17:52 gaal rawk
17:53 gaal oh
17:53 gaal hehe, it's in the spec
17:54 gaal s/pec/vn/ there and it'd really be time to party
17:55 audreyt that's coming up rsn...
17:55 audreyt (been implementing it that way and suddenly realized that its' against the spec)
17:55 audreyt (...so fixed the spec)
17:55 gaal lots of parser work to make it happen..
17:55 gaal hehe
17:56 gaal I'm kinda scared of that change. we'll have to visit, like, almost every function
17:56 audreyt that means we can finally ditch stateDeclAssignHack
17:56 Psyche^ joined perl6
17:56 audreyt mm?
17:56 gaal moving PArser over to newVal
17:56 audreyt *nod*
17:56 gaal well, and newAST
17:56 audreyt newAST not yet
17:57 gaal טט
17:57 gaal er
17:57 gaal yeah
18:00 Jedai joined perl6
18:03 Psyche^ is now known as Patterner
18:16 amnesiac_ is now known as amnesiac
18:23 putter Limbic_Region: ping?
18:23 putter moritz: ping?
18:23 moritz_ putter: pong
18:24 putter donate.pugscode.org ?
18:24 moritz_ putter: yes
18:24 putter :)
18:24 moritz_ btw to clarify: I'm not very good at writing web apps... that should be somebody's elses job
18:25 moritz_ bbiab, supper
18:25 putter perhaps kiss, and just say roughtly
18:25 putter audreyt would ideally like (-Ofun) to spend more time working on pugs and Perl 6, but needs $job to keep $~3kUSD/month flowing.  Fortunately,$job is flexible, so hour by hour, donations free up $job time.
18:25 putter Donations are thus a startlingly inexpensive way to get more audreyt time for Perl 6.  Month by month, no administrivia or commitments, just freeing audreyt do what we are collectively delighted she is currently choosing as a focus of her time.
18:26 moritz_ that's exactly what I wanted to write ;)
18:26 putter and maybe:  Let us get while the getting is good, and bring "Christmas" that much closer.  Taiwan doesn't even take a slice of out-of-country funding.
18:26 putter :)
18:27 audreyt yeah. that may get changed by reunification, so better start before _that_ happens... :)
18:27 putter lol
18:27 putter (then pause, and doesn't seem funny at all)
18:28 audreyt (anyhowit's technically a correct statement; personal accounts in .cn is a bit more regulated.)
18:29 * audreyt goes back to PadHacking
18:29 cmarcelo joined perl6
18:29 putter (re "doesn't seem funny at all", just that there's a world of potential pain around that concept)
18:30 gaal are there developements in that direction? /me reads
18:30 audreyt economically? sure :) I really don't much care either way...
18:35 audreyt sub f { my $x ::= 123; say $x }; f(); f();
18:35 audreyt "123\n123\n" or "123\n\n"? arguable either way
18:35 audreyt but the first seems slightly more useful?
18:36 putter "This does the same as := except it does it at compile time."
18:37 audreyt yeah. the question is, upon pad refresh for "my", does it clone from its compile-time value?
18:37 audreyt consider:
18:38 audreyt sub f { my &g ::= sub { ... }; say &g() }; f; f;
18:38 audreyt which ought to be the same as
18:38 audreyt sub f { my sub g { ... }; say &g() }; f; f;
18:38 audreyt obviously upon reentry, &g should go back to its original ::= sub
18:38 audreyt instead of being an undefined Code
18:38 gaal huh whaaaa? why would that ever be 123\n\n?
18:39 obra is now known as perl6_project_ma
18:39 perl6_project_ma is now known as perl6_projectmgr
18:39 audreyt gaal: well, uhm, in pugs currently it's "\n\n"
18:39 audreyt which is arguably far worse.
18:40 audreyt anyway. luqui hardcoded the do-not-refresh-&-sigil rule
18:40 gaal I don't see any sane value for $x to be other than 123 on any entry
18:40 audreyt but I wonder if we should extend the treatment for all vars
18:40 perl6_projectmgr Important note: In the next couple weeks, we'll be debuting a new "Perl 6 microgrants" program.  Up to USD500 for up to 1 month of hacking time on some Perl 6 related thing. These grants will be outside the regular TPF grants program. Start thinking about cool things you can do.
18:40 perl6_projectmgr is now known as obra
18:41 gaal .oO( U+2668 )
18:42 gaal audreyt: "arguable either way" -- what's the argument in favor of "123\n\n"?
18:43 putter sub f { my $x ::= []; $x.push 9; say $x.elems } f;f;
18:45 gaal my intuition: a lexical global, that is, 9\n 9 9\n
18:45 gaal ::= means one bind ever.
18:46 gaal what if somebody closes on that, that's in the realm of crazy scary and I don't know :)
18:46 ron_ joined perl6
18:46 putter = 9\n9\n    seems odd for := to be different...
18:47 gaal why? if you want :=, say :=   :-)
18:48 gaal I mean, that's like saying it's odd that $x = BEGIN { time } is different from $x = time
18:49 ron_ is now known as tuna
18:49 tuna is now known as euleron
18:50 audreyt one-bind-ever is a pretty good story.
18:50 putter ":= is like =, but replaces the container", "::= is like :=, but does it at compile-time".  actually,
18:50 putter yes
18:51 putter the full S02 quote is "This does the same as := except it does it at compile time. (This implies that the expression on the right is also evaluated at compile time; it does not bind a lazy thunk.)   ".
18:51 audreyt yes, but the relationship to compile-time pad values with runtime values are vague.
18:51 audreyt for example, we know that
18:51 audreyt my Int $x;
18:51 putter I think the "the same as := " is perhaps a bit misleading.
18:51 audreyt actually does a $x ::= (Scalar of Int);
18:52 audreyt but upon pad refresh, $x is a new scalar-of-int all over again
18:52 audreyt er
18:52 audreyt $x ::= (Scalar of Int).new
18:53 audreyt so I'm wondering what is actually with the pad-refresh process that creates new containers from compile-time prototypical values.
18:53 putter one-bind-ever means  my $x ::=  equiv  state $x =  ?  no...
18:54 audreyt let me think over it again...
18:54 gaal ::= is the one ring binder
18:55 gaal it works best when it's dark
18:55 xerox joined perl6
18:55 rhr this looks wrong in spec r14332: context(Method,Method); # nearest context that is method - however - context(Sub,Sub,Sub); # 3rd nearest sub context (should be nearest?)
18:56 audreyt I think what happens is that pad refresh calls .clone over the compile-time proto
18:57 audreyt which is collected at the time when the block finishes compilation
18:58 audreyt i.e. at the closing brace
18:58 audreyt this is so that
18:58 audreyt sub f { my $x ::= 3 }
18:58 audreyt sub f { my $x; $x ::= 3 }
18:58 audreyt would mean the same thing
18:58 audreyt so $x is a rebindable lexical pad entry with Int(3) as its proto
18:59 audreyt and each time upon reentry, its entry gets rebound to Int(3).clone
18:59 audreyt which is conveniently just Int(3).
19:00 audreyt rhr: well, the commit looks wrong
19:00 audreyt Repeating any smartmatch just matches the same context again unless
19:00 audreyt unfinished sentence etc
19:00 audreyt TimToady is probably still working on it...
19:01 rhr yeah, that's what I thought
19:01 putter my $x ::= [$+foo];   ?
19:02 audreyt you mean %ENV<foo>?
19:02 audreyt (there's no caller during compilation)
19:03 putter ENV will do.  was looking for something that would be different at ct and rt.
19:03 audreyt doesn't matter; the Array() object is cloned
19:03 audreyt not the computation
19:04 audreyt this means that upon reentry, you get a fresh 1-item array
19:04 audreyt no matter what you pushed to it last run
19:04 audreyt which is, actually, consistent
19:04 audreyt my @x; # simply means "my @x ::= []"
19:04 * offby1 just joined the conversation
19:04 audreyt so $x shouldn't be any different.
19:04 offby1 is [] roughly what "nil" is in Lisp?
19:05 putter offby1: no, an empty array literal
19:05 offby1 ok
19:07 putter any downsides to clone() story?
19:07 gaal what does this do?
19:07 gaal sub f { my @x = BEGIN { [] } }
19:08 gaal and why does 'my @x;' not simply mean "my @x := []" ?
19:08 gaal (is there any difference?)
19:09 gaal (the clone-proto story stipulates there is)
19:10 Gothmog_ Hm, is [] mutable?
19:10 gaal (that my @x already appeals to some proto, [] because of the @ sigil and in the absence of other shapes, and the := bind just comes along and overrides that at runtime)
19:10 gaal Gothmog_: its content is...
19:10 audreyt "my @x := []" happens at the wrong time
19:11 audreyt it's happen upon execution of that statement
19:11 audreyt but we want it upon entry
19:11 gaal audreyt: I think I see what you're saying -- does my last paranthetical remark agree?
19:11 audreyt "my @x" means "my @x is Array"; the [] is just a way of saying Array.new
19:12 audreyt correct, it agrees
19:13 gaal okay
19:15 putter so my @x ::= [];  means  my @x is Array; @x = BEGIN{Array.new}.clone;   ?
19:15 yts joined perl6
19:16 audreyt :=, not =, upon reentry
19:16 audreyt but otherwise yes
19:16 putter k
19:18 gaal I"m sold
19:18 audreyt hm that also means
19:19 audreyt sub f { my $x; BEGIN { $x = 123 }; say $x }; f;f;
19:19 audreyt is "123\n123\n"
19:19 audreyt and you can assign the $x again in $f if you wish
19:19 audreyt next time it's still a mutable 123
19:19 audreyt I think I like that. if we go with it, then we can totally kill the freshness counter in Lexical pads.
19:19 audreyt (in perl5 it's "123\n\n" which always bothered me.)
19:20 audreyt (because of the "freshness counter" prevents refresh upon first entry)
19:20 audreyt always had seemed arbitrary to me
19:23 audreyt so the story is that, at end of compilation of that block, $x is bound to (Scalar of Any) that contains 123
19:23 audreyt at each reentry we clone that scalar
19:24 audreyt so it's a fresh object
19:24 audreyt but it starts with 123.
19:24 putter sub f { my $x; BEGIN { $x = [] }; $x.push 9; say $x.elems }; f;f;   "9\n9 9\n" yes? oh, so no.
19:24 audreyt no.
19:25 audreyt well, depends on how deep the clone is.
19:25 * putter notes that we've confused the meaning of .elems, suggesting it may need a name change.
19:25 audreyt what is more useful?
19:26 gaal putter: it was my confusion, I think
19:27 putter but no one noticed/commented, which suggests a possible problem.  the word is consistent with both interpretations.
19:27 gaal well, you can tell the user to use 'state' if that's what they want
19:27 audreyt if the clone is but one level, then "9\n9 9\n" because Scalar.clone is the same as assignment
19:27 audreyt I think I actually want shallow clone, because deepcloning a closure doesn't quite make sense here
19:27 gaal putter: I think Juerd is consistently advocating against this method and to use context instead.
19:28 fglock joined perl6
19:30 putter re state, it is cloned in closures yes?   it seems like there should be some way to bind a lexical to a compile time thing which is hence forth untouched/uncloned.
19:32 audreyt that is the state declarator
19:32 audreyt sub f { state $x ::= 123 }
19:32 audreyt which gives you a chance of assign once:
19:32 audreyt sub f { state $x = 123 }
19:32 audreyt if you write "state $x ::= 123" you may also write
19:33 audreyt sub f { constant $x = 123 }
19:33 audreyt which thanks to the specchange, actually works now. (commit in a bit)
19:33 svnbot6 r15586 | fglock++ | PCR - fixed 'newline', 'any' rules
19:33 svnbot6 r15586 | fglock++ | - implemented token **{3}
19:33 svnbot6 r15586 | fglock++ | - better support for Unicode char names (pugs named_chars.t)
19:35 fglock pugs should pass a few more hundred regex tests :)
19:36 audreyt fglock++
19:37 * putter admires BEGIN/CHECK INIT/END START etc.  my $r will start { .set_random_seed() };
19:37 * allbery_b wonders if he should abort his current smoke and start over
19:37 putter S04
19:41 putter gaal: re elems, and "use context", it would be nice to have a method, if only so array like things can report their length without being required to associate their int coercion with it.
19:43 audreyt .count?
19:48 putter one complication is the sequence/set distinction.  if i delete() in an array interior, its length doesn't change.  but does it's count?  hmm, and does its length change if I delete() its zeroth element?  matching current expectations pl community expectations might be a win.  whatever that is.
19:48 audreyt deleting the last currently shrinks.
19:49 gaal *::<&count> = sub (@x is copy) { $*COUNTER = 0; for^H^H^Hloop ( $*i=0 ;;$*i++) {unshift @x; if exists @x[0] { $*COUNTER++ } else { last } } return $*COUNTER }  # j/k :-P
19:49 gaal I'm just imagining what really bad Perl 6 would look like :/
19:49 putter and first not.  +@a is currently max exists + 1.  not sure how to make that a name.
19:50 putter shudder
19:50 gaal okay, my inanity levels tell me I have to get away from the keyboard :)
19:50 putter or start the p6 style checker project... ;)
19:51 gaal is it too late to ask for fully-qualified names NOT to be legal without a 'use lax' pragma?
19:51 gaal I never liked that use-strict loophole
19:53 audreyt dunno, they seem useful to me
19:53 gaal or to make more precise: why should you ever be able to reach a variable that's in no symbol table w/o symbolic references?
19:53 audreyt $YAML::Syck::SortKeys = 1;
19:53 gaal YAML::Syck.SortKeys = 1 # better, no silent failure if typo
19:54 gaal (assuming it's a rw property)
19:54 audreyt well what you really want is that they don't autovivify
19:54 putter re SBCL backend (I forget who was interested), note http://common-lisp.net/project/cl-stm/ .  unclear what state it is in.
19:54 gaal nnnno, for reads too
19:54 lambdabot Title: CL-STM
19:54 audreyt or rather, packages stay as locked hash
19:55 gaal yes.
19:55 gaal assuming they're backed by hash, which TimToady has been resisting to assume
19:55 audreyt use optimize :packages<close>;
19:55 audreyt pugs -O
19:55 audreyt is supposed to do that
19:56 audreyt forcing predecl with "our" seems of course to be a win for me
19:56 gaal It's a misnomer if 'use optimize' gets you safety
19:57 audreyt well maybe "use strict" does.
19:57 gaal what if I want openness, but for it to be safe, ie, need an explicit heres-the-new-name-I-want
19:58 gaal as in your our suggestion--but that's not currently meant for fully qualified names
19:58 audreyt cool, refresh is entirely excised and constants appear to work. resmoking before commit
19:59 audreyt s/refresh/freshness/
19:59 gaal whee!
19:59 * gaal rips himself from the keyboard
19:59 gaal night
20:00 audreyt nite
20:23 audreyt hm, freshness is still needed because that
20:23 audreyt class Foo { my $x = 123; sub f { $x } }
20:23 audreyt needs to close over the same $x
20:23 audreyt oh well.
20:26 Caelum_ joined perl6
20:28 Caelum_ is now known as Caelum
20:28 TimToady I've been wondering if ::= is just duplicating constant.
20:31 audreyt you mean, if people want BEGIN{:=}, they'll write BEGIN{:=}.
20:32 audreyt however, not quite.
20:32 audreyt my $x; constant $y = $x;
20:32 audreyt evaluates $x.ITEM not $x.VAR
20:32 audreyt so you need
20:32 audreyt constant $y = $x.VAR;
20:32 Psyche^ joined perl6
20:32 audreyt to get the semantic of
20:32 audreyt my $y ::= $x;
20:32 audreyt which seems a bit draconian
20:36 TimToady k
20:36 BooK joined perl6
20:40 weinig is now known as weinig|bbl
20:41 Aankhen`` joined perl6
20:41 svnbot6 r15587 | audreyt++ | * ext/Cipher: Change the broken subroutine call form:
20:41 svnbot6 r15587 | audreyt++ |     my $x = new Cipher::Caesar;
20:41 svnbot6 r15587 | audreyt++ |   to:
20:41 svnbot6 r15587 | audreyt++ |     my $x = Cipher::Caesar.new;
20:44 Psyche^ is now known as Patterner
20:44 svnbot6 r15588 | audreyt++ | * HTTP.pm: typo.
20:47 specbot6 r14334 | larry++ | thinko spotted by rhr++
20:50 svnbot6 r15589 | audreyt++ | * Pugs.AST.Scope:
20:50 svnbot6 r15589 | audreyt++ |     let/temp/env are no longer scope declarators.
20:50 svnbot6 r15589 | audreyt++ |     cosntant/has are now scope declarators.
20:50 svnbot6 r15590 | audreyt++ | * Pugs.AST.Internals: Add cloneRef and cloneIVar APIs
20:50 svnbot6 r15590 | audreyt++ |   to facilitate pad-entry cloning.
20:50 svnbot6 r15590 | audreyt++ |   Pad reentry for lexical variables now unconditionally
20:50 svnbot6 r15590 | audreyt++ |   clones its compile-time proto-value, regardless of
20:50 svnbot6 r15590 | audreyt++ |   its sigil.
20:50 svnbot6 r15591 | audreyt++ | regen instances.
20:51 allbery_b note to self: don't try to rebuild pugs until audreyt++ goes to bed :)
20:51 svnbot6 r15592 | audreyt++ | * Pugs.AST.Pad: new adjustPad API to adjust one pad entry;
20:51 svnbot6 r15592 | audreyt++ |   also chase s/value/proto/ naming change.
20:53 svnbot6 r15593 | audreyt++ | * Pugs.AST: The "SGlobal" pseudo-scope is now gone;
20:53 svnbot6 r15593 | audreyt++ |   autovivification of qualified variables now simply
20:53 svnbot6 r15593 | audreyt++ |   assumes "our" semantics.
20:54 audreyt TimToady: what does "has" mean outside a class?
20:54 audreyt plain error?
20:54 svnbot6 r15594 | audreyt++ | * Pugs.Lexer: Parse for "has" and "constant".
20:55 TimToady or maybe the routine has an attribute?
20:55 audreyt how would you access it?
20:55 TimToady &foo.attr
20:55 TimToady nothingmuch was asking for something like that once upon a time
20:56 audreyt *nod*
20:56 audreyt though it's of dubious similarity
20:57 audreyt since the normal class-closure is only entered once, at composition time
20:57 audreyt yet its instances receive separate "has" slots
20:57 TimToady but might be useful for some kinds of classless OO
20:58 audreyt that is true
20:58 weinig|bbl is now known as weinig
20:58 audreyt sub f { has $.moose }
20:58 audreyt hm, still weird.
20:59 TimToady actually, nothingmuch was asking for a view on what the closure sees
20:59 TimToady my $x; sub f { have $.x } is what we came up with at the time
20:59 TimToady but maybe just has $.x ::= $x?
21:00 audreyt I still don't quite get it... &f gets new eigenmethod &x
21:00 svnbot6 r15595 | audreyt++ | * Prelude.pm: Use ::= not := for subs.
21:00 audreyt how is it diff from
21:01 audreyt sub f { my $.x }
21:01 audreyt ?
21:01 audreyt what I mean is, the semantic is what we prescribed to class attrs
21:01 TimToady that would be another possible syntax
21:01 audreyt classless oo has no concept of instances
21:01 audreyt and so "has" and the whole $!x slot notation seems dubious
21:01 TimToady fair enough
21:02 audreyt making "has" illegal outside classes for now...
21:04 audreyt is C<only> official?
21:04 audreyt if so, I'll add a para in S06 about it where it belongs (instead of S12 in passing)
21:04 svnbot6 r15596 | audreyt++ | * Pugs.Eval/Pugs.Prim: More s/SGlobal/SOur/ chase.
21:04 forsaken joined perl6
21:05 TimToady yes, it's official
21:09 audreyt so I can write
21:09 audreyt only foo {...}
21:10 audreyt k
21:10 TimToady goes in the same slot as multi and proto, yes
21:15 buetow joined perl6
21:15 pasteling "evalbot_r15588" at 194.145.200.126 pasted "Pugs build failure" (416 lines, 22.4K) at http://sial.org/pbot/23425
21:19 svnbot6 r15597 | audreyt++ | * Pugs.Parser.Util: When we finish parsing a block, all
21:19 svnbot6 r15597 | audreyt++ |   its lexical entries are checked for rebinding; the rebound
21:19 svnbot6 r15597 | audreyt++ |   value is used instead of its initial proto for subsequent
21:19 svnbot6 r15597 | audreyt++ |   reentry clones.  For example:
21:19 svnbot6 r15597 | audreyt++ |     sub f { my $x ::= 123; say $x; $x := 456 }
21:19 svnbot6 r15597 | audreyt++ |     f(); f();   # "123\n123\n"
21:19 svnbot6 r15597 | audreyt++ |   The reason for this is that we don't want to special-case
21:19 svnbot6 r15597 | audreyt++ |   ::= as part of declarator.
21:23 specbot6 r14335 | audreyt++ | * S06: Add the "only" routine modifier.
21:23 specbot6 r14335 | audreyt++ |   Also state explicitly that modifiers cannot apply
21:23 specbot6 r14335 | audreyt++ |   on anonymous routines.
21:25 svnbot6 r15598 | audreyt++ | Misc chase of scope name changes.
21:25 svnbot6 r15599 | audreyt++ | * Pugs.AST.SIO: Add "stm" and "io" as aliases for "liftSTM"
21:25 svnbot6 r15599 | audreyt++ |   and "liftIO". (from lambdabot; dons++)
21:25 buetow joined perl6
21:25 gaal audreyt: "routines do not share its short name" --> "
21:25 gaal "their"
21:25 gaal short names
21:27 audreyt fixed
21:27 audreyt TimToady: what do you think about this form?
21:27 audreyt state Moose $x .= new;
21:27 audreyt constant Dog $fido .= new;
21:28 audreyt or, a bit more involved:
21:28 moritz_ there is no buld failure that "make realclean" can't fix ;)
21:28 audreyt constant :(Dog $fido .= new)
21:28 weinig is now known as weinig|bbl
21:29 audreyt that is, should all the pseudoAssignment forms be supported in initialiers?
21:30 TimToady .= and := basically?
21:30 audreyt (prior art: s[...]+=123)
21:31 TimToady but initializers never have anything to start with
21:31 audreyt well := is not pseudoassignment
21:31 TimToady except the bare proto
21:31 audreyt right, but .=new.
21:31 audreyt I guess what I mean is
21:31 audreyt state Dog $x .= new;
21:31 audreyt should it assume FIRST semantics
21:32 audreyt or should it simply renew each time.
21:32 TimToady START you mean
21:32 audreyt yes
21:32 audreyt also whether
21:32 audreyt constant Dog $fido .= new;
21:32 audreyt is an error or kosher.
21:32 TimToady I think we want to treat .= as a form of = here
21:33 TimToady so state uses START semantics on .= and you can .= a constant
21:33 specbot6 r14336 | audreyt++ | * typo; gaal++
21:34 TimToady as for other += in this position, I suspect we should force them to also work within the init semantics or fail, otherwise they'll violate least surprise maybe
21:35 audreyt ok. but then since we said it's "simple signature" form
21:35 audreyt do we also allow
21:35 audreyt state :(Dog $x .= new);
21:35 audreyt ?
21:35 audreyt if so, maybe build it into the Signature syntax
21:36 TimToady it seems sensical
21:36 audreyt ok, doing so.
21:36 audreyt pugs> sub f ( $x = $x ) { $x }; f(4)
21:36 audreyt 4
21:36 audreyt good that it already works...
21:36 audreyt oh wait.
21:37 TimToady though people will expect :(Int $x += 1) to set $x to one more than was passed in
21:37 audreyt exactly.
21:37 audreyt but it actually casts it into optional
21:37 audreyt so, too surprising
21:38 audreyt so maybe keep it in the "special parenless"
21:38 TimToady and other people would expect it to modify the original argument
21:38 audreyt and reject it in full sig form
21:38 audreyt i.e.
21:38 TimToady fine, can relax later if desirable
21:39 audreyt state ($x .= new) # fails
21:39 audreyt k
21:52 svnbot6 r15600 | lwall++ | feeble attempt to keep STD in sync with new init rules
21:54 specbot6 r14337 | audreyt++ | * S03: Allow infix-assignment forms in the simple-one-arg
21:54 specbot6 r14337 | audreyt++ |   case of variable declaration:
21:54 specbot6 r14337 | audreyt++ |     constant Dog $fido .= new;      # okay: a constant Dog object
21:54 specbot6 r14337 | audreyt++ |     constant Dog $fido = Dog.new;   # same thing
21:54 specbot6 r14337 | audreyt++ |   However, this is not a generalized relaxation of the Signature syntax:
21:54 specbot6 r14337 | audreyt++ |     constant Dog $fido = $fido.new; # error: cannot refer to itself
21:54 specbot6 r14337 | audreyt++ |     constant (Dog $fido .= new);    # error: cannot use .= with parens
21:55 Psyche^ joined perl6
21:58 pasteling "moritz_" at 80.193.211.68 pasted "build failure of r15599" (5 lines, 283B) at http://sial.org/pbot/23426
22:00 TimToady I got that one too, almost back to that spot in realclean
22:00 svnbot6 r15601 | lwall++ | more var decl hackery
22:01 TimToady still blows up
22:02 audreyt fixing
22:02 offby1 distributed real-time software development _and_ testing
22:03 Psyche^ is now known as Patterner
22:06 svnbot6 r15602 | audreyt++ | * Pugs.Parser.Literal: Make pseudoAssignment parametric
22:06 svnbot6 r15602 | audreyt++ |   instead of hardcoding $$/ as the lhs, so it can be
22:06 svnbot6 r15602 | audreyt++ |   used elsewhere than "s[]=..." forms.
22:07 audreyt just a sec...
22:07 svnbot6 r15603 | audreyt++ | * Pugs.Parser.Operator: Remove state decl hacks now we
22:07 svnbot6 r15603 | audreyt++ |   are about to unify it back to general declaration.
22:10 larsen_ joined perl6
22:12 svnbot6 r15604 | audreyt++ | * Pugs.Parser: Unify "state" and "constant" assignment-phase
22:12 svnbot6 r15604 | audreyt++ |   magics into a general Signature-default-value based form.
22:12 svnbot6 r15605 | audreyt++ | * Pugs.Parser: Parse for default value regardless of whether
22:12 svnbot6 r15605 | audreyt++ |   param is defaulted as optional.
22:12 audreyt r15604 should build now.
22:12 audreyt er, r15605.
22:13 * moritz_ tries
22:15 TimToady gets past 95 this time
22:16 audreyt need r15606 to run Test.pm.
22:17 * allbery_b still smoking some ancient version :)
22:17 svnbot6 r15606 | audreyt++ | * Pugs.Parser.Operator: The := operator is not really infixAssignment.
22:18 audreyt running smokes now. looking at least sane...
22:18 audreyt (clone pads is currently slow; longer smoketime is expected.)
22:18 TimToady same slow as before?
22:18 audreyt same, but more things are parsing
22:19 audreyt so maybe a bit longer?
22:19 TimToady and maybe running a few more regex tests now
22:19 audreyt in any case, I think our pad story is quite solid now. can even add constraints if feel like to.
22:19 audreyt but eliminating VRef and getting multi dispatch right is more interesting
22:19 audreyt so workign on that next, before VObject bridge
22:19 Psyche^ joined perl6
22:20 audreyt incidentally pdd15 is a pretty good guide at structuring the p6opaque cache layouts :)
22:20 audreyt so maybe just going to follow it and see where it needs fixing
22:20 TimToady convergence++
22:22 audreyt although pdd15 has this highly strange removeattribute opcode
22:22 audreyt that MO is currently not happy about
22:22 audreyt do we actually ever expose that in perl6?
22:22 audreyt it seems as dubious as removing a lexical variable.
22:23 TimToady maybe they need it to support ruby?
22:23 TimToady does the recent variadic context() call look sane to you?
22:25 audreyt hm.
22:26 audreyt can't really say I like it
22:26 audreyt would prefer context(Method;Method)
22:26 audreyt to context(Method,1,Method)
22:26 allbery_b ?eval 1
22:27 pasteling "TimToady" at 71.139.25.231 pasted "link failure" (49 lines, 5.4K) at http://sial.org/pbot/23428
22:27 evalbot_r15597 pugs: user error (*** *** Can't modify constant item: VUndef␤        at <prelude> line 781, column 9-46␤           <prelude> line 781, column 9-46␤    at)␤
22:28 ozo_ joined perl6
22:28 audreyt TimToady: rm -rf dist/build/
22:29 audreyt it's fixed in GHC trunk :/
22:29 audreyt (incremental build bugs)
22:29 TimToady well, looks like it's gonna rebuild everything, so I'm thinking of doing some sleepsmoking.
22:30 TimToady short night < DST change ∴  nap &
22:30 audreyt sounds good. I'll sleep too
22:32 audreyt ruby doesn't seem to allow classwide removal of an attribute from all instances
22:32 Psyche^ is now known as Patterner
22:33 pasteling "evalbot_r15597" at 194.145.200.126 pasted "Pugs build failure" (545 lines, 31K) at http://sial.org/pbot/23429
22:33 allbery_b ?eval 1
22:34 moritz_ allbery_b: the answer is 1 Bool::True ;-)
22:34 allbery_b heh
22:34 audreyt still rebuilding
22:35 * allbery_b just wants to see if it'll update to 166<mumble>
22:35 allbery_b which I'll do later tonight when the current smoke (r15585!) finishes
22:35 allbery_b er, 156*
22:42 svnbot6 r15607 | audreyt++ | * t/operators/bindings/subs.t: unTODO.
22:45 svnbot6 r15608 | audreyt++ | * Pugs.Parser: The capture-form in parameter is :(|$x), not :(\$x).
22:50 evalbot_r15599 (no output)
22:50 svnbot6 r15609 | audreyt++ | * Pugs.Eval: .call is now .callwith.
22:50 svnbot6 r15610 | audreyt++ | * capture.t: unTODO; syntax fix
23:07 allbery_b hmmm
23:07 svnbot6 r15611 | audreyt++ | * "our $x" now reuses pad entry for package and lexical vars:
23:07 svnbot6 r15611 | audreyt++ |     module Main;
23:07 svnbot6 r15611 | audreyt++ |     our $x;
23:07 svnbot6 r15611 | audreyt++ |     $x := 123;  # also rebinds $Main::x
23:11 Psyche^ joined perl6
23:13 svnbot6 r15612 | audreyt++ | * Pugs.Parser: Unbreak exporting.
23:15 araujo joined perl6
23:22 rdice joined perl6
23:24 Psyche^ is now known as Patterner
23:27 diakopter joined perl6
23:35 stevan__ joined perl6
23:43 putter joined perl6
23:43 mdiep joined perl6
23:49 putter re S05, description of : and :ratchet... * and + _always_ backtrack (it's how they know how to stop).  so : doesnt cause the atom to not backtrack, it commits the concatenation/sequence/whatever _once that atom has successfully matched_.
23:50 Arathorn joined perl6
23:50 Arathorn !eval 1 || { say "foo" }
23:50 devbot6 Arathorn: Error: "eval" is not a valid command.
23:50 Arathorn bah
23:51 Arathorn ?eval 1 || { say "foo" }
23:51 moritz_ ?eval 1 || { say "foo" }
23:51 moritz_ allbery_b: ok, you were faster ;-)
23:51 Arathorn eheu pauvre evalbot :/
23:51 allbery_b <-- evalbot_r15599 has quit (Remote closed the connection)
23:51 allbery_b :(
23:52 Arathorn in the absence of run.pugscode.org and evalbot, i guess i should take this as an omen that i should svn up and rebuild
23:52 * Arathorn wonders what happened to feather
23:53 * Arathorn is confused as to why 0 || do { say "foo" } requires a do
23:54 Arathorn both in perl6 and perl5, for that matter :\
23:54 putter sigh.  I can see it both ways.  the commit model just fits my brain better than thinking of quantifiers as non backtracking.
23:56 audreyt Arathorn: hm?
23:56 audreyt what's wrong wit
23:56 audreyt 0 || say("foo")
23:56 audreyt ?
23:56 Arathorn well, if i want to execute a block of code if my main statement fails
23:56 moritz_ Arathorn: use "if" ;-)
23:56 moritz_ or unless
23:57 Juerd Arathorn: I'm not aware of anything having happened to feather...
23:57 Juerd 00:57:22 up 98 days,  8:37,  9 users,  load average: 5.22, 5.60, 5.64
23:57 Arathorn i know i could use if or unless - but there's something which makes me feel vaguely unhappy about putting my main statement as the condition of an if statement
23:57 Arathorn Juerd: fair enough - i was just leaping to conclusions in the absence of both evalbot & run.pugscode.org
23:58 audreyt 0 or do say "hi"
23:58 audreyt like that?
23:58 Arathorn yup
23:58 audreyt (p6 do does not require a block)
23:58 Arathorn but why is the 'do' required at all?
23:58 Juerd audreyt: You have several pugs sessions running. If they're not shell-interactive, could you please nice them?
23:59 audreyt Juerd: done
23:59 Juerd Thank you
23:59 audreyt Arathorn: a more concrete example?
23:59 putter in ( a (?{local $x +=1; say $x;}) b )+: (?{say $x})  explaining that $x is undone on backtracting, but the atom doesn't backtrack... blech.

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

Perl 6 | Reference Documentation | Rakudo