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
|