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 2006-08-29 05:26:57 -0700]
Set by Akwa|user on 14 September 2006.
00:20 Aankhen`` joined 00:21 justatheory joined 00:28 nekokak joined 00:36 frederico joined 00:37 markstos joined 00:44 mauke_ joined 00:49 mauke_ is now known as mauke 00:56 hikozaemon joined 00:58 f0rth joined 01:04 hexmode joined 01:16 kanru joined 01:18 SubStack joined 02:10 mako132_ joined 02:16 mjk joined 02:42 nothingmuch joined
mugwump_ hmm, where did class XXX is Tuple { } come from? 02:47
TimToady I give up. 02:52
mugwump_ ok, darren did make it up :) 02:53
I see Tuple as a parametric role
eg: class XXX does Tuple[ Int, Str ] { ... }
Pair should subclass it 02:54
TimToady in that case a Pair would be unordered, according to the relational def of Tuple. 02:55
mugwump_ Then, Pair also has .key, .value and .kv methods that are RW methods to self.[0], self.[1] and self.[0,1]
oh, that seems odd - I would have thought that tuples were strictly ordered
TimToady depends on which def of Tuple you're using. 02:56
we renamed tuples to Seq in Perl 6 to avoid the problem
mugwump_ Oh yeah
TimToady so I don't care if Darren uses Tuple for what he wants. 02:57
mugwump_ I'm note sure what I'd use a Tuple for in that case, why it would be different from a Set, and how you'd apply its type constraints
TimToady well, gotta run &
mugwump_ ok, seeya 02:58
svnbot6 r13464 | audreyt++ | * Source file expandtab. 03:00
mugwump_ oh, tuple is not a real perl6 type 03:05
03:33 ron joined 03:51 zgh joined
svnbot6 r13465 | audreyt++ | * Pugs.cabal.in: Oops, accidentally left a -debug in there 04:06
r13466 | audreyt++ | * PCR: Add HsBridge to MANIFEST.
04:06 zgh joined
svnbot6 r13467 | audreyt++ | * "if $x -> $y {...}" now evaluates $x in rvalue context, 04:09
r13467 | audreyt++ | such that "if $x -> $y is rw {...}" still cannot modify
r13467 | audreyt++ | the original $x. (I think that's the correct semantic,
r13467 | audreyt++ | though it's not really specced.)
r13468 | audreyt++ | * Now that t/xx-uncategorized/use_import_not_found.t passes, remove it
r13468 | audreyt++ | as instructed by putter++.
04:11 Eidolos joined, zgh joined
svnbot6 r13469 | audreyt++ | * PCR Match dump_hs: Fix named match result dumping. 04:12
04:16 justatheory joined 04:21 Sal joined
svnbot6 r13470 | audreyt++ | * De-macroise Pugs::Internals::pi so it can be called normally. 04:33
04:39 ofer0 joined 04:43 mtve joined
audreyt @tell putter preulude_test now all passes. 04:48
lambdabot Consider it noted.
audreyt @tell putter see r13471; your original syntax was a bit off -- in particular "our $*x" doesn't work yet, and s better written as $*x 04:49
lambdabot Consider it noted.
svnbot6 r13471 | audreyt++ | * Allow binding to fully-qualified, uninitialized variables: 04:51
r13471 | audreyt++ | &foo::bar ::= sub { ... };
r13471 | audreyt++ | * Reorganize t/xx-uncategorized/prelude_test.t and Prelude.pm a bit
r13471 | audreyt++ | so that they all pass now.
r13472 | audreyt++ | * Remove a bogus "die" in rule_recursive.t.
04:56 baest joined
clkao @tell fglock the overloaded & data::bind bug was fixed 05:04
lambdabot Consider it noted.
05:14 BooK_ joined
Sal what is "JQL"? 05:21
05:22 Daveman joined
svnbot6 r13473 | audreyt++ | * Pugs.Lexer: Massive source code cleanup and warning avoidance. 05:24
05:25 Aankhen`` joined
clkao Jabberwocky Query Language? 05:26
TimToady Just Quack Loudly? 05:27
audreyt Junctional Quantum Library? 05:29
05:34 kanru joined 05:50 iblechbot joined
svnbot6 r13474 | lwall++ | A few remaining holdouts on .as -> .fmt 05:50
r13475 | audreyt++ | * PCR: Pugs::Grammar::Base::prior: avoid a stack frame push, and disallow 05:59
r13475 | audreyt++ | infinite recursion on <?prior>.
r13474 | lwall++ | A few remaining holdouts on .as -> .fmt
TreyHarris TimToady: i just heard something from a friend who's recently immersed herself in Perl, and i think it will either amuse or disturb you: "did I mention that I had a weird dream last night? I dreamed that in the hands/voice of some person, perl regexp were The Word made manifest, and when spoken would change the world." 06:08
06:12 Aankh|Clone joined
svnbot6 r13476 | lwall++ | use @() where .[] doesn't work yet. 06:15
r13477 | audreyt++ | * prior.t: unTODO. 06:18
r13478 | lwall++ | Changing splat to [,] in splat.t 06:23
TimToady audreyt: currently .[] are id, but I think they should do the same as @(). 06:37
that is, %HoA{$x}[] should flatten in list context like @(%HoA{$x}) 06:38
TreyHarris why does Test.pm use &Test::ok.goto? 07:06
ok, i see why 07:07
07:20 dduncan joined
dduncan fyi, I've decided for the near future to name the relational data model concepts of "tuple" and "relation" as Set::Tuple and Set::Relation ... among other things, having the Set:: prefix for both should make it unambiguous that I am talking about unordered types, each of which .does(Set) or a restricted version thereof 07:22
and Seq already covers the ordered concept of a tuple
the 2 Set:: types .does(Set) in a fashion resembling how I conceive that Mapping also .does(Set) 07:23
TreyHarris ?eval sub ($a) { say "$a" }.("hi") 07:24
07:24 evalbot_r13433 is now known as evalbot_r13478
evalbot_r13478 OUTPUT[hi ] Bool::True 07:24
TreyHarris is that correct behavior? seems a little *too* dwimmy to me
dduncan similarly, if Perl 6 never has a built-in type simply named Tuple, we can avoid all confusion and be happy 07:26
TimToady ?eval (1..100).grep: { /1/ }.say
evalbot_r13478 Error eval perl5: "use lib '/home/audreyt/pugs/perl5/Pugs-Compiler-Rule/lib'; use Pugs::Runtime::Match::HsBridge; 'Pugs::Runtime::Match::HsBridge'" *** 'require' trapped by operation mask at (eval 31) line 1. *** Cannot parse regex: 1 *** Error: Error: Can't call method "__RUN__" on an undefined value.
TimToady ?eval (1..100).grep: { m:P5/1/ }.say
evalbot_r13478 pugs: internal error: startTask: Can't create new task Please report this as a compiler bug. See: www.haskell.org/ghc/reportabug 07:27
lambdabot Title: 1.2. Reporting bugs in GHC
TimToady ?eval 42
evalbot_r13478 42
TimToady ?eval (1..100).grep:{ m:P5/1/ }.say
evalbot_r13478 pugs: internal error: startTask: Can't create new task Please report this as a compiler bug. See: www.haskell.org/ghc/reportabug
lambdabot Title: 1.2. Reporting bugs in GHC
TimToady ?eval (1..100).grep:{ not $_ % 7 }.say 07:28
evalbot_r13478 OUTPUT[714212835424956637077849198 ] Bool::True
TimToady ?eval (1..100).grep: { not $_ % 7 }.join(' ').say 07:29
evalbot_r13478 OUTPUT[7 14 21 28 35 42 49 56 63 70 77 84 91 98 ] Bool::True
07:30 gugod joined 07:42 simcop2387 joined 07:47 chromo joined 07:48 chromo left
TreyHarris should macros introduce a new CALLER frame? 07:48
?eval \() 07:49
evalbot_r13478 CCall "perl" CaptMeth {c_invocant = VPure (CaptSub {c_feeds = []}), c_feeds = [MkFeed {f_positionals = [], f_nameds = {}}]}
TreyHarris ?eval sub foo { say "hi!" }; &foo.call(\()) 07:50
evalbot_r13478 Error: No compatible subroutine found: "&call"
svnbot6 r13479 | Darren_Duncan++ | ext/Set-Relation/ : renamed, reduced the member classes to just Set::Tuple and Set::Relation 07:53
dduncan as a side-effect, there should not be any test failures with my modules left 07:54
question: is Perl's big-num support open-ended, to be limited only by hardware, or is there program-defined explicit maximum size, which just happens to be very large ? 07:56
so to make the numerical types into a finite domain type? 07:57
not that they wouldn't be finite anyway, due to hardware limits
or never minde
fyi, the Pugs build process remains without errors for me ... reported version is r13479 08:04
that is all
08:04 dduncan left, elmex joined 08:08 ludan joined, penk joined
TreyHarris ?eval macro saaay (Str $foo) { q:code { say $foo } }; saaay "hi" 08:10
08:10 evalbot_r13478 is now known as evalbot_r13479
evalbot_r13479 Error: Undeclared variable: "$foo" 08:10
TreyHarris how does one refer to $foo? i've read S06/Macros, Quasiquoting, Splicing several times but I'm still not sure
?eval macro saaay (Str $foo) { q:code { say {{{ $foo }}} } }; saaay "hi" 08:12
evalbot_r13479 OUTPUT[<SubBlock(<anon>)> ] Bool::True
TreyHarris oh, i'm confused. 08:13
08:19 kane-xs joined
bsb TreyHarris: the spec and the implementation of macros are from different realities 08:19
TreyHarris bsb: ah. ok. *sigh* 08:21
i just got Test.pm working with macro versions of Test::eval_*, which is nice because then the eval can happen in the calling scope. 08:22
but the line number diags are wrong
and i was trying to find a workaround
but I guess this isn't going to be a fruitful line of pursuit if macros don't work as specced... 08:23
bsb I'm not sure of the current state of macros, I should confess
but I don't think they've been worked on in a while
audreyt indeed 08:24
TreyHarris: nopaste a small example of line number brokage?
TreyHarris audreyt: ok, one moment so i can produce a 'small' example :-)
svnbot6 r13480 | audreyt++ | * Pugs.Parser: dummyParam seems unused; prepend it with _ for now. 08:25
r13480 | audreyt++ | (gaal++: Are you planning to use it?)
bsb hi audreyt
audreyt heya
08:27 timbunce joined
svnbot6 r13481 | audreyt++ | * Pugs.Embed.Perl5: In safe mode, allow PCR to be invoked 08:27
r13481 | audreyt++ | more than once.
pasteling "TreyHarris" at 207.171.180.101 pasted "test 4 fails, new CALLER introduced" (40 lines, 743B) at sial.org/pbot/19815 08:29
audreyt timbunce: hi!
timbunce audreyt: hi! Just passing through... rebooted my laptop and my irc client starts automattically. 08:30
gaal audreyt: yes, it should be used when a param is just a siglet. 08:31
(er, dummyParam)
audreyt timbunce: aha. hadn't noticed there's a #perl6dbi now
timbunce: what's your email addr of choice so I can send you a metacommitter bit?
TreyHarris audreyt: paste above
audreyt gaal: *nod*
timbunce audreyt: [email@hidden.address]
audreyt TreyHarris: looking 08:32
I think we want a caller frame
TreyHarris timbunce: hi timbunce, you probably don't remember me but we had lunch when you spoke at amazon (earlier this year?)
audreyt: in every case, or just that one 08:33
timbunce For a perl6dbi channel should I use irc.perl.org or freenode.net?
kane-xs greetings tim
audreyt timbunce: welcome aboard :)
timbunce TreyHarris: hi Trey. kane-xs: hi! everyone: hi! audreyt: Thanks, I think! 08:34
gaal audreyt: I'm looking at your reply to the Unpacking tree node parameters thread (sorry for the slowness); am I correct that the implication of your answer is that there is never any ambiguity in omitting the top node? in that case siglets are only required for passing over invocants.
TreyHarris audreyt: i can agree with the closure case creating a new caller frame, but the string and AST ones can't require a new frame, can they? 08:36
audreyt right
what I was saying is that the as-working thing is not wrong 08:37
so the final is() is in err
imvvho
gaal: there's no ambiguity inside a :() notation, aye.
siglet is also usefun it 08:38
:($, $, $)
s/usefun it/useful it/
s/usefun it/useful in//
audreyt evidentaly can't type.
TreyHarris audreyt: yep, makes sense, so i'll change that test before committing it. but with Code.call unimpl, and no way to get at the args of the macro from within an ast, i don't know how to get Test::eval_ working, since i must avoid creating a new caller frame
08:38 timbunce left
gaal audreyt: that's okayeverybody likes a creative typo 08:39
audreyt TreyHarris: you can use the &moose.goto(1) notation
it does what you think it does
TreyHarris but i need a goto that returns :-) 08:40
otherwise the first test to use eval_is will also be the last
gaal do we perhaps need some sort of pragma or other mechanism to bless some call chain into using one stack frame generally?
audreyt TreyHarris: .call will land in 2min 08:43
08:44 knewt joined
TreyHarris audreyt++: *grin* cool. i need to go to bed but i will make and smoke overnight and look in the morning. thanks! 08:44
audreyt np :) just note .goto() is actually just .call() 08:46
except the name got changed in Tokyo
and I forgot to update it :)
thanks for the reminder
Juerd .call replaces current sub, like exec replaces proces?
TreyHarris eh?
Juerd process
audreyt yes. 08:47
well, not really
.call returns, as TreyHarris observes.
08:47 arhuman joined
arhuman hi 08:47
Juerd Ah
Then it's not goto-ish.
audreyt right.
which is why the name gets changes. 08:48
changed.
Juerd Good idea then :)
svnbot6 r13482 | audreyt++ | * Argumentless POD introducer can now be followed by =cut correctly.
r13482 | audreyt++ | =foo
audreyt arhuman: greetings!
svnbot6 r13482 | audreyt++ | =cut
r13482 | audreyt++ | say "This gets run";
r13483 | trey++ | [t/macros/caller.t]
r13483 | trey++ | Tests for CALLER frame introduction in macros.
TreyHarris then goto &sub has no methodish form?
Juerd Hello, arhuman
TreyHarris: I don't think we should want that.
audreyt arhuman: arnaud dot assad at free dot fr? :) may I send a commit bit your way?
Juerd TreyHarris: Because it probably already works :) 08:49
arhuman Mu god is this that fast !
s/Mu/My/
TreyHarris audreyt: if you're just renaming .goto to .call, then i don't think it works, because in my current build, &subname.goto does not return
arhuman audreyt: yes, I have to practice my Perl to be useful, but I'm planning to contribute, so : yes thanks 08:50
audreyt TreyHarris: worry not :) 08:51
arhuman: cool -- add yourself to AUTHORS to test commit 08:52
welcome aboard :)
audreyt has improved her commit-bit-handing-fu
TreyHarris audreyt: no kidding... do i want to know how you get people's email addresses seemingly out of thin air?
audreyt TreyHarris: whois followed by google 08:53
TreyHarris ok. i was afraid it was going to be something very audreyt-like and scary. ;-) 08:54
Juerd audreyt++ # good people grabbing skills 08:55
08:55 f0rth joined
svnbot6 r13484 | trey++ | [t/macros/caller.t] 08:57
r13484 | trey++ | Corrected test description text.
audreyt .call lands 09:00
svnbot6 r13485 | audreyt++ | * Implement &foo.call() as specced in S06.
09:00 f0rth joined
TreyHarris yowza. now that i'm about ready to go to bed, my tooth i had the emergency root canal on today is really starting to hurt :-/ 09:00
audreyt++
Juerd audreyt: What's the diff between .() and .call()? 09:02
obra morning
TreyHarris Juerd: .call doesn't introduce a new caller stack
Juerd Hi
But it does return?
audreyt Juerd: .call erases the current frame
.call calls on behalf of its caller 09:03
yes.
Juerd Weird :)
audreyt useful though :)
Juerd Very! I've often wanted this
integral the same as "goto &" though?
audreyt in p5 the alternative is to redefine CORE::caller
integral: no, that does not return
Juerd And then usually fixed it by pushing a coderef onto @_, and then goto'ing.
integral oh, wow, that's cooler
Juerd ... or by adding stuff to %Carp::Internal :) 09:04
gaal we need an examples/network/send-commit-bit!
Juerd I hope .call gets documented much like audreyt's explaining it now.
TreyHarris audreyt: lovely. one could read S06 as saying that .call can only take a Capture, not a bare set of arguments, but I think allowing either is nice... though not, i suppose useful except as sugar 09:05
Juerd gaal: Write it? :)
gaal maybe! :)
TreyHarris ooogh. i'm now 40 commits behind on readinng pugs diffs. there's been a *lot* of activity this week! 09:07
everyone++ 09:08
nothingmuch yay! karma for everyone! 09:09
audreyt TreyHarris: hm, well, hm, I misread the spec 09:12
indeed it only accepts a capture
TreyHarris audreyt: can't it take either? 09:13
svnbot6 r13486 | trey++ | [src/perl6/Prelude.pm]
r13486 | trey++ | corrected pathname to test in comment
TreyHarris oh, i guess for subs whose sig actually contain Capture, that would be ambiguous 09:14
audreyt yeah.
09:15 ruoso joined
TreyHarris but hey, people have been writing Perl 5 accessors that can't take 'undef' for years and years, we need to have *something* like that in Perl 6 ;-) 09:15
TreyHarris ducks
09:18 Sal joined
TreyHarris reading between the lines, there seems to be a 0-ary form (or is an argumentless method 1-ary?) that passes on the arguments of the current sub call 09:20
audreyt TreyHarris: where is it mentinoed? 09:23
TreyHarris audreyt: it isn't. i was confusing .call with call. but this greatly bothers me; this is worse than select/select, because the two do very similar things 09:26
audreyt well, .grep and grep does similar things too... 09:27
TreyHarris ... and .call must always be equivalent to .call(), whereas call is different from call(). yuck.
audreyt actually not sure .call should be same to .call(). 09:28
TreyHarris audreyt: yes, but they take similar arguments. .call(Capture) versus call, call(), and call(*), which doesn't take Capture...
audreyt yeah. point 09:29
TreyHarris audreyt: oh? that would be great (except for string interp, you have to terminate the method name somehow)
audreyt easiest way is to rule that call() also takes Capture only.
more concsistent, and avoids ambiguity
TreyHarris yes... can we have a thingie (or do we already have one and i missed it) for "the capture of the current arg list" so you don't have to spell out your called args again? 09:31
09:32 mdiep joined
TreyHarris $?ARGS or somesuch? 09:32
$?_ maybe? 09:33
audreyt or maybe eliminate the call; form...
I'm not sure, actually.
TreyHarris well, for .wrap, it will be the most common form, i think 09:34
audreyt that was the motivation, yes
TreyHarris and i'd hate for the most expeditious thing to be to change your nice self-documenting arglist to (\$capture)... 09:35
just because you don't want to type your 20 arguments twice in three lines...
audreyt: shall i post to p6-l on this? 09:37
audreyt sure! please do
note that .call() has to take capture
because otherwise you cannot pass in an invocant into a method 09:38
&meth(\($inv:))
would work but
er
&meth.call(\($inv:))
would work but
&meth.call($inc:)
is double-invocant
and is explicitly syntax error
TreyHarris yes 09:39
09:42 kanru joined
TreyHarris incidentally, if .goto(*@args) is gone, then Test.pm will need to be refactored. unless goto &sub(ARGS) has suddenly become legal... 09:48
er... s/legal/special syntax/...
audreyt it's not gone 09:49
it's not specced either :)
TreyHarris *grin* 09:50
i guess you could walk your callers until you find one not in the current package... but i suspect that that's not something we want to have to do in a tight loop during smoketests.... 09:52
audreyt well, .goto is just return .call
I think.
though I'd like to keep it that way for now for this release
TreyHarris *nod* yes, probably not a good idea to break Test.pm massively right before release :-) 09:53
svnbot6 r13487 | audreyt++ | * Pugs.Types: Add Capture and Signature to the type tree. 09:55
r13488 | audreyt++ | * Pugs.Val: asStr instance for PureInt.
r13488 | audreyt++ | * Also make Feed a Monoid.
audreyt gaal: capture is back into our callconv :)
(via .call(\()) 09:56
svnbot6 r13489 | audreyt++ | * Implement &sub.call(\(...capture...)) correctly.
09:57 BooK joined
svnbot6 r13490 | audreyt++ | * oops, typo 09:58
TreyHarris ?eval multi moose () { say "0-ary" }; multi moose (Capture $capt) { say "unary" }; moose(); moose(\()) 10:00
10:00 evalbot_r13479 is now known as evalbot_r13489
evalbot_r13489 OUTPUT[0-ary ] "CCall \"moose\" CaptMeth \{c_invocant = VPure (CaptSub \{c_feeds = []}), c_feeds = [MkFeed \{f_positionals = [], f_nameds = \{}}]}" 10:00
svnbot6 r13491 | audreyt++ | * PugsConfig.pm: Further expandtab. 10:01
TreyHarris ?eval multi moose () { say "0-ary" }; multi moose (Capture $capt) { say "unary" }; moose(); moose(\3)
evalbot_r13489 OUTPUT[0-ary unary ] Bool::True
TreyHarris erm. is \() not a legal capture to express an empty arglist?
audreyt it is 10:02
same as [] a legal Array to express an empty list
svnbot6 r13492 | audreyt++ | * coro.t: unbreak two tests.
audreyt but still, you can't mix them.
if you really want the canonical syntax is
TreyHarris so why didn't that work?
audreyt moose([,] =(\()))
TreyHarris \3 worked, but \() didn't
audreyt oh but \() worked just fine
it's invoking the "moose" method :) 10:03
as currently specced, moose($x) is always $x.moose first
though that's going to go away anytime now
TimToady is going to add in "method is export" I think
but in any case.
TreyHarris oh... capture has a .moose method?
audreyt it doesn't, but at the moment all method calls into newland values 10:04
including \() literals
is instead dumped as a string
because it doesn't have a metaobject yet
it will probably get that this weekend
"under construction" etc :)
TreyHarris ok. fine. just so long as i can conjecture that call; could be reasonably replaced by call(), and call() by call(\()) 10:05
Juerd TreyHarris: .moose is audreyt's new foo :)
TreyHarris moose is the new camel, and .moose is the new foo
ludan does moose belong to the camel family? 10:06
uhm no.. it belongs to the Cervidae family 10:09
10:15 chris2 joined
TreyHarris I assume that S06:2121 should have a [,] reduction, and not the splat star it currently does? 10:17
audreyt yeah, though I really think maybe call($args) is simpler 10:21
TreyHarris except call() takes an arglist. hence my post to p6-l i'm writing :-) 10:22
audreyt right.
I think call() vs call(\())
is much better than
call; vs call(); 10:23
TreyHarris i agree 10:24
audreyt: read your last diff, you missed one: "It can then be passed to C<call> as C<*$args>:" 10:26
audreyt fixed too 10:27
TreyHarris: how's your tooth?
TreyHarris audreyt: ouch :-/ root canal is no fun. 10:29
audreyt: now i just need a commit bit to the synopses, I just went to merge your changes into my p6-l post so there would be no discrepancy before posting, and there was no diff :-) 10:30
audreyt commit bit to the synopses is handed by $Larry not me :) 10:31
SamB audreyt: what!
hot-swappable Larries?
or even cold-swappable? 10:32
audreyt the declarator for that is "constant" I'm afraid
SamB oh
well.
you have such odd syntax!
TreyHarris lol
SamB in almost any other channel, that would be an env var... 10:33
audreyt you mean contextual...
TreyHarris audreyt: contextual subs? do they exist? you can do "my sub foo is context" but you can't use &+context... 10:42
audreyt my &foo is context := {... } 10:43
&+context(moose)
sure you can.
TreyHarris ?eval sub bar { &+foo() }; my sub foo is context { say "moose!" }; bar(); 10:46
10:46 evalbot_r13489 is now known as evalbot_r13492
evalbot_r13492 Error: No compatible subroutine found: "&ENV::foo" 10:46
TreyHarris guess i'm doing something wrong. or is it unimpl? 10:47
audreyt can't say "my sub foo is context" yet 10:49
have to say
my &foo is context := sub {}
TreyHarris ?eval sub bar { &+foo() }; my &foo is context := sub { say "moose!" }; bar(); 10:50
evalbot_r13492 Error: No compatible subroutine found: "&ENV::foo"
audreyt curiously:
?eval sub bar { &+foo.call } my &foo is context := sub { say "moose!" }; bar(); 10:51
10:51 awwaiid joined
evalbot_r13492 OUTPUT[moose! ] Bool::True 10:51
TreyHarris ?eval my $foo is context = "moose"; say $+foo
evalbot_r13492 Error: Can't modify constant item: VUndef
audreyt $+foo doesn't see this sope. 10:52
scope
the errmsg is misleading because %ENV is bound to undef
TreyHarris ?eval my $foo is context = "moose"; { say $+foo }
audreyt unde f safemode
under safemode, even.
evalbot_r13492 Error: Can't modify constant item: VUndef
audreyt still no caller frame.
?eval my $foo is context = "moose"; sub{ say $+foo }.()
TreyHarris ?eval my $foo is context = "moose"; sub { say $+foo }.()
evalbot_r13492 OUTPUT[moose ] Bool::True 10:53
TreyHarris lol
see? i told you, give me a commit bit and I'll do your examples for you ;-)
ok, i think my fatigue has beaten my pain, so it's sleepytime for me. :-)
audreyt and I thank $deity for it :)
TreyHarris waves
audreyt sleep well!
TreyHarris Zzzzz &
10:56 iblechbot joined
svnbot6 r13493 | audreyt++ | * S29_spec.t: TODO everything. 11:05
11:10 eden_c joined 11:12 buetow joined
svnbot6 r13494 | audreyt++ | * Prettyprinting for signature default expressions. 11:30
r13494 | audreyt++ | (Doesn't prettyprint back to Perl6 yet.)
11:44 mako132_ joined
gaal hmm, how'd you get away with r13494 on 6.4? I had a patch waiting for 6.6... :/ 11:45
11:46 ludan joined
gaal superficially looking I see yout put the prettyExp function in Exp.hs and not in Pretty.hs, where I'd been getting circularity errors, but I don't yet see why it solved those 11:46
11:49 agentzh joined
agentzh kolibrie: i'll fix the leftover .c file problem for *nix later. 11:51
that is a fault of judy's own build system.
(not mine :))
11:52 lisppaste3 joined
svnbot6 r13495 | agentz++ | [Makefile.PL] 11:54
r13495 | agentz++ | - cleaned up the rev number updating logic.
agentzh is anyone here on windows? 11:55
pugs building report on win32 will be appreciated. 11:56
oh, judy compilation process on my cygwin is terribly slow. so i can expect it's also very slow on *nix. 12:06
this is really unfortunate for *nix users.
12:07 Limbic_Region joined
agentzh i'm guessing if there's too much magic involved in judy's Makefile, which slows down the building. 12:07
ajs said yesterday that Judy's Makefile should be removed by distclean. hmm...will add that to realclean. 12:09
distclean is not under my control...
svnbot6 r13496 | audreyt++ | * formatQuite for Exp now dumps back into Perl 6 syntax (incomplete); 12:13
r13496 | audreyt++ | this enables Signature literals with defaults to prettyprinted
r13496 | audreyt++ | back correctly.
audreyt gaal: signature.t all pass, arrr!
Limbic_Region agentzh - WRT whatever it is you wanted me to test yesterday. I did a realclean and wiped out third-party and was able to build just fine on Win32 12:14
agentzh Limbic_Region: glad to hear that!
Limbic_Region audreyt - some of those hiveminder tasks may be moot at this point. I can't be sure but it seems that some of them have magically fixed on their own.
audreyt ok :)
I like bigs that magickally fix themselves. 12:15
bugs, even.
Limbic_Region for instance - the all_parse.t which previously aborted on Win32 under the harness is now working 12:16
and there is another Win32 smoker who is apparently not having any problems with some of the web related tests in ext hanging
agentzh audreyt: are you interested in cygwin build failure reports? 12:17
pasteling "agentzh" at 210.22.200.67 pasted "Cygwin build failure" (131 lines, 7.2K) at sial.org/pbot/19817 12:18
agentzh ingore it in case you're not interested.
(in face i'm not very interested.) 12:19
audreyt gaal: sorry, was afk 12:21
gaal: would you commit the 6.6 branch of yours then?
gaal: the trick is prettyExp :: Exp -> Doc
agentzh: I'm not uninterested; let me think 12:25
svnbot6 r13497 | agentz++ | [Makefile.PL]
r13497 | agentz++ | - renamed target "cleanjudy" to "judyclean"
r13497 | agentz++ | [third-party/judy/Judy-1.0.3/cleanmore.pl]
r13497 | agentz++ | - added this perl5 script to do extra cleaning work for
r13497 | agentz++ | *nix judy. (this should fix the leftover .c issues
agentzh audreyt++
svnbot6 r13497 | agentz++ | reported by kolibrie++)
r13497 | agentz++ | [util/build_pugs.pl]
r13497 | agentz++ | - added -e "Makefile" to *nix judy logic.
r13498 | agentz++ | [third-party/judy/Judy-1.0.3/cleanmore.pl] 12:29
r13498 | agentz++ | - warned "info: Leftover files removed." at the end of
r13498 | agentz++ | execution (just to ease debugging of the "judyclean"
r13498 | agentz++ | target)
agentzh kolibrie: with r13498, you should see the output "info: Leftover files removed." at the end of your "make judyclean" run. and there should be no leftover .c files under Judy1/ and JudyL/. :)
audreyt: do you think if "realclean" should remove Judy's Makefile? 12:30
removing Judy's Makefile significantly slows down *nix user's judy building process. :) 12:31
audreyt agentzh: try again?
agentzh ./configure is very slow, you know.
not sure if it's worth it.
audreyt though realclean is not really part of regular build process 12:32
agentzh audreyt: okay
up'ing now
audreyt I think rm it is fine
agentzh okay :)
audreyt r13499 12:33
12:33 Sal joined
svnbot6 r13499 | audreyt++ | * Attempt to fix cygwin build by normalizing monfig_path 12:33
agentzh building r13499... 12:34
(under cygwin)
once cygwin build is working, i'll be able to test *nix logic in my win32 box. yay.
12:36 weinig|away is now known as weinig
agentzh cmarcelo: why not use src/Makefile in Judy? 12:38
pasteling "agentzh" at 210.22.200.67 pasted "audreyt: still failing..." (78 lines, 4.3K) at sial.org/pbot/19819 12:39
Daveman hehe, cygwin
12:40 ofer__ joined
agentzh $ ls /cygdrive/d/ghc/ghc-6.4.2/bin/ghc.exe 12:40
/cygdrive/d/ghc/ghc-6.4.2/bin/ghc.exe
it does exist.
Daveman: hey
12:40 ofer__ is now known as ofer1
agentzh weird. 12:43
audreyt agentzh: rm util/*.exe
and svn up
and try r13500
agentzh pugs/util/*.exe?
audreyt yeah
agentzh k
svnbot6 r13500 | audreyt++ | * more cygwin tweaks 12:44
12:44 discordja joined
agentzh oh...judy's configure is slow...i really hate it? 12:44
s/?/!/
s/\?/!/
:) 12:45
audreyt :)
shower, bbiab
Limbic_Region audreyt - when you return, those tests in ext/ are still hanging for me so not sure what the difference is 12:47
agentzh audreyt: same error... 12:51
pasteling "agentzh" at 210.22.200.67 pasted "cygwin failure" (56 lines, 3.4K) at sial.org/pbot/19820 12:52
kolibrie agentzh: ok, will check sometime on .c files 12:53
12:53 arhuman left
Daveman Hi :) 12:55
svnbot6 r13501 | agentz++ | [build_pugs.pl]
r13501 | agentz++ | - improved the *nix judy building logic.
gaal audreyt: I had an Exp -> Doc. apparently the trick was putting it in Exp.hs and not Pretty.hs! :-)
I'm away from my dev env, and it seems like you solved the problem? so i don't know if there's anything worth committing from my branch 12:56
12:56 xinming joined
gaal moose. 12:56
12:57 penk joined
audreyt gaal: well, if you had a good pretty for Exp 12:57
12:57 rodi joined
svnbot6 r13502 | audreyt++ | * another try for cygwin... 12:57
audreyt I started prettyQuite for Exp to essentially become .perl 12:58
but it's very incomplete
what else were in your branch?
agentzh: try again
13:00 agentzh joined
agentzh audreyt: i'll try 502 13:00
13:01 vel joined
agentzh i think judy on *nix should build faster now. 13:02
not sure if it works since my cygwin...
svnbot6 r13503 | agentz++ | [Makefile.PL] 13:03
r13503 | agentz++ | - uses gmake for *nix judy (when possible)
Limbic_Region I can do a cygwin build here locally if absolutely necessary 13:04
13:04 eden_c left
agentzh audreyt: i've gone much further... 13:04
Limbic_Region would prefer not to though
audreyt good
the key here is that all paths inside .exe must be of the form c:/foo 13:05
not /cygdrive/c/foo
agentzh it fails in p5embed.c...
i'll paste the errors.
audreyt ok, nopaste again?
Limbic_Region audreyt - out of curiosity, did you get the /msg I just sent you? 13:06
audreyt just did
pasteling "agentzh" at 210.22.200.67 pasted "oh, it's incomplete...." (297 lines, 17.1K) at sial.org/pbot/19823 13:07
agentzh audreyt: sorry, it's incomplete, i'll paste again.
pasteling "agentzh" at 210.22.200.67 pasted "this time it's complete... :)" (561 lines, 43.3K) at sial.org/pbot/19824 13:09
gaal audreyt: oh, not any more detailed than that. prettyQuite's a terrible name really 13:11
the one eventually dispatched in the case of :($x = "this is a val") is the regular pretty 13:12
audreyt k.
gaal prettyQuite is for .guts
and is usually just show x
audreyt ok, so I placed it in the wrong domain apparently
gaal uh, there may be a redundant layer there 13:13
i can clean up a bit when i get home
13:13 cjeris joined
audreyt cool 13:14
agentzh: ok, try r13504
if it doesn't work, maybe we don't build perl5 embed for cygiwn
gaal ooh, we're unbreaking cygwin now? cool! 13:15
svnbot6 r13504 | audreyt++ | * one more cygwin kluge.
agentzh k
gaal: well, it's in process. :) 13:17
*progress
gaal agentzh: not for the first time ;-)
13:17 dakkar joined
agentzh *nod* 13:17
oh...i'm stilling building judy... 13:18
too slow...
audreyt: same error (i did realclean before "make fast" this time) 13:21
audreyt agentzh: oy..
agentzh i wonder why it says "EXTERN.h: No such file or directory" 13:22
audreyt agentzh: nopaste your pugs.cabal ?
well that's because the embed flags had wrong directories in them
that much is clear
agentzh got it.
a sec...
pasteling "agentzh" at 210.22.200.67 pasted "my pugs.cabal :)" (23 lines, 2.8K) at sial.org/pbot/19826 13:23
audreyt yeah, it's as I feared 13:24
a sc
13:24 crem_ joined 13:25 zakharyas joined
Limbic_Region should I bother setting up a Cygwin build as well or are the Cygwin problems not specific to agentzh? 13:25
agentzh Limbic_Region: that'll be lovely! 13:26
Limbic_Region and does GHC need to be a cygwin ghc or what?
agentzh i'm using win32 ghc.
Limbic_Region is that possibly a problem?
agentzh it works fine.
audreyt there's no cygwin ghc
agentzh: try r13505
don't realclean
Limbic_Region I thought Pugs wasn't building?
agentzh k
audreyt after Makefile.PL ; make
nopaste Pugs.cabal
don't need to wait till Pugs.Embed 13:27
agentzh or "make fast"?
audreyt sure, that works too
agentzh i really hate "make"
okay
svnbot6 r13505 | audreyt++ | * More cygpath.
Limbic_Region agentzh - I am not going to do the Cygwin build at work. Too much hassle. I will set it up at home though and build a cygwin GHC (which should prove to be fun) 13:28
agentzh Limbic_Region: k
audreyt Limbic_Region: GHC is not known to build on Cygwin since GHC 6.2. 13:29
although #haskell will consider you a hero if you hacked the build system to do so
I suspect it may not be fun. 13:30
Limbic_Region audreyt - I know more about the GHC build system then I do about GHC
actually, a considerable amount more
pasteling "agentzh" at 210.22.200.67 pasted "my second pugs.cabal :)" (23 lines, 2.7K) at sial.org/pbot/19827 13:31
Limbic_Region and if all else fails, I could use MinGW inside the Cygwin environment. That should be a comprimise if I can't get it building strictly with Cygwin
I never really understood why Cygwin offers MinGW as a package but I might as well make use of it 13:32
audreyt agentzh: ok, try again
svnbot6 r13506 | audreyt++ | * yet another try... 13:33
agentzh ack.
13:34 lanny joined
agentzh have i broken any *nix guy (or gal)'s pugs build? 13:35
(out of curiosity)
Limbic_Region as of what build agentzh - you could always check the smoke server
agentzh Limbic_Region: i hear that. :) 13:36
Limbic_Region linux works at least up to r13478
agentzh audreyt: nopaste pugs.cabal again?
Limbic_Region darwin up to r13500
agentzh Limbic_Region: i need reports since r13503.
rodi agentzh: I'm smoking 13503 right now, but it built fine. 13:37
agentzh rodi: thanks :) that's sufficient to me.
pasteling "agentzh" at 210.22.200.67 pasted "my 3rd pugs.cabal :)" (23 lines, 2.8K) at sial.org/pbot/19829
agentzh src/Pugs/Embed/../../perl5/p5embed.h:5:20: EXTERN.h: No such file or directory 13:38
same error here...
13:39 buubot joined
lanny Hi all. Got sort of a "vision" question. If there is stuff in Pugs that's Pugs::Internal that could be Perl 6 should I move it over or just leave it alone? I've read through the "About Pugs" pages but can't make an easy determination. 13:40
Limbic_Region audreyt - WRT p5embed.h, couldn't that be a generated file so that p5 could be queried as to the proper location for the include instead of trying to rely on modifying -I path? 13:41
I guess that really is 6 of one and half a dozen of the other though
agentzh audreyt: maybe /usr/lib/perl5/5.8/cygwin/CORE should be converted to D:/cygwin/usr/lib/... or something like that? 13:42
Limbic_Region lanny - (this is just my opinion), at the very least you should write the p6 code so that if it IS a good idea, the work has already been done 13:43
lanny Ok. Got that far. :) I guess drop it in uspecced like sort? (Although all this stuff is specced so makes me wonder.) 13:44
agentzh audreyt: actually ENTERN.h is in /lib/perl5/5.8/cygwin/CORE instead of /usr/lib/perl5/5.8/cygwin/CORE on my machine.
Limbic_Region lanny - I would go ahead and put it in Prelude but not activate the code 13:45
and then ping audreyt again (or gaal) when you have their undivided attention
because I think the answer is "it depends"
there is some code intentionally not in there because of the effects it has on the build 13:46
I don't know the specifics though
lanny Yep. And that's the caveat I was seeing as well.
svnbot6 r13507 | arhuman++ | Added myself in the AUTHORS file for my first commit (asked by Audrey) 13:48
13:49 lisppaste3 joined 13:50 cjeris left
agentzh audreyt: i'll take care of the cygwin issue myself. 13:52
lanny Thanks again, Limbic. 13:53
13:55 cjeris joined 14:06 Odin-LAP joined 14:09 webmind joined
agentzh is busy studying the pugs build system... 14:14
fortunately it's perl5. :)
14:19 Qiang joined 14:21 KingDiamond joined
agentzh audreyt: i've got much further now. 14:33
win32 ghc under cygwin is really a source of pain!!!
i'm looking forward to Limbic_Region's cygwin ghc. 14:34
in the meantime, i'll have to add some evil magic to the build system...
14:34 shachaf_ joined
agentzh with luck, cygwin pugs will build tonight. :) 14:37
wilx How can there be Cygwin pugs when there is no Cygwin GHC? 14:39
Limbic_Region wilx - use a Win32 GHC 14:40
agentzh Limbic_Region: is there a way to get the installation path of cygwin in cygwin perl? 14:44
for example, environment variable... 14:45
i really don't want to refactor build_pugs.pl too much. 14:46
audreyt agentzh: you want `cygpath` 14:47
`cygpath -w /usr`
gives c:\cygwin\usr
agentzh ah
thanks!
audreyt np :) see Makefile.PL's usage 14:48
agentzh k
ajs Am I misunderstanding v6, or is this output wrong: perl -e 'use v6-alpha; ' - 'for (1=>2)->$n,$m{say "$n with $m"}'
1 with 2
audreyt that's likely broken. 14:49
ajs ok
I'm trying to proof some of my example code from Functions.pod, but nothing can handle it ;)
14:50 blibbet joined
agentzh cygpath is so nice. 14:51
svnbot6 r13508 | audreyt++ | * Pugs.Parser: Parse for 15:13
r13508 | audreyt++ | repeat {
r13508 | audreyt++ | }
r13508 | audreyt++ | while 1;
r13508 | audreyt++ | as specced; the lone-closing-brace rule doesn't apply here.
r13508 | audreyt++ | * Pugs.Eval: Allow "redo" to redo the first repeat loop.
r13508 | audreyt++ | (repeat.t now all passes.)
r13509 | audreyt++ | * repeat.t: Take away an unneccessary eval.
audreyt agentzh: thanks a lot for the very accurate/comprehensive repeat.t :) 15:14
15:14 buetow joined
audreyt enough triage for today... g'nite lambdacamels :) 15:14
*wave* &
Limbic_Region sleep well audreyt 15:18
15:20 stevan joined 15:21 christopher joined 15:23 lichtkind joined 15:24 christopher joined
ajs night 15:29
15:30 justatheory joined 15:35 [mago] joined 15:36 agentzh joined 15:40 weinig is now known as weinig|bbl
agentzh anyone willing to explain what sub build_lib in build_pugs.pl does? 15:41
ohhh...i'm now at dirent.h 15:45
15:46 prefiks joined, theorb is now known as theorbtwo 15:47 frederico joined
svnbot6 r13510 | ajs++ | Added classify per Damian pointing out that I missed it on p6l 15:53
ajs Is "Lazy of Pair" a valid type for a return value? It seems it should be, but I'm not sure 15:58
15:59 mauke_ joined
agentzh oh oh oh...anyone can help me with "D:/cygwin/usr/include/sys/dirent.h:62: error: syntax error before "__ino64_t""? 16:04
16:04 ludan joined
ludan WTF 16:05
gaal agentzh: probably an undefined type / incomplete include? 16:06
agentzh not sure...
16:07 Psyche^ joined
gaal can you pase line 62 and the one above it? 16:07
agentzh sure 16:08
__ino64_t __d_dirhash;/* hash of directory name for use by readdir */
gaal oh, this is inside a struct definition? 16:09
what's the line above this?
pasteling "agentzh" at 210.22.200.67 pasted "sys/dirent.h" (90 lines, 2.1K) at sial.org/pbot/19834
agentzh that is the whole file... ;)
yes, it's inside a struct definition. 16:10
16:10 integral joined
gaal by eyeball at least that dosen't look like line 62! 16:10
16:11 blibbet left
gaal what file has typedef .* _off_t ? 16:11
16:11 davidfetter joined
agentzh looking 16:11
davidfetter hi
anybody seen flavio glock recently?
mauke_ the error seems to indicate that __ino64_t is undefined 16:12
lumi Does cc just have no idea what sort of token it should get next? What's up with 'syntax error'?
agentzh D:\cygwin\usr\include/sys/_types.h:typedef long _off_t;
D:\cygwin\usr\include/mingw/sys/types.h:typedef long _off_t;
mauke_ gcc-4 says error: expected specifier-qualifier-list before '...' 16:13
agentzh oh
i'm not sure if cygwin and mingw are compatible. 16:14
the .c and .h sources are from cygwin while the gcc used to compile them is actually from ghc's mingw... 16:15
that's really evil...
mauke_ well, the syntax is specifier-qualifier-list declarator-list ';' and gcc thinks that __ino64_t is part of the declarator-list
agentzh dislikes these pieces of ugly C code... 16:17
16:19 mauke_ is now known as mauke 16:20 DucK_ joined 16:23 Psyche^ is now known as Patterner
pasteling "agentzh" at 210.22.200.67 pasted "The latest Cygwin build failure" (73 lines, 5.9K) at sial.org/pbot/19835 16:23
agentzh anyone willing to look into this for me?
it seems mingw's header is including a cygwin header...oh, no... 16:25
by putting mingw's include path __before__ cygwin's, i went a bit further: 16:28
16:29 [mago] joined, davidfetter left
pasteling "agentzh" at 210.22.200.67 pasted "Now i'm already at Pugs.Embed.Perl5. (Previous HS modules have been cimpiled.)" (797 lines, 61.8K) at sial.org/pbot/19836 16:29
agentzh D:/cygwin/usr/include/cygwin/in.h:27: error: syntax error before numeric constant 16:30
what does that mean?
the line 27 in in.h is: IPPROTO_IP = 0,/* Dummy protocol for TCP*/ 16:31
this line is in enum { ... }; 16:32
my C knowledge tells me it shouldn't be a syntax error. well...
theorbtwo Can you give us the prior few lines, up to the start of the enum? 16:33
agentzh theorttwo: i'll nopaste the whole file. :)
pasteling "agentzh" at 210.22.200.67 pasted "in.h" (201 lines, 6.5K) at sial.org/pbot/19837 16:34
mauke agentzh: my guess is double inclusion 16:36
or rather, inclusion of another file that #defines IPPROTO_IP 1234 16:37
agentzh yeah. it's very likely. :)
[particle] ack --cc IPPROTO_IP
agentzh what can i do? 16:39
i believe combining cygwin and mingw is a nightmare... 16:41
16:42 justatheory joined
agentzh so maybe i can conclude that perl5 embedding doesn't work on cygwin... 16:46
i've spent many hours on it...sigh...
gaal: do you have any idea on why pugs-fps-0.7 rebuilds everytime Makefile.PL is invoked? 16:49
iirc, win32 build doesn't have this oddity.
16:49 araujo joined
agentzh s/rebuilds everytime/rebuilds on cygwin everytime/ 16:49
after disabling p5 embedding, cygwin pugs is now building smoothly... :) 16:51
to make cygwin p5 embedding a reality, i think we truly need a cygwin ghc instead of a mingw one. 16:52
Limbic_Region: i'll rely on your work... ;)
okay, cygwin pugs without p5 embedding is now built successfully. :) 16:54
16:59 chris2 joined
Limbic_Region agentzh - out of curiosity - are you trying to imbed a Cygwin perl 5 or a AS perl 5 or some other perl 5? 17:02
agentzh i've been trying to embed a cygwin perl5.
17:03 xinming joined
agentzh hi, xinming :) 17:04
Limbic_Region well, audreyt didn't seem to have a whole lot of confidence that I would be able to get a cygwin ghc working
agentzh Limbic_Region: me too. :)
(sorry for that)
Limbic_Region: so just go ahead and prove us wrong. :) 17:05
Limbic_Region agentzh - no offense taken 17:07
I actually am not as motivated to get ghc working on cygwin since I have pretty much abandoned cygwin - MinGW and msys do pretty much everything I need 17:08
agentzh Limbic_Region: *nod*
ajs heh... v6 translates "my A $x .= new(...);" to "my A; $x .= new(...)"
more generally, it translates "my A $x" into "my A; $x" 17:10
mauke you should immediately write a japh that abuses this behavior!
ajs heh
Well, given that "my A" is a syntax error, I'm not sure how.... 17:11
svnbot6 r13511 | agentz++ | - a few progresses toward cygwin pugs
r13511 | agentz++ | (it builds now if p5 embedding is disabled.)
[particle] how about my open FH, '<', 'foo'; my FH $x = 'bar'; 17:14
probably not too useful in a japh though 17:15
gaal agentzh: everything in third-party has often exhibited this behavior 17:18
agentzh gaal: okay 17:19
Limbic_Region: if you could test pugs on cygwin, i'll be delighted. :) 17:21
(you can use win32 ghc and noperl5)
Limbic_Region agentzh - will be happy to tonight 17:23
but it really is a hassle to get things working on my work machine
agentzh yay
Limbic_Region As time permits, I will try 17:24
agentzh k
Limbic_Region cygwin pugs, MinGW GHC, no perl5
agentzh aye 17:25
Limbic_Region cygwin pugs, MinGW GHC, AS Perl
cygwin pugs, MinGW GHC, cygwin perl
agentzh wow
Limbic_Region cygwin pugs, cygwin ghc, cygwin perl
the last one being a very long shot
agentzh hehe, cygwin ghc does not exist. :)
Limbic_Region ^^^^
agentzh yes
17:26 BooK joined
Limbic_Region agentzh - any hope of building ghc on cygwin (without bootstrapping which I refuse to do) means installing a bin distro of the last known working version 17:26
I believe audreyt said that was 6.2
agentzh people building cygwin ghc == heros
once there's a cygwin ghc binary, there will be no need to struggle with win32 ghc under cygwin any more. :) 17:28
Limbic_Region agentzh - small nit, once there is a CURRENT cygwin ghc binary 17:30
agentzh right
anyway, i've got a *working* cygwin pugs, though not an ideal one. 17:32
at least i can use it to test the *nix part of the pugs build system on cygwin. 17:33
it's good enough for tonight...
1:31 AM here...
agentzh waves & 17:34
17:34 agentzh left 17:37 lisppaste3 joined 17:44 frederico joined
nothingmuch 3/w 21 17:49
17:57 Aankhen`` joined 17:58 justatheory_ joined 17:59 ruz joined 18:06 marmic joined 18:18 KingDiamond joined 18:20 premshree_ joined 18:22 putter joined
putter boston area folks: iic.harvard.edu/event1.php Guy Steele on Fortress, at Harvard, Sept 27. 18:24
lambdabot putter: You have 2 new messages. '/msg lambdabot @messages' to read them.
Title: Events
putter audreyt++: thanks :)
@tell spinclad colabti.de/irclogger/irclogger_log/...l=541#l869 18:25
lambdabot Consider it noted.
putter @tell steven colabti.de/irclogger/irclogger_log/...l=541#l869
lambdabot Consider it noted.
Limbic_Region steven or stvn ?
Limbic_Region gets confused 18:26
putter doh. thanks LR. 18:29
@tell stevan colabti.de/irclogger/irclogger_log/...l=541#l869
lambdabot Consider it noted.
putter wonders if lambdabot ever gc's its messages... 18:30
18:30 idiotmax joined
[particle] hands putter a '/msg lambdabot' or two 18:31
18:31 putter is now known as steve1, steve1 is now known as putter
putter ah well. 18:32
18:33 tretboot joined
putter en.wikipedia.org/wiki/Fortress_prog...g_language research.sun.com/projects/plrg/ 18:33
lambdabot tinyurl.com/zl8hn
putter The rendering layer idea is interesting. research.sun.com/projects/plrg/fortress.pdf appendix D,E,F. 18:34
lambdabot tinyurl.com/h36gd
putter Eg, basically there is a regexp over identifiers which controls face. font, italics, etc. based on length, capitalization, underscores, etc. 18:36
18:36 polettix joined
putter I prefer p6's direct use of unicode to the capital word "ALPHA" is rendered as unicode alpha, 18:37
but being able to control face too could be interesting. 18:38
18:38 takesako joined
putter Though neither gets you... ooo.... 18:39
18:41 tretboot left
putter How about a p6 module / domain specific language, TexMath? It processes something like... oh, too long since I've done tex, faking it, "\over{x}{y}" into "$x/$y". Other conventions for integrals, etc, etc. 18:41
integral hmm, executable maths papers? handy :) 18:42
putter So one can write a real 2D denotational semantics equation, and it really works (not an original idea, someone did a version in emacs, but I've never been able to find the link again).
:)
SamB \frac{x}{y} is the one with the fraction bar... 18:43
putter Appendix F goes through unicode chars, and attaches mathematically inspired constraints - eg, this is a x, which can be used with y but not z.
SamB I'm fairly sure
integral SamB: \frac is latex, \over is TeX
putter :) thanks
integral \frac{x}{y} = x / y = x \over y
SamB integral: hmm
people actually use TeX? 18:44
integral sure
SamB (without LaTeX?)
putter lol
SamB people other than Knuth?
integral If you're replacing most of latex's page macros and fiddling with \output, using (plain) TeX can save some time
SamB true enough 18:45
putter (a latex preprocessor would be quite nifty too...;)
SamB why?
or rather, what do you mean by that? 18:46
TreyHarris SamB: 'TeX, without LaTeX' is referred to as 'plain TeX' ;-)
SamB TreyHarris: well. depends. 18:47
TreyHarris latex's essentially a macro language (in somewhat the same sense as perl 6's macros, i.e. not just text-substituters) on top of tex. if you need something not provided by the macros, you have to drop into plain TeX.
SamB plain TeX is actually a format in its own right, isn't it? 18:48
putter tex is a programming language. a dsl. latex is a macro library on top of it.
re why?, so, let's see... 18:49
TreyHarris SamB: well... only if C plus the standard library is actually a language in its own right ;-) 'plan TeX' is TeX plus the standard control characters that every other macro package uses 18:50
s/characters/library/
s/plan TeX/plain TeX/ #geez 18:51
Patterner dsl?
darn stupid language? 18:52
[particle] domain specific language
Patterner oops
putter the game is representing math. level 0 is p5, using words for function names. this approach can work nicely (eg, Sussman's Structure and Interpretation of Classical Mechanics, which uses scheme).
[particle] and, generally, darn stupid ;)
see sql :)
putter mitpress.mit.edu/SICM/book-Z-H-5.ht...hap_Temp_2 preface, example mitpress.mit.edu/SICM/book-Z-H-11.html 18:53
lambdabot mitpress.mit.edu/SICM/book-Z-H-5.ht...hap_Temp_2
putter tries to picture laPostScript. ;) 18:54
level 1 is unicode characters, but linear text. 18:55
s/linear/still linear/
i suppose level next is adding font info, but still being linear.
level next (?) is going 2D 18:56
either ascii art, '$x\n----\n$y' -> $x/$y
stevan hey putter 18:57
lambdabot stevan: You have 1 new message. '/msg lambdabot @messages' to read it.
stevan thank lambdabot
putter or rendering an embedded language (tex example - texemacs did this, but google doesnt find good pointers... project dead?),
hey stevan :)
stevan putter: looks like it could be a very intersting talk
putter or... what am I missing, there was another option...? 18:58
re talk, yes. would also be interesting to explore how he perceives the design space. 18:59
stevan putter: are you planning on going to the Boston.pm Damian talk on that monday>? 19:00
putter SamB: so, re why, perhaps representing the domain (math) in it's normal way. which in some respects is an ambiguous and nighmarish way, and you would be much better off using scheme/p6, but... 19:02
stevan: think so, yes
anyway, fortress looks neat. spec is nearing 1.0. 19:03
19:05 justatheory_ is now known as justatheory
putter stevan: planning on going to either? 19:05
stevan putter: pondering the Boston.pm meeting,... but now the fortress looks interesting too 19:06
19:06 integral_ joined 19:07 integral_ is now known as integral
[particle] say "DEBUG: " ~ $?MUNDANE.code; 19:12
putter stevan: 4pm vs 7 19:13
SamB: still chewing on that "why?"... I guess the core idea is that when a domain has a notation, it can be adventageous (mostly clarity, I think) to be able to present code in that notation, at least as a secondary representation. Math notation tends to be unacceptably ambiguous for coding, so a better dsl than latex might 19:19
be one of the math interchange standard languages.
svnbot6 r13512 | ajs++ | Added question about sqrt Unicode alias
SamB mmm
19:20 integral joined
putter There are unfortunately(?) several such, but no reason each can't get its own module. 19:21
19:25 pdcawley joined 19:26 mako132 joined, jferrero joined
putter A takeaway idea might be that rather than p6 code assuming it never sees anything but a text editor, one might be able to set a framework up so a { use StateMachine; start -> blah blah blah } bit of code can perhaps result in a pretty diagram on the side, because the StateMachine module did something to declare "my dsl can be alternately rendered as ...". 19:27
One could even go further down that path, to read-write alternate representations, and direct manipulation. 19:28
s/direct/direct domain-specific&optimized/ 19:29
the big counter argument to all this is of course "you can't parse p6 without running it". but perhaps the editor can get not just parse info from it's p6 support backend, but also "can you give me a handle to the dsl on line 62, I'd like to chat with it about rendering...". ;) 19:30
19:31 discordja joined
putter job interview practice & 19:32
19:39 Qiang_ joined 19:42 Corion joined, Corion left
TreyHarris @tell putter actually, I asked TimToady and audreyt a couple weeks ago when the emacs & twigils issue came up, and apparently you *should* still be able to parse p6 without running it, perhaps excluding string-returning macros.... 19:55
lambdabot Consider it noted.
19:59 weinig joined 20:03 pdcawley joined
avar TreyHarris: I asked TimToady about function prototypes & parsing the other day and got the impression that you still needed to run it to parse it.. 20:05
PerlJam avar: you only need to run things that munge the grammar, otherwise perl6 is statically analyzable. 20:11
avar: Like the macros that TreyHarris mentions
TreyHarris avar: huh. don't know how to reconcile that with his saying that editors could use perl to parse perl for their syntax highlighting and indention
avar I thought function prototypes were still an issue 20:12
something akin to BEGIN { time % 2 == 0 ? eval "sub meh () {}" : eval "sub meh (@) {}" } meh "foo", "bar", "mehness" 20:13
SamB isn't it dangerous to have code run when you open something in your editor? 20:14
avar you don't need to run anything to provide a syntax tree, hopefully 20:15
[particle] well, you need a parser to run 20:16
TreyHarris avar: i'm having difficulty seeing where that would result in a compile-time, rather than a runtime, issue. meh would be a sub call regardless
sub <-> meth fallback means you'll never catch that at compiletime 20:17
avar Whether something is a comment can depend on a sub prototype in p5, I was wondering about such cases for editors 20:19
20:19 ajs_ joined
SamB avar: hmm? 20:25
avar SamB: www.perlmonks.org/index.pl?node=44722
lambdabot Title: On Parsing Perl
20:29 pdcawley joined 20:39 discordja joined 20:59 Limbic_Region joined
gaal * can't work as a capture sigil? 21:05
21:06 BooK joined
[particle] how about < 21:07
or ? 21:08
gaal I think that would require backtracking to disambiguate from <moose elk>
[particle] this is going to be fun writing the parser for
gaal and ? is already boolean context.
[particle] well, we're changing one thing, why not a zillion others? (i'm joking, of course) 21:09
[particle] wishes he had an apl keyboard for perl 6 programming
gaal hands [particle] U+2336 and then some 21:10
[particle] i've been thinking about writing apl tests in apl. i thought i'd use the check symbol from smartlinks for ok. 21:11
gaal whee
[particle] i need symbols for is, like, and plan 21:12
perhaps i'll go shopping later
[particle] imagines playing 'unicode wheel of fortune' 21:13
gaal sleepy time for me & 21:14
21:16 lanny joined 21:32 mdiep joined, mugwump_ is now known as mugwump 21:57 henry_james joined, henry_james left 22:00 cjeris left 22:04 Qiang joined 22:06 bernhard joined 22:16 xerox joined 22:23 Qiang_ joined 22:30 mako132_ joined
nothingmuch why isn't scalarness of captures just $$foo ? 22:30
audreyt what is this scalarness thing?
nothingmuch what larry raised on the ml 22:31
i'm sure i just misunderstood the problem
=)
TimToady that would be the invocant out of the $foo capture
nothingmuch ah
so what does [,] =$capture yield?
TimToady the = expands the $capture to a "list", and the [,] makes it look like it was part of the original call. 22:32
I'm proposing a sigil to do all of that.
nothingmuch oh, for .call etc?
TimToady yes.
nothingmuch the flatten a capture into another?
ahh... now everything is clicking
TimToady a capture sigil would autoflatten like @, only even further. 22:33
nothingmuch *nod*
why a sigil, and not e.g. a circumfix operator or something like that?
that namespace is pretty hard to avoid collisions in
that said, |foo does look pretty nice
TimToady could use it as a prefix operator
audreyt I like |foo.
TimToady but then you can do that with the other sigils too, kinda
it "draws a line in the sand", er, in the argument list. 22:34
nothingmuch *nod*
22:34 Qiang__ joined
nothingmuch and it looks pretty 22:34
^_^
oh
i discovered the scarlett johansen smiley:
^-^
TimToady the who? 22:35
nothingmuch compare: ^_^ ^-^
audreyt d(-_-)b
nothingmuch fatbackandcollards.com/wp-content/u...-smile.jpg
TreyHarris |($inv: $pos1, $pos2, :name($arg)) etc?
lambdabot tinyurl.com/h9dvh
nothingmuch |\( ) looks kinda crookid though
TreyHarris TimToady: in t/macros/caller.t, I hypothesized that macros don't introduce a new CALLER frame except in the case of closure-returning macros. Sane? audreyt thought so, but I wanted to check with you, as I'm about to check regression on macro forms of Test::eval_*, so if not, I should hold off 22:36
nothingmuch crapx00r spilled tea
good thing the laundry basket is full =)
TimToady TreyHarris: no we still use \(...) to make them. |(...) would deref one. 22:37
like [...] is the opposite of @(...)
22:38 rodi joined
nothingmuch hmm 22:38
TreyHarris *nod* yep, that's what I was thinking, just thinko'd
TimToady I think macros should not introduce a CALLER frame if they can help it.
audreyt "use re 'PGE'" seems like a good-enough switch to reenable parrot behaviour. 22:39
TimToady oh, the place you quoted from S06 (?) that said that .call throws away the CALLER frame isn't quite right.
wrappers have CALLER frames, they're just officially invisible.
otherwise how could you return to them? 22:40
TreyHarris yes, hence audreyt saying that .goto is essentiall a return .call
TimToady audreyt: yes, "use re 'PGE' would be one way to do it.
audreyt and there'll be more then one way to do it... 22:41
nothingmuch macros are compile time calls, aren't they? in that sense they should have a CALLER Frame but only visible by other macros
TreyHarris but that's fine, invisible frames == nonexistant frames for my purposes (making Test::proclaim think I called it directly rather than from the macro)
audreyt nothingmuch: the thing returning by macros.
TimToady assuming that "return call" can throw optimize away the CALLER
audreyt nothingmuch: not themselves
nothingmuch ah 22:42
audreyt TimToady: sure, as it's in tail call position
nothingmuch looked for backlog, but appearantly not far enough 22:43
what about *{ } ?
is that taken by anything right now?
(as in circumfix, not flatten rv of block) 22:44
TimToady that's Whatever.{ }
nothingmuch ah
22:45 plural joined
nothingmuch anymoose, ENOBRANE 22:45
i wasted it all on beurocrats
good night =)
TimToady g'night.
nothingmuch audreyt: is MO still on for fri/sat? 22:46
audreyt nothingmuch: yes
sat most likely it seems
TreyHarris well... if you have macro foo { outerSub1(); return q:code { innerSub(); } }, would outerSub()'s CALLER:: be the macro, and innerSub()'s CALLER:: the macro's caller?
or would both be the macro's caller? 22:47
audreyt outerSub1's caller should be the macro, I think.
TreyHarris yes... for die() to work sanely without funny stuff in both places, it would have to
(for example, die isn't special) 22:48
nothingmuch audreyt: okies, i'll have it ready by then
audreyt nothingmuch++
nothingmuch nothingmuch--; # it's not ready yet
premature karma is the root of all guilt ;-)
TreyHarris audreyt: is there an easy way for me to check for regression between two local smokes? squirreling away the yaml file before the second smoke and comparing them is easy enough, but i can't believe somebody hasn't rolled something before to do this... 22:49
22:50 azr|elious joined
audreyt TreyHarris: smoke diff? see on 22:50
TreyHarris: smoke diff? see nothingmuch
TreyHarris looks at nothingmuch
audreyt havn't used it myself though, but iirc he has that code somewhere.
nothingmuch yes, i do 22:52
would you like me to finish it?
i could do that on tuesday ish
TreyHarris well, i haven't tried it yet, but i'd be astounded if changing Test::eval_* in this way doesn't cause a lot of spurious regression and promotion
nothingmuch: asleep yet?
nothingmuch no, copying files
but supposed to be
TreyHarris nothingmuch: smoke diff would be useful, but don't knock yourself out, i can swag at the yaml easily enough. 22:53
svnbot6 r13513 | audreyt++ | * Pugs.Prim.Match: Allow selection of PGE instead of PCR by
r13513 | audreyt++ | setting an environment variable, PUGS_REGEX_ENGINE, to "pge"
r13513 | audreyt++ | or "PGE".
nothingmuch it's already implemented
the diffing
in Test::TAP::HTMLMatrix
just the smoke server has rough edges
TreyHarris oh, so what's for tuesday?
22:54 Qiang joined
nothingmuch on monday i have a $work deadline 22:54
on tuesday i could spare some cycles
and finish it off
TimToady I think it'd be cool if the differing boxes got a heavy border in the old color, or some such. Don't know if that's feasible in html though.
nothingmuch i'll whip up an example 22:55
sections which are the same are folded
sections which are different are darkened
and expaneded
sections == single .t files
with some Test::TAP::Model based filtering code we should be able to easily remove uninteresting chunks, too 22:56
as discussed with Trey previously
ok, copy complete
TimToady k, anything will be better that two side-by-side browser windows. :)
nothingmuch i'm off to bed
TreyHarris nothingmuch: *grin* sounds eerily like my javascript thingy that you never actually saw to show 'user-oriented failures' instead of developer-oriented ones
nothingmuch TreyHarris: what i'm brain dumping is based on your input =)
i think you're forgetting our conversatio 22:57
n
i just want this stuff less dependant on Test::TAP::HTMLMatrix, and more in the Test::TAP::Model layer
becasue TTH should be just a dumb presentation layer
TreyHarris i remember the convo, but since it didn't work in safari, you never actually saw my prototype :-)
nothingmuch link me again
i've reinstalled FF since
TreyHarris ibiblio.org/harris/smoke.new.html 22:58
lambdabot Title: TAP Matrix - Tue Sep 12 00:37:56 2006 GMT
TreyHarris there's a hard-to-see button right above the matrix
and it doesn't toggle, just flips once. but it was just a quick swag at a prototype
nothingmuch TreyHarris: that's almost precisely what I had in mind
but more reusable (not js based) 22:59
TreyHarris yup. cool cool, nothingmuch++. now go to bed :-)
nothingmuch aye
*poof*
TreyHarris yay, my mac mini is on its way... i look forward to order-of-magnitude quicker smokes within a few days :-) 23:01
avar Someone need a ppc smoker? 23:02
audreyt $job calls... bbl :) 23:03
svnbot6 r13514 | audreyt++ | * Makefile.PL: Remove the obsolete syck/cbits build flags.
r13514 | audreyt++ | * INSTALL/Makefile.PL: Document the ways to use parrot/pge as
r13514 | audreyt++ | the alternate regex engine, and tweak build messages.
TreyHarris avar: have you done one lately? 23:05
avar TreyHarris: No, but if they need to be done I might as well set up a cron job
TreyHarris well, I'll probably continue to do them, as my laptop's what i'm using now. 23:07
but i've been very hesitant to touch much except for tests so long as a full smoke-compile-smoke regression cycle takes me 12 hours :-) 23:08
Limbic_Region audreyt - you b0rk Makefile.PL 23:09
Limbic_Region attempts to fix it
grr - fixed, but apparently I have never checked in something using svn from this machine 23:17
so I have to remember how to do that
TreyHarris Limbic_Region: new file or mod?
if mod, just svn commit $filename
Limbic_Region no, the authentication 23:18
username and pass
I figured it out
checkin on its way
svnbot6 r13515 | Limbic_Region++ | Makefile.PL changed line 468 from print @warn << '.'; to push @warn, << '.';
TreyHarris Limbic_Region: oh... hm. I'm going to need to know the same info when my new computer arrives tomorrow ;-) 23:19
Limbic_Region TreyHarris svn help ci
TreyHarris clue? :-)
Limbic_Region --username
there is also an option for password but it goes interactive if you don't provide one
TreyHarris ah, and then it remembers both from then on? 23:20
Limbic_Region I think so - if not, there is a way to setup a .svn something or other to remember it
I so seldom need to do it - I forget
TreyHarris i'll figure it out :-) 23:21
23:22 Aankhen`` joined
Limbic_Region fwiw - I am not sure I fixed Makefile.PL correctly 23:23
23:33 Qiang_ joined
TimToady well, left shifting @warn by '.' bits can't be right... 23:38
all you'd end up with is printing the length of @warn.
pushing, rather 23:39
hmm, I'm surprised it even parsed. 23:40
oh, it was a print, no wonder I'm confused.
nm
Limbic_Region well I knew print was wrong but I wasn't positive the intention was to push it unconditionally as there was no conditional 23:43
that's the part I am still unsure of
TimToady it's inside an "if ($whichparrot)" conditional 23:44
or rather: 23:45
if ($ENV{PUGS_EMBED} and $ENV{PUGS_EMBED} =~ /\bparrot\b/i) {
Limbic_Region the if ($whichparrot) was further down
this particular one may have already been in a conditional - as you pasted
but it wasn't on my screen so it was action at a distance AFAIWC 23:46
or influence at a distance rather
*shrug* I think it is right
audrey will change it if it isn't
23:52 pen1 joined 23:53 Qiang joined