pugs.blogs.com/dist/Perl6-Pugs-6.2.13.tar.gz released! | run.pugscode.org | spec.pugscode.org | paste: sial.org/pbot/perl6 | pugs.blogs.com
Set by audreyt on 17 October 2006.
root4o tring this : 00:07
class test {
method blah($a) { $a };
method blah($a,$b) { $a + $b };
}
my $obj = test.new;
say $obj.blah(a => 5);
doesn't work
if I remove second method it is ok..
TreyHarris perlbot: nopaste
perlbot Paste your code here and #<channel> will be able to view it: sial.org/pbot/<channel>
TreyHarris root4o: multi method
root4o off.. sorry ;( 00:08
thanx
eviltwin_b yeh, that requires multi 00:12
root4o yep, forgot ;) 00:15
TreyHarris svn isn't working for me even for reads (assuming "svn up" and "svn stat -uq" count as a read) 00:17
00:22 nekokak joined 00:26 glasser` joined 00:27 Aankh|Clone joined 00:31 hikozaemon joined 00:54 mauke_ joined 01:10 polettix joined 01:16 nipotaway is now known as nipotan
audreyt temporary plan: setting up new machine may take time. so we're making feather the master 01:22
Juerd: I'll install CommitBit on feather and expose it thru http.
clkao is getting the raw (cleaned up) svn dumps to feather 01:23
will take some time to transfer auth tokens up
01:24 glasser` joined 01:25 mauke_ is now known as mauke 01:32 thepler joined 01:47 trym_ joined
audreyt dinner, bbiab 01:47
root4o trying "Method call vs. Subroutine call" in S12 01:58
it seems that it is working the other way around
i.e. it defaults to sub call not to method call
?class test { method foo($a) { 'method' } }; sub foo($a) { 'sub' }; my $obj = test.new; say foo($obj); 01:59
lambdabot Unknown command, try @list
eviltwin_b root4o: lots of stuff isn't implemnted yet. (as of this morning Captures work, thank audreyt++) 02:11
root4o yeah... i'm just testing...posting here just for information, so that the devs are aware ;) 02:12
TreyHarris root4o: write a test 02:15
eviltwin_b is still waiting for darwinports to quit rebuilding the same stuff over and over and rebuild the satuff that actually needs it 02:16
probably should give up and do it from scratch
TreyHarris though, of course, until svn is back, writing a test won't be too useful to implementors...
root4o i do it like :todo test , right ? if it doesn't work at the moment ?
TreyHarris no
just write it
audreyt or gaal or fglock or whomever will see it's failing, and then they'll either fix it or add a todo 02:17
root4o aha...so if it seems to me that something doesnt work...i ask here
if it indeed didn't work i know it is not my error, but it is not implemented yet 02:18
correct?
TreyHarris root4o: that's often useful... but also, just go to smoke.pugscode.org
look at a recent smoke
click the SYN link
and find the part of the docs describing what you think is broken
if there's no test, then it's almost definitely unimpl, and you should add a test
if there's a test, you can see what the state is 02:19
make sense?
root4o yes 02:20
02:21 shobadobs joined 02:22 mako132_ joined 02:46 SubStack joined
svnbot6 r14484 | raptor++ | adding tests for method vs sub call (S12) 02:48
02:57 thepler joined 03:23 cjeris left 03:37 rodrickbrown joined 03:46 glasser joined 03:56 stennie left
svnbot6 r14485 | audreyt++ | * meth_vs_sub_call.t: Fix plan number. 04:00
04:07 seano joined
svnbot6 r14486 | audreyt++ | * Pugs.Prim: Rename "atomically" to "contend" and "retry" to "defer". 04:07
TimToady audreyt: can we delay decision on statement bare block till after we see if there is something after it, so that {}.perl and such don't violate Least Surprise?
I though you used defer for something else already... 04:08
*thought
bsb Scalar::Defer? 04:09
audreyt scalar::defer but are we getting that in p6? 04:10
TimToady oh, was that only p5?
audreyt yeah
TimToady okay, np.
audreyt re after it, not sure good idea
consider
{ ... }
.say for @foo;
TimToady that reduces on end of line } rule though 04:11
almost any real bare block is going to have } on its own line.
audreyt sorry, thought you were talking about that
TimToady ?eval { say "hi" }.perl 04:12
evalbot_r14485 OUTPUT[hiā¤] "\\undef"
TimToady that's rather bogus
audreyt how did that get reduced?
TimToady decided } ended bare block, and .perl is $_.perl
is my guess 04:13
audreyt that's correct...
fixing
done 04:17
so, maybe.
maybe {} is statement level?
svnbot6 r14487 | audreyt++ | * Standalone blocks must terminate a statement on its own.
audreyt or is it both prefix and chaining binary?
or is it something else?
the original syntax was
my $x = ({ ...}.or_else:{...}.or_else:{...}).(); 04:18
but not sure what &maybe looks like
TimToady yes, I think it was intended as syntactically equiv to if/elsif/else without the conditionals... 04:19
audreyt but those are stmtlvl
TimToady so it's more like else/else/else
audreyt so to get rv use do?
$rv = do maybe {this} maybe {that}
that's almost pretty.
TimToady $rv = do 04:20
maybe {this}
maybe {that}
s/\x20//
I think it works okay.
audreyt but wouldn't that end stmt on first maybe?
but anyway, do{} will fix that
sure, implementing
(just so I can show Real Code tomorrow :)) 04:21
TimToady no, maybe extends current statement like else.
it really does parse a lot like else/else/else
audreyt but else only follows if
so you mean
this maybe {that}
TimToady and maybe only follows maybe. :)
audreyt ?
heh, so it's still stmt lvl
got it
04:21 perlbot joined
audreyt the irreconcilables now has a new "SIMD vs MIMD" dimension... 04:22
(btw, GHC does SSE2 on x86_64 happily and will probably get that on x86 soon)
so once we have unboxed arrays (which we'll get with newVal)
then PDL stuff get vectorized
TimToady we're fine as long as it's Haskell's brain that explodes and not the user's...
audreyt yeah, perl6 is this huge soft water bed between it and the user... 04:23
TimToady SSE2?
audreyt intel's vector opcodes
SIMD stuff
primarily for graphics folks
@array_of_ints >>++ 04:24
lambdabot Unknown command, try @list
audreyt s/ /./
s:P5/ /./, even.
TimToady there was a slashdot last week about some of the games folks working on a *86/GPU chip
audreyt just had dinner with William Cook (programming chair of oopsla, the guy who did the initial denotational semantics of inheritance) 04:25
TimToady cool 04:26
audreyt and he appears to highly appreciate p6 taking out the private-member-access-of-superclasses part
saying "that stuff has absolutely nothing to do with inheritance"
TimToady hmm, /home/larry/pugs/third-party/installed/lib/Pugs-6.2.13/ghc-6.6/libHSPugs-6.2.13.a(Parser.o):(.rodata+0x528): undefined reference to `Pugszm6zi2zi13_PugsziParserziLiteral_lvl208_closure' 04:27
audreyt which I guess is common sense around here but, it's nice to hear nevertheless :)
had a partially aborted incremental make?
TimToady I was just doing what TheDamian told me to there... :)
yea
audreyt if the ^C happens between recursive modules
then it does that. annoying :/
TimToady well, doesn't take that long to rebuild. 04:28
audreyt no other known ways than rm -rf dist/build/
TimToady ?eval { say "hi" }.perl 04:36
evalbot_r14487 "\{Syn \"block\" \{App \&say (: \"hi\")}}"
audreyt that is correct modulo we had bad deparse.
TimToady ?eval { :a(1,2,3) }<a> 04:37
evalbot_r14487 [1, 2, 3]
TimToady good
?eval {}
evalbot_r14487 undef
TimToady ?eval { :a(1,2,3) } 04:38
evalbot_r14487 ("a" => (1, 2, 3))
audreyt oy, I accidentally reverted 04:39
if 4 -> $x {...}
support, right before release
bad me :/ 04:40
that was somehow rolled back along with the Judy changes
TimToady blame your fingers.
audreyt bbiab... 04:43
svnbot6 r14488 | audreyt++ | * ChangeLog: Minor fixup, and note the fact that if/elsif/else
r14488 | audreyt++ | didn't really take pointies...
r14489 | audreyt++ | * Restore support for: 04:49
r14489 | audreyt++ | if EXPR -> $x {
r14489 | audreyt++ | ...
r14489 | audreyt++ | }
r14489 | audreyt++ | elsif EXPR -> $x {
r14489 | audreyt++ | ...
r14489 | audreyt++ | }
r14489 | audreyt++ | else -> $x {
r14489 | audreyt++ | ...
r14489 | audreyt++ | }
TimToady er, else -> $x ??? 04:51
audreyt yes so you know whether it was a 0 or a ''
same as until
seems consistent 04:52
TimToady k
audreyt there are as many interesting falses as there are trues..
TimToady what a concept!
audreyt hm. what should defer do outside contend block?
noop?
also, what should maybe do?
imlicitly contend itself?
I'd certainly like autocontend for maybe 04:53
TimToady hmm
outside of the lexical scope of a contend?
04:54 justatheory joined
TimToady contend {{{{{{{{ maybe {} }}}}}}} could be expected to autocontend by the user 04:54
if they've forgotten the outer contend by then.
probably not a huge issue, given common use will be directly inside a contend 04:55
audreyt dynamic scope actually
TimToady defer seems more like a control exception.
audreyt I think both are dynamic in nature
if you think it as control exception
then defer would refuse to work outside contend
TimToady in which case you can't know whether the maybe was intended to autocontend 04:56
audreyt no, what I was saying is
TimToady so we probably ought not autocontend
audreyt maybe { foo } maybe { bar }
is probably sufficient
since nested contends are noops
it seems to me that foo/bar must be atomic in nature
and so maybe maybe should simply enter atomicity 04:57
and defer should fail as a cont excp
TimToady I suppose the state of a set of maybes should be held by the autocontend around them in any case, rather than some further out contend that might be managing several maybe roundrobins 04:59
audreyt hm, I thought maybes are syntactic groups
right.
exactly what you said.
so hmm, that makes
maybe {...};
exactly!
the same as
content {...};
TimToady yes, except unless the contend is part of an outer maybe chain. 05:00
maybe {...} maybe {...} contend {...} might be syntactically legal. 05:01
esp with newlines
but the maybes are their own thing, and the contend something else.
hmm. on p6l someone once asked whether you could say if $x {...}; else {...} 05:02
don't think anyone ever answered...
maybe {...} maybe {...}; maybe {...} is similar 05:03
audreyt <warnock> applied, thanks
TimToady I think if someone puts the semi, they probably intended to terminate the larger construct.
but it's a lot of weight to put on a little semicolon, especially between maybe sets. 05:04
audreyt which is why I originally think it as infix
which avoids the problem by shoving people into operator think 05:05
TimToady but then runs into last } on line issues
audreyt contend/maybe acting exactly like if/elsif ?
svnbot6 r14490 | audreyt++ | * recurrence-grep.t: temporarily disable loopign test
audreyt contend {...} maybe {...} maybe {...}
TimToady seems to break the parallelism of the roundrobin 05:06
audreyt but not really
we're just changing the name of the first maybe
contend {... contend {...} maybe {...} }
is totally legal
TimToady I think the intent of contend is inward looking while the intent of maybe is outward looking 05:07
so we shouldn't confuse them.
audreyt ok. implementing maybe chains as is then
TimToady good enough for now, and we can probably tweak later.
TreyHarris where were contend and defer and maybe discussed? i don't see them in synopses or on p6-l? 05:09
TimToady they've only been discussed here
audreyt TimToady: see examples/concurrency/stm* 05:10
TreyHarris ah, ok. i'll check scrollback then
TimToady but it's been a couple of months ago
audreyt coded up. 05:11
svnbot6 r14491 | audreyt++ | * Implement maybe {...} maybe {...} STM round-robin retry chains.
TimToady actually, it was around July 1 05:12
audreyt so, another two primitives with GHC where we don't implement yet 05:14
svnbot6 r14492 | audreyt++ | * Pugs.Prim: Remove retry_with.
audreyt one is unsafeIOToSTM
where let you "say ..." anyway in a contend
promising you don't carre about rollign it back.
TimToady the problem with autocontend around maybes is that defer wants to restart the official contend outside of that, not just the round-robin state container.
audreyt actually defer there is like "break"
in that it goes to the next robin
and only on end of chain goes to outer contend 05:15
I think it's sane...
root4o is there some docs on contend/maybe
audreyt root4o: they just existed like, 5 minutes ago
TimToady for some reason I thought it started from the top but just selected the next path through.
05:15 BooK_ joined
audreyt TimToady: an orElse chain has the same semantic as maybe chain 05:15
and I think retry in that falls to the next orElse first 05:16
05:16 wilx joined
audreyt we can force it to go upward using a counter 05:16
but this current way is prolly fine
anyway. unsafeIOToSTM.
another primitive we don't expose is "assert"
assert {...}
runs the expression on each STM contention mutation point 05:17
and if it evals false, then it's retried
it implements the C in ACID
(STM provides A/I)
it sunds like a closure trait to me
ALWAYS {...} 05:18
ENSURE {...}
or something, but not sure.
TimToady INVAR if you want to go all CSy, but I kinda like ALWAYS 05:20
maybe and CERTAINLY :) 05:21
audreyt INDEED {...} 05:22
gaal FERSURE {...}
TimToady AMEN {...}
{...} DARNIT
gaal YOUBET {...}
audreyt ALWAYS makes perhaps most sense... 05:23
TimToady doesn't work as a closure trait if you regularly autocontend
gaal INVARIABLY, but that's long
05:23 DHGE joined
audreyt it's actually not a closure specific thing 05:23
it's global within that contend
so hm.
TimToady maybe {...} maybe {... } always {...}
audreyt contend {...} always {...} 05:24
TimToady should it have access to lexical scope of contend?
almost seems like it shouldn't 05:25
audreyt it should be dynaamic
(it's dynamic in the host language)
which means always as "else" makes sense
gaal is this assert prim a block that if fails, causes the transaction to be retried? 05:26
oh, 07:17 < audreyt> and if it evals false, then it's retried
audreyt yes and it's checked on every TVar update
Tim Harris's work. lambda-the-ultimate.org/node/1500 05:27
lambdabot Title: Transactional memory with data invariants | Lambda the Ultimate
TimToady contend if $whatever {...}
maybe if $whatever {...}
audreyt "if" doesn't seem right
05:27 Aankh|Clone is now known as Aankhen``
TimToady well, there's prior art in PRE/POST for blocks that are boolean context 05:27
esp if it gets sent around as a closure 05:28
audreyt yeah 05:29
ALWAYS spans in the entire dynamic downward graph
svnbot6 r14493 | audreyt++ | * Pugs.Parser: This is one statement not several: 05:32
r14493 | audreyt++ | maybe {...}
r14494 | audreyt++ | * examples/stm-retry-with.pl: Clean up it a bit. It now runs just fine. 05:35
r14495 | audreyt++ | * rename to stm-contend.pl
audreyt root4o: there's docs now... 05:40
svnbot6 r14496 | audreyt++ | * Perl6::Spec::Concurrency: Update nomenclature. 05:41
audreyt root4o: read the first 183 lines of svn.openfoundry.org/pugs/docs/Perl6...rrency.pod
lambdabot tinyurl.com/yjl9we
audreyt start from "=head2 No user accessible locks" 05:42
svnbot6 r14497 | audreyt++ | * some more cleanup. 05:44
audreyt TimToady: can any()/all() short circuit with data parallelism?
that is
any(1..999999999) > 0
taking constant time even if you don't have that many processor?
(only during an collapsing bool-cxt operation, of course) 05:45
TimToady yes, junctions are allowed to bail out as soon as they're falsifiable or truifiable
audreyt yay 05:46
if any(1..9999).say { ... }
will only print 1, then
which is perhaps fine.
(well, it will print 2+ numbers on SMP that didn't abort in time, but that's fine too) 05:47
actually, junctional invocants are never really talked about 05:48
iirc
but it fallback to sub in this particular case
but that means
any($obj1, $obj2).meth
TimToady yes, junctions make no promise about how many side effects may or may not happen
audreyt can't go calling $obj1.meth and $obj2.meth unless they hapen to be exported meths
or maybe it redispathch thru method first too... 05:49
TimToady unlike hypers, which guarantee all, but not necessarily in any order
I would not expect any(@x).meth to vectorize prettily in general unless there's some way to prove that all the elements would dispatch the same way. 05:52
audreyt well but it can still SMP/Grid parallelise 05:53
which is a bigger win in general
vectorize instructions only works for unboxed storage cells anyway
TimToady still, you'd expect any(1..100).abs to vectorize pretty well. 05:54
audreyt *nod* 05:55
any(1..100).someIntMethod
wouldn't neccessarily, though.
TimToady can have multis that pick individual values
audreyt $obj.*meth has nothing to do with parallelism, right?
i.e. I'm not allowed to SMP calls across the MRO? 05:56
TimToady .* is pretty much defined to visit in standard order.
audreyt seeing how BUILDALL is built on it that's probably wise
TimToady and any one of them can use "last" to abort the rest
audreyt nod
TimToady so one would have to use STM tricks to parallelize a .* on spec 05:57
and defer if anyone earlier did "last" 05:58
audreyt yeah. but that still means unordered IO
or even no IO
neither of which is part of .*meth promise probably
TimToady yeah
well, that's good that they fill different niches.
I guess .* is a funny kind of monad 05:59
sort of an internal IO monad for relations between objects... 06:00
audreyt *nod* 06:04
svnbot6 r14498 | raptor++ | adding myself ;") 06:08
eviltwin_b I finally have almost-stable dports (after giving up on doing it "right", nuking everything, and reinstalling...) 06:17
06:17 marmic joined
eviltwin_b I might be able to get a pugs build that works now 06:17
audreyt ooh 06:18
eviltwin_b (at minimum, my perl5 was horked, but pugs found and used it, so things were a bit odd) 06:19
06:21 root4o left
audreyt sleeptime. *wav* 06:27
06:54 seano joined 06:55 iblechbot joined 07:12 yts joined 07:17 ditto joined
TimToady @tell audreyt my latest smoke ran almost 200% slower. ouch. will try again with realclean while I sleep... 07:18
lambdabot Consider it noted.
TimToady @tell audreyt probably not a problem--looks like my cpu was stuck on low speed for some reason. 07:21
lambdabot Consider it noted.
07:21 buetow joined
TimToady ļ¼ŗļ¼ŗļ¼ŗļ¼† 07:23
Juerd audreyt: Okay 07:40
xinming @tell xinming This is a test 07:52
lambdabot You can tell yourself!
xinming ....
08:04 cnrocks is now known as cumulonimbus 08:07 cumulonimbus is now known as CumuloNimbus
lumi Is docs/Perl6/Spec/Concurrency.pod under pugs svn? 08:07
There's a typo there (outermose), which should probably be "outermost" and not "outermoose" 08:08
xinming lumi: How about your email? /msg me 08:10
svnbot6 r14499 | lumi++ | A typo, fixed. 08:12
08:17 drrho joined
gaal hmm, I think I'd prefer ļ¼® ļ¼® ļ¼® to ļ¼ŗļ¼ŗļ¼ŗ. Integer sleep? meh 08:29
svnbot6 r14500 | lumi++ | More typos smitten.
gaal ļ¼²ļ¼²ļ¼² is also good 08:30
gaal doesn't consider "outermoose" to be a typo, but that's just me and my deer 08:31
lumi Dear sir or ungulate 08:35
08:51 hikozaem_ joined 09:15 andara joined 09:56 ruoso joined 09:57 kensanata joined 10:03 idiotmax_ joined, hcchien joined 10:04 f0rth_ joined, cookys_ joined, penk joined 10:07 penk joined 10:15 hcchien joined 10:24 iblechbot joined, jferrero joined 11:06 chris2 joined 11:14 xinming_ joined 11:23 weinig|bbl is now known as weinig_, weinig_ is now known as weinig 11:31 Psyche^ joined 11:32 fglock joined
svnbot6 r14501 | fglock++ | v6/runtime 11:40
r14501 | fglock++ | - added setup_type() create typed-cell p5-classes
r14501 | fglock++ | v6/emitter(2)
r14501 | fglock++ | - my/our take parameters { readonly => 1, type => Dog }
11:40 Psyche^ is now known as Patterner 11:44 thepler joined
svnbot6 r14502 | fglock++ | v6/emitter(2) - merged minor HACKING, TODO, Any.pm changes 11:46
12:15 Limbic_Region joined 12:25 HiTech69 joined 12:39 mauke joined 12:47 nipotan is now known as nipotaway 12:50 vel joined, iblechbot joined
svnbot6 r14503 | fglock++ | v6/emitter(2) - the type of cell depends on the context 12:58
r14503 | fglock++ | $native.bind_from is read-only
r14503 | fglock++ | $native.VAR is read-write
13:02 fglock joined
fglock ?eval (1,2,3)[1]=5 13:02
evalbot_r14503 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 785, column 9-46ā¤ <prelude> line 785, column 9-46ā¤ at)ā¤
13:04 bonsai joined
gaal ?eval "prelude fix?" 13:08
evalbot_r14503 pugs: user error (*** *** Can't modify constant item: VUndefā¤ at <prelude> line 785, column 9-46ā¤ <prelude> line 785, column 9-46ā¤ at)ā¤
gaal ?eval "prelude fix?" 13:11
evalbot_r14503 "prelude fix?"
gaal yay
13:13 ditto joined
svnbot6 r14504 | fglock++ | v6/emitter(2) - added more questions in HACKING 13:17
13:21 jiing joined 13:25 [particle] joined 13:26 [particle] joined
audreyt @messages 13:49
lambdabot TimToady said 6h 31m 43s ago: my latest smoke ran almost 200% slower. ouch. will try again with realclean while I sleep...
TimToady said 6h 28m 42s ago: probably not a problem--looks like my cpu was stuck on low speed for some reason.
audreyt greetings \camels
13:51 AzureBOT joined
gaal yo yo audreyt 13:52
Limbic_Region salutations audreyt 13:53
Limbic_Region is posting his meditation about his NP complete project but plans on running a smoke soonish
[particle] hi audreyt, what part of the world are you in today?
13:54 rlb3 joined
audreyt [particle]: Portland. in ~7 hours going to present my talk at OOPSLA/DLS 13:54
[particle] g'luck
audreyt the doubled room for DLS is beyond maxed out (200+ known attendees in a 205 capacity room)
so they got student volunteers to act as bouncers to prevent walkin people
[particle] you've got bouncers? 13:55
audreyt any(<SeaSide PyPy Pugs>) must be attractive to some people...
actually s/SeaSide/DabbleDB/ 13:56
Limbic_Region: cool! *goes to perlmonks to read* 13:57
fglock audreyt: does $a := $b does typechecking? 13:59
gaal if i were a walkin person i'd masquerade as a bouncer 14:00
14:05 hexmode joined
xinming_ audreyt: what do you use for editing haskell please? 14:08
audreyt xinming_: vim
xinming_ audreyt: do you use Emacs?
audreyt oy, perlmonks trapped me
audreyt posted a reply to perlmonks.org/?node_id=580004
lambdabot Title: Parrot, threads & fears for the future. 14:09
xinming_ audreyt: In fact, I like Emacs more, But now, I switch to vim, as start up speed in Emacs is really slow.
xinming_ goes to read the post
audreyt xinming_: and no, I do not 14:15
I've passing acquaintance with both Emacs and Eclipse
my ability to script either is not as good as my ability scripting my shell 14:16
so I prefer making shell my IDE, but that's entirely a personal choice :)
14:17 cjeris joined
wolverian audreyt, nice post ;) 14:19
14:21 kensanata joined
audreyt wolverian: BrowserUK tends to get me into this tone ;) 14:22
xinming_ Emacs is powful, But Emacs Makes A Computer Slow is really a truth, Now, I use emacs as my "OS", and vim as my primary editor, I am tired of waiting emacs to open a file to edit for me
Limbic_Region audreyt - will ping you when it is ready, lots of links to include
wolverian audreyt, you're not the only one :)
14:25 iblechbot joined
gaal resuming the sleep thread, audreyt's of course is ļ¼£ļ¼£ļ¼£ 14:25
it's real, but she commits at the same time
osfameron ooo, shiny :-) I think it was a good PM post if it got a good result like that 14:28
of course, it'll be shinier if concurrent stuff properly works in Win32 as well
audreyt osfameron: it does not?
I thought SMP parallization does in win32 as well
and STM I tried with Win32 just he other day... 14:29
(GHC 6.6, trunk Pugs)
osfameron I mean that for concurrent *Perl5* Win32 is a second class citizen
fork + alarm is very flakey
audreyt oh that
osfameron so if it all works on win32 come perl6 that's fantastic 14:30
audreyt sure it all works :)
wolverian hm, I see the concurrency pod has some new stuff (or at least new names for things). interesting
14:30 seano joined
wolverian and pugs implements all of it? 14:30
audreyt it had better, as I think Win32 is one of the first tier work platforms for the GHC HQ at MS Research
wolverian: yes 14:31
wolverian very nice!
audreyt (after FreeBSD and Linux, I think)
Apple hardware is still not popular in MSR. I wonder why ;)
osfameron it was one of the questions I asked in the "Ask Perl 6" back in... oh! 2002
of course I no longer use Win32 when I can avoid it, but I still think it'll be an advantage 14:32
wolverian audreyt, is the purity of atomic blocks detected at compile time? 14:33
audreyt wolverian: once we gen codegen to GHC (via MOH, for Great Performance) then yes 14:35
currently it's runtime.
wolverian yay :) 14:36
audreyt some of them will remain runtime though
since you can rebind previously pure functions into nonpure ones
and then compiler can't catch that
but that's fine; runtime still does 14:37
wolverian whoo, DateTime::Natural::Parse!
audreyt wooo!
wolverian hm. it's not very i18n.
audreyt and fails tests. but hey, first day of a module 14:38
wolverian it's the principle :)
audreyt BEGIN { release } loop { release }
14:42 weinig is now known as weinig|coffee 14:47 mj41 joined 14:50 nothingmuch joined 14:54 weinig|coffee is now known as weinig 15:21 ofer0 joined 15:25 elmex joined
audreyt Q: which way to write has_twim_prime is most clear to you? 15:29
is_prime(all($n, $n + any(2, -2))); 15:30
is_prime($n & ($n + (2 | -2)));
is_prime($n + (0 & (2 | -2)));
is_prime($n) and is_prime($n + any(2, -2));
is_prime($n) and is_prime($n + 2 | $n - 2);
(bbiab) 15:31
kensanata not knowing anything about perl6 and therefore not knowing the foo(a|b) syntax, i still like the last variant best. 15:34
15:37 chris2 joined
wolverian same here. 15:38
mauke is_prime($n + (0 & (2 | -2))); for minimized redundancy 15:41
wolverian heh. I thought it was bitops. sigh. 15:44
TimToady ?eval sub infix:<Ā±> ($b,$d) { $b + $d | $b - $d } say 42 Ā± 3 15:47
evalbot_r14504 OUTPUT[any(VInt 39,VInt 45)ā¤] Bool::True
masak last one
TimToady isprime($n) and is_prime($n Ā± 2) 15:48
audreyt how do you pronounce the infix +- ? 15:49
TimToady plus-or-minus
wolverian heh. now I can finally write the equation for second order polynomials properly
audreyt TimToady: you think it's better? 15:50
I'll so a lexical sub infix then 15:51
wolverian makes me want a both()
audreyt both?
TimToady plus-and-minus, I presume
audreyt ah. 15:52
mauke
.oO( any (all is_prime . map (n +)) (map ((0 :) . return . flip id 2) [id, negate]) )
wolverian waving hands in that direction, yeah
also, all/any is weird with two item arguments 15:53
audreyt which is why we have infix...
wolverian and why people preferred them in this case, I suppose. good point. :) 15:54
15:55 shobadobs joined 15:56 justatheory joined 15:57 arguile joined
TimToady The recent PM thread on threads makes me wonder how long it would take to write a Parrot byte code interpreter in Haskell... 15:58
audreyt the real trick is in the PMCs... 15:59
ofer0 will perl6 require a new CPAN ?
audreyt ofer0: an improved CPAN :)
ofer0 audreyt, wonderful
wolverian so I'm trying to pass the + function to another function in C. this calls for a beer or two (to celebrate) 16:01
TimToady C has approximately as much support for first class functions as it does for first class strings... :/ 16:02
fglock in '$a := $b' does $b needs to agree with the previous type of $a?
TimToady it should agree with the type of VAR($a) 16:05
doesn't have to agree with the previous contents
TreyHarris hm. ext/Recurrence/t/recurrence-grep.t spun its wheels all night in my last smoke... r14489 16:07
audreyt TreyHarris: I disabled it... havn't had time to investigate. help welcome (try pugs -d) 16:10
16:11 Gothmog__ joined
fglock hides <== guilty of quite a few infinite loops 16:11
16:12 HiTech69 joined 16:13 Gothmog__ is now known as Gothmog_ 16:16 frankg joined
audreyt TimToady: also, Parrot opcodes were designed to be insanely fast interpreted and only augment with some JIT 16:26
to which D or C+ASM is still be better host language to code that
Limbic_Region audreyt - perlmonks.org/index.pl?node_id=580093 16:27
audreyt Pugs otoh will use ahead of time compilation mostly to gain performance, or find some VM that has good JITting/runtime tuning (StrongTalk et al, some more advanced JVMs). maybe both.
lambdabot Title: How many words does it take? 16:28
audreyt insanely fast interpretation makes a lot of sense, but with rapidly converging CPU types, is at disadvantage with CPU-specific AOT schemes... 16:29
Limbic_Region: woot
Limbic_Region it only takes 1 word to use all the letters audreyt - ambidextrously 16:31
audreyt very, very cute 16:32
though Parrot's interpretation speed, like Squeak's, is already quite Fast Enough (i.e. better than perl5 generally) 16:33
Limbic_Region www.gatcomb.org/dictdemo/demo.cgi if you want to try the demo for yourself
lambdabot Title: How many words does it take.....
audreyt so it's largely the OO dispatch, multi dispatch, junctional dispatch etc that matters 16:34
(all 3 has currently quite unnatural encoding on Parrot that defeats the fast runloop)
(not surprisingly, seeing how they are specced only after parrot implemented something else entirely...) 16:35
(so they are fixable given time and effort and C-fu.)
Limbic_Region needs to re-read the parrot and threading meditation now that many more folks have replied 16:36
16:37 SCalimlim joined 16:45 chaoslawful joined
Limbic_Region audreyt++ for her responses in that thread and in general for just being her 16:46
audreyt er, uhm. thanks. *blush* 16:47
the irreconcilable slide for parallelism is now titled 16:49
"Concurrency vs Sanity"
uploading for review...
[particle] jonathan++ for taking on objects pdd 16:51
ww, but it still applies :)
gaal random periodic prod: how do multi sub express the notion of guards, in light of guard order and separate compilation?
audreyt gaal: still where clauses 16:52
multi f ($x, $y where { $x > $y > 1 }) {}
and ordered guard must be when'd 16:53
multi f ($x, $y) { when $x > $y > 1 { ... } when $x == $y { ... } }
Pugs has freed when from given
so that style is noe encouraged
now
gaal oh! this is new
audreyt yes
as of 6.2.13
part of the rewritten Eval monad
gaal so multiness and guardiness is orthogonal, as desired 16:54
audreyt yes.
and break/continue in when works as you expect
even outside given
given is now purely sugar for
gaal though, is the body inside the when? that's funny
audreyt (-> $_ is rw {...})()
gaal oh sorry
it's inside the body, not the sig
audreyt yup
gaal can when accept a signature? I'm tihngking unpacking 16:55
when BinTree $x :($left, $right) { ... }
audreyt yes. and actually part of S03
you can even do this: 16:56
sub f (|$_) { when :(...sig...) {...} when :(...sig...) {...} } 16:57
which gives you pattern guards.
gaal w00t
audreyt this is finally looking like a usable language, isn't it :)
gaal the only thing not to like about this is the wasted indent level
audreyt you are free to not indent ;)
gaal but haskell's gotta be good for something :-P 16:58
audreyt and infact intend level is the same
sub f (|$_) {
when :(...)
{ ... }
when :(...)
{ ... }
}
if you write it that way
gaal as guard syntax, yes, but not declarative
audreyt yup
16:59 cdpruden joined
gaal because multis do not capture that 16:59
audreyt well they do if all your when is matching with sigs
gaal but it's much saner like this.
audreyt yup.
gaal I wouldn't use them for that, because order is hard to predict
audreyt aye
I helped clkao briefly a couple days ago to write new SVK::Mirror in implemented subset of perl6 17:00
it's surprisingly 1)easy 2)fun
@.meth: 1,2,3;
lambdabot Unknown command, try @list
audreyt alone, saved screenfuls of lines.
TimToady :) 17:01
gaal what does that mean?
TimToady it means I'm happy.
:)
audreyt @(self.meth(1,2,3))
lambdabot Unknown command, try @list
audreyt :D
TimToady++
gaal :)
audreyt gaal: because that means you can override in subclass the accessors 17:02
and have the consumer not care about if it's an accessor or a method
because they ae exactly the same thing
$.foo does not promise anything about $!foo's existence
TimToady to the user, it *is* an array with a "longer name"
audreyt and neither does the other way around
and "user" here means "derived class"
which is amazing abstraction. 17:03
seano audreyt: I'm looking at trying to implement .can/.methods/.whatever... any hints on where to get started looking at metaclasses inside pugs? findSub in Var.hs is, at 270 lines, somewhat daunting...
audreyt seano: oy! you don't want Eval.Var
TimToady for a change, an abstraction that seemed obvious to /me
audreyt seano: you want to help getting MOH fully implemented
gaal *nod* cool
audreyt since Eval.Var is going to be swapped entirely out to MOH
seano ah... who's on that?
audreyt cmarcelo, nothingmuch
seano I thought I remembered your mentioning something about that... 17:04
audreyt perlcabal.org/~cmarcelo/moh/
lambdabot Title: Index of /~cmarcelo/moh
seano really wants his tab-completion in the shell ;)
audreyt source: nothingmuch.woobling.org/MO/
lambdabot Title: Index of /MO
seano thanks
audreyt seano: MOH gives us true reflection; what Pugs currently does is just embed into packages
which is curiously exactly the same as Perl5
and not at all relevant or correct anymore
and instead of writing an abstraction DWIM layer like Class::MOP/Moose 17:05
we might as well implement the Right Thing right away
seano ok. thanks. is the MO stuff up for the next release-ish, or is that a long way off?
audreyt which is also considerably faster since it has the option of compiling into native haskell
it's what next release will be about.
and I plan to import it when I'm in Brazil
so like, a couple weeks, a couple months tops.
seano what's that, "the right is the enemy of the tolerable"?
audreyt we tolerated the Pythonic Perl5 OO model for long enough... 17:06
17:06 aufrank joined
seano cool... well, I'll look into this then back-burner it, probably. 17:06
aufrank hi hi
audreyt cool thanks!
aufrank: heya
audreyt gets ready to go to the conference
aufrank which syntax works for passing named arguments into p5 subs?
audreyt %h.kv 17:07
since they are, well, not named.
aufrank my $foo = Text::CVS_XS.new( sep_char => "|") #works
audreyt oh, yes, since pairs are implicitly kv's
for the p5bridge
aufrank but adverbial doesn't work?
audreyt I mean named pairs.
:sep_char<|> should work 17:08
does it not?
if not, write a test, though I'm surprised.
pugs.blogs.com/talks/dls06-pugs.pdf up.
aufrank Can't use string ("sep_char") as a HASH ref while "strict refs" in use at /opt/local/lib/perl5/site_perl/5.8.8/darwin-thread-multi-2level/Text/CSV_XS.pm line 63. 17:09
audreyt 250 slides, 60 minutes
aufrank goes to write a test
gaal good luck :) 17:14
or did you already give it?
TimToady I thought you were wishing aufrank good luck writing a test. :)
17:15 ajs left
gaal aw, I should have said "or did you already do it?" and maintain the ambiguity 17:15
english has these wonderfully wimpy verbs
TimToady it is fortunate that pronouns in English are ambiguous as to gender.
Even "you guys" is genderless (more or less) in California 17:16
gaal Hebrew gender markings are a pain, and are being eroded
aufrank question: I've got my svk mirror set to svn.perl.org, which is RO. Is there a way to change it to the openfoundry mirror without resyncing the whole thing? 17:17
Limbic_Region TimToady - I find it more unfortunate that there is not an explicit singular form of gender neutral pronoun
gaal some of them don't make sense though; the -a suffix means feminine all over the place, but in the cardinals, it means masculine.
TimToady on the other hand, English is wonderfully expressive when it comes to verbs of destruction. There are hundreds of ways to destroy something.
gaal b0rk b0rk b0rk 17:18
oh, that's Swedish
TimToady sure there is, people just don't like that it's "they".
but singular "they" goes back many centuries.
aufrank there was a great language log post showing singular third person use of "they" going back a long ways, including in Shakespeare 17:19
17:19 justatheory joined
gaal pulls out oed2... 17:19
[particle] and all this time i've been using s?he
audreyt aufrank: no, please remirror. sorry. 17:20
gaal 1526 first citation
aufrank yargh. OK. test might take a while ;)
Limbic_Region TimToady - wasn't aware that 'they' was grammatically correct for singular though I use it for that purpose all the time 17:21
TimToady indeed, everyone does, even proscriptive English teachers. 17:22
they just don't notice when they're doing it.
gaal wonders who W. de W. was
TimToady maybe we should change "they" to default to singular, and then use "they guys" for the plural. 17:23
gaal relatedly, where does "them apples" come from?
(how do you like, etc.) 17:24
[particle] how's about them apples!
TimToady I blame Steve Jobs.
gaal lol 17:25
[particle] urbandictionary points to WWI 17:26
fglock audreyt: re Rule.pmc slide - it now looks a little different 17:27
gaal beh. oed has a bug, vol 17 page 889 says THEIST-THEIST, but it's actually THEIST-THEM
aufrank itre.cis.upenn.edu/~myl/languagelog...02742.html
gaal i wonder if they hand out commit bits
lambdabot Title: Language Log: Singular <B><I>they</I></B> with known sex, tinyurl.com/sjdfl
aufrank itre.cis.upenn.edu/~myl/languagelog...02748.html
lambdabot Title: Language Log: Shakespeare used <B><I>they</I></B> with singular antecedents so t ..., tinyurl.com/yzjybe
gaal aufrank: 1526 is even earlier 17:28
aufrank but without the oomph of little Willy 17:29
gaal imagine the fun if W. de W. turned out to be "William Williamson" 17:30
17:32 BooK__ joined
audreyt fglock: ok, fixing 17:32
fglock audreyt: that difference was due to recent s/lrep/v6.pm/ for bootstrapping 17:36
gaal oof, the bibiliography is buggy also :( 17:38
17:45 macli joined 17:46 theorb joined 17:50 seano left, seano joined 18:03 buetow joined 18:09 polettix joined 18:20 penk joined
ingy hi TimToady 18:21
18:28 beppu joined 18:30 hexmode joined 18:31 seano joined
aufrank can I query the signature of a builtin function in the pugs shell? 18:50
for example, can I find out what arguments open takes?
gaal not yet!
but soon
definitely before next release
aufrank neat :) 18:51
in that case, can I query the channel? ;)
gaal aufrank: if you want to help make this soon*er*, you can
eg:
?eval :($the :sig($parser) :already($works) 18:52
evalbot_r14504 Error: ā¤Unexpected "($"ā¤expecting qualified identifier, "*" or ":"
gaal ?eval :($the :sig($parser) :already($works))
evalbot_r14504 Error: ā¤Unexpected "($"ā¤expecting qualified identifier, "*" or ":"
gaal doh!
?eval :($the, :sig($parser), :already($works))
evalbot_r14504 CCall "perl" CaptMeth {c_invocant = VPure (SigSubSingle {s_requiredPositionalCount = 1, s_requiredNames = fromList ["already","sig"], s_positionalList = [MkParam {p_variable = "$the", p_types = [], p_constraints = [], p_unpacking = Nothing, p_default = <ParamDefault:Nothing>, p_label = "the", p_slots = fromList [], p_hasAccess = AccessRO, p_isRef = False, p_isContext = False, p_isLazy = False}], s_namedSet = fromList [("already",MkParam {p_variabl
gaal that is actually correct output, kinda :)
?eval :($the, :sig($parser), :already($works)).perl
evalbot_r14504 "CCall \"perl\" CaptMeth \{c_invocant = VPure (SigSubSingle \{s_requiredPositionalCount = 1, s_requiredNames = fromList [\"already\",\"sig\"], s_positionalList = [MkParam \{p_variable = \"\$the\", p_types = [], p_constraints = [], p_unpacking = Nothing, p_default = <ParamDefault:Nothing>, p_label = \"the\", p_slots = fromList [], p_hasAccess = AccessRO, p_isRef = False, p_isContext = False, p_isLazy = False}], s_namedSet = fromList [(\"already\",M
gaal anymoose: 18:53
in the parser, there are *two* functions handling function signatures now
aufrank gaal-- very cool!
gaal the old one needs to be retired
and replaced by the new one
the new one's called ruleSignature 18:54
it's what constructed this literal above
aufrank what's the old one called?
do the new and old haskell functions have the same signature? 18:55
18:55 arguile_ joined
gaal ruleSubParameters or thereabouts 18:56
they don't have the same signature
aufrank so it's not just a find and replace
gaal ruleSubParameters :: ParensOption -> RuleParser (Maybe [Param]) 18:57
18:57 hexmode joined
gaal the flag is whether the parens are optional or not 18:57
and it returns a list of *oldstyle* parameters
ruleSignature returns an Exp, but it's always a newVal Signature 18:58
the parser isn't the only place that'll need to be changed; everywhere were its result is interrogated must be upgraded too 18:59
but that's what's type inference is for :-)
aufrank gaal: is there a clear-cut step 1 here?
19:06 bernhard joined
[particle] write tests? 19:07
gaal oops, sorry, back
tests for the most part exist
ie, 98% of t/ 19:08
will break without functions :)
I think there are two ways to go about it. 19:09
The first it to gradually port the old sig parser to use new Params and not old ones
this way there's a chance you'll get something to compile faster
it may break on e.g. named args or optional ones, but it would be a start 19:10
that way you get to start modifing code in other portions apart from Parser, which is good
the drawback of this approach is that you may find the teasing apart difficult. I can't say... maybe worth trying. 19:11
the other WTDI is to just delete the old function, wire everything to use the new one, and chase the errors.
s/8/9.6/ 19:12
aufrank gaal: sounds like something I could work on 19:15
I won't get to look at it in detail until tonight, though
right now I'm trying to use Getopt::Long with v6-alpha for $work
gaal yay 19:17
aufrank++
aufrank anyone have any ideas why the result of the GetOptions() method from Getopt::Long is getting returned as 1.0 instead of a hash of option declarations? 19:18
gaal can you show us the line where you call it? 19:20
also, try (GetOptions(....)).perl 19:21
PerlJam Assuming the perl6 version adheres to the perl5 semantics, GetOptions returns a true value or a false value but doesn't necessarily say what those values are. (so a true value could be 1) 19:22
pasteling "aufrank" at 128.151.80.181 pasted "trying to use v6-alpha and perl5:Getopt::Long" (13 lines, 238B) at sial.org/pbot/20615
gaal oh, PerlJam's right 19:24
aufrank PerlJam: I see. I thought it returned a hash of option-name option-value pairs
19:24 chris2 joined
gaal the idiom i use for that is GetOptions \my %opt, qw(spec here) 19:24
PerlJam aufrank: that would be a sanish thing to do probably :-)
aufrank ok, so now there's just the question of why setting the option on the command line isn't working 19:25
aufrank notes gaal's neat idiom
gaal well, in p5 you'd need to say 19:26
'in=s' => \$infile
aufrank ?eval my $infile = '-'; $infile.perl.say; \$infile.perl.say 19:27
evalbot_r14504 OUTPUT[\"-"ā¤\"-"ā¤] \Bool::True
aufrank same difference in perl6, right?
?eval my $infile = '-'; $infile.perl == \$infile.perl;
evalbot_r14504 Bool::True
gaal it's a Capture constructor in p6
which I think p5bridge uses to express a p5 reference 19:28
so try it?
bbl&
aufrank no good
gaal look for p5bridge tests... 19:29
aufrank ok, thx
gaal gotta moose
aufrank moose ya later
[particle] moose him now! moose him now!
aufrank mooses gaal 19:32
audreyt talk starting in <30min... (and you're on the projector again) 19:35
aufrank audreyt: did you just finish or are you about to go?
Limbic_Region hello everyone from irc land
audreyt about to go
aufrank gluck! 19:36
audreyt stats in 25mins
*start
aufrank TimToady: any chance you're using Getopt::Long in your $job code? Any tips on getting it to play nice with v6-alpha? 19:37
audreyt some day I'll try (was it jonasbn++?)'s IRC-to-slides stream generator 19:39
but the day is not today...
aufrank my $file = 'foo.txt'; my $fh = $foo.open('<'); # is this a p6 open? 19:40
audreyt $foo.open is sufficient
$foo.open(:r) is okay too 19:41
aufrank I remember being told to always use 3-arg open when I was but a wee monk ;) 19:42
audreyt that's because we don't do open("> foo.txt") anymore I think
we in fact have no way for taintattacks that way atm
which is probably Good
aufrank indeed
audreyt or at least Sane
aufrank gaal showed me the new ruleSignature. very moose. 19:43
audreyt well the trick is make it actually Pugs.Bind-able... 19:45
leo hi
audreyt and implement mmd-draft.txt on it
aufrank yeah, we talked about that too
audreyt leo: greetings! (yes you're still on the projector)
aufrank well, the first part
leo is above ment as $file.open?
audreyt yes
Str does not have .open 19:46
so it falls back into the lexical subroutine open
via the normal meth-to-sub fallback dispatch
leo ah - ok
audreyt but if you class Str is also { method open { ... } }
then that of course takes precedence.
leo I had the slight fear that you want to force a Str.open
audreyt nah. why would we want that? :) 19:47
leo good
audreyt leo: how's $job, btw? are you using any of the newtechs for that?
leo nice job, newtech is Perl 5 ;)
audreyt any chance of Moosification? ;) 19:48
leo far on the horizon
Limbic_Region audreyt - smoke is taking an inordinate amount of time
audreyt Limbic_Region: does it lop on recurrence-grep or something?
Limbic_Region saw that TimToady had similar issue but had chalked it up to cpu contention 19:49
audreyt (it smokes normally here)
hm. then maybe it's something deeper
Limbic_Region will wait till after your talk to discuss it
been running for over an hour now
audreyt okay, will do. maybe the new pointy if/then/else rollback wasn't done fully completely
actually can you locally revert that change and see if it speeds up things?
upstream r14489 19:50
Limbic_Region just that change or revert to a rev prior to that change?
audreyt r15381 (orig r14489): audreyt | 2006-10-22 21:47:42 -0700
* Restore support for:
if EXPR -> $x {
just that single one
that changes CompUnit version too, so rm blib/lib/*yml while you are at it.
I'll definitely recheck after talk
(due in 10min now)
Limbic_Region tell you what - will test in an hour when I get home 19:51
I want to let this smoke finish
it is in t/syntax now
audreyt ok. sorry for not being able to respond promptly
safe trip home
Limbic_Region no worries - just noticed it and wanted to let you know 19:52
audreyt 'k. I wonder if I run on this Macbook with SMP=2
Limbic_Region doesn't need it ATM for anything
audreyt and the parallelization gain somehow offset the speed hit
but we'll see.
Limbic_Region well, that would be nice
because that means when the speed hit is fixed
the parallezation will be even faster
audreyt then the world will be a better place, yes
Limbic_Region ;-) 19:53
audreyt (and if you have a 16core then pugs will be faster than perl5 ;))
aufrank should something like this work?
Limbic_Region is stuck with a dual proc ATM
aufrank for =$file -> ($first, $second, *@rest) { ... }
Limbic_Region actually - work = 1CPU and home = 2CPU
audreyt Limbic_Region: you need to set GHCRTS=-N2 19:54
aufrank in any case, how would you pull just the first line off of a file using an =$iterator?
audreyt to use those 2 CPUs
aufrank: my $line = =$iterator
given =$iterator { ... }
item =$iterator
etc, etc.
aufrank thx
audreyt np hth :) 19:55
Limbic_Region audreyt - that's what I am going to try at home
aufrank can pointy blocks take slurpy params?
audreyt Limbic_Region: though if you are already smoking with concurrent=2
then those two CPUs are bound anyway
and SMP will only gain you trivial amounts of time
(or not at all)
aufrank: pointy blocks take the full Signature syntax
aufrank cool cool cool
audreyt the only difference ie that it does not place a Routine boundary
aufrank bbib 19:56
kolibrie audreyt: good luck with talk!
TimToady my second smoke last night was normal speed, it was apparently just my CPU clock, unless realclean fixed something. 19:57
audreyt the conf org just tell me I can go 15min overtime 19:58
good, that means more Q/A time
TimToady quality assurance...
audreyt Quantum/Acceleration...
[particle] not in my company...
audreyt [particle]: I thought you are already accelerated yourself... 19:59
[particle] yes, when i'm alone :)
audreyt ahh. Not Observed
that's the key
Limbic_Region will test the realclean
TimToady if we had real quantum entanglement we could do timely destruction...
audreyt ...of the universe 20:00
[particle] spins 3/2
audreyt there's some qubits library out there, is there not?
TimToady break a fingernail...
audreyt talk postponed for 5min to let post-lunch people trickle in...
[particle] maybe you should have 5 mins of pre-talk q/a so it's not cut short 20:01
audreyt hmm asking question about a talk that you have no idea what will it be about 20:02
what a concept
Limbic_Region 79.08 minutes - trying realclean here and will experiment further at home
audreyt Limbic_Region: cool 20:03
ok, seems there's sufficient population in the room now...
switching y'all offscreen. wish me luck :)
TimToady luck!
audreyt bbiab &
Limbic_Region gl
PerlJam wishes audreyt skill as she already has enough luck :-) 20:04
wilx And not enough skill? :D 20:09
PerlJam audreyt has plenty of both. I'm just trying to maintain balance. 20:15
20:16 lollan_ joined, lollan joined 20:36 Odin- joined 20:39 jferrero joined
gaal is "attempt" perhaps a better name than "maybe" for stm choices? 20:42
also, "yield" would have been great for "defer" if it weren't for coros, but now, how to we call call-by-name now that defer is spoken for? 20:43
what were the old proposals? "later"? 20:44
[particle] relent
give in 20:45
succumb
none are particularly catchy ;)
gaal relent is nice 20:46
[particle] remit 20:47
i don't like "maybe". it's an adverb 20:49
attempt or promise are better 20:50
gaal remit would be hopelessly confusing in the standard bank account example :) 20:52
20:52 dduncan joined
gaal (in British English it's common to use it where in American you'd say "refund") 20:53
20:53 thepler joined
kolibrie remit does seem very tied to currency 21:01
relent might be okay
gaal flirt {...} 21:03
cjeris acquiesce?
gaal (for maybe)
acquiesce is good. but long and easy to mistype :)
21:04 Limbic_Region joined
clkao seen audreyt 21:06
jabbot clkao: audreyt was seen 1 hours 2 minutes 55 seconds ago
21:08 fglock left
Limbic_Region clkao - she's in the middle of giving a presentation 21:11
21:12 foo\ joined
clkao Limbic_Region: is it delayed? 21:12
Limbic_Region dunno - I left work about 40 minutes ago 21:15
aufrank clkao: she started ~5 minutes late so that the lunch crowd could return 21:22
clkao ok, thanks
Limbic_Region @tell audreyt same machine went from 79 min smoke to 59 min smoke just by doing realclean (same pugs rev) 21:41
lambdabot Consider it noted.
audreyt clkao: pong 21:42
lambdabot audreyt: You have 1 new message. '/msg lambdabot @messages' to read it.
aufrank audreyt: done? 21:43
how'd it go?
audreyt aufrank: yes. fabulously successful
Limbic_Region audreyt - at home now, running a baseline smoke now but more than happy to try anything if you suspect there to be a problem 21:44
audreyt chatted with felleisen, wadler, siek (the gradual typing guy), & more
aufrank I'm trying to think of how to use a hyper to execute audreyt++ on the lazy list [1..*] 21:46
audreyt: good questions after from the audience?
audreyt oh, very good ones.
21:46 c6rbon_ joined
aufrank full debrief to come on the blog? 21:47
audreyt how our runtime distinguish STM from IO actions (by runlevels)
clkao audreyt: pong
audreyt how our typesystem infer in the face of unannotated subtyping (we don't at all - we're annotation driven)
clkao audreyt: wher eare you ? in the convention centre?
audreyt: we are in lobby and wonder if we should go pick you up ?
audreyt how our module system avoid augmented metaclass from leaking to other modules (long names and separate compilation)
how our macros can affect compile site in face of hygenic renaming (the :COMPILING flag) 21:48
how can we avoid unfortunate side effects in face of lazy evaluation (we only do lazy constructors with list producers and lazy{} annotations, not generic lazy functions) 21:49
clkao audreyt: balas has checked out the hotel and we can go pick you up
audreyt sure, pick me up at the conv center
the Max station
I'll walk to it
eta 3min
clkao ok 21:50
aufrank audreyt: gratz on the good talk. excited to hear what comes of hallway sessions and listening to other talks!
audreyt no, Best Practical whisks away yours truly in 3 mins 21:51
I don't get to attend OOPSLA at all :/
aufrank hrm
audreyt so, bbl tonight when we arive at hotspring site for Hackathon
clkao audreyt: we will be there in 5 min
aufrank well, excited to hear about mad hacking with clkao++ and obra++
audreyt *wave* &
and Schwern++ 21:52
aufrank neat :)
What is the way to declare the variables that used to be declared with env? Merlyn asked that it be changed, but I can't remember what the final decision was. 21:58
21:59 justatheory joined
aufrank heading home, bye all 22:09
22:22 mauke joined 22:25 Aankhen`` joined 22:29 nicodaemos joined 22:31 seano joined 22:35 KingDiamond joined 22:36 weinig is now known as weinig|food 22:38 iblechbot joined 22:46 amv joined 23:02 cjeris left 23:03 norageek joined 23:09 mauke joined 23:20 c6rbon joined 23:38 justatheory joined