Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2006-09-09

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:00 markstos TreyHarris: You could always proceed with the code and tests now, realizing someone might rearrange now they fit into the larger scheme, later.
00:01 TreyHarris i see.  does "mark it as such in a kwid block" mean to "kwid it out" so that the haskell implementation's the only one that actually runs?
00:02 * TreyHarris will bbia few &
00:19 weinig|bbl is now known as weinig
00:50 mako132_ joined perl6
00:52 penk joined perl6
00:56 weinig joined perl6
01:00 rjbs joined perl6
01:00 rjbs What's the convenient to use Haskell on OSX now?  I had used GHC a while ago, but it seems that there is no longer a build?
01:01 markstos hello rjbs
01:01 rjbs hey dude
01:01 TreyHarris rjbs: i don't know :-(
01:01 rjbs I am borrowing a fellow-ABE.pm-er's rainbow Haskell book.
01:02 TreyHarris i tried for almost 18 hours, and ended up getting a tarfile of someone else's /opt tree and obliterating my own :-(
01:02 rjbs but if I have to boot a vm just to run it... bah!
01:03 TreyHarris rjbs: are you ppc or intel?
01:03 markstos rjbs: I'm not an OSX user, but this looks helpful: http://www.cse.unsw.edu.au/~sseefried/ghc_nightly.html
01:03 lambdabot Title: Sean Seefried - GHC OS X, http://tinyurl.com/lq6rb
01:03 rjbs TreyHarris: Intel.
01:03 markstos audrey has been saying that 6.5/6.6 if noticeably faster anyway.
01:04 rjbs Man, this sucks.
01:04 markstos too bad that link was for PPC... sorry.
01:04 kanru joined perl6
01:04 rjbs Yeah, I can't compile GHC w/o GHC it seems.
01:05 TreyHarris well, you should try it anyway... i was using the PPC GHC on intel briefly to build pugs, it seemed to work
01:05 TreyHarris you just can't have *any* intel dependencies
01:05 markstos Oh look, it seems someone named Audrey Tang has contributed a OSX Intel build:
01:05 markstos http://cvs.haskell.org/trac/ghc/wiki/X86OSXGhc
01:05 TreyHarris rjbs: you can, it just takes many many days
01:05 lambdabot Title: X86OSXGhc - GHC - Trac, http://tinyurl.com/za42p
01:06 rjbs Hm.  CVS build, eh?
01:06 * rjbs looks at audrey's build.
01:06 markstos rjbs: Yes. Considering Audrey made it, there's a good chance it will work with pugs. :)
01:07 TreyHarris markstos: thanks for the prior link, i should try it, assuming i can find a way to squirrel away my existing working GHC... my last debacle occurred because my upgrade failed and I couldn't get back to the prior GHC, so had no way to build pugs at all
01:07 rjbs markstos: I'm not looking to use it with pugs yet.
01:07 rjbs markstos: just to use it for haskelling
01:11 markstos rjbs: Cool. May the monads be with you.
01:13 rjbs zug zug
01:23 rjbs audreyt++'s ghc build worked Just Fine!
01:23 rjbs off to hack
01:31 * TreyHarris commutes &
01:37 Eimi joined perl6
01:42 markstos I see that some items on the "Preludification Candidates" page are also in Prelude/PIR.pm, such as "ucfirst"
01:43 markstos I want to confirm that this counts as being "in Prelude.pm", meaning these items can be removed from the list.
01:43 markstos http://rakudo.org/perl6/index.cgi?preludification_candidates
01:51 frederico joined perl6
01:58 markstos left perl6
02:05 TreyHarris i don't think so.... because it's not pure perl then, is it?
02:05 TreyHarris oh, he's gone
02:44 Moose`` is now known as Aankhen``
02:44 Aankhen`` joined perl6
03:12 weinig is now known as weinig|zZz
03:32 lambdabot joined perl6
03:45 mako132_ joined perl6
04:34 buetow joined perl6
05:20 kanru joined perl6
05:26 iblechbot joined perl6
05:46 hermax_ joined perl6
06:14 drbean left perl6
06:17 drbean joined perl6
06:19 drbean joined perl6
06:27 Bit-Man joined perl6
06:38 Termy left perl6
07:23 lambdabot joined perl6
08:13 aliate joined perl6
08:42 elmex joined perl6
08:49 chaos_ joined perl6
08:50 chaos_ is now known as chaoslawful
08:53 DHGE joined perl6
09:06 bernhard joined perl6
09:41 xerox joined perl6
09:51 araujo hello hello
09:55 svnbot6 r13128 | audreyt++ | * Add a missing Pugs.Val format case.
09:58 svnbot6 r13129 | audreyt++ | * Add a better Show instance for reference cell addresses that
09:58 svnbot6 r13129 | audreyt++ |   makes the VList special case go away.
10:01 svnbot6 r13130 | audreyt++ | * Slight reformatting on Pugs.Eval; no functional changes.
10:01 svnbot6 r13131 | audreyt++ | * In GHCi, don't rely on idKey for hash consing as the global
10:02 svnbot6 r13131 | audreyt++ |   cache may somehow go away.
10:02 araujo hi there audreyt
10:03 chris2 joined perl6
10:03 svnbot6 r13132 | audreyt++ | * Parse for "class Foo is also {...}" instead of having Foo
10:03 svnbot6 r13132 | audreyt++ |   inherit from ::also.
10:06 svnbot6 r13133 | audreyt++ | * More stylistic cleanups.
10:11 clkao audreyt: greetings
10:12 ludan joined perl6
10:55 audreyt araujo: heya
10:56 svnbot6 r13134 | audreyt++ | * Switch from Judy.StrMap to Judy.Hash for the interning table.
10:56 svnbot6 r13134 | audreyt++ | * Remove the unused IntMap intern table for yet more speed gains.
10:58 prefiks joined perl6
11:04 araujo audreyt, What exactly is this Judy.CollectionsM module ?
11:04 * araujo can't find anything about it
11:04 audreyt araujo: it's found in third-party/HsJudy/Judy/
11:04 audreyt in pugs tree
11:04 TimToady joined perl6
11:04 audreyt it's a generic mutable map interrface
11:04 * araujo checks
11:05 audreyt similar to the existing MArray interface
11:05 araujo i see
11:06 polettix joined perl6
11:19 reZo joined perl6
11:28 kanzi joined perl6
11:36 drrho joined perl6
11:41 markstos joined perl6
11:42 reZo joined perl6
11:54 markstos TimToady: I hope you don't mind the pile of mail I"ve sent to p6l lately.
12:00 markstos TreyHarris: on the nights I leave with questions unanswered I often will read the IRC logs online for follow-up.
12:03 markstos what's the difference between a Prelude.pm and Prelude/PIR.pm ? A comment at the top of Prelude/PIR.pm would be really helpful.
12:04 markstos I'm creating a blog entry encouraging people to help with the Preludification Candidates, and I want to talk sensibly about it.
12:04 svnbot6 r13135 | audreyt++ | * Document the ID key-comparison avoidance in GHCi better.
12:04 svnbot6 r13135 | audreyt++ | * More strictness in ID construction.
12:04 markstos http://rakudo.org/perl6/index.cgi?preludification_candidates
12:04 lambdabot http://tinyurl.com/qhxfy
12:05 Odin- joined perl6
12:12 markstos I've found the list of alll the 'lang' possibilities that 'eval' can support, but where should it be formally documented ? I understand that each implementation may support different backends. (Pugs supports 'haskell'), so perhaps a Pug-specific location is appropriate?
12:14 markstos And then perhaps Perl6/Spec/Functions.pod should include: "See the documentation of your Perl 6 implementation for the complete list if languages it supports." ?
12:16 markstos Another doc question. This page mentions some functions in the Perl6 namespace and some in the Pugs name space:
12:16 markstos http://svn.openfoundry.org/pugs/src/perl6/INTERNALS.txt
12:16 lambdabot http://tinyurl.com/kncco
12:16 markstos A comment would be useful to clarify the difference. It seems strange to ask other implementations to create things in the "Pugs" namespace.
12:18 audreyt there is no difference.
12:18 audreyt i.e. if you change all Pugs::Internals to Perl6::Internals, that'd work too.
12:19 * nothingmuch dances along with Spandex Man
12:21 markstos Thanks audreyt: I'll update that doc that way to be clearer.
12:22 audreyt 'k
12:27 dolmans joined perl6
12:27 svnbot6 r13136 | markstos++ | INTERNALS.txt: s/Pugs::/Perl6::/ for clarity
12:31 audreyt TimToady: is $x.+++ a quantified method call on postfix ++ ?
12:32 audreyt (and why is $x.++ not a quantified method call on prefix +?)
12:32 audreyt or maybe quantification doesn't mix with prepost methods?
12:33 buetow joined perl6
12:44 Juerd $x.+.++?
12:44 Juerd It'd be nice if $foo.+method were just $foo.+.method. I think that's clearer.
12:45 Juerd But that's because I find it easier to think of $foo.+ as something that wraps $foo in a way, and provides an OO interface again, so you can call .method on it.
12:45 audreyt $foo.+ already has a meaning
12:46 audreyt it's numeric coercion.
12:46 rjbs audreyt: Thanks for making that OSX GHC build.  It was super-convenient.
12:46 rjbs audreyt++
12:46 audreyt rjbs: cool :)
12:53 audreyt currently .+() vs .+meth() requires some form of backtracking
12:53 audreyt not sure it's escapable
12:55 prefiks joined perl6
13:01 crem joined perl6
13:01 Juerd audreyt: Okay... when did postfix + start to exist, and why do we need it?
13:02 * Juerd prefers type/coercion info prefix, but that may be personal.
13:05 rjbs left perl6
13:06 kanzi is now known as kanziAFK
13:08 xdg joined perl6
13:16 audreyt Juerd: this May I think
13:16 audreyt =item * All postfix operators that do not start with a dot also have
13:16 audreyt an alternate form that does.  (The converse does not hold--just because
13:16 audreyt you can write C<x().foo> doesn't mean you can write C<x()foo>.)  In the
13:16 audreyt absence of a postfix interpretation, the dot form will call the corresponding
13:16 audreyt prefix operator instead.  So C<x().!> will call C<!x()> unless someone
13:16 audreyt defines a postfix C<!> operator.  In particular, you can say things like
13:16 audreyt C<$array.@> and C<$filename.-e.-r>, but you can't say C<$fh.=> because
13:16 audreyt there's a C<.=> operator already.
13:17 audreyt S03:38
13:17 Juerd In the absense of indicates that $foo.+ can easily be something else.
13:17 Juerd Also, I think this is a bad thing to have. For methods, sure, but for operators, it's dangerous and not future proof.
13:17 audreyt correct. so maybe .+ and .? never means postfix and always mean quant.
13:18 audreyt you mean $file.-e is not future proof?
13:18 audreyt i.e. some day people will invent postfix -e and it will break?
13:18 Juerd I mean that this thing as a general rule is not future proof.
13:18 Juerd As often, file test operators play a function-like role.
13:19 Juerd File test operators are expected to behave like functions. If functions work via method syntax, so should file test operators.
13:19 audreyt for @files { say "here" if .-e }
13:19 Juerd Yes, exactly.
13:19 audreyt is the use case
13:19 Juerd That's great
13:19 Juerd Not so great is taking away all possible ASCII combinations for future postfix ops.
13:20 audreyt example?
13:20 Juerd Because that means we can never introduce another postfix op into the language without possibly breaking things.
13:20 Juerd Well, the ! example is a good one.
13:20 Juerd !$foo does what people expect
13:20 Juerd $foo.! might, or may not.
13:20 Juerd But if we now interpret $foo.! as !$foo, that'll block the possibility to safely introduce a factorial postfix:<!> later.
13:21 audreyt into the core language. yes.
13:21 Juerd So if this happens, the best practice will be to never ever use it.
13:21 audreyt better suggestions?
13:22 Juerd Yes, treat -x as functions, not operators.
13:22 Juerd And don't do the non-existing-postfix-will-call-prefix thing at all
13:22 audreyt by allowing - in the alphabet?
13:22 Juerd Yes.
13:22 Juerd But only as first char.
13:22 markstos So far, I think I'm with Juerd on this one.
13:22 Juerd Just like the first char CANNOT be a digit, we could allow the non-first chars to NOT be dash.
13:22 audreyt so you can have
13:23 audreyt class -Foo { ... }
13:23 Juerd Obviously, foo-bar needs to be foo - bar
13:23 audreyt so far not seeing anything wrong with that. it indeed seems cleaner.
13:23 Juerd I'm not sure about identifiers in general, but there may very well be a very nice future meaning for prefix -
13:24 Juerd It also fixes the Perl 5 compatibility problem with => if identifiers can begin with - in the entire language :)
13:24 audreyt yes, was thinking about that.
13:24 Juerd Of course, -nonexistent needs to call - (nonexistent). That might be an issue.
13:25 audreyt it couldn't.
13:25 Juerd But then, we're already used to not expecting -e to call - (e)
13:25 audreyt best you can do is mandate space.
13:25 Juerd Hm, mandating space here is good enough.
13:25 Juerd Though. No, not.
13:26 Juerd I'd not be comfortable with requiring "- Int"
13:26 Juerd eh
13:26 Juerd Inf
13:27 Juerd Although cheating with sub -Inf () { - Inf } is a solution, that'd be a bad one as it's not generic.
13:27 mako132_ joined perl6
13:27 audreyt and -1 will be a problem too.
13:27 audreyt mmm piles of piles of kluges.
13:28 Juerd Maybe just -[A-Za-z], but again not very generic.
13:28 markstos How does Perl 5 solve or avoid this issue ?
13:28 Juerd markstos: By not having methods.
13:28 audreyt markstos: by having -e defaulting to $_
13:28 audreyt and yes, by not having methods on native values.
13:28 Juerd Why must -e be spelled -e?
13:28 Juerd Have we ever considered looking at this problem from that angle?
13:29 audreyt differentThingsMustLookDifferent etc.
13:29 Juerd Eliminate the source instead of the symptoms
13:29 audreyt explored _e I think
13:29 Juerd Why not e?
13:29 Juerd This would only break golf's standard f function.
13:29 markstos I always thought "-e" and friends were strange in Perl 5. Nothing else has quite the same syntax.
13:30 Juerd But no real code, I think.
13:30 ajs_home Is there any reason to force P5 compatibility in that way? It seems as if -e was just a kludge to allow shell programmers to migrate, but shell programmers aren't really as large a user base as they were in the early days....
13:30 audreyt .s and -s means different things.
13:30 Juerd ajs_home: Yes. Short syntax for the stat things is very important.
13:30 Juerd audreyt: True.
13:30 markstos frankly, so much has changed from Perl 5, I wouldn't mind a difference here.
13:31 ajs_home Short doesn't mean "same as P5"
13:31 Juerd ajs_home: This is something that is needed a lot for sanity checks in sysadmin scripts. Don't forget that Perl is used a lot for that purpose.
13:31 Juerd ajs_home: That is certainly true, and it'd be interesting to explore alternatives.
13:32 ajs_home ._s could easily be an alias for .file_is_socket
13:32 ajs_home and _s($file) could work the same way
13:32 Juerd -s tests size though
13:32 ajs_home oh sorry, right ._s is .file_size then
13:32 ajs_home still, same same. Depricated in real code, but fine for the command-line, I would imagine
13:33 Juerd It's not the oneliner/realcode distinction.
13:33 ajs_home Don't pretzle the parser just for -s
13:33 Juerd It's the scripting/applicationbuilding distinction.
13:34 ajs_home Juerd: I've been writing system tools and quick hacks for 15 years. I can tell you that .file_size isn't going to break the bank.
13:34 Juerd Not your bank
13:34 Juerd I'm a bit afraid of others
13:34 ajs_home But it would be a pain in the ass on the command-line, so _s makes sense
13:34 audreyt say "here" if .prefix:<-e>;
13:34 markstos I like "_e", etc, if that works.
13:34 audreyt ;)
13:35 audreyt _e etc can probably work if we consistently take back the meaning of _
13:35 ajs_home audreyt: heh
13:35 audreyt to mean filetest and not privacy (which would be !e)
13:35 Juerd audreyt: Why take back the meaning of _?
13:35 audreyt to make _e work?
13:35 Juerd _ has no meaning built in! It's just tradition.
13:35 Juerd Prefix _ is also used for a LOT of other things.
13:36 Juerd Many people use prefix _ for all kinds of "this thing is special" indication.
13:36 ajs_home Juerd: It's important and valuable tradition, but audreyt is right that it's subsumed in p6 by !
13:36 markstos audreyt: ! for privacy is already consistent with attributes: $!private
13:36 Juerd ajs_home: My point is that taking away _ isn't needed.
13:37 audreyt and instead do what..?
13:37 Juerd audreyt: Just use it?
13:37 Juerd Just let it be a very normal method identifier.
13:37 ajs_home We're all agreeing, I think just differing on the relative importance of the agreement ;)
13:37 Juerd Notspecial in any way
13:37 markstos Juerd: I think you are saying that having a  "_e"  doesn't mean that prefix "_" needs to be reserved for file tests.
13:38 Juerd markstos: That too.
13:38 markstos I agree.
13:38 Juerd Or we introduce a simple unicode character for file tests >:)
13:38 ajs_home At the very lease, I do think such ultra-short names should come via a tag. e.g. "use File :tests"
13:38 Juerd You want ascii? No problem, but then it's written !@@@#!~
13:39 Juerd ajs_home: I've been thinking of a general, very wide, "enable shortcuts" pragma'
13:39 audreyt Juerd: ok, but method idents must share with function idents, and w're back at the -Inf problem.
13:39 Juerd ajs_home: That -e would automatically enable.
13:39 markstos That's not funny. I don't know how to create to unicode characters easily.
13:39 ajs_home Juerd, the general "hacks" sort of pragma makes sense.
13:39 Juerd audreyt: No, because then prefix - is no longer an issue.
13:39 SamB Juerd: is that some kind of obscure curse?
13:39 Juerd audreyt: Because we don't need .-e to work anymore, and thus don't need to treat nonexisting postfix ops as prefix ops.
13:40 Juerd audreyt: -Inf is -(Inf) again, and all is good
13:40 audreyt I'm lost.
13:40 audreyt 15:37 < Juerd> Just let it be a very normal method identifier.
13:40 audreyt what is the "it" here?
13:40 audreyt the filetest? name it "file".exists_file?
13:40 Juerd SamB: No, the unicode operator is ♥.
13:41 audreyt is_there? is_readable?
13:41 Juerd audreyt: _e.
13:41 Juerd audreyt: _e requires no special parsing whatsoever.
13:41 audreyt oh. then we actually agree :)
13:41 Juerd SamB: So "if ♥e $file { ... }" could be written as "if !@@@#!~e $file { ... }" by people with non-unicode terminals :)
13:42 Juerd audreyt: Great :)
13:42 ajs_home $file.♥ and ☮
13:42 SamB I still think !@@@#!~ looks like some kind of curse
13:42 Juerd ajs_home: What's the second? My terminal renders a box.
13:42 markstos So are you agreeing that the language spec Change from May should be reverted ?
13:42 SamB Juerd: peace symbol
13:42 Juerd SamB: Couldn't use <3 for it's taken :)
13:42 ajs_home U+262E PEACE SYMBOL
13:44 Juerd Isn't $/ the filesystem object? :)
13:44 Juerd $/.e() :P
13:45 Juerd It does feel dirty to have Str methods that do file things, but that's because I'm getting too comfortable with our new OO :)
13:46 audreyt the original idea is that those are not str methods
13:46 Juerd What are they, then?
13:46 audreyt but are instead simply prefix functions
13:46 Juerd Well, original, in the -e prefix op thing. Right
13:46 audreyt if they are named _e they could still behave that way.
13:46 Juerd But I thought we'd try very hard to not clutter the main namespace with functions
13:47 audreyt we are, but maybe _e is deemed moose enough.
13:47 Juerd I agree with ajs_home that we could just have these things NOT be part of the standard language, but enable via a pragma.
13:47 Juerd I have a few more shortifications in mind for that pragma.
13:48 Limbic_Region joined perl6
13:48 Juerd (rm, cp, mv)
13:48 Juerd This is exactly the kind of short syntax you'd expect in command line or oneliner things, but not in application programming
13:48 Juerd -e could imply -Mcheats
13:51 Juerd sub ls { @_ ==> map { when ._d { glob "$_/*" } when ._e { $_ } die "$_ does not exist" } }
13:51 Juerd Hm, needs to all be globbed of course :)
13:51 Juerd sub ls { @_ ==> map { when ._d { glob "$_/*" } when ._e { glob $_ } die "$_ does not exist" } }
13:52 elmex joined perl6
13:55 markstos I like -e == -Mcheats solution
13:56 markstos for application-scale programming, a longer name would be clearer.
13:56 markstos I've used Perl for years, and I frequently have to reference what all the "-x" thingies do.
13:57 Juerd Same here
13:57 Juerd And TBH, I feel the same about many perlvars.
13:58 Juerd While at the same time I would like $$ with cheats enabled.
13:58 audreyt well, those became $*FOO.
13:58 audreyt but yeah.
13:58 audreyt no English; # ;)
13:58 Juerd audreyt: Hence cheats to get the short versions back.
13:58 Juerd For the most used ones, that is.
13:58 audreyt that's what I meant by "no English"
13:58 Juerd Indeed
13:58 audreyt once I joked that ingy release a new wiki called Slowy
13:59 audreyt which, unlike kwiki, comes with _all_ known plugins enabled
13:59 audreyt and you had to write "no Slowy::SomePlugin;" etc to disable them
13:59 Juerd I'm pretty serious about "use cheats" by the way.
13:59 audreyt *nod*
13:59 Juerd To the extent of having #!/usr/bin/cheatperl, perhaps.
14:00 Juerd Hm, no, that would be bad.
14:01 * markstos heads out on the bike
14:02 audreyt maybe we learn from bbrowser folks and call -e the "quirks mode".
14:02 audreyt use quirks;
14:02 Juerd Quirks refers to not-well defined behaviour and guessing.
14:02 Juerd Not to shortcuts
14:03 Juerd Lots of heuristics, etc
14:03 Juerd Not something you want in programming, at all.
14:03 masak i agree. it kinda has bad vibes, too
14:03 masak as in "oh no, not quirks mode..."
14:05 ajs_home Juerd: Your "cheats" is rapidly appearing to be "use Shell"
14:05 Juerd ajs_home: Does that exist already?
14:06 Juerd Oh, Perl 5 Shell.pm. Yes, it would include that mostly.
14:06 ajs_home Not that I know, and even if it does, we can probably shuffle it given a sufficient reason
14:06 Juerd Though I'd wish for something similar, but not quite the same.
14:06 Juerd Indeed, -e like stuff is also a shell thing.
14:06 ajs_home Most of what you suggest is shell-like, and probably not of as much interest to, e.g., Windows folks
14:09 polettix joined perl6
14:10 kanru joined perl6
14:10 Juerd ajs_home: I beg to differ: Windows Perl coders also like oneliners.
14:15 ajs_home One liners are not mutually exclusive with using NAMES for functions and methods rather than one- or two-letter abberviations. I don't know about you, but I don't need a "g" alias for "grep" in order to write a one-liner. Perl's semantic and operator compression get me quite a bit of one-liner goodness without needing to obfuscate, and to a Windows programmer "rm" or "-e" count as obfuscation, IMHO
14:15 kanru joined perl6
14:15 ajs_home That said, a Shell aliases package sounds good. Just name it that.
14:18 masak i had a look at the current Shell.pm on CPAN. it's hardly cross-platform
14:18 masak or very safe
14:19 audreyt @tell cmarcelo if I change StrMap to Hash on Pugs.Internals on macbook GHC 6.6, sometimes the Ptr gets relocated during GC and then it randomly drops keys
14:19 lambdabot Consider it noted.
14:19 ajs_home Well then, there you go. Good candidate for a re-vamp
14:19 Juerd ajs_home: Indeed it doesn't require non-names, but when I'm using a shell, things like $$ come naturally.
14:19 audreyt @tell cmarcelo I'm still working on reproducing it, but this release will ship with StrMap :/
14:19 lambdabot Consider it noted.
14:19 Juerd ajs_home: Translating that to $*PID for a perl oneliner is brain energy wasted.
14:19 audreyt <- wasted 2hrs on GC bugs :/
14:20 masak audreyt: this release? is there a release coming out soon?
14:20 Juerd ajs_home: Also, I would expect things like "unlink" to NOT be available by default in Perl 6. But in a one liner or short program, I do want it.
14:20 audreyt masak: yes, I'm relenging over the next couple days
14:20 audreyt aiming for a release next weekend
14:20 masak audreyt: nice
14:20 masak audreyt: what needs to be done?
14:20 audreyt test triaging
14:20 Juerd audreyt: Sorry to bother you with this, but is there any chance ==> will be supported soonish? (months)
14:21 masak audreyt: oki
14:21 ajs_home $$ comes naturally to you because it's shell, and you know shell. $*PID is no more or less natural
14:21 audreyt Juerd: it'll be supported as soon as func(1;2;3) is supported
14:21 audreyt since they are the same thing
14:21 Juerd audreyt: Is that soonish?
14:21 audreyt yes. I didn't swap in gaal's parser for that
14:21 audreyt as it'd destabilize the release
14:21 audreyt but it's there.
14:21 Juerd Cool
14:21 audreyt ?eval \(1;2;3)
14:22 evalbot_r13117 is now known as evalbot_r13136
14:22 evalbot_r13136 Error:  unexpected "\\" or "(" expecting program
14:22 audreyt hrm.
14:22 audreyt ?eval \(1,2,3)
14:22 Juerd What's (1;2;3) again? [1],[2],[3]?
14:22 evalbot_r13136 CCall "perl" CaptMeth {c_invocant = VPure (CaptSub {c_feeds = [MkFeed {f_positionals = [VPure (IFinite 1),VPure (IFinite 2),VPure (IFinite 3)], f_nameds = {}}]}), c_feeds = [MkFeed {f_positionals = [], f_nameds = {}}]}
14:22 audreyt no, it's 1;2;3.
14:22 Juerd I see. (?) :)
14:22 Juerd Multiple slurpies?
14:22 audreyt er no.
14:22 audreyt multiple feeds
14:23 Juerd I'll read the synopses again soon
14:23 audreyt a subroutine can receive 0 or more feeds
14:23 audreyt each feed contains positionals and nameds
14:23 audreyt in the usual case it's one feed
14:23 Juerd Ah
14:23 Juerd A feed is a set of arguments?
14:23 audreyt each <== adds one feed to it.
14:23 Juerd e.g. foo(1, 2, 3) has the feed "1, 2, 3"?
14:23 audreyt a feed is a sequence of positionals and a set of nameds.
14:23 audreyt yes.
14:24 audreyt plus an empty set of nameds.
14:24 Juerd So... signature : parameters :: feed : arguments ?
14:24 masak in which order do the feeds go in here: is it second ==> subname(first) <== third ?
14:24 audreyt not really...
14:25 audreyt masak: I think so, yeah
14:25 Limbic_Region audreyt - want to hear a scary thought?
14:25 Juerd audreyt: A signature defines the parameters, a feed provides the arguments... Not right?
14:25 audreyt Limbic_Region: sure...
14:25 Limbic_Region after spending the better part of 2 days getting ghc to compile from source on Win32
14:26 Limbic_Region I have decided to try and learn haskell again - working through YAHT now
14:26 audreyt Juerd: no; the duality is that Capture provides the arguments
14:26 audreyt a Capture is zero or one invocant, plus zero or more feeds.
14:26 Juerd Ahh
14:26 masak Limbic_Region: what's the scary part?
14:26 audreyt ($inv : $pos, nam => $nam ; $pos2, nam2 => $nam2 ; ...)
14:26 audreyt Limbic_Region: yay!
14:27 Juerd I was already thinking if there'd be multiple signatures, but apparently a signature contains parameters for multiple feeds.
14:27 Limbic_Region btw - once you have gone through the hassle of getting ghc to compile from source once - keeping updated with darcs daily and subsequent compiles are trivial
14:27 Juerd What's the signature-side of a feed called?
14:27 Limbic_Region masak - my half a dozen or so attempts of groking haskell in the past have resulted in - well - brain paralysis
14:28 masak Limbic_Region: i can relate to that
14:28 audreyt Juerd: read up on @@slices in S06
14:28 masak Limbic_Region: i've tried to grok haskell, too
14:28 Limbic_Region masak - well, my brain just doesn't think that way - but I find the tutorial refreshing
14:28 Juerd audreyt: Thanks
14:28 Limbic_Region forcing me not to try to think too far ahead
14:28 masak Limbic_Region: i can write short things in it now, but it still feels like there's something i have yet to understand
14:28 audreyt Juerd:  np :))
14:28 Limbic_Region which I think is saving me this time in comparison to my past attempts
14:29 masak Limbic_Region: i'll try that next time i try to learn haskell :)
14:29 Limbic_Region in any case - I can do simple examples and was even helping another initiate on #haskell last night
14:29 masak Limbic_Region: great
14:29 audreyt yay!
14:30 Juerd audreyt: Read it, but couldn't figure out the opposite of "feed"
14:30 Limbic_Region audreyt - I also hijacked particle to help with util/yaml_harness.pl
14:30 audreyt Juerd: currently called a slice but not jargon
14:30 audreyt cool
14:31 Limbic_Region mostly because I lack motiviation when working entirely on my own
14:31 Juerd audreyt: Slice sounds like a bad name because it's taken for other things
14:31 audreyt not sure we need a name for that...
14:31 Juerd This does answer my next question, though, why it's called @@slices.
14:31 Juerd I think we do.
14:31 Limbic_Region but also because I ideally want to abstract the parallelization into a plug-in API instead of just writing 2 completely separate branches
14:31 audreyt I mean, on the signature line it's a special dwigil @@
14:31 Juerd BTW, it should be @@feeds, as the variable should describe the contents :)
14:31 Limbic_Region and I think I need some sanity checks
14:31 audreyt but once it's bound then it's just feeds
14:31 audreyt precisely.
14:32 Juerd Don't we need a name for the $foo part in "($inv: $foo; $bar)"?
14:32 Juerd Is is that also a feed?
14:32 audreyt sure
14:33 Juerd I ask this because parameters are the definition, while arguments are the actual values.
14:33 audreyt it's the only positional inside its feed
14:33 audreyt wait
14:33 Juerd But indeed, "invocant" has a dual life this way too.
14:33 audreyt is the notation you're listing occuring in a signature?
14:33 Juerd An expected invocant, and the passed one, are both called invocant.
14:33 Juerd audreyt: No. Am I using the wrong syntax?
14:34 audreyt f($inv: $foo; $bar)
14:34 audreyt that's correct
14:34 audreyt \($inv: $foo; $bar) too
14:34 Juerd But I was talking about the signature side
14:34 audreyt then the semicolon means something entirely different. which I know is bad, but oh well.
14:35 audreyt (there the semicolon means a multi-dispatch tiebreaking line.)
14:35 Juerd Ouch.
14:35 audreyt ouch indeed.
14:35 penk joined perl6
14:35 Juerd We still have a lot to sanify
14:35 audreyt and in statement level semicolon means something else entirely...
14:35 Juerd I can live with that
14:36 Juerd But signatures and captures belong together. The same character should be related on both sides.
14:36 audreyt the only char that fits this description is colon and comma
14:36 audreyt other chars are no longer related
14:36 audreyt though they once were.
14:37 Juerd $ is still related
14:37 Juerd : is still related
14:37 audreyt $ is not specific to capt/sig.
14:37 audreyt it means the same outside too.
14:37 Juerd No, but : is in a signature
14:37 audreyt 16:36 < audreyt> the only char that fits this description is colon and comma
14:37 audreyt I should've said "chars" :)
14:38 audreyt and "are"
14:38 Juerd and "are"
14:38 audreyt heh
14:38 audreyt sorry, Chinese is a language without plurals, and I'm still adjusting :)
14:38 Juerd In all this time IRC'ing with you I've learned to cope well with plural/singular inconsistencies :)
14:39 Juerd Esperanto has plurals for nouns and adjectives, not for verbs.
14:39 audreyt much obliged.
14:39 Juerd So I was already halfway there
14:39 masak :)
14:39 Juerd Esperanto is nice
14:40 masak ido only has plurals for nouns
14:40 wolverian I'm learning Japanese. It is quite simple, except for the writing system that makes no sense whatsoever.
14:40 audreyt perl only has plurals for nouns too
14:40 svnbot6 r13137 | audreyt++ | * Give up on using Judy.Hash for interning as it randomly
14:40 svnbot6 r13137 | audreyt++ |   drops its keys across GC lines; going back to StrMap.
14:40 masak audreyt: i've never seen it that way. actually, perl has to plurals for nouns
14:41 masak pluralis arrayis and pluralis hashis
14:41 audreyt yup
14:42 audreyt Juerd: so, $foo.@ is a bad idea, and _e should test for file existence?
14:42 Juerd Hmmmm
14:42 Juerd $foo.@ is a bit convincing.
14:42 Juerd I have to think about that one.
14:42 audreyt thing is that .meth has affinity to prefix
14:43 audreyt but .symbolic_meth has affinity to postfix
14:43 Juerd Is there any reason to want .@ at the end?
14:43 Juerd That is, @ specifically
14:43 audreyt and the fallback unification is to make both has both affinity, except postfix is preferred
14:43 Juerd I think not.
14:43 audreyt $obj.long.chain.of.methods.@
14:44 Juerd That's a good reason to have it *prefix*
14:44 audreyt @ $obj.long.chain.of.methods
14:44 Juerd As it expanding to a list is a good thing to know beforehand.
14:44 audreyt I don't disagree.
14:45 Juerd This is type information, in some way, and I prefer to have the bulk of that on the left side :)
14:45 Juerd Even though typing may be a bit harder every now and then.
14:45 Juerd (But I have vim, and vim has b.)
14:46 audreyt so suppose we have postfix moose
14:46 audreyt $x moose;
14:46 Juerd moose?
14:46 Juerd Ah, metasyntactic moose :)
14:46 audreyt should $x.moose dispatch to it?
14:46 Juerd $x moose is invalid
14:47 audreyt suppose we define one.
14:47 Juerd Postfixes are attached or dotted, never separated with whitespace.
14:47 Juerd IIRC
14:47 audreyt YRC.
14:48 Juerd So the two ways to call the postfix moose are postfix:<moose>(...) and ....moose
14:48 Juerd $foo.moose should, probably, try these things in this order:
14:48 audreyt $/moose
14:48 Juerd 1. postfix:<moose>
14:48 audreyt ;)
14:48 Juerd 2. method called moose
14:48 Juerd 3. function called moose
14:49 audreyt $/moose is weird.
14:49 Juerd Anyone declaring a postfix operator with only \w+ characters is probably doing so for the heck of it only anyway.
14:49 audreyt then I think having .@ never fallback to prefix @ is a good call
14:49 Juerd Maybe postfix ^\w+$ shouldn't be allowed because it clashes completely with method calls
14:49 audreyt though we still have to convince people that ._e is a good idea.
14:50 Juerd Will be easy, I think
14:50 * audreyt reverts her already-prepared fallback-to-prefix .@ patch.
14:50 Juerd Postfix:
14:51 Juerd    ^\w+$
14:51 Juerd        1. method call
14:51 Juerd        2. function call
14:51 audreyt can you prepare a summary to p6l, preferably with a patch to S03:38 ?
14:51 Juerd    everything else
14:51 Juerd        1. postfix:<that>
14:51 audreyt I'm totally convinced :)
14:51 Juerd        2. die screaming.
14:51 Juerd I can, but tomorrow then
14:51 Juerd I'm about to leave
14:52 PerlJam what is ._e ?
14:52 audreyt okie. thanks!
14:52 Juerd PerlJam: Like Perl 5's -e.
14:52 Juerd PerlJam: -x has too many problems.
14:52 audreyt PerlJam: freshly reanimated alternate to -e
14:52 audreyt _e $file
14:52 audreyt $file._e
14:52 audreyt but never
14:52 audreyt -e $file
14:52 audreyt $file.-e
14:53 PerlJam hmm
14:53 audreyt we can still revive .-e
14:53 audreyt by installing it in both postfix and prefix form!
14:53 audreyt may be totally insane.
14:53 Juerd We *could*.
14:54 Juerd I'll mention it as one of three options
14:54 audreyt say if $file-e;
14:54 Juerd 1. get rid of -e entirely
14:54 audreyt would mean .-e then.
14:54 audreyt and we can chain it even.
14:54 Juerd 2. install only prefix, no default to $_
14:54 Juerd 3. install pre- and postfix
14:54 audreyt $file-e-w-x
14:54 audreyt you mean "but default to $_"
14:54 Juerd 4. move to _e instead
14:54 Juerd s/three/four/
14:54 PerlJam I think we should just get rid of the - and replace it with a more harmonious character
14:54 Juerd audreyt: No can do.
14:54 Juerd audreyt: As it's used mostly with if: if -e { ... }
14:55 Juerd Too much horribly parsing if we let that default to $_.
14:55 audreyt what does option 2 mean? if -e $_ { ... }
14:55 audreyt liek that?
14:55 Juerd audreyt: Yes.
14:55 audreyt -e$_ for golfing.
14:55 audreyt ok. we are on the same page
14:55 markstos Wow. I was gone for an hour, and the topic is still "-e". :)
14:56 audreyt and #2 looks sane actually.
14:56 PerlJam Also, -e is short for "file exists", maybe the long form should be all we can use for methods.   -e $file    -->    $file.file_exists
14:56 Juerd PerlJam: The problem is the short syntax on $_
14:57 Juerd if .file_exists { ... } is not nice for the many sysadmin and oneline scripts
14:57 PerlJam Juerd: then they can use -e $_
14:57 Juerd Yes. This is option #2.
14:57 Juerd I think it should be $foo.file.exists, though
14:58 Juerd Where "file" is a Str or Buf method that gives back an object representing a file
14:58 PerlJam $foo.stat.exists  :
14:58 PerlJam er :-)
14:58 Juerd This object can then cache stats, be opened.
14:58 Juerd my $fh = $foo.file.open;
14:59 Juerd And perhaps open returns its invocant:
14:59 Juerd my $fh = $foo.file;
14:59 Juerd if $fh.exists {
14:59 Juerd    $fh.open;
14:59 Juerd }
14:59 Juerd s/returns/modifies/
14:59 Juerd I dunno exactly.
15:00 Juerd All I know that putting all these file based things in the main namespace feels bad.
15:00 Juerd 'cause the only thing we need to clean it up is to have a string type specifically catered to represent file names. And if we have that, we might as well combine it with file handles.
15:00 svnbot6 r13138 | audreyt++ | * Parse for postfix dot methods:
15:00 svnbot6 r13138 | audreyt++ |     .++;        # $_++
15:00 svnbot6 r13138 | audreyt++ |     $x.++;      # $x++
15:00 svnbot6 r13138 | audreyt++ |     $x.+meth;   # $x.meth but with quantifier
15:00 svnbot6 r13138 | audreyt++ |   it's a bit icky (requires a "retry"), but should be good enough for now.
15:00 svnbot6 r13138 | audreyt++ | * Note that we consciously do _not_ support fallback to symbolic prefixes:
15:00 svnbot6 r13138 | audreyt++ |     .@;         # error; does not mean @$_
15:00 svnbot6 r13138 | audreyt++ |     expr.~;     # error; does not mean ~expr
15:00 svnbot6 r13138 | audreyt++ |   because Juerd++ and markstos++ (and pretty much all of #perl6) saw it
15:01 svnbot6 r13138 | audreyt++ |   as a hindrance to forward compatibility.  The original use case:
15:01 svnbot6 r13138 | audreyt++ |     .-e;        # -e $_
15:01 svnbot6 r13138 | audreyt++ |   still needs to be addressed somehow; Juerd++ will post a followup
15:01 svnbot6 r13138 | audreyt++ |   to p6l about that.
15:01 Juerd So that everything that works on filenames automatically also works on handles, and vice versa. I don't know how well this holds against real life, where a file can be anonymous.
15:01 jferrero joined perl6
15:01 Juerd But having filehandle stringify back to the name by which they were opened will be very useful in any case.
15:02 audreyt so stdout and stdin both stringify to "-" ?
15:02 audreyt and stderr stringify to an error?
15:02 Juerd STDOUT and STDIN stringifying to - makes a lot of sense
15:03 Juerd STDERR can stringify to undef, for all I care.
15:03 Juerd Maybe to \0 :)
15:03 audreyt to "" is perhaps better
15:03 Juerd Maybe these should just stringify to <STDIN STDOUT STDERR> respectively
15:03 Juerd Because filehandle stringification is most useful in debug messages and alike anyway.
15:03 audreyt "shed bikes, not tears"
15:03 Juerd say "$fh: ", ~$fh.readline;
15:04 masak Juerd: i really like .file.exists
15:04 Juerd Maybe \0STDIN, \0STDOUT and \0STDERR. Still perfect in your output, not matching to any possible filename.
15:04 masak as a bonus, it gets rid of the underscore
15:04 Juerd I really have to go now.
15:04 Juerd Please discuss this furcher
15:04 Juerd further
15:04 audreyt k
15:07 PerlJam $foo.file  seems like it should be $foo.as(File)  or something
15:08 masak PerlJam: maybe the first could be a shorter alias for the second
15:08 audreyt actually, I think the current trend is toward $foo.File
15:08 masak after all, providing shortcuts for file actions doesn't seem too bad
15:08 masak audreyt: oh
15:08 audreyt which is same is File($foo)
15:08 audreyt which allows us to take away the icky infix "as".
15:08 PerlJam great
15:09 masak so it's $foo.File.exists, then
15:09 audreyt but that requires a convention change
15:09 audreyt as some people on CPAN still uses
15:09 audreyt UcfirstMethodNames
15:09 PerlJam How does one tell the difference between a method call and a "type cast"?
15:09 audreyt by case, largely.
15:09 audreyt technically, it depends onif ::File is already in scope
15:10 audreyt which would normally install a prefix File
15:10 PerlJam would $foo.::File work?
15:10 audreyt I'd think so.
15:10 audreyt so you can disambig if you really want.
15:10 PerlJam This is going down an icky syntactic path for the file test operators
15:10 audreyt but all this is underspecced
15:11 audreyt well... I still think prefix -e is harmless
15:11 audreyt it's just what to do on postfix form, and installing .-e as postfix is one way out of it, except a bit too icky.
15:13 svnbot6 r13139 | audreyt++ | * unTODO, triage tests, etc.
15:13 PerlJam I know this doesn't quite work, but it almost enough to warrant a colon in some way:   $file:e:r:w      :-)
15:13 PerlJam er, $file.:e:r:w
15:14 PerlJam that typo alone is enough to make me cringe at my own thoughts
15:15 iblechbot joined perl6
15:16 audreyt a term adverb.
15:16 audreyt that's something to be cringed for :)
15:18 Alias_ I like .as
15:18 masak :)
15:18 Termy joined perl6
15:18 Alias_ Although granted, .File means you can check to see if there's a path through the typecase graph earlier
15:18 audreyt yes.
15:18 audreyt .as is backwards.
15:18 Termy joined perl6
15:19 masak .as-backwards, even
15:19 audreyt *groan*
15:19 masak sorry :)
15:19 masak IM does this to me
15:21 Alias_ But then .File is highly ambiguous
15:21 Alias_ Because how do you know how many steps through the type-conversion graph it is... which File
15:21 Alias_ Short of implementing it directly
15:25 Alchemy joined perl6
15:26 audreyt mm? it's always the ::File in scope
15:27 prism joined perl6
15:37 masak does anyone else's pugs test suite hang after test 21 in t/examples/all_parse?
15:38 masak pugs's trying to parse examples/perl5/cpan-upload.pl
15:38 masak and fails with Error eval perl5: "require AppConfig::Std; 'AppConfig::Std'"
15:38 masak but the test file just hangs after this
15:41 Limbic_Region masak - I am running smoke now
15:41 Limbic_Region unforuntanetly, that particular test (which I wrote) doesn't even run on Win32
15:42 Limbic_Region for some reason under the harness - it blows up though it runs fine from the command line
15:42 Limbic_Region what I would suggest is this
15:42 Limbic_Region pugs -Iblib6/lib t/examples/all_parse.t
15:42 masak i did that
15:42 Limbic_Region same results?
15:42 masak though i used prove6
15:42 masak yes, same
15:42 Limbic_Region no, prove will run the harness IIRC
15:42 audreyt I can't duplicate it here
15:42 audreyt (it runs fine here)
15:43 masak Limbic_Region: i'll try with pugs, then
15:43 Limbic_Region audreyt - can't produce masak's hanging results or my entire failure on the harness on Win32 results
15:45 Limbic_Region how long does the libwww getprint.t test take?
15:45 Limbic_Region it has been sitting there for some time now
15:46 audreyt then it's hanging.
15:46 Limbic_Region ok, that's hanging for me
15:47 Limbic_Region speaking of which - the list of things I was going to poke you about
15:47 Limbic_Region I forgot the fixing of IO stuff on Win32 such that the -debug option isn't needed for file::find
15:47 audreyt right.
15:47 Southen joined perl6
15:49 Limbic_Region audreyt - despite having done a ctrl-c from that hanging test
15:49 Limbic_Region trying to exit the command window is hung
15:49 Limbic_Region waiting for a process to finish
15:49 audreyt use taskman to kil pugs.exe
15:49 Limbic_Region checking the process table - there appears to be a background pugs.exe
15:49 audreyt ctrl-c doesn't generally work
15:49 Limbic_Region no, I know
15:50 Limbic_Region I was thinking that the test was doing something it shouldn't on Win32
15:50 Limbic_Region I can abort
15:50 audreyt *nod*
15:50 Limbic_Region just trying to be helpful
15:50 audreyt noted :)
15:50 audreyt I'll have a working win32 setup some 48 hours from now
15:50 audreyt till then I have no Win32 :/
15:50 Limbic_Region ok, I will wait till then to bug you (about that anyway)
15:51 audreyt (I left my adaptor for old win32 laptop at $client site)
15:51 * Limbic_Region isn't hating haskell at all this time around
15:51 audreyt (and the parallels image here is broken)
15:51 Limbic_Region YAHT++
15:51 audreyt YAHT's good.
15:51 audreyt but I really reommend http://www.cs.nott.ac.uk/~gmh/book.html
15:51 lambdabot Title: Programming in Haskell
15:51 audreyt which is why I put it at top of READTHEM.
15:52 Limbic_Region we will see
15:53 audreyt but many a people made it thru YAHT
15:53 Limbic_Region this is just continuing my experiment in masochism (compiling ghc from src on win32 was a great start)
15:53 audreyt actually, anything that's not "Gentle Introduction" will probably work :)
15:53 audreyt it's Gentle only when compared with the spec itself
15:53 Limbic_Region gentle introduction is for previously experienced FP hackers
15:53 audreyt (which is what it meant)
15:54 Limbic_Region introducing them to haskell - if I understood correctly
15:54 audreyt yes.
15:54 audreyt esp. for e.g. Miranda hackers
15:54 audreyt it's like showing Perl6::Perl5::Differences
15:54 audreyt to people who didn't know Perl at all :)
15:57 Limbic_Region in anycase, lunchtime
15:59 masak oh. I read Gently without realising that it was targeted at FP programmers :/
15:59 masak s/Gently/Gentle/
16:09 masak can anyone duplicate the error generated by running ./pugs -c -Iblib6/lib examples/perl5/cpan-upload.pl ?
16:09 turrepurre joined perl6
16:11 justatheory joined perl6
16:12 audreyt hm. POST conflicts with the same named function from LWP.
16:12 audreyt POST(1) is therefore illegal
16:12 Psyche^ joined perl6
16:12 audreyt which is unfortunate
16:13 audreyt maybe we should allow BEGIN(1) and POST(1)?
16:13 audreyt (unlike perl5)
16:14 audreyt alternately, maybe the use of POST as subname is dubious.
16:22 svnbot6 r13140 | audreyt++ | * Pugs.Parser: Support for chained method call in qq interpolation.
16:22 svnbot6 r13140 | audreyt++ |     "$foo.meth.meth.meth.meth()"
16:22 svnbot6 r13140 | audreyt++ | * Also allow "POST(1)" or "BEGIN(2)" to parser as function calls,
16:22 svnbot6 r13140 | audreyt++ |   instead of syntax errors (as in Perl5).
16:23 Psyche^ is now known as Patterner
16:39 masak audreyt: pugs now parses examples/perl5/cpan-upload.pl OK :)
16:39 masak audreyt: thx
16:39 svnbot6 r13141 | audreyt++ | * run-smoke.pl: add .yml to the instruction for manual uploads.
16:39 * markstos notes this website gives away free e-mail addresses @moose-mail.com: http://passport.care2.net/signup.html
16:39 lambdabot Title:
16:40 audreyt cool :)
16:41 audreyt this release is finally approaching something I can 1)install at $job and 2)not requiring constant tweaks
16:41 svnbot6 r13142 | audreyt++ | * t/syntax/interpolation/strings: Fix missing semicolon and plan.
16:42 audreyt but, sleep first
16:42 audreyt see y'all tomorrow :)
16:42 masak 'night
16:56 LimbicRegion joined perl6
17:03 masak does there exist a better way to develop js applications than running them in firefox?
17:04 masak especially guessing errors is difficult in firefox
17:05 * masak just rediscovered the error console by himself
17:05 masak ah
17:05 masak but still
17:05 masak not optimal
17:09 hugues23 joined perl6
17:12 LimbicRegion is now known as Limbic_Region
17:16 markstos masak: venkman might help, but it's still means running in Firefox.
17:20 svnbot6 r13143 | audreyt++ | * "%x<>" now means "%x{}" -- that is, interpolating the entire hash --
17:20 svnbot6 r13143 | audreyt++ |   rather than "".
17:20 svnbot6 r13144 | audreyt++ | * Fix two borken quotes in hash_access.t.
17:21 kanru joined perl6
17:24 rodi joined perl6
17:24 christopher joined perl6
17:26 jon joined perl6
17:28 markstos wow, audreyt commits while she sleeps. Impressive.
17:28 mauke_ joined perl6
17:30 jon ?eval my$x='abc';$x~~s/b/d/;say$x;
17:30 evalbot_r13136 is now known as evalbot_r13144
17:30 evalbot_r13144 Error:  unexpected "$" expecting "::", dot, ":", "(", comment, term postfix, operator, postfix conditional, postfix loop, postfix iteration, ";" or end of input
17:30 DHGE joined perl6
17:36 svnbot6 r13145 | audreyt++ | * force_context.t: Revamp the test to use isa_ok instead of ref().
17:36 svnbot6 r13145 | audreyt++ | * also don't assume that -0 and 0 always mean the same Num.
17:36 Eidolos She queues up commits so it looks like she works around the clock.
17:38 mako132_ joined perl6
17:39 svnbot6 r13146 | audreyt++ | * Fix POD tests in t/syntax/comments.t.  This doesn't work in perl5 either:
17:39 svnbot6 r13146 | audreyt++ |     my $var =
17:39 svnbot6 r13146 | audreyt++ |     =some pod
17:39 svnbot6 r13146 | audreyt++ |     =cut
17:39 svnbot6 r13146 | audreyt++ |     1;
17:39 svnbot6 r13146 | audreyt++ |   as we only recognizes POD at statement boundaries.
17:43 mauke_ is now known as mauke
17:44 Limbic_Region hrm
17:51 onsen joined perl6
17:53 masak markstos: I'll look into it. thx
18:02 Limbic_Region I think I know why the www is hanging
18:03 Limbic_Region my firewall can't be trained to recognize pug.exe (the container) and in stead focuses on pugs.exe (the value)
18:03 Limbic_Region is there a way to turn off any net related tests in the harness?
18:03 Limbic_Region and if not, should there be?
18:04 Limbic_Region cause everytime I svn up and make I am creating a new pugs.exe
18:04 avar the test suite is danm slow, I demand a refund
18:05 Limbic_Region avar - define slow?
18:05 Limbic_Region and how many tests are you running concurrently
18:05 Limbic_Region what platform
18:05 Limbic_Region what version of ghc
18:05 Limbic_Region make optimized or make fast
18:05 Limbic_Region all have big impact
18:06 * rodi just gives avar all his money back
18:06 * avar was actually not being serious, but ghc-6.4.1, one test at a time, Linux on powercp, "make"
18:06 avar *powerpc
18:06 avar rodi: thank you, that's $0
18:06 Limbic_Region so how slow?
18:07 Khisanth Limbic_Region: I have learned it's best to always ignore avar :)
18:07 Limbic_Region can someone tell Khisanth I am always ignoring him
18:07 Limbic_Region ;-)
18:08 avar Limbic_Region: I don't have exact timing capt'n!:)
18:08 avar *timings
18:08 * avar pets Khisanth
18:08 Limbic_Region avar - why not, change upload smoke to 1 in config.yml and then run smoke
18:08 Limbic_Region it will provide exact timings
18:08 Limbic_Region in case Khisanth or anyone else thought I was serious - not the smiley
18:08 Limbic_Region s/not/note/
18:10 BillN1VUX joined perl6
18:10 * Limbic_Region will bbiab
18:11 * gaal lols @ "shed bikes, not tears"
18:13 BillN1VUX The proper response to a what-color-to-paint-the-bike-shed is Monthy Python's Holy Grail question, What is your favorite Color?  Red! No Blue! AAAAAAGH.
18:14 lumi gaal: Speaking of tears, can't get this feature working :(
18:14 Limbic_Region joined perl6
18:15 gaal post a patch?
18:15 lumi An svk patch?
18:15 gaal sure
18:15 lumi Sec
18:16 lumi Although I'm loving this new laptop, it compiles in 0.7 jiffies
18:17 gaal I don't understand the "although" in that sentence
18:17 gaal brb
18:18 lumi It's "although"ing the woe from a little while ago
18:19 gaal ah!
18:19 gaal "become new"
18:22 lumi ~lumi/Closure_trait.patch
18:22 lumi On feather html
18:22 lumi Erp
18:22 lumi I should just wipe my brain and reinstall, but ykwim
18:22 norageek joined perl6
18:22 lumi And the patch is built wrong as well, and has too much stuff in it
18:24 mako132_ joined perl6
18:25 MacVince joined perl6
18:25 Aankhen`` joined perl6
18:26 gaal looking
18:26 lumi It's a really noisy pugs btw
18:26 gaal that's fine
18:26 gaal because of the traceVal?
18:26 lumi Yes
18:29 weinig|zZz is now known as weinig
18:32 mako132_ joined perl6
18:39 gaal lumi: what .t file are you using with this?
18:39 gaal or one-liner?
18:39 lumi Just one liner for now
18:39 lumi Sth like: sub { say "a"; NEXT { say "b" } }
18:40 lumi With the intention being that it appear in the "after" block's subNextBlocks slot
18:40 gaal oi, i'm getting a patmatch error in p.a.i.i
18:40 gaal loading the prelude.
18:42 gaal oh, old .yml. but moving it away I still get:
18:42 gaal Reloading Prelude from source...*** Exception: *** No compatible subroutine found: "&META::new"
18:43 gaal were you bypassing the prelude?
18:43 lumi Um? Don't think so?
18:43 lumi I just redrifted I  think?
18:44 gaal 'make fasting' i'll see if this is a ghci thing
18:44 gaal (after ghci get working, even to "fast" feels painful)
18:45 gaal *is gotten
18:47 gaal anyway, while this remakes... what are you seeing?
18:48 gaal the strategy looks sound to me
18:48 MacVince left perl6
18:48 lumi I'm seeing blocks pass through and they don't seem to be altered
18:50 lumi In theory, the patmatch should be hunting down a Val VCode, and then transform the VCode in it
18:53 gaal what's the most specific thing you're expecting to work that doesn't? I still can't run this here...
18:54 gaal ah, just built actually
18:54 lumi It's: ./pugs -e 'sub { say "a"; PRE { say "b" } }'
18:55 gaal is the patmatch being entered when you expect it?
18:58 lumi I'm not sure.. Should I add a trace?
18:58 gaal sure
18:58 gaal in the pre case, for example
18:59 gaal because I'm not seing a pre trait in either ExpA or ExpB...
19:00 lumi Er. Confusingly, ExpA comes After
19:03 lumi Mh. No. I'm not seeing the trace
19:03 lumi I guess addTrait is never called?
19:03 lumi No, not necessarily, it's just not called right
19:04 lumi Maybe the drilldown is bork then
19:06 lumi gaal: Any obvious case I'm missing in the patmatch on the Exp?
19:07 gaal hm, also, even if it did enter.. you seem to be modifying the parser state but where not changing the Val?
19:07 lumi Look in Parser.Util.localEnv
19:07 gaal or is localEnv completely cool to do that?
19:07 gaal yeah ok
19:07 lumi It's supposed to be, it's already doing it for pads
19:07 gaal *nod*
19:10 gaal I don't think addClosureTrait is being called at all.
19:11 lumi I don't think so, it shows it
19:11 lumi ./pugs -e 'sub {say "a"; PRE { say "b" } }' 2&>1 | grep Closure
19:12 lumi You should be seeing it's in there
19:12 gaal sec
19:15 gaal modify $ \state -> state{s_closureTraits = addTrait : s_closureTraits state }
19:15 gaal what's the argument to addTrait?
19:17 lumi An Exp (see Pugs.Parser.Util line 45)
19:18 gaal ah, it's [Exp->Exp]
19:18 lumi Yeah
19:19 saorge joined perl6
19:24 gaal the actual Exp you are getting is:
19:24 gaal Stmts (Ann (Pos (MkPos "<interactive>" 1 6 1 13)) (App (Var "&say") Nothing [Ann (Pos (MkPos "<interactive>" 1 10 1 13)) (Val (VStr "a"))])) Noop
19:25 gaal no VCode anywhere.
19:26 weinig joined perl6
19:27 lumi Oh. Hm. How can I decorate a code object when there isn't one?
19:28 lumi Or is it that, on failing to find one, (could make an accumulator for that) I should just make a new one?
19:30 gaal I think the problem is that we never got the function with the correct code
19:30 gaal that's the AST for the closure *containing* the trait, not the trait
19:31 lumi No, that's fine: the trait's carried in the Haskell closure
19:31 lumi Or should be, anyway
19:33 lumi addTrait closes over the 'code' parameter of addClosureTrait
19:36 gaal then why do you need this astwalking? you always unwrapped VCode
19:36 gaal so instead send that same VCode to addClosureTrait
19:37 lumi The code stays wrapped, it's the target block that gets unwrapped
19:37 lumi s/code/trait/g
19:37 lumi "code" there is the closure trait, "block" is the target
19:38 lumi Obviously I suck at good names
19:40 gaal oh, and this is oldAST which is very punny
19:40 gaal I wonder how I'd forgotten that...
19:40 lumi Yes.. The new one's not as punny?
19:41 lumi emacs is too smart for its own good
19:41 gaal happily not so much. see http://svn.openfoundry.org/pugs/docs/Pugs/Doc/Hack/Style.pod
19:41 lambdabot http://tinyurl.com/g28gh
19:42 onsen joined perl6
19:43 lumi oic
19:44 lumi That makes a lot of sense, actually
19:45 gaal anyway... I think my wakies tank just emptied
19:45 gaal sorry :(
19:47 lumi Okie, night, I think I've a direction now
19:47 lumi So thanks :)
19:49 gaal good luck :)
19:54 mako132_ joined perl6
19:55 markstos seen fglock
20:03 lumi Oh my, it works
20:03 lumi It's really ugly, though
20:04 lumi How do I do a pretty commit/push with svk?
20:05 markstos "pretty" ? As opposed to an ugly commit ?
20:06 lumi Yes, one that doesn't have all my local revisions
20:06 lumi Just the files I want changed
20:06 lumi And a fresh message..
20:07 onsen_ joined perl6
20:07 markstos lumi: you can do svk commit my/specific/file.txt list/of/files.txt   -- just commit the files you want.
20:08 markstos unrelated: I just posted another Perl 6 blog entry: http://pugs.blogs.com/pugs/2006/09/help_write_perl.html
20:08 lambdabot http://tinyurl.com/g7yfk
20:08 lumi Okay, how do I push them cleanly though?
20:08 markstos lumi: you mean you recorded a number of patches locally, but you want to commit one bigger patch to the central server ?
20:09 lumi markstos: Yes, exactly
20:10 markstos lumi: I'm not sure. It would be easy in darcs, but I don't see the commands in svk for that.
20:10 lumi Yeah, I know how to do it in darcs..
20:11 lumi But there was some svk incantation, I just don't know it
20:11 markstos lumi: I suspect the "dirty" option is OK in that case.
20:12 lumi I'll try it then
20:12 prefiks left perl6
20:14 * markstos starts working on cooking functionality for CGI.pm-p6
20:16 nothingmuch my $brane.isa("Pretzel");
20:16 elmex joined perl6
20:20 lumi Hi pretzel-brane
20:20 lumi nothingmuch: You know the svk pretty-commit incantation?
20:21 nothingmuch --verbatim?
20:21 nothingmuch don't use a local branch, really
20:21 nothingmuch is all
20:21 lumi Ah so
20:21 lumi That's what I get for following the directions
20:21 lumi Oh, I have working parsed closure traits!
20:21 lumi But, they break the subs they're in in some way
20:22 markstos after looking more at what's involved with cookie handling with CGI.pm, I'll pass on working on it today.
20:24 * nothingmuch wonders if he can finish inherited attribute grammar bodies in MO today
20:24 nothingmuch that said
20:24 nothingmuch i'm pretty close to an OO meta model with native attribute grammars
20:31 avar what's the equivalent of $SIG{__WARN__} in p6?
20:33 markstos avar: I find neither SIG or WARN mentioned in the spec.
20:34 avar hence my problem:)
20:35 markstos avar: I found it mentioned here: http://svn.openfoundry.org/pugs/docs/AES/S28draft.pod
20:35 lambdabot http://tinyurl.com/kq9lf
20:35 markstos but it's just a draft spec. There are no tests, and I suspect no code for it yet.
20:36 markstos nothingmuch: You work sounds interesting: I look forward to a write up for mere mortals. Perhaps a pugs.blogs.com post when you're done ?
20:37 bernhard joined perl6
20:40 svnbot6 r13147 | lumi++ | My local pugs branch
20:40 svnbot6 r13147 | lumi++ | The battle continues
20:40 svnbot6 r13147 | lumi++ | Closure traits that work!
20:40 svnbot6 r13147 | lumi++ | Reverted irrelevancies
20:41 lumi Err. I guess "don't use a local branch" is good advice for the future
20:42 markstos audreyt: It looks like "self.*$meth" is broken now. See: prove6 t/oo/methods/calling_sets.t
20:42 markstos I've started to rely on that in CGI::Application-p6.
20:49 pdcawley joined perl6
20:53 nothingmuch markstos: yes, soonish, i hope
20:57 MacVince joined perl6
21:00 nothingmuch naming conventioon question:
21:00 nothingmuch in the metamodel
21:00 nothingmuch i need two attrs per attribute grammar instance
21:00 nothingmuch 1. inherited attributes that we need to go to our parent to get
21:00 nothingmuch (just a list of names)
21:00 nothingmuch 2. inherited attributes as methods that receive a child
21:00 nothingmuch and return the value for it
21:02 nothingmuch what's the verb for the inverse of inheriting?
21:03 mauke bequeath
21:03 markstos Uh oh. Something broke pugs on feather.
21:03 markstos ?eval 42
21:03 evalbot_r13144 is now known as evalbot_r13147
21:03 evalbot_r13147 pugs: src/Pugs/AST/Internals/Instances.hs:483:16-116: Irrefutable pattern failed for pattern Data.Yaml.Syck.ESeq [aa,      ab,      ac,      ad,      ae,      af,      ag,      ah,      ai,      aj,      ak,      al,      am,      an,      ao,      ap,      aq,      ar,      as,      at,      au,      av,      aw]
21:04 nothingmuch markstos: thanks =)
21:04 wolverian nothingmuch, you mean, being born and handing out things to people? I don't think there's a word for that.
21:04 nothingmuch wolverian: i if a inherits x from b
21:04 lumi nothingmuch: Bequeathing?
21:04 nothingmuch then b <verb> x to a
21:04 nothingmuch yes
21:05 nothingmuch mauke already provided that =)
21:05 wolverian bequeath, yes.
21:05 markstos nothingmuch: "will"
21:05 markstos as in "I will you my nice sofa when I die"
21:05 nothingmuch bequeathed_attributes is cooled than willed_attributes ;-)
21:05 markstos agreed.
21:06 markstos "will" means other things. bequethed doesn't.
21:06 nothingmuch http://thesaurus.reference.com/search?q=bequeath&amp;x=0&amp;y=0
21:06 lambdabot Title: bequeath - Synonyms from Thesaurus.com, http://tinyurl.com/hygur
21:06 nothingmuch perhaps bestowed_attributes is better
21:07 markstos I think so.
21:07 markstos People are more likely to spell it right.
21:07 nothingmuch LEZ DO IT Yo
21:07 markstos Anybody have an idea of what broke pugs on feather ?
21:08 lumi markstos: Possibly me..
21:09 markstos I have a spare pugs to play with, but others might be annoyed. Audrey should wake up in a few hours, though.
21:10 SamB ?eval "Hello"
21:10 evalbot_r13147 pugs: src/Pugs/AST/Internals/Instances.hs:483:16-116: Irrefutable pattern failed for pattern Data.Yaml.Syck.ESeq [aa,      ab,      ac,      ad,      ae,      af,      ag,      ah,      ai,      aj,      ak,      al,      am,      an,      ao,      ap,      aq,      ar,      as,      at,      au,      av,      aw]
21:10 SamB hmm, it seems to me that if you fix it and commit it to svn, ?eval should work again
21:11 markstos SamB, well yes. But it's not clear to me what broke when by who.
21:13 lumi Hm
21:13 SamB hmm
21:13 SamB do a binary search through SVN?
21:13 SamB starting between the most recent successful ?eval and the first failed one?
21:14 markstos I would guess it was lumi's patch. I was using pugs on feather earlier, which is the same one that evalbot uses.
21:15 lumi It has to be me
21:15 lumi This is confusing, as my build works
21:15 SamB odd!
21:15 markstos Well, it could be you plus some interaction with the feather environment, like having the Prelude.pm.yml not being rebuilt, or something.
21:16 SamB yeah, it could easily be related to some dependency issue...
21:16 lumi Yes, Gaal said something about rebuilding prelude
21:16 markstos lumi: When you do "svk update", do any new patches come down ?
21:16 lumi That actually sounds quite likely, can someone force a rebuild?
21:16 lumi I changed the VCode record
21:17 markstos lumi: I think I know how, but I don't have access to that copy, which is in audrey's tree.
21:17 SamB you could probably do something nasty in the makefile...
21:17 markstos SamB: like a whitespace change, to force it to "remake" ?
21:17 lumi Touch the prelude or so?
21:18 markstos I was instructed to do that once before, after I moved a file.
21:18 SamB you think the problem is that the makefile isn't being regenerated?
21:18 lumi The prelude isn't being regenerated
21:19 markstos I'm pretty clueless about this actually. Just guessing along.
21:19 lumi The Perl side hasn't changed, and it doesn't know that it depends on the AST
21:19 lumi I mean, the Haskell AST
21:20 SamB hmm, maybe the Makefile should include a dependency on the .hi of the module exporting the AST types?
21:20 lumi Are there any feather sudoers here, maybe?
21:22 * SamB wonders why there is a _darcs tree in his SVN working copy...
21:22 nothingmuch lumi: my pretzel requires soaking... care to help?
21:23 markstos lumi:other options include: waiting for audreyt, and commiting the inverse patch for now. I happily found an older works for my own use.
21:23 lumi Assuming that's less obscene than it sounds, okay
21:23 nothingmuch well
21:23 nothingmuch the ref was to the pretzel brane
21:24 nothingmuch and there are nasty details which i must deal with ;-)
21:24 lumi nothingmuch: You aren't a feather sudoer, are you?
21:24 nothingmuch not anymore
21:24 nothingmuch i asked juerd to remove it because i set my password to some string i didn't know
21:24 SamB where is this Prelude?
21:25 lumi src/perl6/Prelude.pm is the source file, as far as I can read the makefile
21:27 weinig is now known as weinig|brb
21:28 SamB where is the .hi file for Pugs.AST ?
21:29 SamB I don't have pugs built at present...
21:29 Termy joined perl6
21:31 lumi I think it's dist/build/{src/,}Pugs/AST.hi
21:31 lumi It's in both in the audrey tree
21:31 SamB which one is more recent?
21:32 lumi No src
21:35 nothingmuch subetha brane depretzeling is open to the public at see://pasta.woobling.org/
21:40 SamB hmm... how to depend on a file only if it exists?
21:43 markstos I'm not sure what to make of this: pugs is reporting a specific error before there are even line numbers involved:
21:43 markstos Undefined subroutine CGI::defined at -e line 0
21:43 markstos (I'm not actually using "-e").
21:43 markstos I suspect is an issue with perl5 embedding, but I'm sure what. A reduced test case worked Ok for me. I'll keep poking at it...
21:44 SamB well, presumably there is something not Perl6 code that is trying to find that...
21:50 TreyHarris ?eval carp 'carp is safe'
21:50 evalbot_r13147 pugs: src/Pugs/AST/Internals/Instances.hs:483:16-116: Irrefutable pattern failed for pattern Data.Yaml.Syck.ESeq [aa,      ab,      ac,      ad,      ae,      af,      ag,      ah,      ai,      aj,      ak,      al,      am,      an,      ao,      ap,      aq,      ar,      as,      at,      au,      av,      aw]
21:50 TreyHarris uhhh
21:50 TreyHarris not what i expected
21:51 markstos TreyHarris. pugs is broken on feather now.
21:51 TreyHarris ?eval die 'die is safe'
21:51 evalbot_r13147 pugs: src/Pugs/AST/Internals/Instances.hs:483:16-116: Irrefutable pattern failed for pattern Data.Yaml.Syck.ESeq [aa,      ab,      ac,      ad,      ae,      af,      ag,      ah,      ai,      aj,      ak,      al,      am,      an,      ao,      ap,      aq,      ar,      as,      at,      au,      av,      aw]
21:51 TreyHarris oh... but just on feather?  a new build of r13147 works fine?
21:51 * SamB is trying to fix it
21:52 markstos We think it's a matter of Prelude.pm.yml, or some other file, getting rebuilt.
21:52 TreyHarris SamB: is r13147 broken, or is feather?
21:52 TreyHarris ah
21:52 SamB missing dependency...
22:06 [particle] joined perl6
22:21 nothingmuch lumi++
22:21 nothingmuch lumi++ # substantial commits ;-)
22:21 nothingmuch can't miss em ;-)
22:21 lumi Yes, the substance gets in the gears
22:22 * SamB twiddles thumbs waiting for Makefile to be regenerated...
22:22 xerox is now known as Lampje
22:23 * lumi | sleep
22:24 jferrero joined perl6
22:27 SamB ?eval "Hello"
22:27 evalbot_r13147 pugs: src/Pugs/AST/Internals/Instances.hs:483:16-116: Irrefutable pattern failed for pattern Data.Yaml.Syck.ESeq [aa,      ab,      ac,      ad,      ae,      af,      ag,      ah,      ai,      aj,      ak,      al,      am,      an,      ao,      ap,      aq,      ar,      as,      at,      au,      av,      aw]
22:27 * SamB waits for his commit to come through
22:27 svnbot6 r13148 | SamB++ | Hopefully get src/Pugs/Prelude.hs to be rebuilt when Pugs.AST's .hi changes
22:27 SamB ?eval "Hello"
22:27 evalbot_r13147 pugs: src/Pugs/AST/Internals/Instances.hs:483:16-116: Irrefutable pattern failed for pattern Data.Yaml.Syck.ESeq [aa,      ab,      ac,      ad,      ae,      af,      ag,      ah,      ai,      aj,      ak,      al,      am,      an,      ao,      ap,      aq,      ar,      as,      at,      au,      av,      aw]
22:28 SamB hmm, how long does evalbot take to rebuild pugs?
22:28 awwaiid what does the program "Hello" do?
22:28 awwaiid just return "Hello", eh?
22:29 SamB that is the desired result, yes ;-)
22:29 SamB certianly I should not get something horrible like the above
22:29 awwaiid fun
22:31 SamB someone said that the problem was probably something to do with src/Pugs/Prelude.hs not being regenerated from src/perl6/Prelude.pm when the AST changes
22:31 SamB that is, when the AST types change...
22:31 nothingmuch hiya awwaiid
22:31 SamB I think...
22:31 SamB ?eval "Hello"
22:32 evalbot_r13147 is now known as evalbot_r13148
22:32 evalbot_r13148 "Hello"
22:32 SamB okay, it seems to have worked ;-)
22:32 * SamB fixed evalbot ;-)
22:34 markstos oddly, now my the personal backup copy of pugs I was using on feather quit working, the same symptom as above. <shrugs>. guess I'll switch back to the other pugs now.
22:34 Lampje is now known as edi
22:35 awwaiid hiya nothingmuch :)
22:35 markstos ?eval 42
22:35 evalbot_r13148 42
22:36 markstos Now I'm confused. The evalbot uses /usr/bin/pugs on feather. But if I use /usr/bin/pugs directly on feather, I get the bizarre result again.
22:36 * markstos scratches head
22:38 markstos This moost be a sign I should get ready to leave for dinner...
22:42 Rpg joined perl6
22:42 Rpg left perl6
22:47 vel joined perl6
23:26 mako132_ joined perl6
23:47 stevan joined perl6

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

Perl 6 | Reference Documentation | Rakudo