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