Camelia, the Perl 6 bug

IRC log for #perl6, 2006-10-11

Perl 6 | Reference Documentation | Rakudo | Niecza | Specs

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

All times shown according to UTC.

Time Nick Message
00:00 P02 joined perl6
00:10 TimToady yow, it's not just the test suite that's slower.  After slurping in and evaling my 7M yaml file, I can dispatch method calls at the astonishing rate of approximately one per second using 95% of the CPU.  Ouch!
00:10 TimToady and these are ordinary SMD calls, nothing fancy.
00:11 Odin- joined perl6
00:12 TreyHarris TimToady: not "blaming Linux", but my smoke durations have remained very consistent with the number of tests for the past week...
00:12 TimToady which version of ghc?
00:13 TimToady I think it's almost certainly a GC issue.
00:13 TreyHarris The Glorious Glasgow Haskell Compilation System, version 6.5.20060608
00:13 TimToady 6.4.2 here
00:14 TimToady I wonder how long it takes to do a GC scan on a live set of 82 megabytes...
00:14 TimToady no, I'm wrong, it's 820 megabytes
00:15 TreyHarris ahhh... yes, while you were away a couple weeks ago, audreyt was urging people to move to 6.5 with the carrot of decent performance, and with ominous warnings of the stick of ENOWORK on 6.4 coming after this release...
00:16 TimToady actually, it says.  0.82 seconds.
00:16 TimToady can't read.  0.87 seconds
00:17 TreyHarris TimToady: regarding your penultimate syn commit (foo <<*>>), if foo is predeclared as a multi with both 0- and 1-ariness, what happens?
00:18 TimToady always parses looking for an arg (which might bounce off of a ; or ] or whatever)
00:18 TimToady but it won't bounce off of anything that looks like a term.
00:19 TimToady and <<*>> looks like a term.
00:19 SamB ... wouldn't it make more sense to wait for the imminent 6.6?
00:19 TimToady I've been trying to hold out for 6.6 to show up so maybe an rpm will happen via yum.
00:19 TreyHarris ok, so in that case "foo <<*>> @ary" will syntax error, not run foo() and hypermultiply by @ary.
00:19 TimToady yes
00:20 TimToady the term/term syntax error is very useful for self-clocking
00:20 TreyHarris *nod*
00:20 TreyHarris heh... S03.pod just passed whatever point less uses to determine binary-vs-textness and now warns me: '"S03.pod" may be a binary file.  See it anyway?'
00:22 TimToady *Linux* doesn't seem to care.  :P
00:22 * TreyHarris grins.
00:22 TreyHarris I'll just add -f to me $LESS
00:26 nekokak joined perl6
00:36 Qiang_ joined perl6
00:40 TimToady @tell b_jonas a non-unary sigil is just an ordinary sigil, which isn't an operator. :)
00:40 lambdabot Consider it noted.
00:47 markstos joined perl6
00:49 lollan joined perl6
00:53 lollan joined perl6
01:05 weinig|food is now known as weinig
01:07 TimToady I give up.  Downloading the shiny new 6.6 of 10/10...
01:13 buu Hrm.
01:14 buu I still can't think of anything useful to do with this repl.
01:22 ajs_home TreyHarris: less8() { LESSCHARSET=utf-8 less $* } is a handy shell function
01:23 ajs_home Those of you who tend to have an "m" alias could call it m8 at the risk of trying to pronounce it ;)
01:25 kane-xs joined perl6
01:28 TreyHarris ajs_home: ah, thanks.  i've been using Unix for almost 20 years and I learned on line-oriented commands (because i didn't have a terminal emulator and instead wrote a BASIC program that PEEKed and POKEed the modem), but I've only learned *anything* about locales and charsets in working with Pugs....
01:28 TreyHarris guess more American/anglophone imperialism...
01:32 * avar uses en_US.UTF-8
01:33 weinig is now known as weinig|bbl
01:35 mako132_ joined perl6
01:36 * TimToady does too
01:37 TimToady works great on *Linux*.  :)
01:40 svnbot6 r14238 | audreyt++ | * PCR Pugs::Grammar::Base - Make <prior> non-reentrant to avoid deep recursion
01:40 svnbot6 r14238 | audreyt++ |   errors.  This workaround is needed because PCR's interpretation of <prior> is
01:40 svnbot6 r14238 | audreyt++ |   literal, not interpolative:
01:40 svnbot6 r14238 | audreyt++ |     /x/;
01:40 svnbot6 r14238 | audreyt++ |     /<?prior><?prior>/  # matches /xx/
01:40 svnbot6 r14238 | audreyt++ |     /<?prior><?prior>/  # matches /<?prior><?prior><?prior><?prior>/
01:40 svnbot6 r14238 | audreyt++ |                         # instead of /xxxx/, and hence recursive
01:40 svnbot6 r14238 | audreyt++ |   The test was favoring the /xxxx/ interpretation, though, so this workaround
01:40 svnbot6 r14238 | audreyt++ |   is still bogus.
01:41 kane-xs joined perl6
01:43 TimToady seems a bit odd that (using 6.6 now) it's trying to compile the Parrot interface when I don't think I'm embedding Parrot...
01:44 pasteling "TimToady" at 71.139.13.112 pasted "build failure under shiny new 6.6" (36 lines, 1.4K) at http://sial.org/pbot/20333
01:44 audreyt Pugs.Embed.Parrot gets compiled no matter what the flag...
01:44 lambdabot audreyt: You have 3 new messages. '/msg lambdabot @messages' to read them.
01:45 TimToady audreyt: see paste
01:45 audreyt is this after clean?
01:45 TimToady you bet
01:46 TimToady just upgraded parrot and recompiled that after I got the error.  should I realclean again?
01:46 audreyt weird. do you still have 6.4 around somewhere?
01:46 TimToady nope, blew it away.
01:46 audreyt it looks like the _stub.c is written by 6.4
01:46 audreyt so maybe clean didn't remove _stub.c, or something
01:46 TimToady didn't see it under svn status
01:47 audreyt hrmph. wait, _stub is only there iff PUGS_EMBED is set to include parrot
01:47 TimToady don't have that set.
01:47 audreyt s/only// # redundant
01:47 audreyt ok, gimme a sec.
01:49 TimToady weird, why didn't svn status list it, I wonder...
01:51 audreyt maybe it's put to svn:ignore
01:51 audreyt does it still break after you rm _stub. ?
01:51 TimToady hang on
01:52 TimToady no, it's good now.  thanks.
01:52 TimToady stepping out for a bit while machine is on autosmoke. :)
01:53 audreyt np, I'll add it to clean targets
01:53 TimToady see also latest S03 updates if you're bored.
01:53 TimToady afk &
01:54 audreyt k, thanks
01:56 svnbot6 r14239 | audreyt++ | * Makefile.PL - Add all the *_stub.* to cleanfiles,
01:56 svnbot6 r14239 | audreyt++ |   after TimToady++'s report that Parrot_stub.[ch] wasn't
01:56 svnbot6 r14239 | audreyt++ |   removed by clean.
01:58 audreyt wow, the nbsp change in the synopses made Terminal.app quite unhappy...
01:58 * audreyt suspects ambiguous east asian width
01:59 audreyt right, it's EastAsianWidth again, my #1 pet peeve against Unicode.org...
01:59 putter joined perl6
02:00 * SamB doesn't see why it should be just EastAsian, either
02:00 TreyHarris audreyt: i have the same problem... it's bad with pine (and actually mutt too)... in message-reading mode it's fine so long as the charset is right... but when someone's name or the subject line has a wide character in it, that line gets drawn with one too many characters, messing up the rest of the visual
02:02 TreyHarris SamB: I dunno, when i'm in latin-1, greek characters are the same width as western characters, but when i'm in UTF-8 they're double-width
02:02 audreyt oy, >>+>>.
02:02 audreyt suddenly we have three more hyper variants to support
02:03 audreyt but, good design call :)
02:03 TreyHarris audreyt: you're too agreeable, according to TimToady :)
02:03 TreyHarris well, he didn't say *too* agreeable....
02:10 putter the topic of Moose performance came up at tonight's local perlmongers, which reminded me of a question I wanted to ask about types.
02:11 audreyt I agree he didn't say that...
02:12 putter when one specifies the type of say an argument, one can imagine it having various roles.  it may be fundamental to behavior (eg, in mmd).
02:12 audreyt I also agree that I'm very agreeable
02:12 * TreyHarris grins and decommutes &
02:12 audreyt in East Asia being agreeable is considered a Good Thing (tm) anyway...
02:13 putter it might be advice to the compiler.  something the compiler might not have been able to work out on its own.  the advice can be a hint ("I think this is true, but you should double check"), or a taking of responsibility ("assume this, if it turns out to be false, I deservedly lose").  it
02:14 putter it may also be a request for checks on anything that can't be proven.  where sometimes one wants to toggle a section of code between "fast" and "safe".
02:15 putter so when one specifies a type, one may mean very different things.
02:16 putter one might think "help me quickly debug" and "let me help you be fast", and then be surprised with an order-of-magnitude performance hit from type checking.
02:17 putter so the question is... are there any thoughts on teasing apart these intents in perl6
02:17 putter ?
02:17 audreyt sure. the idea is that if you have
02:17 audreyt pugs -O ...
02:17 audreyt then the compiler performs early binding
02:17 audreyt by assuming all class/types essentially closed (unless explicitly requested open)
02:18 audreyt and then there's no perf hit on assertions
02:18 audreyt because they already must conform (that's what early binding gives you)
02:18 audreyt outside -O, as you said, a class may be augmented in eval''
02:18 audreyt in which case all the typechecks are essentially (lifted to the outermost block level) assertions
02:19 audreyt and will incur perf hits
02:19 markstos joined perl6
02:19 audreyt -O2 may also propagate said type information using H-M style type inference.
02:19 audreyt skew's work at http://www.ugcs.caltech.edu/~brandon/index.html does precisely that.
02:19 lambdabot Title: Brandon's Stuff, http://tinyurl.com/kf8lf
02:19 audreyt see the "Gradual Typing" links from that page.
02:20 audreyt also, if you use subsets with runtime checkblocks, you _know_ you're getting a perf hit no matter what the optimization level
02:20 audreyt subset Odd of Int where { $_ % 2 }
02:21 audreyt so that case is treated outside the normal early binding optimization
02:21 audreyt </explanation>
02:21 putter any "fast" vs "safe" control?  or is one stuck in typecheck land?
02:22 audreyt the -O is fast and safe
02:22 audreyt because it prevents you from deservedly losing
02:23 audreyt i.e. you can't augment the class anymore
02:23 wolverian (well, you lose fast)
02:23 audreyt and I think app-level flags makes a bit more sense than microhints
02:23 audreyt much easier, too
02:24 audreyt if you really want slow safe assertions, use PRE blocks under -O
02:24 audreyt or where clauses and subtypes under -O
02:24 audreyt *subsets
02:24 wolverian any clue what's the default in 6.0.0?
02:24 putter "if you can close the universe, you can be fast and safe".  "if you can't close the universe..." you can't avoid slow?  app-level flags?
02:24 audreyt wolverian: the default is Any, unoptimized, open
02:25 audreyt putter: app-level flags means "-O" on the command line or "use optimize" on the main program
02:25 kanru joined perl6
02:25 wolverian audreyt, hm. no type inference either, or is that orthogonal?
02:25 audreyt wolverian: orthogonal
02:25 audreyt wolverian: inference can be made default, according to TimToady, as long as it's "soft"
02:26 audreyt as in not rejecting any working programs under open/unoptimized world
02:26 audreyt putter: indeed there's a school of thought about closing just some classes at their declaration time
02:26 wolverian "working"?
02:26 putter *shudder*
02:26 audreyt putter: Java people seems to like that a lot. @Larry explicitly rejected that
02:27 audreyt wolverian: working, as in compilable without the extra annotation added by inferencer
02:27 putter so what I'm hearing is one doesn't have the option of trading danger for speed, yes?
02:27 audreyt putter: not by default, no, not that I'm aware of
02:27 wolverian audreyt, so what does the inferencer do in such a situation? sounds like not much
02:27 audreyt we're not C++, despite surface similarities.
02:28 audreyt wolverian: add warnings
02:28 wolverian ah
02:28 wolverian thanks :)
02:28 wolverian much clearer now
02:28 audreyt wolverian: similar to what you get by perl -cw 'sqrt("elephant")'
02:28 audreyt with an inferencer we can significantly produce more useful warnings that way
02:29 audreyt but it must not, by default without -O, reject them
02:29 audreyt because maybe runtime someone augmented Str so it can really be sqrt'ed without coercion...
02:29 wolverian ah. right.
02:29 putter so no way to say "here is a type to use under -O, but if we are not -O, please don't spend runtime computes checking it".
02:30 audreyt putter: I imagine we can get that with -O0 or something, or -Opessimize, or etc
02:30 audreyt the point is that such decisions belongs to the main program consumiing the ttypes not in the type decls
02:30 audreyt -f-ignore-types
02:31 putter that seems... coarse grained?
02:32 audreyt use case of selective type ignoring?
02:32 putter -O gets applied to large hunks of stuff.  the code, especially wrt internal interfaces, knows alot about where danger lies, and which paths are performance bottlenecks.  hard to see how a app-level arg can capture that, no?
02:33 audreyt 04:29 < putter> so no way to say "here is a type to use under -O, but if we are not -O, please don't spend runtime  computes checking it".
02:34 audreyt no what I mean is
02:34 audreyt if you want fast, use -O
02:34 audreyt saying "this makes the -O0 case faster" doesn't quite feel right
02:34 audreyt it's taking programmer's time to ensure the unoptimized version runs faster?
02:34 Alias_ heh
02:37 putter " if you want fast, use -O" == " if you want fast, use a closed world".   With apparently an implicit addendum "if you don't/can't do a closed world, you lose because p6 won't let you selectively relax type checking to get speed".  addendum correct?
02:38 audreyt not so, as you can request specific openness, as per S12, saying
02:38 audreyt "class Foo is open {...}"
02:39 audreyt and the closed typechecker will still treat that Foo as open, relexing prebind assertion errors into warnings
02:39 putter if -O0 is the mechanism to relax type checking, one can imagine having to break code into separate files for the sole purpose of being able to differentially -O them.  eep.  and simply can't do it on an argument by argument basis.
02:39 audreyt I wonder if "class Foo is dangerously_open {...}" will make you happy
02:39 putter ;)
02:39 putter lol
02:40 audreyt but, back to the topic, it still seems that -O and selected "is open" is adequate
02:41 audreyt and if you are concerned over the runtime assertions placed on those open classes, "is open<unchecked>" sounds acceptable
02:41 putter it is unclear to me that class is much better a unit of closed world-ness than the file.
02:42 putter I'd like  is<unchecked> on say a parameter basis.
02:42 audreyt sub foo (OpenClass $x is unchecked) {...}
02:42 audreyt like this?
02:43 putter yes
02:43 audreyt i.e. at consume site not definition site
02:43 audreyt class OpenClass is open<unchecked> {...}
02:43 putter yes
02:44 putter one thing it buys is escaping a race condition between people wanting to type but avoid performance hits, and the capabilities of the type inferencer/checker.
02:45 audreyt I think those people wants -O0, seriously
02:45 putter :)
02:45 audreyt but maybe our use case differ
02:46 audreyt so, if it's not checked, why is a type there anyway?
02:47 audreyt for documentation only  it seems?
02:47 putter one interesting case is this evening's Moose case.  adding type info apparently cost 10x performance hit.  so what's the developer's next step?  go through and delete all the type info?  it would be nice if there were an option B.
02:47 putter re why,
02:47 audreyt Moose doesn't really lift type assertions, nor does it do prebinding/codegen (that's what MO intends to do)
02:47 putter for instance, the same reason one has assert()s which run in development, but are noops in release.
02:48 audreyt yes, but assertions are turned off applicatio wide
02:48 audreyt _not_ by microannotations
02:48 audreyt which was exactly my point wrt -O0
02:50 putter or for instance, to be safe in general, but the hot path of this code is getting nailed by type checking.  do you take the haskell approach of trying to figure out how to jiggle the optimizer so it does the right thing?  or the much simpler common lisp approach, of saying "right here, just stay out of my way, I don't want to have to fight you on this".
02:51 audreyt in which case it should be a lexical hint, still not a microhint on the parameter...
02:51 audreyt similar to
02:51 putter but assert microannotations do get flavored.  eg, this is an assert I wish to all ways be present.  this is a costly assert I want only when I'm debugging this module.  this is a medium assert I want in development but not release.
02:52 audreyt { ... ; { no assertions; for (@lots_of_data) { ... } } ... }
02:52 audreyt is this approach acceptable?
02:53 putter so what does no assertions do?  variable type checks and non-essential argument checks don't happen?
02:55 putter no biggy.  just wanted to raise the issues.
02:55 audreyt I was writng perl5 code above
02:55 audreyt i.e. I think Moose, via MO, should codegen to assert{...} blocks
02:55 audreyt which you can lexically (very easily!) turn off via
02:55 audreyt perl -A...
02:55 audreyt and
02:55 audreyt use assertions 'selected_parts_only'
02:56 audreyt or turning it off
02:56 audreyt of course it's a Perl 5.10 thing
02:56 audreyt but hey, compelling reason to upgrade, etc.
02:56 audreyt but to answer your question, yes, I think we can reuse that mechanism in p6
02:56 lisppaste3 joined perl6
02:56 putter in the near term, until our compiler gets wizzy, it currently seems "adding type info" == "make your code run more slowly".  which seemed less than ideal.
02:57 putter that's my main observation. ;)
02:57 audreyt if Moose compile to assert{...} blocks
02:57 audreyt then those does _not_ get run by default
02:57 audreyt and so your concern is addressed :)
02:57 audreyt ("perl -A" runs those.)
02:57 putter could be. :)
02:58 putter I think it's time for coughing sick puppy to stumble off to bed.
02:58 audreyt @tell nothingmuch ^backlog point here^ thoughts on using assert{...} blocks for MO codegen, using Perl 5.9's assert mechanism?
02:58 lambdabot Consider it noted.
02:59 audreyt putter: sleep well!
02:59 putter and I was about to do...
02:59 putter @tell stevan re Moose, you might find http://colabti.de/irclogger/irclogger_log/​perl6?date=2006-10-11,Wed&amp;sel=124#l217 interesting.
02:59 lambdabot Consider it noted.
02:59 putter 'night audreyt &
03:16 putter joined perl6
03:18 cmarcelo joined perl6
03:18 cmarcelo hello
03:18 SubStack joined perl6
03:18 putter for the record, I probably misrepresented the nature of the performance issues facing Moose.  needed a concrete foil strawman (image:) for the type conversation.
03:21 Alias_ @tell audreyt that we need to find some time to have a conversation about cross-language dependencies
03:21 lambdabot Consider it noted.
03:28 weinig|bbl is now known as weinig
03:30 gaal joined perl6
03:34 svnbot6 r14240 | audreyt++ | * Pugs.Parser: Judy IntMap has GC issues when used in EXPORT
03:34 svnbot6 r14240 | audreyt++ |   lists in unsafeEvalExp.  So change from using an array to
03:34 svnbot6 r14240 | audreyt++ |   store EXPORT list to use a Junction, which has the added
03:34 svnbot6 r14240 | audreyt++ |   benefit of ignoring declaration-ordering in the imported
03:34 svnbot6 r14240 | audreyt++ |   modules for multis, which is According To Spec (tm).
03:35 stevan audreyt: where can I find information on the assert {} stuff?
03:35 lambdabot stevan: You have 1 new message. '/msg lambdabot @messages' to read it.
03:36 cmarcelo audreyt: swapMaps problems too?
03:37 audreyt stevan: http://search.cpan.org/dist/assertions and http://search.cpan.org/dist/perl​/pod/perl590delta.pod#Assertions
03:37 lambdabot audreyt: You have 4 new messages. '/msg lambdabot @messages' to read them.
03:37 lambdabot Title: Salvador Fandi&#241;o Garc&#237;a / assertions - search.cpan.org
03:37 audreyt @messages
03:37 lambdabot TimToady said 1d 4h 54m 55s ago: my pugs-prof still segfaults even with a non-threaded perl :(
03:37 lambdabot Limbic_Region said 1d 4h 8m 12s ago: test 12 of ext/Config-Tiny/t/basic.t is failing though the output is correct. My guess is difference of \n versus \r\n
03:37 lambdabot fglock said 11h 59m 20s ago: it looks like '$code = <>' is not waiting for STDIN in v6.pm line 137, when calling from 'pugs -B Perl5'
03:37 lambdabot Alias_ said 15m 39s ago: that we need to find some time to have a conversation about cross-language dependencies
03:37 audreyt cmarcelo: no, this time it's not your fault
03:37 clkao very busy ;)
03:37 audreyt yeah, on top of that I'm supposed to do $job at the moment ;)
03:38 cmarcelo :P
03:39 clkao what's $job involed thesedays ?
03:43 audreyt jifty mostly
03:43 audreyt Jifty/XUL and declarative views next
03:43 wolverian does jifty use moose?
03:43 audreyt we can talk about that more in portland
03:44 audreyt wolverian: a branch of it does, but aforementioned perf hit needs to be fixed (i.e. MO deployed as the next versino moose) before it goes trunk
03:44 stevan @tell putter re: Moose type check slowness; this does not suprise me, because of how we proceed down the type heirarchy with subtypes and the fact that most type constraints are probably subtypes of Object which is one of the most derived types
03:44 lambdabot Consider it noted.
03:44 wolverian ah, great :)
03:44 wolverian (I mean, great that it uses it, not great that moose is slow)
03:45 stevan audreyt: current $work hell will end for me in mid-November, after which I am going to concetrate of Moose speed issues
03:45 audreyt much anticipated :)
03:46 stevan well actually I am going to finally get around to fixing the role implemenation ,.. but after that  :)
03:46 stevan the trickiest part will be doing away with the compile time hit
03:46 stevan I am hoping that Module::Compile will help in that area
03:47 audreyt I think nothingmuch has been working on that using Perl::Code
03:47 stevan not lately, but yes, that is part of the plan
03:47 audreyt lately he's been having laptop issues :)
03:48 stevan yes :)
03:48 stevan although i think they are solved now as well
03:48 stevan at least I havent heard him complaining
03:49 audreyt 17847 test cases: 17847 ok, 0 failed, 4647 todo, 747 skipped and 0 unexpectedly succeeded
03:49 svnbot6 r14241 | audreyt++ | * value_equivalence.t: fix typo.
03:49 audreyt yay. but TimToady changed the spec, so I'll have to (temporarily) break some of the tests...
03:51 weinig is now known as weinig|zZz
04:02 audreyt TimToady: uhm
04:02 audreyt Hyper operators are defined recursively on shaped arrays, so:
04:02 audreyt    -« [[1, 2], 3]               #    [-«[1, 2], -«3]
04:02 audreyt                                 # == [[-1, -2], -3]
04:02 audreyt so -<< still recurse, just not arbitraily extend?
04:03 audreyt s/extend/upgrade dimension/
04:04 audreyt so still, [+]<< will make no sense at all?
04:09 TreyHarris link to Perl::Code?  first I heard of it and search.cpan.org is unhelpful...
04:10 Eidolos joined perl6
04:11 TreyHarris (is there any search engine that would helpfully search for "Perl::Code" and not "perl code"?)
04:12 TreyHarris < audreyt> 17847 test cases: 17847 ok, 0 failed...
04:12 TreyHarris audreyt++
04:15 audreyt TreyHarris: sorry, http://search.cpan.org/dist/Code-Perl/
04:15 lambdabot Title: Fergal Daly / Code-Perl - search.cpan.org
04:16 TreyHarris audreyt: ahh, thanks :)
04:20 svnbot6 r14242 | audreyt++ | * Remove all the "# XXX should not need this" use lines in ext/,
04:20 svnbot6 r14242 | audreyt++ |   as really they are not needed now.
04:22 TreyHarris audreyt: catching up on scrollback, did I understand your explanation to putter to mean that the following behavior is correct except under -O0?
04:22 TreyHarris ?eval sub moose (Num $foo) { $foo.say }; moose("hi")
04:22 evalbot_r14182 is now known as evalbot_r14241
04:22 evalbot_r14241 OUTPUT[hi ] Bool::True
04:22 audreyt uhm, no, it's correct only under -O0
04:22 audreyt any other levels will at least raise a warning
04:23 TreyHarris ah, ok, so -O0 does not correspend to "slowest but safest" by any means
04:24 audreyt right
04:24 audreyt and it's conjectural anyway...
04:25 TreyHarris ok, so the test for that does not need to be modified in some conjectural way to ensure that the optimization level allows for the typecheck
04:25 audreyt no...
04:26 audreyt (as in, "no, it does not")
04:26 TreyHarris that's all i was checking, as i didn't want to have committed an incorrect test
04:26 TreyHarris :)
04:27 audreyt :)
04:27 audreyt would you like to run a smoke? it should be 100% green now
04:27 audreyt after $job today's I'll check win32 issues
04:27 audreyt and then fix js
04:27 audreyt and if the chglog is ready by then, enter preflight
04:28 TreyHarris yay.  smoking r14242 now
04:28 justatheory joined perl6
04:48 kanru joined perl6
04:54 TimToady wow, with 6.6 my smoke time went from 76 minutes to 29 minutes.
04:55 audreyt that is expected.
04:55 audreyt (same happened here too)
04:55 TimToady and my 10 hr program went to 15 minutes.
04:55 audreyt that is surprising
04:55 TimToady that is now livable.
04:55 audreyt cool. the difference is that GHC 6.6 admits there's something as a mutable reference in the GC now ;)
04:55 audreyt GHC 6.4 used to revisit them every single pass
04:56 audreyt regardlesss of whether they've been modified during the run
04:56 TimToady hurts when your live set is 820 megabytes...
04:56 audreyt which is fine for values...
04:56 audreyt exactly
04:57 TimToady so I think this release should say "works with 6.4 but 6.6 Highly Recommended"
04:57 audreyt which is why I'd like to schedule it with GHC 6.6-final...
04:58 audreyt to ensure no late-breaking changes in 6.6 occur
04:58 TimToady well, I got the first release that was actually labeled 6.6.
04:58 audreyt although highly unlikely now
04:58 audreyt right
04:58 TimToady but this means I can actually use Perl 6 for what I'm doing at work.  I've been putting them off for several weeks now...
04:59 glasser what's the timeline for 6.6?
05:00 TimToady evalYaml now slurps my 7meg yaml file in under 3 minutes.  It was taking more than 100...
05:01 TimToady It's still struggling to spit it back out as .perl though...
05:01 audreyt .yaml might be faster
05:01 audreyt glasser: "any time now"
05:02 TimToady I already have it in .yaml--that's what took 3 minutes to pull in.
05:02 TreyHarris audreyt: now that they've numbered it 6.6, does it actually build without black magic on darwin/intel?  a week ago i still fought with it for an hour and gave up, as your June build was still good enough
05:02 TimToady I wanted to spit it out as perl and see if it loaded even faster...
05:02 TimToady esp if precompiled down to hs yaml.
05:05 TimToady I mean, it's fine to pull in 7M of yaml in 3 minutes, but the precompiled prelude pulls in over a meg of yaml in less than a second...
05:05 audreyt TreyHarris: -head is still bad, but http://www.haskell.org/ghc/dist/​current/dist/ghc-6.6-src.tar.bz2 should be good enough
05:05 lambdabot http://tinyurl.com/gjsxw
05:06 audreyt though pugs will also want http://www.haskell.org/ghc/dist/curre​nt/dist/ghc-6.6-src-extralibs.tar.bz2
05:06 lambdabot http://tinyurl.com/fwqyl
05:07 TreyHarris audreyt: right.  any reason to upgrade, is pugs using anything newly available since your binary build?
05:07 audreyt no, not really.
05:11 svnbot6 r14243 | audreyt++ | * Module::Install::Pugs: Strongly recommend GHC 6.6+ by
05:11 svnbot6 r14243 | audreyt++ |   printing out a warning, which is currently seen by
05:11 svnbot6 r14243 | audreyt++ |   everybody except perhaps TimToady++...
05:13 TimToady took 42 minutes to produce a 6.25 meg perl (all one line!) representation of my 7 meg yaml.
05:15 TimToady Unfortunately, it looks like there's some latin-1/utf-8 confusion in it.  Probably on the input side rather than the output side.
05:15 audreyt clearly the .perl primitive is slower than it could be
05:15 TimToady yaml is not notably encoding savvy.
05:15 audreyt well, it's actually assumed to be utf8 unless otherwise told
05:15 audreyt but yeah :/
05:16 TimToady I believe I converted it to utf8, but I'll have to print out intermediate results to see if it's wrong internally.
05:17 audreyt meanwhile I'm still fighting with SvTIED_mg...
05:22 TreyHarris audreyt: hmmm... "17914 test cases: 17808 ok, 106 failed, 4656 todo, 747 skipped and 3 unexpectedly succeeded"... guess I'd better run a realclean and re-make
05:27 audreyt TreyHarris: upload your smoke?
05:27 audreyt and point me the url of it here?
05:28 audreyt no need to realclean probably...
05:31 TreyHarris audreyt: http://m19s28.vlinux.de/iblech/stuff/pugs-s​mokes/pugs-smoke-6.2.12-r14242-darwin-norma​l--1160544516-2063--17914-17808-106-4656-74​7-3--9f964ae7f4de42e91dc9dabbe1d45e3e.html
05:31 lambdabot Title: TAP Matrix - Wed Oct 11 05:21:03 2006 GMT, http://tinyurl.com/nncod
05:36 svnbot6 r14244 | audreyt++ | * t/oo/methods/multi.t: Unexpected success attributable to
05:36 svnbot6 r14244 | audreyt++ |   a missing .keys.sort, discovered by TreyHarris++'s smoke.
05:38 TimToady it's kind of a shame that .sort has to take a pass over sorted data because we don't have a proper declaration, or maybe a .keys(:sort)
05:38 svnbot6 r14245 | audreyt++ | * More .keys.sort.
05:40 TimToady smoking r14245 I'm getting "user error (unhandled element: EStr "Pugs.AST.Internals.Val ~")
05:40 svnbot6 r14246 | audreyt++ | * t/perl5/basic.t: No need to use Data::Dumper when it's unused.
05:40 svnbot6 r14246 | audreyt++ |   Also unTODO in anticipation of a working array roundtrip.
05:40 TimToady but I think that's from bogus yaml maybe.
05:40 svnbot6 r14247 | audreyt++ | * type_declarations.t: importation test doesn't belong here...
05:40 TreyHarris TimToady: I'm getting that as well
05:42 audreyt well, the real lose is actually "for %h.kv -> $k, $v {}"
05:42 audreyt hm. rm blib6/lib/*.yml first?
05:42 TimToady .kv(:sort) would be nice
05:43 audreyt .kv(:sort{$^a.lc leg $^b.lc})
05:43 TimToady .kv(:sort{.lc})
05:44 audreyt but it's biasing to keys...
05:44 TimToady I was assuming $^b was also a key
05:44 audreyt yeah
05:44 svnbot6 r14248 | audreyt++ | * Don't show trace statements on perl5-to-pugs callbacks
05:46 TimToady .kv(:sort(:($key, $val)))
05:46 TreyHarris trying to run ext/Set-Infinite/t/set-infinite.t, I get "pugs: JudyziIntMap_ddrb: interrupted" sometimes, but not each time, i run it
05:47 TimToady still getting user error
05:47 svnbot6 r14249 | audreyt++ | * src/perl5/: Roundtrip of tieable values in Pugs->P5->Pugs is complete.
05:47 svnbot6 r14250 | audreyt++ | * t/perl5/array.t: unTODO now that @array can survive roundtrip
05:47 svnbot6 r14250 | audreyt++ |   across Pugs->P5->Pugs barriers.
05:48 TreyHarris TimToady: yes, removing the .yml doesn't seem to help
05:50 audreyt hrm.
05:50 TimToady line in Prelude.pm.yml sez: - !hs/Set Pugs.AST.Internals.Val ~
05:51 audreyt turns out junctions doesn't freeze well.
05:51 audreyt or rather, higher-order types don't
05:51 audreyt a sec
05:57 audreyt r14251 should fix it
05:57 svnbot6 r14251 | audreyt++ | * Pugs.AST.Internals: Write correct instances for (Set Val),
05:57 svnbot6 r14251 | audreyt++ |   because HsSyck doesn't like type names with spaces in them.
05:58 svnbot6 r14251 | audreyt++ |   This should be fixed on HsSyck level eventually...
05:58 audreyt TreyHarris: the Set::Infinite thing is a RTS bug since fixed
05:58 audreyt I'm uploading a bindist for you
05:58 audreyt just a sec
06:00 audreyt well, ADSL is being very slow, so O(30min)
06:00 audreyt the GHC trac says there's still 3 tickets to be resolved before 6.6-final
06:01 audreyt so maybe still a couple more days
06:04 audreyt TreyHarris: looks like the unexpected successes in the smoke has been taken care of
06:04 audreyt and most of the fails are due to the RTS bug
06:04 audreyt but the safemode one, I'm not sure
06:04 audreyt I can't get t/run/11-safemode.t to fail
06:07 masak so, how does one go about downloading GHC 6.6? I can't find it neatly packaged anywhere... is the HEAD branch the way to go?
06:08 TimToady smokin' r14251, results in about 30 min.
06:08 audreyt masak:  the very end of http://www.haskell.org/ghc/dist/current/dist/
06:08 lambdabot Title: Index of /ghc/dist/current/dist
06:08 TimToady I used the linux bindist, seems to work fine.
06:09 masak audreyt, TimToady: thx
06:09 masak also, how come there's such a big difference in smoke time?
06:09 TimToady between what and what?
06:09 audreyt 6.4 and 6.6?
06:09 audreyt masak: if you build from src, download both -src and -src-extralibs, and tar jxf both under the same point, then build
06:10 audreyt if you are getting bindist, extralibs should be bundled already
06:10 masak audreyt: yes, 6.4 and 6.6, the difference TimToady spoke about
06:10 masak trying bindist first
06:10 audreyt 06:55 < audreyt> cool. the difference is that GHC 6.6 admits there's something as a mutable reference in the GC now ;)
06:10 audreyt 06:55 < audreyt> GHC 6.4 used to revisit them every single pass
06:10 audreyt 06:56 < audreyt> regardlesss of whether they've been modified during the run
06:10 audreyt 06:56 < TimToady> hurts when your live set is 820 megabytes...
06:10 masak audreyt: ah. thx.
06:11 audreyt or, from release notes:
06:11 audreyt GHC's garbage collector now deals more intelligently with mutable data, so you mostly no longer need to worry about GC performance when a lot of memory is taken up by STArrays, IOArrays, STRefs or IORefs. For more details see trac bug #650.
06:11 masak GHC seems to be improving by the minute. I really have to learn Haskell.
06:13 audreyt yeah. the recent push from field programmers actually want to write programs, instead of executable proofs, is making GHC more and more nontoylike
06:13 audreyt rising tide, boats, etc. :)
06:14 masak :)
06:15 audreyt you don't use mutable IORefs and IOArrays much when you're writing proofs...
06:26 audreyt 17921 test cases: 17921 ok, 0 failed, 4649 todo, 747 skipped and 0 unexpectedly succeeded
06:27 TimToady darn, I'm still stick back in the infamous propcharset...
06:27 TimToady *stuck
06:28 audreyt yeah, that alone is worth 2 minutes or something
06:28 TimToady 2:45 and counting
06:28 audreyt it's the Encode.pm of the pugs test suite...
06:30 TimToady properties.t ain't much better...
06:30 audreyt ok, I need to work on $job for real
06:30 audreyt afk, bbl :)
06:30 TimToady bye! thanks
06:30 audreyt thanks too :) I think .perl and .yaml can be made much faster
06:30 audreyt &
06:37 TreyHarris hah, went to read scrollback so that i wouldn't bug audreyt redundantly if the user error thing had been fixed, since that appears to be the cause of 11-safemode.t errors.  then i got back te present and she's gone. :)
06:38 TimToady yes, it's fixed.
06:39 TimToady your other problem requires a different fix though.
06:41 TreyHarris @tell audreyt i'm not sure where you were uploading that bindist for me.... maybe there's an obvious place i should look but i'm not sure?
06:42 lambdabot Consider it noted.
06:45 iblechbot joined perl6
06:46 TimToady looks like I failed to all_parse 3 examples, and my set-infinite.y bailed out in the middle.
06:46 Aankh|Clone joined perl6
06:48 TimToady when I run ext/Set-Infinite/t/set-infinite.t by hand I get all tests successful, so maybe I have the same intermittency...
06:50 TimToady If I use prove6 it works, but if I say ./pugs -I blib6/lib ext/Set-Infinite/t/set-infinite.t it segfaults consistently after "ok 27 - from scalars"
06:51 TreyHarris TimToady: could lvalueness be used as a differentiator in MMD?
06:51 TreyHarris TimToady: same behavior here
06:51 TimToady prove6 fails some of the time too.
06:51 TreyHarris yes, it's sporadic
06:52 TimToady no, lvalueness is never offered as a signature.  It's only offered by returning a proxy.
06:53 TimToady the time of signature binding is when you are identifying the lvalue, not when you are assigning it.
06:54 TimToady the modification happens after the return.
06:54 TimToady that being said, it might be possible from want() to know if you're in an lvalue context
06:54 TreyHarris TimToady: yes... but i wasn't asking about the current state of synopses, just about what's possible... it would seem to me that if you could have a multi method moose () and a multi method moose () is rw, a novitiate could much more intuitively turn a stored attribute into a computed one.
06:55 TimToady it's really a form of return type MMD
06:55 TimToady which is...conjecturally optional.
06:56 TreyHarris also, i was thinking about the comment about m// as lvalue and thinking about other subs of that type... there are likely to be many routines whose acceptable types when used non-mutatively are broader than those when used mutatively....
06:56 TimToady and according to current spec, not to be used for more than tiebreaking.  But sounds like that's what you want.
06:58 TimToady anything lvaluable can certainly refuse to give you a proxy if it so chooses.
06:58 bsb left perl6
06:59 TimToady but the s[] = construct is not using s[] as an lvalue in the sense of returning an lvalue from s[].  It's just borrowing the syntax.
07:00 TreyHarris well, i want it only because the folks i teach tend to be quite junior... and being able to change an attribute from stored to computed and back again without changing client code is a very, very lovely thing that few widely-used OO languages give you, so i'm eager to evangelize it as one of the compelling new features.  but then when i start to show Proxy objects, my audince's eyes glaze over and somebody's likely to ask, "isn't just easier to do ...
07:00 TreyHarris ... $obj.getX and $obj.setX from the very start?"
07:01 TreyHarris in Eiffel, for instance, an lvalue method is just a unary method.  there's no difference... it's just by convention that you write "file.print('hello')" and not "file.print = 'hello'"
07:02 TimToady and I think that's a bad confusion of two different times you want to pass things in.
07:03 TimToady it doesn't show up in this case because the only thing that identifies in this case is the file on the left.
07:04 TimToady but if you want to have a method that is file.print(:thisprint) = 'hello'
07:04 TimToady the args other than the assignment want to happen at ID time, not at modification time.
07:05 TreyHarris oh, agreed on that score.  but i do wish i could fit the full example of changing class Point { has $.x; has $.y; method r (); method theta ();} to class Point { has $.r; has $.theta; method x(); method y() } on a single slide and without roping in Proxy objects...
07:05 TimToady it's like in Perl 5, if .can not only found the method but called it automatically.  it wouldn't be useful for the intermediate result.
07:06 TimToady which is also why Perl 6 splits up autoloading into finding vs calling.
07:07 TreyHarris the very hard is undeniably very possible with this mechanism.  the easy just seems a bit too hard....
07:09 TreyHarris you could always nudge the Ruby-o-meter and let us write "method theta= ($rvalue)".... ;)
07:11 audreyt TreyHarris: er sorry it's http://perlcabal.org/~audreyt/tmp/ghc-6.5.tar.bz2
07:11 lambdabot audreyt: You have 1 new message. '/msg lambdabot @messages' to read it.
07:11 lambdabot http://tinyurl.com/es3nr
07:11 audreyt @messages
07:11 lambdabot TreyHarris said 29m 19s ago: i'm not sure where you were uploading that bindist for me.... maybe there's an obvious place i should look but i'm not sure?
07:11 TreyHarris audreyt: grazie, maestra
07:13 audreyt prego :) *vanishes again*
07:13 TimToady syntactic sugar is fine, but underneath it *must* return a proxy that is capable of repeated use as either an lvalue or rvalue.
07:16 kanru joined perl6
07:17 pasteling "TreyHarris" at 216.254.17.198 pasted "t/run/11-safemode.t failures" (111 lines, 3.8K) at http://sial.org/pbot/20335
07:17 zakharyas joined perl6
07:17 lidden TimToady >> There is a "Perl 7" in S01 that was not changed
07:18 TimToady heh, I changed halfway through to searching for Perl \d, but on that one I only searched for Perl [56]
07:18 nothingmuch joined perl6
07:20 KingDiamond joined perl6
07:23 TreyHarris TimToady: i can see that it would be quite easy to write a macro that would serve as a declaratory way to do the sugar to wrap up two different subs differing by one arity into a single rw sub returning a proxy to those two precessor subs.  but i'm not clever enough to see a way to sugar it with two multis named the same as the final rw sub you want...  i know it's just sugar, but it would be really tasty sugar :)
07:24 TreyHarris s/precess/predecess/
07:35 buetow joined perl6
07:45 audreyt TreyHarris: well, it says
07:45 audreyt Consider removing blib6/lib/Prelude.pm.yml and make it again
07:45 TreyHarris yes, but that didn't help
07:45 audreyt please rm blib6/lib/*yml and make again :)
07:45 audreyt that didn't?
07:45 audreyt it keeps saying the same thing?
07:46 TreyHarris after i make again
07:46 TreyHarris but i'm about to try this new ghc
07:46 audreyt ok, so a realclean may help there too
07:46 TreyHarris want me to try the realclean before i install the new ghc you sent?
07:47 audreyt no, just relclean, then install the ghc, then make pugs
07:47 TreyHarris k
07:50 audreyt hm, pugs is quite usable for $job.
07:50 audreyt but I really need @=DATA.
07:50 * audreyt goes implementing that
07:51 audreyt TimToady: the "=" twigil is per-compilation-unit right?
07:51 TreyHarris @=DATA?  $=DATA would be the contents of the =DATA perldoc, but @=DATA?
07:51 lambdabot Unknown command, try @list
07:51 gaal audreyt: what's the problem with h-o types in hssyck? does it simply need to quote the tag?
07:51 audreyt @=DATA is the lines, $=DATA would be a handle
07:51 lambdabot Unknown command, try @list
07:51 gaal (no tuits to implement now, just curious...)
07:51 audreyt gaal: I havn't checked if tags can be quoted
07:51 gaal oi
07:51 audreyt or if we need to munge somehow
07:51 audreyt s/ /-/ say
07:51 audreyt I mean tr/ /-/
07:51 gaal zi :/
07:52 audreyt it's not pressing anyway
07:53 gaal is http://darcs.haskell.org/ghc​/compiler/utils/Encoding.hs exposed to the user somehow?
07:53 lambdabot http://tinyurl.com/rqfha
07:53 audreyt the Z-encoding?
07:53 gaal yeah
07:53 audreyt I don't think so
07:53 gaal not that I particularly like it but it's at least somewhat familiar
07:54 audreyt - is not an ident so tr/ /-/ is cheap and cheerful
07:54 gaal hm ok maybe tonight
07:55 gaal back to jifty wizards now &
07:55 audreyt I'd like it to not slow down the instances too much, though... since pugs doesn't use space typenames at all yet
07:56 gaal so tr/// is much prefered yes? we can write that in c if we want
07:57 gaal we have a bytestring there already, iirc
07:57 gaal actually a hs function should be just as fast
07:59 gaal ha! zencoding doesn't deal with spaces anyway
07:59 gaal oh it does, hexily
07:59 gaal anymoose, later &
08:12 TimToady audreyt: yes, per cu, or possibly per file, depending on how we want things to look from inside an eval.
08:18 audreyt right.
08:18 audreyt but things inside eval count their own linenum
08:18 BooK joined perl6
08:18 audreyt at least currently, as also in p5
08:18 audreyt so would be funny if they share the linenum of outside @=FOO
08:29 TreyHarris audreyt: realclean + new ghc fixed safemode, i'll run a new full smoke now
08:30 audreyt cool
08:30 audreyt and I got =$=DATA working, so I'm back to $job...
08:30 TreyHarris have fun!
08:35 audreyt TimToady: must we remember $=END as well?
08:36 audreyt s/we/the parser/
08:36 audreyt i.e. should it populate @=END and $=END, or is it not considered part of the stream proper?
08:36 audreyt I favour the "not considered part of stream" approach as that will enable embedding arbitrary random data after taht
08:38 audreyt but the spec seem to want $=END for now, so I'll check in the code that does that
08:41 svnbot6 r14252 | audreyt++ | * Pugs.Types: Make "=" a valid (globally-scoped for now, as
08:41 svnbot6 r14252 | audreyt++ |   we don't yet have compunit-scope) twigil.
08:52 elmex joined perl6
08:56 svnbot6 r14253 | audreyt++ | * Pugs.Types.Array: Because we don't (yet) support Range
08:56 svnbot6 r14253 | audreyt++ |   subparts in Array, strictify its push/unshift in both
08:56 svnbot6 r14253 | audreyt++ |   directories to gain some more performance and peace of mind.
08:59 svnbot6 r14254 | audreyt++ | * POD.t: Restructure the test now that 1)they all pass and
08:59 svnbot6 r14254 | audreyt++ |   2)%=POD variables are per-compilation-unit, not per-file.
08:59 svnbot6 r14255 | audreyt++ | * Pugs.Parser.Literal: Rewrite ruleTwigil to accomodate
08:59 svnbot6 r14255 | audreyt++ |   for "=", and also a bit more efficient, as we don't
08:59 svnbot6 r14255 | audreyt++ |   really have double-char-twigils.
09:03 svnbot6 r14256 | audreyt++ | * Pugs.Prim: Primitive support for =@Array on both contexts.
09:03 svnbot6 r14257 | audreyt++ | * Pugs.Parser.Doc: Reorganize the POD parser to support:
09:03 svnbot6 r14257 | audreyt++ |     =begin FOO
09:03 svnbot6 r14257 | audreyt++ |     ...
09:03 svnbot6 r14257 | audreyt++ |     =end FOO
09:03 svnbot6 r14257 | audreyt++ |   as well as populating into the various %=POD structures.
09:05 jferrero joined perl6
09:06 ruoso joined perl6
09:07 audreyt TimToady: also, after r14257 I found some errors by people assuming that
09:07 audreyt begin/end/cut is still needed
09:08 audreyt to avoid people tripping over, maybe a lone =cut doesn't start a pod stream.
09:08 audreyt I'll implemented that
09:14 andara joined perl6
09:15 svnbot6 r14258 | audreyt++ | * Pugs.Parser.Doc: "=cut" as a POD opener now terminates it
09:15 svnbot6 r14258 | audreyt++ |   immediately.  Without this behaviour, the Perl5-esque:
09:15 svnbot6 r14258 | audreyt++ |     =begin FOO
09:15 svnbot6 r14258 | audreyt++ |     ...
09:15 svnbot6 r14258 | audreyt++ |     =end FOO
09:15 svnbot6 r14258 | audreyt++ |     =cut
09:15 svnbot6 r14258 | audreyt++ |     say "Hi";
09:15 svnbot6 r14258 | audreyt++ |   Becomes a noop ("say" interpretered as documentation), and
09:15 svnbot6 r14258 | audreyt++ |   that's not good...
09:27 svnbot6 r14259 | audreyt++ | * Pugs.Parser.Literal: Oops, space is not a twigil.
09:27 audreyt TimToady: can we get .=uc into term level?
09:33 audreyt use case:
09:33 audreyt .=comb;
09:33 audreyt as with .meth, there must be no space between = and meth, of course
09:34 audreyt the only drawback I can think of is that of infix/prefix ambig:
09:34 audreyt listop .=uc;
09:34 audreyt but seems survivable..
09:39 chris2 joined perl6
09:50 audreyt (no tests breaks from that change)
10:01 cmarcelo @tell audreyt (telling bot lambda so you can postpone) later take a look at perlcabal.org/~cmarcelo/moh/, I took some advice from "Software Extension and Integration w/ TC" (gaal++) but maybe I got too far. then I got lost with lots of "forall"s (the SEITC based changes are in MO/Base.hs mostly). I'm seeking a little bit of advice on design. :o)
10:01 lambdabot Consider it noted.
10:02 cmarcelo sleep &
10:06 pasteling "lumi" at 209.88.179.116 pasted "gather/take weirdness?" (73 lines, 5.5K) at http://sial.org/pbot/20337
10:11 audreyt lumi: try "do gather"
10:11 lambdabot audreyt: You have 1 new message. '/msg lambdabot @messages' to read it.
10:11 lumi audreyt: Same
10:12 lumi Is this expected behaviour?
10:13 audreyt no
10:13 audreyt try $_ = gather
10:14 elmex_ joined perl6
10:16 lumi That works, but do gather et al don't. (also pugs shell is recycling old return values?)
10:16 audreyt yes. just fixed.
10:18 svnbot6 r14260 | audreyt++ | * Pugs.hs: More correctly reflect the result of the previous
10:19 svnbot6 r14260 | audreyt++ |   expression, for constructs like "gather". lumi++
10:19 svnbot6 r14261 | audreyt++ | * Pugs.Parser.Util: Drop _dollarUnderscore; use varTopic instead.
10:22 svnbot6 r14262 | audreyt++ | * Pugs.Parser.Doc: Correctly parse "=for" blocks.
10:22 svnbot6 r14263 | audreyt++ | * comments.t: unTODO now that =for block parses.
10:27 jferrero is now known as JoaquinFerrero
10:29 pasteling "lumi" at 209.88.179.116 pasted "Weird $_ behaviour" (14 lines, 282B) at http://sial.org/pbot/20339
10:31 audreyt uhm, I'm not surprised
10:31 audreyt it's not very easy to fix either
10:33 audreyt the thunk was not really closing over lexical $_
10:33 audreyt because $_ is not (yet) lexical
10:33 audreyt that's all...
10:33 lumi Oh, okie
10:34 lumi Maybe I'll wait until after the release to play with pugs?
10:34 lumi For some reason, anything I try acts weird
10:37 audreyt no, don't let anything stop you from playing with pugs
10:37 audreyt :)
10:40 iblechbot joined perl6
10:40 svnbot6 r14264 | audreyt++ | * Correct the use of "=for" where "=begin" was meant in ext/ in t/
10:40 svnbot6 r14265 | audreyt++ | * Fix =for usage in examples/.
10:50 nothingmuch audreyt: MO won't have a default codegen per se
10:50 lambdabot nothingmuch: You have 1 new message. '/msg lambdabot @messages' to read it.
10:50 nothingmuch @messages
10:50 lambdabot audreyt said 7h 51m 48s ago: ^backlog point here^ thoughts on using assert{...} blocks for MO codegen, using Perl 5.9's assert mechanism?
10:50 nothingmuch i've been in a fix these last 2 days
10:51 nothingmuch thinking really hard about two related problems
10:51 nothingmuch a meta meta model ;-)
10:51 nothingmuch 1. meta classes come in a variety of flavours
10:51 nothingmuch they should be able to share code
10:51 audreyt sure, but they are just regular objects in the whatever underlying metalgnauge
10:51 nothingmuch i'd like some lightweight way to polymorphically tie in "behaviors" (e.g. composes with roles, supports AGs, has multiple mro)
10:51 audreyt provided the metalanguage has code reuse facility, that is
10:51 nothingmuch and i'd like to tie into that an api for emission, as well
10:52 Psyche^ joined perl6
10:52 Psyche^ is now known as Patterner
10:52 nothingmuch now, codegen will go in the various sub meta objects
10:52 svnbot6 r14266 | andara++ | [runpugs]
10:52 nothingmuch like the meta slot
10:52 svnbot6 r14266 | andara++ | some stability fixes; better (or more friendly) error messages; warning on
10:52 svnbot6 r14266 | andara++ | main page.
10:52 nothingmuch and the meta attribute
10:52 nothingmuch and the meta layout (constructor)
10:52 nothingmuch and the compiled meta methods
10:53 nothingmuch but i suppose there should be a layer of indirection
10:53 nothingmuch because responder interfaces are easier to compile (more uniform)
10:53 nothingmuch hence, the only part really involved in codegen is the method definition meta objects, that abstract away the notion of a method body
10:53 nothingmuch getting to my point
10:54 nothingmuch MO only has method definition meta objects wrapping around a perl closure
10:54 nothingmuch i'd like them wrapping around a Perl::Generate AST instead
10:54 nothingmuch or in addition
10:54 nothingmuch with a macro api to get snippets of ASTs from the underlying meta objects (slots, accessors etc)
10:54 nothingmuch type info will fit into some accessor meta class
10:55 nothingmuch which can probably emit using macros in the emititer
10:55 andara juerd?
10:55 nothingmuch so if the accessor says $emitter->type_check( $sub_asts_for_params ) then the perl 5.9 emitter can do an assert there
10:55 nothingmuch to summarize: yes, very possible, probably by subclassing
10:56 nothingmuch audreyt: fairynuff? (sorry for long rant, i wasn't very coherent)
10:57 audreyt fair enough.
10:58 audreyt have you looked at moh?
10:58 nothingmuch a bit
10:59 * nothingmuch has been distracted with thinking about this meta meta meta
10:59 nothingmuch so i've only skimmed
10:59 nothingmuch i'm hopefully going to stop thinking about this soon so i can give cmarcello more unit tests for smaller bits of functionality
11:03 nothingmuch fwiw, i want a static haskell runtime, too
11:03 nothingmuch using MO to compile to static haskell should be fairly trivial
11:04 TimToady joined perl6
11:04 * nothingmuch goes for workout + lunch
11:05 chris2 joined perl6
11:06 Su-Shee joined perl6
11:06 Su-Shee hi.
11:07 audreyt Su-Shee: greetings
11:10 audreyt @tell cmarcelo can you chmod +w your moh/ so I can pushback? :)
11:10 lambdabot Consider it noted.
11:12 audreyt @tell cmarcelo meanwhile a working moh is up at http://perlcabal.org/~audreyt/tmp/moh.tar.gz -- I'm glad that you're using the features I've hacked into GHC 6.6 :)
11:12 lambdabot Consider it noted.
11:20 audreyt @messages
11:20 lambdabot cmarcelo said 1h 18m 43s ago: (telling bot lambda so you can postpone) later take a look at perlcabal.org/~cmarcelo/moh/, I took some advice from "Software Extension and Integration w/ TC" (gaal++)
11:20 lambdabot but maybe I got too far. then I got lost with lots of "forall"s (the SEITC based changes are in MO/Base.hs mostly). I'm seeking a little bit of advice on design. :o)
11:25 nothingmuch audreyt: can you put up a darcs repo of your moh so i can pull from both
11:28 andara hi all. is there a *fast* way to allocate a lot of memory (200M) in pugs?
11:32 fglock joined perl6
11:33 audreyt nothingmuch: http://perlcabal.org/~audreyt/moh/
11:33 lambdabot Title: Index of /~audreyt/moh
11:34 audreyt nothingmuch: finished scp'ing now
11:34 audreyt bbiab &
11:38 theorb joined perl6
11:38 theorb Hm, is there any use for a C -> perl6 (or 5, for that matter) compiler?
11:39 theorb I think Linus' sparse would make it fairly easy.
11:41 demerphq sparse?
11:42 theorb Semantic Parser.
11:42 theorb It's a very small C parser, including type annotation and the like.
11:42 theorb http://kernel.org/git/?p=linux/ker​nel/git/torvalds/sparse.git;a=tree
11:42 lambdabot Title: git - linux/kernel/git/torvalds/sparse.git/tree, http://tinyurl.com/zvwjr
11:42 demerphq oh
11:44 theorb There's a C -> x86 asm compiler included as an example backend.  In 2393 lines of C.
11:46 iblechbot joined perl6
12:01 fglock audreyt, putter: I'm experimenting with pure-perl cells http://colabti.de/irclogger/irclogger_log/​perl6?date=2006-10-10,Tue&amp;sel=626#l971
12:01 lambdabot Title: #perl6 2006-10-10,Tue, http://tinyurl.com/g7g5j
12:02 fglock like Perl6-Container used, but a bit more optimized
12:02 fglock so we can have typed containers in v6.pm
12:02 fglock and easier binding
12:05 fglock hmm - Moose/v6.pm circularity would likely be good for both projects
12:05 fglock re precompilation
12:16 markstos joined perl6
12:17 Limbic_Region joined perl6
12:29 svnbot6 r14267 | audreyt++ | * Pugs.Parser: Comment on the non-canonical term ".=method"
12:29 svnbot6 r14267 | audreyt++ |   which parses as "$_ = $_.method".
12:29 svnbot6 r14266 | andara++ | [runpugs]
12:29 svnbot6 r14266 | andara++ | some stability fixes; better (or more friendly) error messages; warning on
12:29 svnbot6 r14266 | andara++ | main page.
12:32 Limbic_Region salutations all
12:37 fglock Limbic_Region: hi
12:42 andara juerd: ping
12:43 svnbot6 r14268 | fglock++ | v6/emitter - experimenting with perl5-level cells (needs more work)
12:46 svnbot6 r14269 | audreyt++ | * INSTALL: Strongly recommend GHC 6.6 for the release.
12:58 svnbot6 r14270 | fglock++ | v6/emitter - revert r14268, which is segfaulting
13:06 stevan @tell putter: simple benchmarks reveal type constraint penalties are more in the range of 20x slower :)
13:06 lambdabot Consider it noted.
13:10 Limbic_Region audreyt - WRT strongly recommending 6.6 - the binary packages are limited to linux ATM
13:11 lumi Limbic_Region: Aren't there w32 packages?
13:12 lumi mingw32?
13:12 Limbic_Region not yet
13:12 Limbic_Region you can get from the dev head
13:13 Limbic_Region or you can build yourself (as I do)
13:13 lumi http://www.haskell.org/ghc/dist/current/dist/ - Last two files look like yesterday's mingw32 build?
13:13 lambdabot Title: Index of /ghc/dist/current/dist
13:14 Limbic_Region lumi - right, that's from the dev head
13:14 Limbic_Region i.e. not marked stable
13:14 audreyt uhm, no
13:14 Limbic_Region one must check the build reports to make sure it is viable
13:14 gaal yay, 6.6 announced.
13:14 lumi 6.6 announced?
13:14 gaal ghc
13:15 audreyt I think http://www.haskell.org/ghc/dist/current/dist/​ghc-6.6.20061010-i386-unknown-mingw32.tar.gz _is_ the final bindist
13:15 lambdabot http://tinyurl.com/jhoap
13:15 audreyt it's just they need a .msi to go with it, probably in a couple days
13:15 Limbic_Region well, it was a leading question
13:15 Limbic_Region I was going to ask if you were going to wait for our release to coincide with availability of more bin dists
13:22 audreyt not going to wait... the "natural" release date is this weekend, which by that time will have sufficient bindists
13:22 svnbot6 r14271 | andara++ | [runpugs]
13:22 svnbot6 r14271 | andara++ | Changed session id calculation; added robots.txt
13:23 Limbic_Region audreyt - great.  Did you happen to backlog the conversation I had with PerlJam, TimToady, gaal and others concerning newline ambivalence in our tests?
13:23 fglock audreyt: would you use v6.pm from cpan for the release? there are some new bugs in svn version
13:24 audreyt fglock: sure, or maybe I'll just put PCR in MANIFEST only
13:25 fglock PCR from svn is ok
13:26 fglock it's releaseable even
13:27 audreyt a release will be nice
13:27 kolibrie fglock: new bugs in v6.pm?  so my slide examples (which I still need to add to examples) may not work any more?
13:28 fglock kolibrie: they may even work better - but some unrelated things are now broken, such as multisubs and binding
13:28 * kolibrie was not using multisubs, but maybe binding in one place
13:29 fglock I'm working on it
13:29 audreyt Limbic_Region: I did, which is why I'm allocing tomorrow night for win32 newlineness
13:30 fglock for almost a week - not much progress yet :(
13:30 stevan @tell putter naive optimizations applied and type constraint penalty has been reduced from 20x to 4x perf hit
13:30 lambdabot Consider it noted.
13:30 kolibrie I haven't had a chance to work on grammars for several days myself, and not looking like it will happen today, either
13:36 Limbic_Region audreyt - oh, I was thinking along the lines of TimToady's comment that Test should be using eqv which should be newline ambivalent
13:36 frankg audreyt, I'm trying to pack a sqlite db into a par file - can that work for accessing db data?
13:37 audreyt frankg: no, not really, as the db will grow in size
13:38 audreyt frankg: your best bet is to locate the db yourself under $ENV{PAR_TEMP} and then open it
13:38 audreyt but then it'll be temporary
13:38 audreyt another thought is to put an empty DB into the par using -f, and then use read_file() to populate its initial data into some wellknown ondisk location, but only iff there's not alrady a db there.
13:39 frankg audreyt, thanks for the input - kinda sad about that
13:40 audreyt what you really want is perhaps a .dmg file
13:40 frankg what's that?
13:40 audreyt or the moral equivalent
13:40 audreyt a mutable filessystem instead of a zip file
13:40 audreyt and you can prealloc space to account for growing db
13:41 audreyt why not ship the .db separately from your pp'ed executable?
13:41 frankg well, I wanted to ship easier
13:42 frankg audreyt, thank you for your time :)
13:43 audreyt no prob :)
13:46 fglock can't declare an lvalue anon sub in perl5? like sub : lvalue { $_[0] }
13:46 fglock "Can't locate object method "lvalue" via package ... "
13:46 audreyt you can't. you can gensym though.
13:48 ajs perl -le 'my $a=sub :lvalue { $_[0] }; my $who="me";$a->($who)="world";print "Hello $who"'
13:48 ajs works fine for me
13:48 ajs 5.8.6 here
13:49 audreyt ah it's just a parsebug
13:49 audreyt sorry. the "sub" was parsed as label
13:49 audreyt need to disambig by putting it into term position
13:49 audreyt ajs++
13:49 fglock audreyt, ajs: thanks!
13:50 * Limbic_Region begins smoking r14271
13:51 ajs Limbic_Region: That stuff'll kill ya.
13:53 justatheory joined perl6
13:55 cjeris joined perl6
13:56 vel joined perl6
14:05 cognominal joined perl6
14:08 pasteling "fglock" at 200.17.89.80 pasted "perl5 test case for binding & typecheck" (26 lines, 460B) at http://sial.org/pbot/20345
14:09 fglock please check if the paste makes sense :)
14:09 P02 joined perl6
14:13 fglock nevermind, I found some problems on it
14:14 djuls joined perl6
14:14 hexmode joined perl6
14:17 svnbot6 r14272 | audreyt++ | * Pugs.Parser.Doc: Avoid warnings.
14:17 svnbot6 r14273 | audreyt++ | * Pugs.Parser: More warning avoidance.
14:17 audreyt lumi: you prompted me to rewrite the step-once shell :)
14:17 audreyt lumi: as a result, we have first-class continuation+env now ;) not going to expose to userland yet, but at least $_ will no longer be crippled...
14:20 svnbot6 r14274 | audreyt++ | * Pugs.AST.Internals: Redesign the ControlEnv control
14:20 svnbot6 r14274 | audreyt++ |   exception; it's now ControlContinuation, and carries
14:20 svnbot6 r14274 | audreyt++ |   the to-be-returned value as well as the resumable
14:20 svnbot6 r14274 | audreyt++ |   continuation.  This will be extremely handy for
14:20 svnbot6 r14274 | audreyt++ |   generalized resumable warnings continuations (as per spec),
14:20 svnbot6 r14274 | audreyt++ |   but for now it's used for the interactive shell without
14:20 svnbot6 r14274 | audreyt++ |   crippling $*_ for the intermediate step results.
14:21 nothingmuch joined perl6
14:21 lumi audreyt: Oh wow. I should play with pugs *more* then, I guess :)
14:21 nothingmuch is there a ghc 6.6 binary for osx/ppc?
14:22 audreyt nothingmuch: not yet. you want to contrib one?
14:23 nothingmuch not likely ;-)
14:23 nothingmuch i'll check if my gentoo wants to be friendly
14:23 nothingmuch if not i'll do moh on feather, i guess
14:23 audreyt moh is 6.4
14:23 nothingmuch oh
14:24 svnbot6 r14275 | audreyt++ | * Make the Pugs shell use the shiny new ControlContinuation.
14:24 audreyt s/moh/feather/
14:24 nothingmuch okay
14:24 audreyt I wonder if we should upgrade by hand without waiting for debian...
14:25 nothingmuch gentoo has no masked ebuilds =/
14:25 nothingmuch i sooooo don't want to compile ghc
14:26 audreyt there's linux bindists that may work
14:26 audreyt on either gentoo or feather
14:26 nothingmuch http://www.haskell.org/~gentoo/gentoo-haske​ll/dev-lang/ghc-darcs/ghc-darcs-6.5.ebuild
14:26 lambdabot http://tinyurl.com/eqdms
14:27 nothingmuch bnah
14:27 nothingmuch so how would i go about making a ghc package for osx?
14:29 nothingmuch http://darcs.haskell.org/ghc-6.6/ghc/ ?
14:29 lambdabot Title: Index of /ghc-6.6/ghc
14:35 TimToady rebleary
14:36 TimToady audreyt: I would expect .=uc to work as a matter of course.
14:36 nothingmuch uh?
14:36 TimToady I'm bleary again.  has some'n to do with mornin'
14:37 TimToady maybe my coffee's done...
14:37 audreyt TimToady: oh cool. it works.
14:37 audreyt surprisingly handy in $job scripts
14:39 TimToady I sincerely hope to put it to $work in the next few daze
14:39 iblechbot joined perl6
14:40 jferrero joined perl6
14:41 holoway joined perl6
14:42 audreyt a reliable use perl5:Module is more handy than I first imagined :)
14:43 avar hrm, that works?
14:43 TimToady on =cut, it should arguably be a parsefail if the new pod turns out not to be compatible with old pod.  or at least a warning...
14:43 audreyt avar: sure, explicit import list also works
14:43 audreyt I'll raise a warning...
14:44 cognominal joined perl6
14:44 pasteling "fglock" at 200.17.89.80 pasted "this seems to work - perl5 test case for binding & typecheck" (44 lines, 943B) at http://sial.org/pbot/20346
14:44 TimToady but if you're gonna continue, then yes, making it an explicit noop semantically is correct.
14:44 avar audreyt: How does it work? And how are p5 datatypes mapped to p6 ones?
14:44 avar Is there a writeup somewhere
14:45 fglock lunch &
14:46 audreyt avar: yes http://rakudo.org/perl6/inde​x.cgi?using_perl_5_embedding
14:46 lambdabot http://tinyurl.com/rswkg
14:46 audreyt as of how, well, very carefully
14:49 avar audreyt: that rocks
14:50 nothingmuch audreyt: how do you peel a pomegrande?
14:50 audreyt thanks :) it's easily the highlight of this release
14:51 nothingmuch err, spellimng
14:51 nothingmuch lumi-- # confusing me!
14:51 audreyt nothingmuch: stick a knife into it
14:51 svnbot6 r14276 | audreyt++ | * Raise a warning on redundant =cut as requested by TimToady++.
14:51 nothingmuch no no, you're supposed to say "veyr carefully"
14:51 svnbot6 r14276 | audreyt++ |   There'll be a lot of such warnings in the tests/examples/modules
14:51 svnbot6 r14276 | audreyt++ |   -- please someone squash them down before release...
14:51 audreyt splice it in two, and then eat the cells in it
14:51 nothingmuch otherwise they stain
14:51 lumi I confused you?
14:51 nothingmuch lumi: wrts spelling
14:52 audreyt I'll fade now
14:52 audreyt long $job day tomorrow that may involve an AIX build of GHC 6.6
14:52 audreyt more smoke result welcome... *wave* &
14:54 lumi Pomegranate, and it's not me that's confusing, it's English orthography
14:54 TimToady attempting r14276 smoke now.
14:57 nothingmuch lumi++ # okay fine, have your karma back
14:57 nothingmuch english--
14:57 nothingmuch we need an equity auto (inc|dec)rement op
14:58 nothingmuch +-( $a, $b )
14:58 nothingmuch -+( $a, $b );
14:58 nothingmuch with an optional param
14:58 xinming joined perl6
14:58 nothingmuch "take that many away from this, and give to that"
15:04 nnunley audreyt: Is there an approved location for obtaining ghc 6.6 for intel osx?
15:05 audreyt nnunley: why, yes, by yours truly
15:05 audreyt http://haskell.org/ghc/download_ghc_66.html
15:05 lambdabot Title: GHC: Download version 6.6
15:06 * nnunley nods. "Many praises."
15:08 djuls hello
15:08 djuls anyone speak  french plz?.
15:08 djuls my bot put sh: line 1: flood: command not found
15:08 djuls line1  #!/usr/bin/perl -c
15:10 nothingmuch djuls: this is not a perl 5 channel, see #perl for that
15:11 nothingmuch i think there's also #perl-fr or something like that for french speakers
15:18 Limbic_Region 99.44 % ok
15:18 * Limbic_Region svn ups and tries again
15:19 Limbic_Region audreyt - did you squash the tests that were causing winbugs to have a "this program has encountered a problem and must shut down"?
15:19 audreyt nnunley: the bindist is lacking hsc2hs; let me give you a new url (already notified GHC HQ)
15:19 Limbic_Region I don't remember having to click "ok" during this smoke
15:19 audreyt Limbic_Region: I think I did yes
15:19 Limbic_Region woot
15:20 * demerphq hands limbic_region and owl.
15:31 kanru joined perl6
15:31 audreyt nnunley: new build up at http://perlcabal.org/~audreyt/tmp/​ghc-6.6-i386-apple-darwin.tar.bz2 - GHC HQ will repopulate their end tomorrow
15:31 lambdabot http://tinyurl.com/hxkec
15:32 audreyt *wave* &
15:38 [particle] can v6 run with PAR?
15:38 [particle] there's a fellow in #parrot asking about virtual machines, and i mentioned p5 as a virtual machine, using v6 as an example
15:39 [particle] he asked about the size of the vm
15:39 [particle] i thought about par
15:41 fglock [particle]: it has many dependencies, needs some testing
15:42 [particle] yes, it sure does :)
15:42 [particle] on both counts
15:43 buetow joined perl6
15:44 fglock [particle]: would you take a look at this snippet: http://sial.org/pbot/20346 - a possible way to support types and binding in v6.pm
15:45 lambdabot Title: Paste #20346 from "fglock" at 200.17.89.80
15:56 [particle] will do
15:59 fglock [particle]: in this code, '=' is binding, and 'x=' is typed-assignment
16:02 xinming joined perl6
16:02 [particle] and only numbers are allowed to be assigned to this type
16:02 fglock yes
16:03 fglock each type can have a different implementation
16:03 [particle] right.
16:04 [particle] i think i like = for assignment, and x= for binding... x= looks more like :=
16:04 [particle] so i'm a bit cross-eyed looking at the code :)
16:05 fglock yes, but I don't know how to switch them :)
16:05 fglock this is meant to have as minimal overhead as possible
16:06 [particle] ah, i see what you mean, from my experimentation
16:08 [particle] okay, so it warns that it can't assign, but it does actually assign an non-number
16:09 [particle] i assume you'll put something more fatal in the real code?
16:09 fglock yes, it could die, or it can do (0+) or int()
16:09 [particle] ok
16:09 [particle] then this looks good to me
16:10 fglock or call $_[1]->int
16:10 fglock cool - thanks!
16:10 [particle] yep, check if it can ->int, and call it if so, otherwise die or something
16:11 Psyche^ joined perl6
16:21 elmex joined perl6
16:22 vel joined perl6
16:23 Eidolos joined perl6
16:25 andara left perl6
16:26 Psyche^ is now known as Patterner
16:31 vel joined perl6
16:41 araujo joined perl6
17:04 theorb_ joined perl6
17:14 ivas joined perl6
17:19 Eidolos joined perl6
17:20 Southen_ joined perl6
17:20 Eidolos joined perl6
17:22 cmarcelo joined perl6
17:23 cmarcelo hello
17:23 lambdabot cmarcelo: You have 2 new messages. '/msg lambdabot @messages' to read them.
17:26 cmarcelo what's the right way to allow access to files in my darcs repo in feather? +w on others? is there a user-group or whatever?
17:28 Khisanth joined perl6
17:37 pmurias joined perl6
17:38 pjcj joined perl6
17:43 penk joined perl6
17:45 pasteling Someone at 200.232.236.136 pasted "moh: a better data structure for Object?" (48 lines, 1.2K) at http://sial.org/pbot/20353
17:47 cmarcelo @tell audreyt thank you for cleaning up :) what I was trying to acomplish (but commented/deleted out) was something like:  http://sial.org/pbot/20353, but it poses problems for the typechecker. maybe encapsulating objects like: "data Object = forall a. Show a => Object a" maybe the way to go?
17:47 lambdabot Consider it noted.
17:47 MenTaLguY joined perl6
17:52 weinig|zZz is now known as weinig
17:55 ajs I always know when I've said something dumb to TimToady... he gets real quiet. The other day, he said something about reserving (?P...) in Perl 5 for Guido, and I speculated on what that would be in P6... Now that I know what that does in Python (named sub-patterns) I feel silly. Of course, it's just <abc>. ;)
17:56 PerlJam TimToady: Would make a good analog to Dumbledore if we were in the Harry Potter universe  :)
17:56 PerlJam s/://
18:08 babusri joined perl6
18:12 buu pmurias: Yo?
18:18 gaal nothingmuch: what we need is another dimension. viz: nothingmuch~~
18:19 gaal @weird nothingmuch
18:19 lambdabot Unknown command, try @list
18:19 gaal nothingmuch has weirdness 1
18:19 gaal nothingmuch~~
18:19 gaal nothingmuch has weirdness 2
18:21 bernhard joined perl6
18:23 nothingmuch gaal: ?
18:24 [particle] ~~gaal
18:29 gaal gaal has weirdness i
18:30 [particle] lol
18:30 gaal see, weirdness is monotonic, even though complex numbers cannot be ordered. weird, huh?
18:30 * [particle] is not used to thinking in two dimensions
18:31 [particle] i'm just a *point*
18:31 cjeris gaal: you just choose a well ordering of C where i comes after all the natural numbers
18:33 gaal cjeris: okay, they *can* be ordered, just not in a way that's very continunous in all directions.
18:34 cjeris well, yes, constructing the particular well ordering in question is an exercise for the reader. :D
18:35 lollan joined perl6
18:36 rlb3 joined perl6
18:37 cjeris actually, that might be an interesting exercise: is there any well ordering of C where the identity mapping from C with its usual topology to C with the induced order topology is continuous in either direction?  It can't be in the forward direction because neighborhoods of elements that are successors can be discrete, but I don't see offhand why it shouldn't be in the reverse direction.
18:38 Aankhen`` joined perl6
18:42 MenTaLguY left perl6
18:43 cmarcelo nothingmuch: I think moh/ now is open for you to commits, if you darcs get via ssh => darcs get nothingmuch_user@feather:/home/cmarcelo/public_html/moh ..
18:43 cmarcelo gotta go. bbl &
18:43 cmarcelo left perl6
18:48 pmurias buu: hi
18:58 prism joined perl6
19:01 prism joined perl6
19:02 buu pmurias: Were you playing with my repl?
19:02 pmurias buu: did i screw up anything?
19:02 buu pmurias: Naw
19:02 buu pmurias: I was just wondering what you thought
19:03 pmurias quite cool
19:03 pmurias i was scared to type 'exit' though
19:03 buu heh
19:03 buu It's safed.
19:03 buu Extremely.
19:03 buu The same code runs buubot
19:03 wilx left perl6
19:03 prism joined perl6
19:04 buu Heh, I keep hoping if I show it to enough people someone will say "Gee, that's really cool but you need to do.."
19:04 pmurias maybe syntax highlighting
19:07 pmurias or the abiltiy to use CPAN modules (have not tried it myself so maybe it works already)
19:07 Aankhen`` is now known as VAankhen``V
19:08 VAankhen``V is now known as Aankhen``
19:09 Aankhen`` joined perl6
19:09 TimToady @tell audreyt that I have confirmed that .perl seems to ignore the utf8ness of its string and converts a single utf8 char to multiple chars.
19:09 lambdabot Consider it noted.
19:09 TimToady ?eval "møøse".perl
19:09 evalbot_r14241 is now known as evalbot_r14276
19:09 evalbot_r14276 "\"møøse\""
19:10 prism joined perl6
19:10 shobadobs_ joined perl6
19:11 TimToady ?eval say "møøse".perl
19:12 evalbot_r14276 OUTPUT["møøse" ] Bool::True
19:12 nothingmuch OI!
19:15 prism joined perl6
19:24 pmurias buu: there was guy/gaal on #perl6 who was doing a repl with pugs
19:24 svnbot6 r14277 | fglock++ | v6/emitter - forked Pugs-Emitter-Perl6-Perl5-2 - adds pure-perl cells
19:24 aufrank joined perl6
19:24 pmurias it *might* make some sense to share some code with him/her
19:30 kanru joined perl6
19:32 buu pmurias: Yeah, someone mentioned that, but I'm not sure it's really applicable.
19:32 buu pmurias: There's a lot of p5 specific magic.
19:42 svnbot6 r14278 | fglock++ | v6/emitter(2) - fixed Scalar initialization
19:52 justatheory joined perl6
19:56 prism joined perl6
19:59 prism joined perl6
20:00 babusri joined perl6
20:02 svnbot6 r14279 | lwall++ | Can't parse files using modules that aren't necessarily installed.
20:03 prism joined perl6
20:06 prism joined perl6
20:10 prism joined perl6
20:14 svnbot6 r14280 | lwall++ | Suppress warning from blank lines with insufficient "indent" in heredoc.
20:18 knewt joined perl6
20:22 TimToady @tell audreyt by the way, r14280 is just a workaround for what probably should not be a warning.
20:22 lambdabot Consider it noted.
20:23 TimToady @tell audreyt that is, we should have the warning, but it probably shouldn't apply to blank lines.
20:23 lambdabot Consider it noted.
20:24 PerlJam TimToady: I was just contemplating Ovid's insane request for a way to add/remove roles to/from a class in a lexically scoped sort of way.  Surely there's a way to do it?  Something like:   my class Dog ::= OUTER::Dog but Barks;   ?
20:25 cm joined perl6
20:25 PerlJam Though I suspect I'll been to be talking to the meta instead.
20:27 cm_ joined perl6
20:27 PerlJam s/been/need/ another weird brain-o
20:34 fglock clkao: do you think Data::Bind with perl5-refs is fixable?
20:34 fglock I'm considering reusing the PIL-Run runtime architecture, so that we can have junctions, laziness, binding, etc all without XS
20:35 fglock but this is somehow backwards
20:35 knewt_ joined perl6
20:37 knewt_ is now known as knewt
20:37 fglock advice, someone?
20:37 clkao fglock: i don't know. need to ask rgs
20:42 PerlJam fglock: how is it backwards?
20:42 fglock PerlJam: simple things like my $a = 3 are compiled to
20:42 fglock my $a = \( my $n7120 = ( bless \( my $n7119 = 3 ), 'Pugs::Runtime::Perl6::Int' ) );
20:44 PerlJam It seems to me if you weigh that against junctions, laziness, etc.  (assuming you don't have those things) then the latter wins and you should reuse PIL-Run
20:45 PerlJam unless you have a more egregious example of backwardsness
20:45 TimToady Perljam: sure, but your inner Dog will be a different class that inherits from the outer Dog.
20:46 TimToady but it sounded to me more like a temp .wrap was what what wanted.
20:46 TimToady temporary AOP as it were
20:47 TimToady though of course that mainly lets you modify the behavior of existing methods, not add new ones.
20:47 TimToady (unless you start wrapping .HOW as well...shudder...)
20:48 PerlJam TimToady: I think my syntax imagination fails there.  But at least you're confirming my thought that "surely there must be a way for this craziness"  :-)
20:48 TimToady I think the tools are there, and we can put off using them as long as humanly possible.  :)
20:49 jferrero joined perl6
20:54 TimToady nap &
20:57 fglock PerlJam: it's (performance, readability) vs features
20:57 fglock I'm wondering about compiling to Inline::C :)
20:57 PerlJam features win IMHO (but that's just me)
20:58 ashleyb \\\
20:58 ashleyb *oops :)
20:59 weinig is now known as weinig|bbl
21:03 svnbot6 r14281 | fglock++ | v6/emitter(2) - Scalar - minor fix
21:05 fglock oops - I'm late &
21:05 cm joined perl6
21:05 fglock left perl6
21:22 cm joined perl6
21:30 theorbtwo joined perl6
21:33 prism joined perl6
21:35 larsen joined perl6
21:50 pelagic joined perl6
21:59 pelagic joined perl6
22:03 Limbic_Region joined perl6
22:06 markstos joined perl6
22:10 cjeris left perl6
22:22 mako132_ joined perl6
22:31 justatheory joined perl6
22:32 weinig|bbl is now known as weinig
22:51 avarab joined perl6
22:57 [particle] joined perl6
23:06 mako132_ joined perl6
23:17 mako132_ joined perl6
23:21 weinig is now known as weinig|food
23:36 nothingmuch yay! first rain!
23:37 Limbic_Region nothingmuch - you have never seen rain before?
23:37 kalven joined perl6
23:40 demerphq joined perl6
23:51 mako132_ joined perl6
23:58 svnbot6 r14282 | audreyt++ | * 01-10interpolating-functions.pl: Make this example actually run,
23:58 svnbot6 r14282 | audreyt++ |   and revert TimToady++'s blank-line padding since a Proper Fix for
23:58 svnbot6 r14282 | audreyt++ |   the warning mechanism is coming in.
23:59 TimToady morning audreyt
23:59 audreyt greetings TimToady
23:59 lambdabot audreyt: You have 5 new messages. '/msg lambdabot @messages' to read them.
23:59 audreyt @messages
23:59 lambdabot cmarcelo said 6h 12m 50s ago: thank you for cleaning up :) what I was trying to acomplish (but commented/deleted out) was something like: http://sial.org/pbot/20353, but it poses problems for the
23:59 lambdabot typechecker. maybe encapsulating objects like: "data Object = forall a. Show a => Object a" maybe the way to go?
23:59 lambdabot cmarcelo said 5h 19m 18s ago: I chmod +w public_html/moh directory, I think that will do it :)
23:59 lambdabot TimToady said 4h 50m 21s ago: that I have confirmed that .perl seems to ignore the utf8ness of its string and converts a single utf8 char to multiple chars.
23:59 TimToady I think the =cut warning blew up sort.t
23:59 lambdabot TimToady said 3h 37m 42s ago: by the way, r14280 is just a workaround for what probably should not be a warning.

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

Perl 6 | Reference Documentation | Rakudo | Niecza | Specs