svn switch --relocate svn.openfoundry.org/pugs svn.pugscode.org/pugs/ | run.pugscode.org | spec.pugscode.org | paste: sial.org/pbot/perl6 | pugs.blogs.com | dev.pugscode.org/
Set by putter on 11 February 2007.
audreyt marco at twd.com.br? 00:01
Macae audreyt: Not. I forgive me I am beginning in IRC. My email: [email@hidden.address] 00:04
audreyt invitation sent. 00:05
Limbic_Region audreyt - are you awake or sleeping? 00:06
audreyt Macae: please read search.cpan.org/dist/Perl6-Pugs/doc...c/Hack.pod for accessing the Pugs subversion repository; add yourself to AUTHORS to test that commit got through; look around TASKS, project_planning/ and dev.pugscode.org for things to do, or just hang around here and chat :) welcome aboard! 00:07
lambdabot Title: Pugs::Doc::Hack - How to hack on Pugs - search.cpan.org
audreyt Limbic_Region: yes I'm awake or sleeping
# I'm awake when I really should be sleeping
Limbic_Region ok, well I won't bug you then
audreyt :) bbl 00:09
00:10 explorer joined
Macae audreyt: Perfect. Very obliged! 00:15
audreyt: I go to dedicate more to the Pugs! :) 00:18
...to the English also... 00:21
diotalevi audreyt: dmq disagreed with both of us that PAR's use of Obfuscate could be reversed. Just thought I tell you that I've no idea what he was smoking. 00:23
er, "bbl". dang.
00:25 Ziggy6 left 00:32 forsaken joined
Limbic_Region @help 00:36
lambdabot help <command>. Ask for help for <command>. Try 'list' for all commands
Limbic_Region @help tell
lambdabot tell <nick> <message>. When <nick> shows activity, tell them <message>.
00:37 cj joined
Macae Limbic_Region: Good night, my friend, has some problem I to supply my email in the list? 00:38
Limbic_Region if you have a question about pugs specifically, asking here is appropriate. If your question is about perl 6 - the list is the correct place. Be sure to read all the synopses first though. 00:39
Macae Limbic_Region: Later that I published my email in the list my domain is very strange? 00:42
Limbic_Region I'm sorry, I don't understand the question. 00:43
Macae Limbic_Region: I informed my email for audreyt. After this my domain: www.pcp.org.br is redirected for another domain! It understood? 00:46
buubot Stored message for 1
Limbic_Region I don't know 00:47
wait for audreyt I guess
00:48 explorer joined
Macae Limbic_Region: You understood my problem? 00:51
buubot Stored message for 1
Macae buubot: You understood my problem? 00:54
Limbic_Region no, I do not understand your problem.
00:55 explorer joined
Macae Limbic_Region: I wrote my email in the list: [email@hidden.address] Later my domain pcp.org.br redirecting for another strange domain! 01:00
buubot Stored message for 1
specbot6 r13708 | larry++ | Better writing requested by John Macdonald++
buubot Stored message for 1
Macae Limbic_Region: You understood my problem? 01:01
specbot6 r13709 | larry++ | gah
01:04 explorer joined
Macae audreyt: You understood my problem? 01:07
01:09 rashakil_ joined
Macae specbot6: You understood my problem? 01:09
tene Macae: audreyt is gone and specbot is a bot, not a real person
Macae tene: You understood my problem? 01:10
tene Macae: do you stil lget email sent to pcp.org.br ? 01:11
or do you need your subsccriibed address changed?
Macae Yes!
tene Wow, I can't type today.
Macae: which one?
Do you still get email there, or do you need it changed? 01:12
01:12 klutzBunny joined
klutzBunny But I just learnt Perl 5 :< 01:12
tene Perl 5 isn't going anywhere 01:13
klutzBunny I know :P
tene Heh.
Perl 6 is nice too! You can learn both! 01:14
klutzBunny I'm actually really interested in how the new OO features will help Perl work with Cocoa <_<;
tene That sounds like a very interesting subject! I haven't heard anything planned for it, though.
Sounds like some work could be done on the subject! That's something you could do! 01:15
klutzBunny Win ^____^
tene Then Perl 6 would have good interaction with Cocoa, and you'd have a good language to work with Cocoa with!
Everybody wins!
:D
klutzBunny ^o^~! Massive win.
I'm still learning C though >_<; (Not as fun as Perl) 01:16
tene Well, you do the parts that you can do and if it's good, someone else will help with the rest.
klutzBunny :3 01:17
Macae tene: It was thus: audrey asks for my email to me, I wrote after this my domain this redirecting for strange domain!
tene All I know about Cocoa is that it's related to MacOS somehow, so I can't help at all.
I do know that some Perl 6 developers use MacOS, though!
klutzBunny Awesome ^___^ I'm getting involved already! 01:18
klutzBunny adds room to favorites list :3
Macae tene: You understood my problem?
tene If you stick around a little longer, you'll get a commit bit for the pugs subversion repository.
klutzBunny Cocoa is the OpenStep based API for Mac OS X :3 01:19
Win ^o^~!
tene Macae: you need a commit bit sent to a different email address?
putter TimToady: re S05 "Using the @<alias>:= notation instead of a $<alias>:= mandates that the corresponding hash entry or array element always receives an array of Match objects, even if the construct being aliased would normally return a single Match object. "
tene I don't think that I have permissions to send out commit bits, but I've never looked. 01:21
klutzBunny I'm young(ish 18) but I went Atari TOS (too old) -> Windows (too crap) -> Linux (too fiddley for me) -> Mac OS X :3
And by fiddley I mean, that there were too many shiny things for me to fiddle with so I never got anything done :P
putter The section goes on to describe such @<alias> entries containing lists of strings, and lists formed by concatenating the .array's of assorted match objects.
tene Heh.
putter The two seem contradictory. 01:22
Macae tene: I did not understand its question?
TimToady putter: that's the section written by TheDamian. I'll have to think about it some. 01:23
tene Macae: I understand the problem. What do you want me to do? 01:24
TimToady putter: I think you're missing that the latter are bindings to something quantified and hence always would be an array anyway. 01:28
the first binding is to an unquantified thing
putter actually, half that question is broken. the strings are matches, so np there.
re quantified/unquantified, agreed. but that's not what the paragraph says :)
TimToady I don't see the problem 01:30
putter If it were "With non-quantified constructs, [u]sing...", then np.
TimToady there are constructs that for $ to really be an array 01:31
but @ just says, "push whatever you find even if if it's just one thing"
s/that for/that force/
putter goes to construct case, to determine if he is confused...
TimToady 'tis quite possible I'm being dense, of course. happens to me every now and again... 01:32
bbl & 01:34
putter @<x>:=((a)(b)){1}; thus $/<x> == [[Match(a),Match(b)]]. $/<x> has received an array of arrays. therefore "always receives an array of Match objects" is false. no? 01:35
lambdabot Unknown command, try @list
putter wave
01:36 weinig joined
putter My underlying question is whether these are real arrays, or whether the spec is implying that when it says a list of something, it's really a match whose array value is the list of something. 01:37
Macae tene: Ok. Was virus in my winxp that my domain redirecting? The problem is with the domain or winxp? 01:40
tene Macae: what is your native language?
Macae tene: Brazilian Portuguese! My use translator: babelfish.altavista.com/tr. (Portuguese <=> English). 01:45
lambdabot Title: AltaVista - Babel Fish Translation
Macae tene: Understood? Here only speaks Perl6; my has to quit? 01:55
putter It might also be worth noting the "however" in "The only difference is that, if the aliased construct is a subrule or subpattern, that quantified subrule or". Eg, 01:57
"The only difference is that, if the aliased construct is a subrule or subpattern (but not non-capturing group), that quantified subrule or"
tene Macae: I'm sorry, but I can't understand you. :(
Macae Ok ;) 01:59
klutzBunny reads the wikipedia article on "cognitive load" @_@; 02:01
this still does not explain why @ == $ :\ 02:03
tene klutzBunny: the issue is that in Perl 5, the user has to remember both the type of the variable and the context it's in. 02:04
i.e. @array, $array[1] are the same variable 02:05
klutzBunny Ah... I liked that, I guess that makes sense though.
tene Where in Perl 6, the sigil represents the variable type.
@array, @array[1]
lambdabot Unknown command, try @list
tene @botsnack
lambdabot :)
klutzBunny Hehehee`! 02:06
Win @ bot :3
@botsnack
lambdabot :)
klutzBunny giggles
Thanks tene n.n
tene I was used to it, but there are definitely people out there that have trouble with it.
It's a common problem for people new to Perl 5. 02:07
So it's changed in Perl 6 to be one less thing you need to learn.
klutzBunny nodnods 02:08
tene ?eval @a = 1..10; @a[2]
klutzBunny Brilliant! Thats what I call taking care of your developers :3
evalbot_r15376 \3
klutzBunny @list
lambdabot www.cse.unsw.edu.au/~dons/lambdabot/COMMANDS
putter @tell TimToady I was simply confused. $/<x> is [Mat(a),Mat(b)], not [[Mat(a),Mat(b)]]. Which is what the text actually says. I read for @($<pairs>) -> $key, $val { as structural decomposition, rather than a 2-stride, and managed to remain wedged.
lambdabot Consider it noted.
klutzBunny @todo 02:10
lambdabot 0. SamB: A way to get multiple results from a google search
1. dons: improve formatting of @dict
2. dons: write Haskell Manifesto
3. lispy: don't let lambdabot's prettyprinter split the sequence @foo across lines
4. TheHunter: priviledged users should get priviledged listcommands.
[23 @more lines]
putter The "worth noting \"however\"" observation is still intact though.
SamB @todo is probably the least-usefull thing I've done for lambdabot... maybe that is related to the fact that I was surprised to learn that it was me who had written it... 02:11
klutzBunny Hehehee~! I like it :3 Helps provide forum like collaboration to a live chat room 02:12
But then I like silly things <_<;; 02:13
@slap klutzBunny 02:14
lambdabot beats up klutzBunny
SamB those items have been at the top of the list for *years*, it seems like
klutzBunny @vixen
lambdabot <undefined>
klutzBunny headtilts
Macae tene: I go with God! It forgives me the main topic is Perl6?
SamB something about switching regex engines caused vixen to not work 02:15
klutzBunny What was it?
SamB well, it was lambdabot's "personality" functionality ;-)
klutzBunny giggles 02:16
SamB like,
"@vixen asl"
would do something
or @vixen do you like functional programming
klutzBunny nodnods XD 02:17
SamB some kinda list of regexes and responces
klutzBunny @yhjulwwiefzojcbxybbruweejw
lambdabot "\""
klutzBunny o_o;
@girl19
lambdabot I have been into not actually hacking, but social engineering
SamB whenever we complain about it not working, dons tells us to fix it
klutzBunny XD! 02:18
SamB I think we don't because we are afraid we'd have to rewrite the regexes
klutzBunny :O I would but I gotta do this whole "getting into university" thing first :<
@yarr
lambdabot I want me grog!
klutzBunny @map
lambdabot www.haskell.org/hawiki/HaskellUserLocations
02:18 stevan_ joined
klutzBunny Meep! It's 02:25 allready x_x; 02:19
02:19 dmq joined
klutzBunny Night everyone~! Great meeting you :3 02:19
klutzBunny waves and hops off
02:40 bonesss joined 02:43 araujo joined 02:44 forsaken joined
pasteling "putter" at 66.30.117.127 pasted "draft summary of alias contents" (24 lines, 935B) at sial.org/pbot/23206 02:45
putter It might be worth cleaning up that table and stashing it somewhere. I found the S05 section a bit opaque. 02:47
Assuming it's correct of course. Comments welcome. ;)
03:04 forsaken joined
pasteling "putter" at 66.30.117.127 pasted "shuffling in search of clarity" (20 lines, 381B) at sial.org/pbot/23207 03:07
putter & 03:19
03:23 seano joined 03:30 UWC joined
pasteling "putter" at 66.30.117.127 pasted "a last version" (10 lines, 166B) at sial.org/pbot/23208 03:39
03:52 nekokak joined 04:03 mako132_ joined 04:27 weinig is now known as weinig|away 04:39 drupek12212157 joined 04:41 penk joined 04:43 amnesiac joined 04:53 justatheory joined 04:57 idiotmax joined 04:58 seano joined 05:07 |mjk| joined 05:36 ksyde joined 06:13 BooK_ joined
obra Who manages the ircbot that polls perl6 svn for latest commit? 06:14
06:23 chaoslawful joined
obra audreyt: svnbot6 needs to stop looking for the latest commit from svn.perl.org 06:24
06:35 justatheory joined
audreyt obra: it's specbot6 06:38
obra ah
06:51 cognominal joined
gaal audreyt: cool, looking! 06:54
06:57 ksyde left
gaal <3 (./) }:) 06:59
07:03 devogon joined 07:16 b00t joined 07:31 iblechbot joined 07:32 rfordinal_athome joined 07:35 the_dormant joined 07:37 UWC joined 07:45 marmic joined 08:01 aukjan joined
bsb gaal: is that the double-scoop tunnel-golfing happy moose operator? 08:01
offby1 bsb: :-) 08:26
08:26 jisom joined
offby1 I think the moose is happy because he's wearing an ice-cream cone 08:26
tene I'd be happy if I were wearing an ice cream cone. 08:27
offby1 I suppose I would be too.
gaal It was short for "I love the ./ operator! Moose!" 08:44
Pugs.Class:87 08:45
09:00 andara joined 09:14 dduncan left 09:36 elmex joined 09:45 drrho joined 09:56 rfordinal_athome joined, forsaken joined, allbery_b joined, integral joined, [particle] joined 09:57 aben joined 10:06 forsaken joined, allbery_b joined, integral joined, [particle] joined 10:07 forsaken joined 10:15 aben is now known as rfordinal_athome 10:18 dec_ joined 10:20 drupek12212157 joined 10:31 buetow joined 10:46 pbuetow joined 10:48 ruoso joined 11:07 IllvilJa joined 11:35 Arathorn joined 11:58 fglock joined, chris2 joined
fglock I found out that kp6-C could skip frequent method lookups, if some method locations in the vtable can be looked up at compile-time 12:10
maybe I should take a look at C++ internals 12:11
12:14 specbot6 joined
fglock 'closures' in kp6 are actually starting to look like en.wikipedia.org/wiki/Function_object 12:20
and lexicals are actually accessors 12:22
hmm
meeting & 12:23
12:27 ruoso joined
allbery_b yeow! MO.Compile.Class is eating my macmini alive! 12:37
12:45 Ziggy6 joined
Ziggy6 fglock: re "skip frequent method lookups", are you saying that you can bypass the vtable mechanism even for virtual functions? 12:48
12:51 rgs is now known as args 12:52 diakopter joined 13:00 Limbic_Region joined
allbery_b ghc is 2.64G and still growing... 13:00
13:05 the_dormant joined
tene That's a few G 13:05
13:09 stevan_ joined
allbery_b 3.13G 13:10
tene That's even more G
Arathorn hopes your mac mini is 64bit, otherwise you're going to run out of virtual address space, no?
13:11 dakkar joined
allbery_b 32bit, afaik 13:11
interrupted it. it stopped growing but seems to be rather slow about cleaning up (can't imagine why...) 13:17
thrashthrashthrash...
@tell audreyt MO.Compile.Class got ghc 6.6 to comsume over 3G VM before I gave up on it 13:19
lambdabot Consider it noted.
13:20 iblechbot joined 13:26 fglock joined
allbery_b distcleans on the off chance it's some leftover file confusing ghc 13:26
fglock Ziggy6: I mean, you can have a pointer to the exact location in the vtable, skipping the class+method lookup 13:28
Ziggy6 fglock: that's how it is implemented, but i'm not sure what you mean by class lookup 13:29
that pointer can always be computed at compile-time in C++ 13:30
gaal for virtual methods? it can't... 13:31
Ziggy6 that pointer isn't a function pointer, it's an index in the vtable
you still have check the vtable to call the virtual function 13:32
gaal ah, sure 13:33
Ziggy6 i understand fglock found an optimisation for special cases where it can be skipped?
gaal allbery_b: is it vanilla 6.6? a clean build with debian's 6.6-3 didn't blow up here 13:36
13:40 forsaken joined
fglock Ziggy6: the optimization is to skip class-name lookup and method-name lookup; it's still plain oo 13:42
and yes, I found out that C++ does this :)
and I think C++ functors might be powerful enough to work like p6 closures 13:45
dakkar as long as you explicitly specifiy what they should close around,
and manage the lifetime of those variables... 13:46
fglock does C++ have GC? 13:47
dakkar no
well, 13:48
not by default
you can use a library, and pass all pointers through it
Ziggy6 you can override the allocation functions so they do GC
dakkar or use boost::shared_pointer, which is refcounted
Ziggy6 and have leaks due to circular refs :D
fglock or link to parrot's gc :) 13:49
Ziggy6 or better yet use parrot for everything
wolverian or jvm!
Ziggy6 which is why the idea of kp6-C seems to me more like an academic exercise 13:50
fglock yes, I'm considering using parrot and just writing the missing pmcs
jvm would be nice, but it would need some emulation (like p5 does) 13:51
pmcs == parrot "p6 emulation", after all
13:52 hamika joined
smash there's a "bug" in page run.pugscode.org, the link to "Perl 6" has an extra \s 13:53
lambdabot Title: Run Perl 6 Now -- in your browser!
13:59 hamika left 14:13 Jedai joined
allbery_b gaal: yes, vanilla 6.6 14:18
I'm retrying it from "make distclean" to see if an e.g. some outdated .hi file is the culprit 14:20
(ideally I'd always build from distclean,but pugs compile is pretty rough on my mini at the best of times) 14:21
14:22 Ziggy6 left 14:41 rindolf joined 14:52 buetow joined
specbot6 r9308 | larry++ | Updated updates. 14:59
15:00 buetow joined 15:01 vel joined
TimToady um, that wasn't me... 15:01
lambdabot TimToady: You have 1 new message. '/msg lambdabot @messages' to read it.
specbot6 r9309 | larry++ | Updated updates.
r9310 | larry++ | Clarifications of inner type from sam++.
r9310 | larry++ | Deployment of julian++ at 200605252055, 8`lb + 7`oz, 20`in.
r9310 | larry++ | Ref: www.wall.org/cgi-bin/photo/index.cg...pix/Julian
r9378 | larry++ | Added out-of-dateness messages, plus initial updates for E02.
r9379 | larry++ | Moved initial notes higher.
r9380 | larry++ | Updates to E03.
lambdabot Title: My Photo Gallery, tinyurl.com/ypd73n
specbot6 r9383 | larry++ | More updates.
r9390 | larry++ | More updates.
TimToady um, who is being me? 15:02
@moosages 15:03
lambdabot putter said 12h 54m 22s ago: I was simply confused. $/<x> is [Mat(a),Mat(b)], not [[Mat(a),Mat(b)]]. Which is what the text actually says. I read for @($<pairs>) -> $key, $val { as structural
decomposition, rather than a 2-stride, and managed to remain wedged.
rindolf How come one revision is e9310 and the one immediately after it is r9378?
specbot6 r9435 | audreyt++ | * S04 - Change this example:
r9435 | audreyt++ | if -e { say "exists" } { extra() }
r9435 | audreyt++ | to this:
r9435 | audreyt++ | if rand { say "exists" } { extra() }
r9435 | audreyt++ | Because bare "-e" may be removed along with all $_-defaulting forms
r9435 | audreyt++ | (to be replaced by .-e), but bare "rand" defaults to 1, and as such
r9435 | audreyt++ | should probably be still there.
15:03 forsaken joined
specbot6 r9442 | audreyt++ | * At scw++'s request, add an explicit definition to the default <ws>: 15:03
r9442 | audreyt++ | "\s+ if it's between two \w characters, \s* otherwise"
r9462 | larry++ | Clarified scoping of "has $x" and friends.
r9463 | larry++ | Change default lvalue parsing to default to list, with short list of scalars.
r9465 | larry++ | Revisions to definitions of simple scalar.
r9466 | larry++ | typo from scook0++
TimToady specbot seems to be going nuts and rehashing old stuff 15:04
maybe the backlog will explain...
specbot6 r9496 | larry++ | typo from szbalint++
r9497 | larry++ | Clarifications on SIMPLEness.
r9497 | larry++ | Examples of dot calls defaulting to prefix ops.
r9497 | larry++ | Typo from masoch++.
r9527 | audreyt++ | * S06: Fixed a minor typo noticed by szbalint++. 15:07
r9528 | larry++ | putter++ notes that prec table is missing .<>
r9529 | larry++ | Semantics of bare block clarified.
r9535 | audreyt++ | * S03: the SIMPLE forms can use a more robust recursive definition.
r9535 | audreyt++ | also, include $$a and $::('$a') as obviously simple as well.
r9536 | audreyt++ | * S03: allow post-assignment forms to be SIMPLE:
r9536 | audreyt++ | $x[$y + $z] # simple scalar
r9536 | audreyt++ | $x[$y += $z] # simple scalar, too
r9537 | audreyt++ | * S03: the ()= form is no more; reflect it in the operator table.
r9538 | audreyt++ | * S02: Subscripts are now always in list context, period.
r9575 | audreyt++ | * S03: typo, nit, etc, reported by masak++. 15:08
r9589 | audreyt++ | * S02: more elimination of lvalue-parenthesis form, spotted by spinclad++
r9625 | audreyt++ | * S03: Even more typo/nit cleanup; also clarify that while
r9625 | audreyt++ | prefix:<%> is not "simple" scalar lvalue, infix:<%> is.
15:08 buetow joined
gaal whoa backlog? 15:10
specbot6 r9660 | larry++ | Definition of warning control exceptions.
r9662 | larry++ | Semantics of the hyperop "promise" with respect to optimization possibilities.
r9667 | audreyt++ | * S02: &?SUB is no more - it's now &?ROUTINE since it also
r9667 | audreyt++ | works in method. Also $?SUBNAME is now &?ROUTINE.name.
r9667 | audreyt++ | (It's already that way in S06, this just syncs with S06.)
r9676 | larry++ | Clarified when circumfix parens are simple, and when not.
r9677 | larry++ | Typo.
r9680 | larry++ | Further decoupling of assignment parsing policy from behavior.
r9681 | larry++ | Fixing bad writing, mostly.
r9683 | larry++ | Cut-n-paste error noted by TheDamian++.
diakopter laughs at specbot
TimToady looks like specbot is reminiscing
or perhaps its life is flashing before its eyes as it dies... 15:11
gaal r1 | larry++ | Hey, let's do this new Perl thing. Send me yer ideas, mateys
diakopter specbot6: go back to the future 15:12
Arathorn could be that some of specbot6's tcp packets were caught in a particularly chunky routing loop, and so happened to reemerge just as their seqnums wrapped 'round... 15:13
a bit like scotty preserving himself in a transporter buffer imaging chamber thingio for decades :/
diakopter TimToady: re: "um, who is being me?" Do you ever really have an answer for that question? 15:15
15:15 xerox joined, [particle] joined
TimToady diakopter: sure, problem was always that I had too many answers... 15:15
gaal I can recommend an excellent sonnet on that subject... 15:16
diakopter heh. larry's and audreyt's karma measures got some nice bumps
TimToady shh, you weren't supposed to notice that.
diakopter resolves to make his svn commit messages contain many many line breaks. 15:17
gaal # www.unizar.es/departamentos/filolog...selves.htm 15:18
lambdabot Title: e, tinyurl.com/24nt86
diakopter TimToady: quick, make some spec changes and no one will notice.
TimToady are you implying that spec changes made in haste result in negative karma? :) 15:20
diakopter hmm. perhaps the specbot could start decrementing karma if a spec commit diff is more than a certain number of lines. or breaks smartlinks or something. 15:21
TimToady gaal: lol, e.e.cummings were a good poets 15:23
we are amused 15:24
diakopter ?eval e.e.cummings 15:25
evalbot_r15376 Error: No compatible subroutine found: "&e"
TimToady @tell putter I like your little chart, and it reminded me that @x:=[...] only captures text, which I'm sure p6std violates in lots of places. I also think I like your infix:name idea, at least for generic matchers with no fixed sym.
lambdabot Consider it noted.
gaal error: e.e.cummings cannot be typed 15:26
TimToady @tell putter however I will probably change the part about "flattening" into the more modern lazy flattening that can be undone by @@ context. 15:28
lambdabot Consider it noted.
15:32 rfordinal_athome joined
TimToady heh, I just realized we're using "is context" for two completely different things 15:42
we used to have "is context(Scalar)" on parameters, which we've all forgotten to remember. 15:44
which means that particular usage should probably die 15:45
diakopter 'is context' is defined in context? 15:46
15:46 rhizo joined
TimToady no, it collides--I've been putting "is context" on parameters to turn them into environmental vars 15:47
and the fact that the "is context(Scalar)" section has a big disclaimer at the bottom that it doesn't work half the time... 15:48
is another strike against it
should probably just be relegated to special macro processing anyway. 15:49
since it's something that has to be known at compile time.
15:49 thepler joined
TimToady so I'm just going to delete it. 15:49
[particle] so we can all remember to forget it now 15:50
diakopter is having all kinds of trouble with bitcard/perl.org/rt 15:52
16:07 aukjan is now known as aukjan|gone 16:17 bonesss joined
allbery_b @tell audreyt never mind, "make distclean" fixed it. that's a really *fun* failure mode, though... 16:27
lambdabot Consider it noted.
gaal allbery_b: it sounds more a ghc bug than a pugs one. what does your config.yml have as ghc_heap_size? 16:31
(note you need to remake Makefile if you tweak that value) 16:32
allbery_b yeh, actually I just mentioned it over in #haskell, I'm thinking an obsolete .hi file caused it given that distclean fixed it
ghc_heap_size is commented out, per default 16:33
gaal regardless of this problem, that setting may be worth tweaking: admittedly this was a long time ago, but last I checked it made better builds with both low and high-ram machines 16:35
16:41 putter joined, wilx` joined
avar hrm 16:43
I'm trying to split the pugs smoke submitter into Module::Install::Smoke, I was wondering what would be the best way to make it self-contained
perl inc/Module/Install/Smoke.pm # runs what run-smoke.pl does... 16:44
:)
and just have:
smoke ::
$(PERL) inc/Module/Install/Smoke.pm
gaal follow the smoke trail... 16:50
pasteling "putter" at 66.30.117.127 pasted "some alias intro text" (43 lines, 2.1K) at sial.org/pbot/23211
gaal putter: looks very clear and useful to me, and I'd not been following Rules closely 16:53
"what you get" needs a period after it
putter yeah. it's... just putter thinking it through by writing explanation, with the possibility of it being S05 edit fodder, or being of interest to someone. It's not really an intro. Concepts are missing, and yes, the text is messy. Just a thought piece I toss on the wall. s/toss/paste/. 16:58
lambdabot putter: You have 2 new messages. '/msg lambdabot @messages' to read them.
kolibrie putter: I'm not sure why an array alias of a subrule/subpattern would not give you an array of matches 16:59
gaal I liked it 17:01
kolibrie seems like if you want a flattened array of match values, you would have to specify that explicitly
putter kolibrie: it does, but perhaps not the matches you expect. 17:02
you do specify it explicitly, by choosing and array rather than scalar alias ;)
(for a quantified construct that is) 17:03
17:03 REPLeffect joined, specbot6 joined
kolibrie and if you specify a scalar alias, what do you get? 17:03
putter one thing i didn't include in the intro is the "if you want effect X, do Y", which motivates some of this. 17:04
17:04 penk joined
kolibrie have been avoiding quantifying anything because it is all a little weird right now, so flushing this out is probably a good thing 17:05
TimToady putter: note in my message I'm thinking about changing it to lazy flattening undoable by @@
putter noted. 17:06
kolibrie: perhaps pastebot is snoozing: sial.org/pbot/23212 17:07
kolibrie looks 17:08
svnbot6 r15377 | audreyt++ | * runpugs: Removed extra <sp> in href to "Perl 6" noticed by smash++ 17:09
putter kolibrie: that's the terse version. perhaps less obscure is sial.org/pbot/23206 17:11
lambdabot Title: Paste #23206 from "putter" at 66.30.117.127
17:12 shillo joined
kolibrie much better (got a litte confused by the "" in the terse) 17:13
looks sane, I think 17:14
17:17 chris2 joined 17:19 shillo joined
putter agreed. the S05 section was giving me a headache for some reason. but the ideas seem sane. 17:20
Though I have the strangest feeling I've been here before. Writing up summaries of the alias section of S05. Could be, I was playing here last year. But odd. 17:23
<cue twilight zone background music> 17:24
kolibrie it's nice this area of the synopsis is getting attention now, it's my favorite part 17:25
putter lol :)
17:25 DHGE joined
putter it is nifty, isn't it 17:27
sometimes you get to close and forget that
*too
p6 is very, very neat. 17:29
let us be productive elves and usher in xmas
:)
shillo Funny. And I just took time to read most of S05 today :) 17:30
Well, top 2/3. Or more than half.
REPLeffect putter: rather than have the White Witch keep it always winter and never Christmas? :) 17:32
putter shillo: might want to note what you found unclear. hey! we have a wiki now. "MarginNotesOnS05"?
shillo Only the bit about "symbols", took me 2-3 reads to figure that they just concatenate matches and stash them into .symbol property 17:33
putter REPLeffect: and the poor cobbler's children with frostbitten bare feet
shillo That section could use an example
REPLeffect hehe 17:34
shillo from future import Perl6 ;)
<--- currently afflicted with the snake @work. :p
17:36 wilx joined
putter I just get an error. :( Briefly had visions of xmas in April. 17:36
shillo Hm, just updated pugs. Where's to look at for current development? kp6? 17:37
putter tries to choose between rakudo.org/perl6/index.cgi and dev.pugscode.org/ wikis. The latter is "for developers". The former linked from pugscode.org as the "Perl6 wiki". Hmm... 17:39
lambdabot Title: Perl 6 / Perl 6
kolibrie shillo: fglock is working on kp6 and Pugs-Compiler-Rule, lwall on src/perl6/Perl-6.0.0-STD.pm
the plan is for everything to converge, with Perl-6.0.0-STD.pm being the center of the whirlpool 17:40
shillo Yeah, read through Perl-6.0.0-STD. Veeeeeeery nice.
I also visit colabti.de for logs. 17:41
... so I get tidbits here and there. :)
kolibrie I'm not sure what putter is working on... just documentation clarifications? or do you have some mini-project going? 17:42
putter there seem something vaguely like four main thrusts at the momemt. objects on pugs, haskell, audreyt presiding. kp6 with fglock. Perl-6.0.0-STD.pm syntax standard being pushed by TimToady. And yet_another_regex_engine with me.
kolibrie haven't looked at yet_another_regex_engine yet 17:43
shillo Hmm, me neither
putter I don't know how to help audreyt. kp6, there is a TODO. Perl-6.0.0-STD... comments? yet_another... hmm... write regex test cases? for aliases :) 17:44
there is also... 17:45
shillo Oh, another unclear thing in S05, about longest-token rule and | operator...
putter dev.pugscode.org/query
lambdabot Title: Custom Query - Pugs - Trac
kolibrie is mostly trying to keep relevant bits in his head and teaching co-workers how to write Perl 6 grammars (that will continue to work?)
shillo Does it mean that all |'ed subrule prefixes get tried, with longest match going on. 17:46
Er, ?
putter is unclear on longest token match. 17:47
shillo Hmm, so I'm not the only one. :)
putter longest match I get. longest token match... I've been putting it off until I have to implement it. 17:48
kolibrie it has to do with predictive parsing, but mostly I've just been avoiding looking at it too closely
17:51 forsaken joined
TimToady you can ignore the symbol stuff in S05, it's already obsolete 17:53
shillo Oh! :)
shillo has to head foodwards. Laters, all! 17:54
And thanks for the info!
TimToady in fact, I just now deleted it
17:55 bernhard joined
kolibrie TimToady++ # deleting obsolete documentation 17:55
specbot6 r14307 | larry++ | Deleted obsolete symbol construct
putter one bitsize project would be to eyeball t/regex/* and determine how much needs to be done to preprocess it into p5. "x"~~/y/ => foo('x','y'), what else? I'd like to run the yet_another against the pugs testsuite soon. after implementing aliases. 17:56
shillo: wave
17:57 justatheory joined 17:59 xinming_ joined 18:08 fglock joined 18:14 rdice joined 18:15 nekokak_ joined
[particle] does 'max' on a range object return the initial 'to' value, or the maximum number it can output based on 'by'? 18:22
fglock I'd say it depends on by 18:24
[particle] does that mean it forces evaluation?
fglock not exactly
I've got a reference implementation in p5 18:25
[particle] ?eval my $x= 1..10; say $x.max
evalbot_r15377 OUTPUT[1 2 3 4 5 6 7 8 9 10ā¤] Bool::True
[particle] hrmm
fglock the idea is that you can evaluate both forward (shift) or backwards (pop)
[particle] how is my syntax wrong?
ah, i see
no, i don't 18:26
putter lol
fglock ?eval (1..10).max
[particle] for a range of 1..10.5:by(3)
evalbot_r15377 10
putter ?eval (1...10):by(3) 18:27
evalbot_r15377 Error: ā¤Unexpected "10"ā¤expecting operator or ")"
[particle] ?eval (1..10.5:by(3)).max
evalbot_r15377 Error: ā¤Unexpected ":by"ā¤expecting fraction, exponent, term postfix, operator or ")"
putter ?eval (1..10):by(3)
evalbot_r15377 Error: ā¤Unexpected ":by"ā¤expecting term postfix or operator
putter switches to local pugs. doesn't think fraction flies.
fglock [particle]: svn.pugscode.org/pugs/perl5/Pugs-Ru...ue/List.pm 18:28
lambdabot tinyurl.com/yvhwcb 18:29
putter grepping tests suggests its all todo feature
offby1 lambdabot: you are my savior! Tell whoever taught you to generate tinyurls that they are wonderful, kind, and an officer and a gentleman
[particle] ?eval (1.2..10.5).max
evalbot_r15377 51/5 18:30
[particle] gah
so, max is broken in pugs
?eval (1.2..10.5).minmax
evalbot_r15377 Error: No compatible subroutine found: "&minmax"
fglock from_num_range() implements this, but max() has a XXX on it :(
putter didn't realize one could do ranges over Real. hmm.
[particle] sure, 1.2..10.5:by(4.6) 18:31
putter fglock: did you deal with $/ rebinding in the middle of a regex? any thoughts? /(a)$/:=(b)(c)/ sigh. slog slog. 18:32
diakopter ?eval say 'line 1','line 2' 18:33
putter autovivifying matches... /$0[1][1][1]:=(a)/
evalbot_r15377 OUTPUT[line 1line 2ā¤] Bool::True
putter shudder
fglock putter: no, $/ would be straightforward, I guess - but autovivifying is a bit more difficult 18:34
I'm uncertain if it vivifies to array of match( array of match( ... 18:35
putter oh, there's that too. :/
fglock or simply match( array of array ... 18:36
putter if it was an external alias, the right answer would be a of a. but internal... i see no path through a world of pain. 18:37
fglock [particle]: the implementation of laziness in p5 is quite complete - it covers lists, arrays, map(), grep(), slices
putter woot! err, performance? tie()s? 18:38
putter crosses fingers and hopes someone else (fglock) thought of a way to do it without sloooow ties.... i didn't :( 18:39
fglock putter: you mean, laziness in p5? it's simple OO (the syntax is left to the compiler)
putter ah, ok
cpan module?
actually, never mind. mission creep. 18:40
fglock hmm - it doesn't make much sense without the compiler, it's too verbose
putter no p6 backends for putter. regex engine, language infrastructure, better regex ast and grammar. others get to have the fun. ;) 18:41
[particle] fglock: is 'cstart' :: max?
err, 'cend' that is
fglock putter: I've yet to find something to focus on
[particle]: yes, cend() - these are just internal names 18:42
I don't remember what it meant - maybe 'closure to compute the end' 18:43
putter hmm. if the next pugs release was here, would the focus puzzle look any different? 18:44
a different approaches - what are you uniquely/particularly suited to contribute on? what might be -O fun? anything with a bit of both? 18:45
fglock well, this would shift the focus to the next pugs release after that :) 18:46
putter lol
fglock do you think your regex compiler could replace PCR current engine? in this case I should probably help you with that 18:47
I'm mostly writing throw-away code lately, I'd probably like to discuss some results and see where to go next 18:48
putter i was hoping that would be the case. though i've noticed assumptions about match object structure tends to leak into the surrounding code. i suspect matches need a more fleshed out api, at least in p5 object land. 18:49
fglock also, since kp6 initial goals are covered, it could be finished
and 6-on-6 could finally start 18:50
putter much to be said for finishing and wrapping up, rather than leaving things "all but thesis". ;)
18:51 GabrielVieira joined
putter (not sure how universal concept is - "all but thesis" == finishing all work for a degree, but for finishing/turning in thesis, so no degree") 18:51
re discuss, fun! :) 18:52
PerlJam universal as long as your universe is mostly composed of academics.
putter ah
fglock what do you mean re match leak? 18:53
putter I was thinking about p6 development as a bubble universe filled with hirsute yaks... never mind.
re leak, my code assumes Matches from subrules know the name of the subrule they came from. non spec. hmm... 18:55
fglock otoh, kp6 as a compiler tool doesn't need much wrapping - in the end, it's just an mp6 library 18:56
putter i spec'ed my Match objects as open api, $$m->{match_array} is legal accessor. if PCR plays similar games, would need to sync.
fglock PCR matches are plain objects 18:57
they do keep a pointer to the matched string, but that's all
putter on, btw, if PCR doesnt need it internally, you might try delaying overload()ing until the match is handed back to the world. I saw 10x total sytem performance hits from using overload()ed Matches everywhere.
fglock PCR actually plays some funny optimization tricks, but they don't violate encapsulation (much) 18:58
putter not _using_ the overload()ing, just applying.
it
hmm 18:59
fglock compiled code actually calls methods, rather than using overloads
so not a problem
putter k
fglock $/.array.[3] (more or less) 19:00
putter bummer in a way. not often one sees an easily accessible 10x, non algorithm fix, performance increase. ;)
fglock I was discussing this with audreyt - she said overload is not a big performance hit 19:02
putter I was hoping to this week to be where I could say "ah! use PerlMix; write grammar stuff, even self modifying. maybe help TT get STD actually running".
but... wanted to do aliases before cleaning up the PerlMix cruft. Dont have to I suppose... don't think there was a real dependency... 19:03
fglock re PerlMix - how about mp6... 19:04
it would be directly usable by kp6 and mp6 itself
and pugs :) 19:05
putter re not a big performance hit, I believe I was literally 10x slower (again, not actually using the overloading, just having it), and something like 20% of it was in a 2 line new() which called bless on an hash. blech. v5.8.8.
20% number is questionable - most p5 profiling tools were failing (mumble mumble:( ), so I got to use DebugLB's 1/100 sec sampling. sigh. 19:06
fglock object creation _is_ a performance problem for matches
putter 10x less so if they are not overloaded. :) 19:07
re PerlMix/mp6... 19:08
fglock hmm - creating an object pool - but this is hard to do efficiently in p5
putter simply putting off overloading until a match is returned to the world, or exposed to the world in a code block, did wonders. anyway... 19:09
I think I've ended up defining my problem domain as supporting a space/family of p6 implementaitons, rather than just one. could do the same in p6, but the game is simpler if the target and underlying language are a bit different. and we don't have robust p6 objects yet. even p5 has had annoying "darned if that isn't a compiler bug" complications. 19:12
audreyt <- working on robust p6 objects 19:13
lambdabot audreyt: You have 3 new messages. '/msg lambdabot @messages' to read them.
putter so I think p5 is the only place to stand at the moment. would have used ruby2 if it were less flakey, and the local developer community were different, but t'isnt and t'isnt.
audreyt but even when we do, doing it in p5 and have Work Right (tm) is much more important than simple bootstrap
putter s/only place to stand/only place I'm happy standing/ 19:14
19:14 Ziggy6 joined
audreyt because of developer community, yes 19:14
putter audreyt++ # re working on robust objects
diakopter 'tisn't
audreyt delayed for 3 months and the bridge itself only took 3 hours...
fglock mp6 does p5
putter danke
audreyt oh well, that's software for you :)
putter sigh 19:15
fglock audreyt++
putter re Work Right, I've been leaning the other way. Bootstrap is more important than work right. Work right is too hard with existing tools. So bootstrap + "the ways it's not right don't get in the way of development". Not getting in the way of further development being the critical primary objective. 19:16
audreyt k. 19:17
fglock my theory is of 'circular bootstrapping' :) 19:18
it's like doing indirections
putter writing yet_another to testsuites is my way of "good enough that it's not so buggy that it gets in the way of development". but it doesn't even pretend to be full spec. no test, no impl. and in a couple of cases, no impl regardless. once I can write a nice ast with multi methods in a language with macros, *them* i'd try a real regex implementation. 19:19
this just seems the shortest path through that mass of bleeting yaks. 19:20
re "once I can": and which run fast
19:21 the_dormant joined
Ziggy6 putter: this means you'll only do it in LISP? :D 19:21
19:21 Macae joined
putter "Perl 6 - implementing our literals is more complex than most peoples' whole programming languages." 19:22
audreyt "ferociously complex" 19:25
putter Ziggy6: I seriously considered a CL bootstrap on SBCL. But I find spewing throwaway code in CL not fast. p5's lack of macros bites, though can be worked around. ruby would be ideal for this, but for no multi methods, and ruby 2 with real lambdas doesn't quite work yet.
audreyt er, "ferociously difficult" accordting to spj
putter ooo, can we capture that quote someplace? get permission to use it? 19:26
audreyt sure. fair use.
fglock I see multi methods and macros as syntax sugar - maybe this is why I think bootstrapping is not a problem
putter do you still have the full original? was an email?
19:27 explorer joined
audreyt putter: cite: A History of Haskell: being lazy with class 19:27
". At the time there were no implementations of 19:28
Perl 6, at least partly because it is a ferociously difficult language to
implement. "
gaal <-- pining for the tshirt
audreyt # research.microsoft.com/~simonpj/pap.../index.htm
lambdabot Title: A History of Haskell, tinyurl.com/yowkle
fglock research.microsoft.com/~simonpj/pap...history.ps
lambdabot tinyurl.com/2y9ooc
fglock heh
19:29 rindolf joined
putter fglock: working on the zoo which is yet_another last month, I stumbled upon an old regex ast in p6. a half page of elegant code. made we want to cry. I wield p5 to hack through the woods. Once on the other side, I hope to never see it again. :/ 19:29
;) 19:30
though perhaps audreyt has the insight - p5 isn't the language, it's the vm. cpan in the language... 19:31
audreyt :D
fglock putter: otoh, I've not fixed a bug in the mp6 regex compiler since last year - and I've used it a lot :) 19:32
19:32 ludan joined
putter wants a "CPAN: The Reference Manual" book. 19:32
19:32 dec joined
fglock </sell mp6> 19:33
putter fglock: One fun thing is that, cleaning the dregs of a generally passing test suite, you reach some test fail you think you understand, and look hard at it. and have a "oh, that's odd" abstraction busting moment. 19:36
fglock: there's one potential task - the yet_another re_tests (from old v5.9) and rx_* tests (from parrot) are a "just barely good enough, get to it later" utter kludge. now 5.10 has even more regex stuff, which needs to be added, but perhaps kept segregated. perhaps clean it up as part of making it work for mp6? 19:38
and it looks like most of the pugs t/regex/* could be used more or less directly by p5. 19:39
so if you have a testing infrastructure itch...
gaal: oh, yes, please 19:40
audreyt: still have that cafepress account? ;)
putter can't believe he is distracting audreyt from pugs oo critical path, but... it'd make a great Tshirt :) 19:41
fglock re work for mp6 - not sure what you mean, I generally consider the mp6 project 'closed', mostly in order to avoid featuritis 19:42
working in mp6 is very distracting :)
putter re mp6, I'm afraid I still really don't have a clear idea of what works, what doesn't, and how fast. and thus what one might tackle with it.
lol 19:43
Juerd What exactly would make a great shirt?
fglock re what works - you can take a look at the source code, since it compiles itself
putter Perl 6 - "a ferociously difficult language to implement" - SPJ, creator of Haskell 19:44
or "Perl 6...is a ferociously difficult language to implement" - SPJ, creator of Haskell 19:45
I suppose the target audience would be a bit small and language nerdy. 19:46
diakopter "audreyt: on the (pugs (oo)) critical path" 19:47
putter wonder how spj describes implementing hs
"..." - SPJ, Haskell, MON YEAR 19:49
fglock [ot] ugh - too many instant messages, and I'm getting 7k spam messages/month
gaal actually I was thinking of 19:51
"ferocious developer"
[particle] "ferociously difficult developer" 19:52
19:52 UWC joined
allbery_b aren'tr they all? 19:52
maybe I should say "aren't *we* all" :)
[particle] NO!
putter Though the obvious comeback to the T wearer is "you say that like its a *good* thing...". ;)
[particle] "laziness, impatience, hubris -- three qualities of a ferociously difficult developer" 19:53
cj fglock: I've only got 4k! 19:54
fglock: thing how difficult life would be if we were important :) 19:55
gaal www.codeslate.com/2007/01/you-dont-...ivors.html
putter Though looking at the OneLaptopPerChild project, there is all sorts of software I'd like to see on it. And it's just not going to happen in SmallTalk and Python. Even P6 would be pushing it. But it could be a lot closer. Millions of kids are getting these things. A lot hangs on our getting p6 out the door.
lambdabot Title: code slate: you don't bury survivors
[particle] ponders (1.2.3..4.5.6:by(0.0.1)) 19:57
you can't get there from here!
gaal ponders 6 .. 2*pi :by(digits)
fglock cj: aren't we? :)
diakopter putter: perl was in OLPC, but they took it out, I heard.
19:58 Macae left
fglock putter: re performance: it compiles here at roughly 1kb of source code/second 19:58
putter very memory constrained. also space. also hoped to be kid modifiable... I'd much rather kids learn to program in py than p5. 19:59
Schwern They're planning on putting Squeak on it 20:00
And the windowing environment is in Python
putter the "it compiles itself" worries me. that's an existence proof. it doesn't say much about the space in which correct behavior might be expected. no?
yes 20:01
rindolf Hi Schwern
Schwern "The laptop will use the Sugar graphical user interface, written in Python, on top of the X Window System"
"several interpreted programming languages, including Logo, JavaScript, Python, Csound, and the eToys version of Squeak"
en.wikipedia.org/wiki/One_laptop_pe...d#Software 20:02
hey
putter yes. various apps^Hactivities will also be python
fglock putter: exactly - the amount of language implemented is exactly what was needed...
putter: kp6 would be the place for extensions 20:03
Schwern putter: Are you saying p6 should try to rush to make it onto the Children's Machine?
putter Schwern: no 20:04
Schwern Oh good.
putter that the societal impact of p6 becoming available one year, or a year later, are nontrivial.
20:04 jferrero joined
putter that the space of applications which are feasible to tackle in p6 is much larger than that in ST and Py. and until we can, lots and lots of people seriously lose. 20:05
Schwern Ok. Now weigh that against the cost of rushing out an incompletely designed language. 20:07
TimToady Range.max just returns the endpoint, ignoring :by
Schwern You're worried about next year. I'm worried about 20 years from now.
TimToady so pugs is correct 20:08
Schwern++
Schwern TimToady: Does karma from you count, like, triple?
putter doesn't think non-rushing is the bottleneck... not even remotely close... though perhaps it was once... but that would need to be >2years ago... since then, just warm body/brain resource constraints.
diakopter Schwern++++++ 20:09
putter warm body/brain *dollars* resource constraints
fglock TimToady: ok 20:10
Schwern It just seems to be a particularly bad month for watching Perl 5 drown in its own compatibility issues.
putter besides, a defining characteristic of p6 is it's mutability. unclear how that will play out socially, but 20years seems an unlikely distance to assume anything but ancestry remains. 20:11
re drown, ??
rindolf Schwern: you mean perl-5.9.x?
TimToady the "Perl 7" discussion, I think 20:16
not to mention the strange regex ideas
putter I nominate that for someone's todo list "Write a CPAN-as-language language manual". Probably have to be online. Perhaps its just one big "choosing your DSL". 20:17
putter looks... 20:19
Schwern Just in general. 20:21
autoboxing got shot down quickly. "use feature" bothers me because we can't even add keywords to the language anymore. 20:22
The whole safe eval, isa() and can() thing
putter oh my. putter retreats from the noisy world to focus on pugs. few minions, but little politics. 20:23
fglock putter: :) 20:26
TimToady There's little wrong with Perl 5 today that wasn't already wrong in 2000 when 361 RFCs were written... 20:27
20:28 explorer joined
audreyt TimToady: foreign object models. 20:31
say the p5 bridge has HOW that uses p5 dispatch
s/has/gets us objects that/
does the bridge also have to manufacture WHAT/WHICH/WHO/WHERE?
i.e. is it correct that those 4 calls are part of the "special methods recognized by all p6-side objects"? 20:32
TimToady I think of them more as macros than methods
audreyt i.e. defining them in p5-land doesn't do anything, right? 20:33
yup.
so if I say "sub WHICH { ... }" in p5 land for that package
it doesn't actually get invoked
TimToady WHICH is more likely to call stringify or some such
audreyt actually, WHICH is meant to be user-overridable 20:34
so maybe they _are_ ordinary calls?
and the p5 bridge supply default implementations if they are not defined in p5 land 20:35
TimToady depends on the MOP I think what the meaning of object identity is
audreyt by intercepting method lookup failures (but before AUTOLOAD kicks in), perhaps
case in point: # use perl5:DBI; DBI.new.WHICH
(everything is in place to bridge perl5 MOP into MO now, hence the question) 20:36
I'd like to do that first because method dispatch for Perl5SV is already separate in the runtime
[particle] TimToady: thanks for the clarification, could you clarify the spec?
audreyt so it's easier than replacing all our builtin Pugs.Prim (that's next)
20:37 dduncan joined
TimToady [particle]: you mean on .max? 20:37
fglock audreyt: how about Scalar::Util::refaddr() for WHICH
[particle] TimToady: yes, sorry, i was lost in scrollback land
audreyt fglock: make it the same as WHERE?
that's a thought..
20:37 forsaken joined
[particle] and... is (0..-2:by(-1)).max == 0 ?? 20:38
TimToady [particle]: I'll need to think about that 20:41
PerlJam TimToady: riffing from particle ... and if so, what's the selector for getting either end point? 20:42
20:42 justatheory_ joined
PerlJam I presume that (0..-2:by(-1)).[-1] may be bad for laziness? 20:42
especially when it's more like -Inf than -2 20:43
:)
$range.lhs and $range.rhs may work though 20:44
20:44 the_dormant joined 20:45 jferrero joined
fglock PerlJam: that's worked out - it just calls a closure that returns a (possibly lazy) value 20:45
(0..Inf)[100..1000] 20:46
PerlJam fglock: if you say so ... I only flit in and out of #perl6 consciousness these days.
offby1 slaps PerlJam's cheeks, and waves smelling salts under his nose 20:47
PerlJam offby1: You're not supposed to slap *those* cheeks!
offby1 blushes furiously
well, they were exposed. 20:48
how was I to know.
20:48 stevan_ joined 20:53 baest joined 20:56 REPLeffect_ joined
fglock home & 20:56
putter g'night fglock 20:57
20:57 diotalevi joined, Ziggy6 left 20:58 fglock left
audreyt .HOW now supported in MO 21:02
perl5 bridge next, then Pugs.Prim rewrite, then see if smoke still likes us.
svnbot6 r15378 | audreyt++ | * MO: Switch from String to ID for all ClassName/MethodName/AttributeName.
diakopter @seen nothingmuch 21:04
lambdabot nothingmuch is in #darcs, #haskell and #perl6. I don't know when nothingmuch last spoke.
pasteling "evalbot_r15377" at 194.145.200.126 pasted "Pugs build failure" (494 lines, 26K) at sial.org/pbot/23217 21:05
nothingmuch yo
21:05 Aankhen`` joined 21:08 lichtkind joined
svnbot6 r15379 | gaal++ | * quell some warnings that appear in 'make ghci' 21:08
21:09 buetow joined
svnbot6 r15380 | gaal++ | * make PUGS_GHCI_DEBUGGING a little more sensible 21:09
nothingmuch diakopter: ? 21:10
svnbot6 r15381 | audreyt++ | * Pugs.Class: Make Show a superclass to Boxable.
r15382 | audreyt++ | * Pugs.Val: The second MO class, "Class" now wrapped: 21:12
r15382 | audreyt++ | vv('foo').HOW; # Str
r15382 | audreyt++ | vv('foo').HOW.HOW; # Class
r15382 | audreyt++ | Full MOP (.WHICH, .methods etc) is next, then Perl 5
r15382 | audreyt++ | bridge, then Pugs.Prim rewrite.
r15383 | audreyt++ | * Repair buildfail by merging with gaal++ 21:14
r15384 | audreyt++ | * Ditto.
diakopter out-of-context quote from perl.org#parrot: <pmichaud> s/parrot/pugs/ 21:19
svnbot6 r15385 | audreyt++ | * Remove inc/.author in Data-Capture so things can build.
r15385 | audreyt++ | Reported by: Eric Hanchrow
meppl good night 21:21
putter wave
reality check: B can inherit from A things that A import()ed from X, yes?
p5
broquaint Yes. 21:22
putter tnx.
specbot6 r14308 | larry++ | Distinguish Range's intervalic .min and .max from its directed .from and .to. 21:23
21:23 buetow joined, cddar joined 21:24 cddar left
gaal oops, did i break the build? sorry :) 21:24
TimToady < svnbot6> r15382 | audreyt++ | vv('foo').HOW; # Str 21:25
arguably that should return ^Str rather than STr
*Str
audreyt what does ^Str stringify to?
I thought it's the short name
may be wrong...
TimToady I think it needs to stringify to ^Str to avoid confusion with the Str prototype 21:26
[particle] ranges are strange beasties 21:27
TimToady hmm, I wonder if (1..10).push should return (1..11) 21:28
21:28 theorbtwo joined
audreyt TimToady: nonmutating push? 21:29
TimToady Range is currently mutable
[particle] range extension?
TimToady and we always said you could iterate a range on either end, but never said how. 21:30
hmm, maybe .minmax is a no-op, and infix minmax should always be done with range objects to preserve inclusive/exclusive distinctions. 21:32
[particle] can you do something like =($range.reverse) as an equivalent for $range.pop?
TimToady a PDL programmer would expect that to work, but I'm not sure a mere mortal would 21:33
audreyt TimToady: Range is mutable? S02 says otherwise
(and I don't really see a compelling case for it to be mutable...)
TimToady S03 has always said it's mutalbe
*mutable
audreyt # Range A pair of Ordered endpoints; gens lazy Seq in list context 21:34
uh, where?
TimToady the place where it says "Range objects are lazy iterators" 21:35
there's no such thing as an immutable iterator
audreyt ok... I parsed it as saying it supports the iterating interface 21:36
much as Seq does
for 1,2,3 { ... }
for 1..3 { ... }
[particle] exhausted iterators are immutable
audreyt wasn't aware that there's a need to seek a range mutably
TimToady I suppose if you're doing the problem where the fly flies back and forth between two approaching locomotives... 21:37
[particle] sure, but you can't take headwind into account
audreyt then you use two Scalars...
I'd like to not have 21:38
(1,2,3).push # nonsensicle
(1..3).push # sensible (!)
seems really weird.
[particle] (3..1:by(-1)).push # pushes what where? 21:39
TimToady you'd end up with (3..0:by(-1)) 21:40
gaal are sensicles what you get when it rains smarts and freezes?
dduncan audreyt, will you have another mass checkin during the next hour or so? otherwise, I'll try rebuilding Pugs again now, or if so, then I'll wait 21:43
TimToady the problem with using two Scalars is that you have to keep the inclusive/exclusive information out-of-band.
and I think people might rather write $a..^$b minmax $c^..$d than using lists of two elements. 21:44
dduncan or I'll do it now anyway ...
[particle] is :by(...) invariant? 21:45
audreyt dduncan: no I need to sleep :)
TimToady for a given Range construction
I think so
dduncan question: does using arbitrary object types as a Hash or Mapping key work in Pugs now? eg, using either a Seq or a Mapping as a key?
audreyt dduncan: no, but you can expect it to work in ~2wk 21:46
dduncan thank you
ingy waves
[particle] TimToady: are expressions allowed?
audreyt integral: yo
TimToady at construction time
dduncan fyi, I would probably use such a feature to implement multi-attribute indexes for relations
TimToady 1..100:by($x) is fine 21:47
dduncan or should I say, multi-attribute keys
ingy autark: hola :P
dduncan or both
TimToady we don't have to decide whether .min and .max swap ends until construction time
when we see whether $x is negative
[particle] 0..1:by(rand)
TimToady well, you'll wait a long time if rand returns 0 :) 21:48
dduncan but no rush ... I'll still be making the Perl 5 version in the next few weeks, before a Perl 6 version ... in fact, I'll probably wait for 6.28.0 before starting the latter
[particle] precisely
TimToady but 0..1:by(0) is no worse than 0 xx * 21:49
putter brain pudding &
21:54 miyagawa joined
TimToady bbl & 21:57
audreyt bbl & 22:04
22:05 awwaiid joined
svnbot6 r15386 | audreyt++ | * MO.Run: Metaclasses now stringify with a leading "^". 22:05
22:17 polettix joined 22:26 Psyche^ joined 22:38 Psyche^ is now known as Patterner 22:41 buetow joined 22:46 buetow joined 22:59 wilx` joined 23:30 mako132_ joined 23:34 gnuvince_ joined 23:58 Khisanth joined 23:59 Ziggy6 joined