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