Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2007-02-28

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:01 audreyt marco at twd.com.br?
00:04 Macae audreyt: Not. I forgive me I am beginning in IRC. My email: [email@hidden.address]
00:05 audreyt invitation sent.
00:06 Limbic_Region audreyt - are you awake or sleeping?
00:07 audreyt Macae: please read http://search.cpan.org/dist/Perl6-Pugs/docs/Pugs/Doc/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
00:07 audreyt Limbic_Region: yes I'm awake or sleeping
00:07 audreyt # I'm awake when I really should be sleeping
00:07 Limbic_Region ok, well I won't bug you then
00:09 audreyt :) bbl
00:10 explorer joined perl6
00:15 Macae audreyt: Perfect. Very obliged!
00:18 Macae audreyt: I go to dedicate more to the Pugs!  :)
00:21 Macae ...to the English also...
00:23 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 diotalevi er, "bbl". dang.
00:25 Ziggy6 left perl6
00:32 forsaken joined perl6
00:36 Limbic_Region @help
00:36 lambdabot help <command>. Ask for help for <command>. Try 'list' for all commands
00:36 Limbic_Region @help tell
00:36 lambdabot tell <nick> <message>. When <nick> shows activity, tell them <message>.
00:37 cj joined perl6
00:38 Macae Limbic_Region: Good night, my friend, has some problem I to supply my email in the list?
00:39 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:42 Macae Limbic_Region: Later that I published my email in the list my domain is very strange?
00:43 Limbic_Region I'm sorry, I don't understand the question.
00:46 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
00:47 Limbic_Region I don't know
00:47 Limbic_Region wait for audreyt I guess
00:48 explorer joined perl6
00:51 Macae Limbic_Region: You understood my problem?
00:51 buubot Stored message for 1
00:54 Macae buubot: You understood my problem?
00:54 Limbic_Region no, I do not understand your problem.
00:55 explorer joined perl6
01:00 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
01:00 specbot6 r13708 | larry++ | Better writing requested by John Macdonald++
01:00 buubot Stored message for 1
01:01 Macae Limbic_Region: You understood my problem?
01:01 specbot6 r13709 | larry++ | gah
01:04 explorer joined perl6
01:07 Macae audreyt: You understood my problem?
01:09 rashakil_ joined perl6
01:09 Macae specbot6: You understood my problem?
01:09 tene Macae: audreyt is gone and specbot is a bot, not a real person
01:10 Macae tene: You understood my problem?
01:11 tene Macae: do you stil lget email sent to pcp.org.br ?
01:11 tene or do you need your subsccriibed address changed?
01:11 Macae Yes!
01:11 tene Wow, I can't type today.
01:11 tene Macae: which one?
01:12 tene Do you still get email there, or do you need it changed?
01:12 klutzBunny joined perl6
01:12 klutzBunny But I just learnt Perl 5 :<
01:13 tene Perl 5 isn't going anywhere
01:13 klutzBunny I know :P
01:13 tene Heh.
01:14 tene 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 <_<;
01:14 tene That sounds like a very interesting subject!  I haven't heard anything planned for it, though.
01:15 tene Sounds like some work could be done on the subject!  That's something you could do!
01:15 klutzBunny Win ^____^
01:15 tene Then Perl 6 would have good interaction with Cocoa, and you'd have a good language to work with Cocoa with!
01:15 tene Everybody wins!
01:15 tene :D
01:15 klutzBunny ^o^~! Massive win.
01:16 klutzBunny 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.
01:17 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!
01:17 tene All I know about Cocoa is that it's related to MacOS somehow, so I can't help at all.
01:17 tene I do know that some Perl 6 developers use MacOS, though!
01:18 klutzBunny Awesome ^___^ I'm getting involved already!
01:18 * klutzBunny adds room to favorites list :3
01:18 Macae tene: You understood my problem?
01:18 tene If you stick around a little longer, you'll get a commit bit for the pugs subversion repository.
01:19 klutzBunny Cocoa is the OpenStep based API for Mac OS X :3
01:19 klutzBunny Win ^o^~!
01:19 tene Macae: you need a commit bit sent to a different email address?
01:19 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. "
01:21 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
01:21 klutzBunny And by fiddley I mean, that there were too many shiny things for me to fiddle with so I never got anything done :P
01:21 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.
01:21 tene Heh.
01:22 putter The two seem contradictory.
01:22 Macae tene: I did not understand its question?
01:23 TimToady putter: that's the section written by TheDamian.  I'll have to think about it some.
01:24 tene Macae: I understand the problem.  What do you want me to do?
01:28 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 TimToady the first binding is to an unquantified thing
01:28 putter actually, half that question is broken.  the strings are matches, so np there.
01:28 putter re quantified/unquantified, agreed.  but that's not what the paragraph says :)
01:30 TimToady I don't see the problem
01:30 putter If it were "With non-quantified constructs, [u]sing...", then np.
01:31 TimToady there are constructs that for $ to really be an array
01:31 TimToady but @ just says, "push whatever you find even if if it's just one thing"
01:31 TimToady s/that for/that force/
01:31 * putter goes to construct case, to determine if he is confused...
01:32 TimToady 'tis quite possible I'm being dense, of course.  happens to me every now and again...
01:34 TimToady bbl &
01:35 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
01:35 putter wave
01:36 weinig joined perl6
01:37 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:40 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?
01:45 Macae tene: Brazilian Portuguese! My use translator: http://babelfish.altavista.com/tr. (Portuguese <=> English).
01:45 lambdabot Title: AltaVista - Babel Fish Translation
01:55 Macae tene: Understood? Here only speaks Perl6; my has to quit?
01:57 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 putter "The only difference is that, if the aliased construct is a subrule or subpattern (but not non-capturing group), that quantified subrule or"
01:57 tene Macae: I'm sorry, but I can't understand you. :(
01:59 Macae Ok ;)
02:01 * klutzBunny reads the wikipedia article on "cognitive load" @_@;
02:03 klutzBunny this still does not explain why @ == $ :\
02:04 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:05 tene i.e. @array, $array[1] are the same variable
02:05 klutzBunny Ah... I liked that, I guess that makes sense though.
02:05 tene Where in Perl 6, the sigil represents the variable type.
02:05 tene @array, @array[1]
02:05 lambdabot Unknown command, try @list
02:05 tene @botsnack
02:05 lambdabot :)
02:06 klutzBunny Hehehee`!
02:06 klutzBunny Win @ bot :3
02:06 klutzBunny @botsnack
02:06 lambdabot :)
02:06 * klutzBunny giggles
02:06 klutzBunny Thanks tene n.n
02:06 tene I was used to it, but there are definitely people out there that have trouble with it.
02:07 tene It's a common problem for people new to Perl 5.
02:07 tene So it's changed in Perl 6 to be one less thing you need to learn.
02:08 * klutzBunny nodnods
02:08 tene ?eval @a = 1..10; @a[2]
02:08 klutzBunny Brilliant! Thats what I call taking care of your developers :3
02:08 evalbot_r15376 \3
02:08 klutzBunny @list
02:08 lambdabot http://www.cse.unsw.edu.au/~dons/lambdabot/COMMANDS
02:08 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.
02:08 lambdabot Consider it noted.
02:10 klutzBunny @todo
02:10 lambdabot 0. SamB: A way to get multiple results from a google search
02:10 lambdabot 1. dons: improve formatting of @dict
02:10 lambdabot 2. dons: write Haskell Manifesto
02:10 lambdabot 3. lispy: don't let lambdabot's prettyprinter split the sequence @foo across lines
02:10 lambdabot 4. TheHunter: priviledged users should get priviledged listcommands.
02:10 lambdabot [23 @more lines]
02:10 putter The "worth noting \"however\"" observation is still intact though.
02:11 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:12 klutzBunny Hehehee~! I like it :3 Helps provide forum like collaboration to a live chat room
02:13 klutzBunny But then I like silly things <_<;;
02:14 klutzBunny @slap klutzBunny
02:14 * lambdabot beats up klutzBunny
02:14 SamB those items have been at the top of the list for *years*, it seems like
02:14 klutzBunny @vixen
02:14 lambdabot <undefined>
02:14 * klutzBunny headtilts
02:14 Macae tene: I go with God! It forgives me the main topic is Perl6?
02:15 SamB something about switching regex engines caused vixen to not work
02:15 klutzBunny What was it?
02:15 SamB well, it was lambdabot's "personality" functionality ;-)
02:16 * klutzBunny giggles
02:16 SamB like,
02:16 SamB "@vixen asl"
02:16 SamB would do something
02:16 SamB or @vixen do you like functional programming
02:17 * klutzBunny nodnods XD
02:17 SamB some kinda list of regexes and responces
02:17 klutzBunny @yhjulwwiefzojcbxybbruweejw
02:17 lambdabot "\""
02:17 klutzBunny o_o;
02:17 klutzBunny @girl19
02:17 lambdabot I have been into not actually hacking, but social engineering
02:17 SamB whenever we complain about it not working, dons tells us to fix it
02:18 klutzBunny XD!
02:18 SamB I think we don't because we are afraid we'd have to rewrite the regexes
02:18 klutzBunny :O I would but I gotta do this whole "getting into university" thing first :<
02:18 klutzBunny @yarr
02:18 lambdabot I want me grog!
02:18 klutzBunny @map
02:18 lambdabot http://www.haskell.org/hawiki/HaskellUserLocations
02:18 stevan_ joined perl6
02:19 klutzBunny Meep! It's 02:25 allready x_x;
02:19 dmq joined perl6
02:19 klutzBunny Night everyone~! Great meeting you :3
02:19 * klutzBunny waves and hops off
02:40 bonesss joined perl6
02:43 araujo joined perl6
02:44 forsaken joined perl6
02:45 pasteling "putter" at 66.30.117.127 pasted "draft summary of alias contents" (24 lines, 935B) at http://sial.org/pbot/23206
02:47 putter It might be worth cleaning up that table and stashing it somewhere.  I found the S05 section a bit opaque.
02:47 putter Assuming it's correct of course.  Comments welcome. ;)
03:04 forsaken joined perl6
03:07 pasteling "putter" at 66.30.117.127 pasted "shuffling in search of clarity" (20 lines, 381B) at http://sial.org/pbot/23207
03:19 putter &
03:23 seano joined perl6
03:30 UWC joined perl6
03:39 pasteling "putter" at 66.30.117.127 pasted "a last version" (10 lines, 166B) at http://sial.org/pbot/23208
03:52 nekokak joined perl6
04:03 mako132_ joined perl6
04:27 weinig is now known as weinig|away
04:39 drupek12212157 joined perl6
04:41 penk joined perl6
04:43 amnesiac joined perl6
04:53 justatheory joined perl6
04:57 idiotmax joined perl6
04:58 seano joined perl6
05:07 |mjk| joined perl6
05:36 ksyde joined perl6
06:13 BooK_ joined perl6
06:14 obra Who manages the ircbot that polls perl6 svn for latest commit?
06:23 chaoslawful joined perl6
06:24 obra audreyt: svnbot6 needs to stop looking for the latest commit from svn.perl.org
06:35 justatheory joined perl6
06:38 audreyt obra: it's specbot6
06:38 obra ah
06:51 cognominal joined perl6
06:54 gaal audreyt: cool, looking!
06:57 ksyde left perl6
06:59 gaal <3 (./) }:)
07:03 devogon joined perl6
07:16 b00t joined perl6
07:31 iblechbot joined perl6
07:32 rfordinal_athome joined perl6
07:35 the_dormant joined perl6
07:37 UWC joined perl6
07:45 marmic joined perl6
08:01 aukjan joined perl6
08:01 bsb gaal: is that the double-scoop tunnel-golfing happy moose operator?
08:26 offby1 bsb: :-)
08:26 jisom joined perl6
08:26 offby1 I think the moose is happy because he's wearing  an ice-cream cone
08:27 tene I'd be happy if I were wearing an ice cream cone.
08:27 offby1 I suppose I would be too.
08:44 gaal It was short for "I love the ./ operator! Moose!"
08:45 gaal Pugs.Class:87
09:00 andara joined perl6
09:14 dduncan left perl6
09:36 elmex joined perl6
09:45 drrho joined perl6
09:56 rfordinal_athome joined perl6
09:56 forsaken joined perl6
09:56 allbery_b joined perl6
09:56 integral joined perl6
09:56 [particle] joined perl6
09:57 aben joined perl6
10:06 forsaken joined perl6
10:06 allbery_b joined perl6
10:06 integral joined perl6
10:06 [particle] joined perl6
10:07 forsaken joined perl6
10:15 aben is now known as rfordinal_athome
10:18 dec_ joined perl6
10:20 drupek12212157 joined perl6
10:31 buetow joined perl6
10:46 pbuetow joined perl6
10:48 ruoso joined perl6
11:07 IllvilJa joined perl6
11:35 Arathorn joined perl6
11:58 fglock joined perl6
11:58 chris2 joined perl6
12:10 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:11 fglock maybe I should take a look at C++ internals
12:14 specbot6 joined perl6
12:20 fglock 'closures' in kp6 are actually starting to look like http://en.wikipedia.org/wiki/Function_object
12:22 fglock and lexicals are actually accessors
12:22 fglock hmm
12:23 fglock meeting &
12:27 ruoso joined perl6
12:37 allbery_b yeow!  MO.Compile.Class is eating my macmini alive!
12:45 Ziggy6 joined perl6
12:48 Ziggy6 fglock: re "skip frequent method lookups", are you saying that you can bypass the vtable mechanism even for virtual functions?
12:51 rgs is now known as args
12:52 diakopter joined perl6
13:00 Limbic_Region joined perl6
13:00 allbery_b ghc is 2.64G and still growing...
13:05 the_dormant joined perl6
13:05 tene That's a few G
13:09 stevan_ joined perl6
13:10 allbery_b 3.13G
13:10 tene That's even more G
13:10 * Arathorn hopes your mac mini is 64bit, otherwise you're going to run out of virtual address space, no?
13:11 dakkar joined perl6
13:11 allbery_b 32bit, afaik
13:17 allbery_b interrupted it.  it stopped growing but seems to be rather slow about cleaning up (can't imagine why...)
13:17 allbery_b thrashthrashthrash...
13:19 allbery_b @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 perl6
13:26 fglock joined perl6
13:26 * allbery_b distcleans on the off chance it's some leftover file confusing ghc
13:28 fglock Ziggy6: I mean, you can have a pointer to the exact location in the vtable, skipping the class+method lookup
13:29 Ziggy6 fglock: that's how it is implemented, but i'm not sure what you mean by class lookup
13:30 Ziggy6 that pointer can always be computed at compile-time in C++
13:31 gaal for virtual methods? it can't...
13:31 Ziggy6 that pointer isn't a function pointer, it's an index in the vtable
13:32 Ziggy6 you still have check the vtable to call the virtual function
13:33 gaal ah, sure
13:33 Ziggy6 i understand fglock found an optimisation for special cases where it can be skipped?
13:36 gaal allbery_b: is it vanilla 6.6? a clean build with debian's 6.6-3 didn't blow up here
13:40 forsaken joined perl6
13:42 fglock Ziggy6: the optimization is to skip class-name lookup and method-name lookup; it's still plain oo
13:42 fglock and yes, I found out that C++ does this :)
13:45 fglock 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,
13:46 dakkar and manage the lifetime of those variables...
13:47 fglock does C++ have GC?
13:47 dakkar no
13:48 dakkar well,
13:48 dakkar not by default
13:48 dakkar you can use a library, and pass all pointers through it
13:48 Ziggy6 you can override the allocation functions so they do GC
13:48 dakkar or use boost::shared_pointer, which is refcounted
13:48 Ziggy6 and have leaks due to circular refs :D
13:49 fglock or link to parrot's gc :)
13:49 Ziggy6 or better yet use parrot for everything
13:49 wolverian or jvm!
13:50 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
13:51 fglock jvm would be nice, but it would need some emulation (like p5 does)
13:51 fglock pmcs == parrot "p6 emulation", after all
13:52 hamika joined perl6
13:53 smash there's a "bug" in page http://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 perl6
14:13 Jedai joined perl6
14:18 allbery_b gaal: yes, vanilla 6.6
14:20 allbery_b I'm retrying it from "make distclean" to see if an e.g. some outdated .hi file is the culprit
14:21 allbery_b (ideally I'd always build from distclean,but pugs compile is pretty rough on my mini at the best of times)
14:22 Ziggy6 left perl6
14:41 rindolf joined perl6
14:52 buetow joined perl6
14:59 specbot6 r9308 | larry++ | Updated updates.
15:00 buetow joined perl6
15:01 vel joined perl6
15:01 TimToady um, that wasn't me...
15:01 lambdabot TimToady: You have 1 new message. '/msg lambdabot @messages' to read it.
15:01 specbot6 r9309 | larry++ | Updated updates.
15:01 specbot6 r9310 | larry++ | Clarifications of inner type from sam++.
15:01 specbot6 r9310 | larry++ | Deployment of julian++ at 200605252055, 8`lb + 7`oz, 20`in.
15:01 specbot6 r9310 | larry++ |    Ref: http://www.wall.org/cgi-bin/photo/index.cgi?mode=view&amp;album=/pix/Julian
15:01 specbot6 r9378 | larry++ | Added out-of-dateness messages, plus initial updates for E02.
15:01 specbot6 r9379 | larry++ | Moved initial notes higher.
15:01 specbot6 r9380 | larry++ | Updates to E03.
15:01 lambdabot Title: My Photo Gallery, http://tinyurl.com/ypd73n
15:01 specbot6 r9383 | larry++ | More updates.
15:01 specbot6 r9390 | larry++ | More updates.
15:02 TimToady um, who is being me?
15:03 TimToady @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
15:03 lambdabot decomposition, rather than a 2-stride, and managed to remain wedged.
15:03 rindolf How come one revision is e9310 and the one immediately after it is r9378?
15:03 specbot6 r9435 | audreyt++ | * S04 - Change this example:
15:03 specbot6 r9435 | audreyt++ |     if -e { say "exists" } { extra() }
15:03 specbot6 r9435 | audreyt++ |   to this:
15:03 specbot6 r9435 | audreyt++ |     if rand { say "exists" } { extra() }
15:03 specbot6 r9435 | audreyt++ |   Because bare "-e" may be removed along with all $_-defaulting forms
15:03 specbot6 r9435 | audreyt++ |   (to be replaced by .-e), but bare "rand" defaults to 1, and as such
15:03 specbot6 r9435 | audreyt++ |   should probably be still there.
15:03 forsaken joined perl6
15:03 specbot6 r9442 | audreyt++ | * At scw++'s request, add an explicit definition to the default <ws>:
15:03 specbot6 r9442 | audreyt++ |     "\s+ if it's between two \w characters, \s* otherwise"
15:03 specbot6 r9462 | larry++ | Clarified scoping of "has $x" and friends.
15:03 specbot6 r9463 | larry++ | Change default lvalue parsing to default to list, with short list of scalars.
15:03 specbot6 r9465 | larry++ | Revisions to definitions of simple scalar.
15:03 specbot6 r9466 | larry++ | typo from scook0++
15:04 TimToady specbot seems to be going nuts and rehashing old stuff
15:04 TimToady maybe the backlog will explain...
15:04 specbot6 r9496 | larry++ | typo from szbalint++
15:04 specbot6 r9497 | larry++ | Clarifications on SIMPLEness.
15:04 specbot6 r9497 | larry++ | Examples of dot calls defaulting to prefix ops.
15:04 specbot6 r9497 | larry++ | Typo from masoch++.
15:07 specbot6 r9527 | audreyt++ | * S06: Fixed a minor typo noticed by szbalint++.
15:07 specbot6 r9528 | larry++ | putter++ notes that prec table is missing .<>
15:07 specbot6 r9529 | larry++ | Semantics of bare block clarified.
15:07 specbot6 r9535 | audreyt++ | * S03: the SIMPLE forms can use a more robust recursive definition.
15:07 specbot6 r9535 | audreyt++ |        also, include $$a and $::('$a') as obviously simple as well.
15:07 specbot6 r9536 | audreyt++ | * S03: allow post-assignment forms to be SIMPLE:
15:07 specbot6 r9536 | audreyt++ |     $x[$y + $z]     # simple scalar
15:07 specbot6 r9536 | audreyt++ |     $x[$y += $z]    # simple scalar, too
15:07 specbot6 r9537 | audreyt++ | * S03: the ()= form is no more; reflect it in the operator table.
15:07 specbot6 r9538 | audreyt++ | * S02: Subscripts are now always in list context, period.
15:08 specbot6 r9575 | audreyt++ | * S03: typo, nit, etc, reported by masak++.
15:08 specbot6 r9589 | audreyt++ | * S02: more elimination of lvalue-parenthesis form, spotted by spinclad++
15:08 specbot6 r9625 | audreyt++ | * S03: Even more typo/nit cleanup; also clarify that while
15:08 specbot6 r9625 | audreyt++ |   prefix:<%> is not "simple" scalar lvalue, infix:<%> is.
15:08 buetow joined perl6
15:10 gaal whoa backlog?
15:10 specbot6 r9660 | larry++ | Definition of warning control exceptions.
15:10 specbot6 r9662 | larry++ | Semantics of the hyperop "promise" with respect to optimization possibilities.
15:10 specbot6 r9667 | audreyt++ | * S02: &?SUB is no more - it's now &?ROUTINE since it also
15:10 specbot6 r9667 | audreyt++ |        works in method.  Also $?SUBNAME is now &?ROUTINE.name.
15:10 specbot6 r9667 | audreyt++ |        (It's already that way in S06, this just syncs with S06.)
15:10 specbot6 r9676 | larry++ | Clarified when circumfix parens are simple, and when not.
15:10 specbot6 r9677 | larry++ | Typo.
15:10 specbot6 r9680 | larry++ | Further decoupling of assignment parsing policy from behavior.
15:10 specbot6 r9681 | larry++ | Fixing bad writing, mostly.
15:10 specbot6 r9683 | larry++ | Cut-n-paste error noted by TheDamian++.
15:10 * diakopter laughs at specbot
15:10 TimToady looks like specbot is reminiscing
15:11 TimToady 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
15:12 diakopter specbot6: go back to the future
15:13 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 Arathorn a bit like scotty preserving himself in a transporter buffer imaging chamber thingio for decades :/
15:15 diakopter TimToady: re: "um, who is being me?"  Do you ever really have an answer for that question?
15:15 xerox joined perl6
15:15 [particle] joined perl6
15:15 TimToady diakopter: sure, problem was always that I had too many answers...
15:16 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
15:16 TimToady shh, you weren't supposed to notice that.
15:17 * diakopter resolves to make his svn commit messages contain many many line breaks.
15:18 gaal # http://www.unizar.es/departamentos/filologia_inglesa/garciala/materiales/poemas/cummings,selves.htm
15:18 lambdabot Title: e, http://tinyurl.com/24nt86
15:18 diakopter TimToady: quick, make some spec changes and no one will notice.
15:20 TimToady are you implying that spec changes made in haste result in negative karma?  :)
15:21 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:23 TimToady gaal: lol, e.e.cummings were a good poets
15:24 TimToady we are amused
15:25 diakopter ?eval e.e.cummings
15:25 evalbot_r15376 Error: No compatible subroutine found: "&e"
15:25 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.
15:25 lambdabot Consider it noted.
15:26 gaal error: e.e.cummings cannot be typed
15:28 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 perl6
15:42 TimToady heh, I just realized we're using "is context" for two completely different things
15:44 TimToady we used to have "is context(Scalar)" on parameters, which we've all forgotten to remember.
15:45 TimToady which means that particular usage should probably die
15:46 diakopter 'is context' is defined in context?
15:46 rhizo joined perl6
15:47 TimToady no, it collides--I've been putting "is context" on parameters to turn them into environmental vars
15:48 TimToady 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 TimToady is another strike against it
15:49 TimToady should probably just be relegated to special macro processing anyway.
15:49 TimToady since it's something that has to be known at compile time.
15:49 thepler joined perl6
15:49 TimToady so I'm just going to delete it.
15:50 [particle] so we can all remember to forget it now
15:52 * diakopter is having all kinds of trouble with bitcard/perl.org/rt
16:07 aukjan is now known as aukjan|gone
16:17 bonesss joined perl6
16:27 allbery_b @tell audreyt never mind, "make distclean" fixed it.  that's a really *fun* failure mode, though...
16:27 lambdabot Consider it noted.
16:31 gaal allbery_b: it sounds more a ghc bug than a pugs one. what does your config.yml have as ghc_heap_size?
16:32 gaal (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
16:33 allbery_b ghc_heap_size is commented out, per default
16:35 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:41 putter joined perl6
16:41 wilx` joined perl6
16:43 avar hrm
16:43 avar 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
16:44 avar perl inc/Module/Install/Smoke.pm # runs what run-smoke.pl does...
16:44 avar :)
16:44 avar and just have:
16:44 avar smoke ::
16:44 avar    $(PERL) inc/Module/Install/Smoke.pm
16:50 gaal follow the smoke trail...
16:50 pasteling "putter" at 66.30.117.127 pasted "some alias intro text" (43 lines, 2.1K) at http://sial.org/pbot/23211
16:53 gaal putter: looks very clear and useful to me, and I'd not been following Rules closely
16:53 gaal "what you get" needs a period after it
16:58 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.
16:59 kolibrie putter: I'm not sure why an array alias of a subrule/subpattern would not give you an array of matches
17:01 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
17:02 putter kolibrie: it does, but perhaps not the matches you expect.
17:02 putter you do specify it explicitly, by choosing and array rather than scalar alias ;)
17:03 putter (for a quantified construct that is)
17:03 REPLeffect joined perl6
17:03 specbot6 joined perl6
17:03 kolibrie and if you specify a scalar alias, what do you get?
17:04 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 penk joined perl6
17:05 * 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 @@
17:06 putter noted.
17:07 putter kolibrie:  perhaps pastebot is snoozing:  http://sial.org/pbot/23212
17:08 * kolibrie looks
17:09 svnbot6 r15377 | audreyt++ | * runpugs: Removed extra <sp> in href to "Perl 6" noticed by smash++
17:11 putter kolibrie: that's the terse version.  perhaps less obscure is http://sial.org/pbot/23206
17:11 lambdabot Title: Paste #23206 from "putter" at 66.30.117.127
17:12 shillo joined perl6
17:13 kolibrie much better (got a litte confused by the "" in the terse)
17:14 kolibrie looks sane, I think
17:17 chris2 joined perl6
17:19 shillo joined perl6
17:20 putter agreed.  the S05 section was giving me a headache for some reason.  but the ideas seem sane.
17:23 putter 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:24 putter <cue twilight zone background music>
17:25 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 perl6
17:27 putter it is nifty, isn't it
17:27 putter sometimes you get to close and forget that
17:27 putter *too
17:29 putter p6 is very, very neat.
17:29 putter let us be productive elves and usher in xmas
17:29 putter :)
17:30 shillo Funny. And I just took time to read most of S05 today :)
17:30 shillo Well, top 2/3. Or more than half.
17:32 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"?
17:33 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
17:33 shillo That section could use an example
17:34 REPLeffect hehe
17:34 shillo from future import Perl6 ;)
17:34 shillo <--- currently afflicted with the snake @work. :p
17:36 wilx joined perl6
17:36 putter I just get an error. :(  Briefly had visions of xmas in April.
17:37 shillo Hm, just updated pugs. Where's to look at for current development? kp6?
17:39 * putter tries to choose between http://rakudo.org/perl6/index.cgi and http://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
17:39 kolibrie shillo: fglock is working on kp6 and Pugs-Compiler-Rule, lwall on src/perl6/Perl-6.0.0-STD.pm
17:40 kolibrie 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.
17:41 shillo I also visit colabti.de for logs.
17:41 shillo ... so I get tidbits here and there. :)
17:42 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.
17:43 kolibrie haven't looked at yet_another_regex_engine yet
17:43 shillo Hmm, me neither
17:44 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:45 putter there is also...
17:45 shillo Oh, another unclear thing in S05, about longest-token rule and | operator...
17:45 putter http://dev.pugscode.org/query
17:45 lambdabot Title: Custom Query - Pugs - Trac
17:45 * 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?)
17:46 shillo Does it mean that all |'ed subrule prefixes get tried, with longest match going on.
17:46 shillo Er, ?
17:47 * putter is unclear on longest token match.
17:47 shillo Hmm, so I'm not the only one. :)
17:48 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 perl6
17:53 TimToady you can ignore the symbol stuff in S05, it's already obsolete
17:53 shillo Oh! :)
17:54 * shillo has to head foodwards. Laters, all!
17:54 shillo And thanks for the info!
17:54 TimToady in fact, I just now deleted it
17:55 bernhard joined perl6
17:55 kolibrie TimToady++ # deleting obsolete documentation
17:55 specbot6 r14307 | larry++ | Deleted obsolete symbol construct
17:56 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 putter shillo: wave
17:57 justatheory joined perl6
17:59 xinming_ joined perl6
18:08 fglock joined perl6
18:14 rdice joined perl6
18:15 nekokak_ joined perl6
18:22 [particle] does 'max' on a range object return the initial 'to' value, or the maximum number it can output based on 'by'?
18:24 fglock I'd say it depends on by
18:24 [particle] does that mean it forces evaluation?
18:24 fglock not exactly
18:25 fglock I've got a reference implementation in p5
18:25 [particle] ?eval my $x= 1..10; say $x.max
18:25 evalbot_r15377 OUTPUT[1 2 3 4 5 6 7 8 9 10␤] Bool::True
18:25 [particle] hrmm
18:25 fglock the idea is that you can evaluate both forward (shift) or backwards (pop)
18:25 [particle] how is my syntax wrong?
18:25 [particle] ah, i see
18:26 [particle] no, i don't
18:26 putter lol
18:26 fglock ?eval (1..10).max
18:26 [particle] for a range of 1..10.5:by(3)
18:26 evalbot_r15377 10
18:27 putter ?eval (1...10):by(3)
18:27 evalbot_r15377 Error: ␤Unexpected "10"␤expecting operator or ")"
18:27 [particle] ?eval (1..10.5:by(3)).max
18:27 evalbot_r15377 Error: ␤Unexpected ":by"␤expecting fraction, exponent, term postfix, operator or ")"
18:27 putter ?eval (1..10):by(3)
18:27 evalbot_r15377 Error: ␤Unexpected ":by"␤expecting term postfix or operator
18:27 * putter switches to local pugs.  doesn't think fraction flies.
18:28 fglock [particle]: http://svn.pugscode.org/pugs/perl5/Pugs-Runtime-Value/lib/Perl6/Value/List.pm
18:29 lambdabot http://tinyurl.com/yvhwcb
18:29 putter grepping tests suggests its all todo feature
18:29 offby1 lambdabot: you are my savior!  Tell whoever taught you to generate tinyurls that they are wonderful, kind, and an officer and a gentleman
18:29 [particle] ?eval (1.2..10.5).max
18:30 evalbot_r15377 51/5
18:30 [particle] gah
18:30 [particle] so, max is broken in pugs
18:30 [particle] ?eval (1.2..10.5).minmax
18:30 evalbot_r15377 Error: No compatible subroutine found: "&minmax"
18:30 fglock from_num_range() implements this, but max() has a XXX on it :(
18:30 * putter didn't realize one could do ranges over Real.  hmm.
18:31 [particle] sure, 1.2..10.5:by(4.6)
18:32 putter fglock: did you deal with $/ rebinding in the middle of a regex?   any thoughts?  /(a)$/:=(b)(c)/   sigh.  slog slog.
18:33 diakopter ?eval say 'line 1','line 2'
18:33 putter autovivifying matches...    /$0[1][1][1]:=(a)/
18:33 evalbot_r15377 OUTPUT[line 1line 2␤] Bool::True
18:33 putter shudder
18:34 fglock putter: no, $/ would be straightforward, I guess - but autovivifying is a bit more difficult
18:35 fglock I'm uncertain if it vivifies to array of match( array of match( ...
18:35 putter oh, there's that too. :/
18:36 fglock or simply match( array of array ...
18:37 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
18:38 putter woot!  err, performance?  tie()s?
18:39 * 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)
18:39 putter ah, ok
18:39 putter cpan module?
18:40 putter actually, never mind.  mission creep.
18:40 fglock hmm - it doesn't make much sense without the compiler, it's too verbose
18:41 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?
18:41 [particle] err, 'cend' that is
18:41 fglock putter: I've yet to find something to focus on
18:42 fglock [particle]: yes, cend() - these are just internal names
18:43 fglock I don't remember what it meant - maybe 'closure to compute the end'
18:44 putter hmm.  if the next pugs release was here, would the focus puzzle look any different?
18:45 putter a different approaches - what are you uniquely/particularly suited to contribute on?  what might be -O fun?  anything with a bit of both?
18:46 fglock well, this would shift the focus to the next pugs release after that :)
18:46 putter lol
18:47 fglock do you think your regex compiler could replace PCR current engine? in this case I should probably help you with that
18:48 fglock I'm mostly writing throw-away code lately, I'd probably like to discuss some results and see where to go next
18:49 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
18:50 fglock 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 perl6
18:51 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:52 putter re discuss, fun! :)
18:52 PerlJam universal as long as your universe is mostly composed of academics.
18:52 putter ah
18:53 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.
18:55 putter re leak, my code assumes Matches from subrules know the name of the subrule they came from.  non spec.  hmm...  
18:56 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.
18:57 fglock PCR matches are plain objects
18:57 fglock they do keep a pointer to the matched string, but that's all
18:57 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.
18:58 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.
18:58 putter it
18:59 putter hmm
18:59 fglock compiled code actually calls methods, rather than using overloads
18:59 fglock so not a problem
18:59 putter k
19:00 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. ;)
19:02 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".
19:03 putter 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:04 fglock re PerlMix - how about mp6...
19:04 fglock it would be directly usable by kp6 and mp6 itself
19:05 fglock 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.
19:06 putter 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
19:07 putter 10x less so if they are not overloaded. :)
19:08 putter re PerlMix/mp6...
19:08 fglock hmm - creating an object pool - but this is hard to do efficiently in p5
19:09 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:12 putter 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:13 audreyt <- working on robust p6 objects
19:13 lambdabot audreyt: You have 3 new messages. '/msg lambdabot @messages' to read them.
19:13 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.
19:13 audreyt but even when we do, doing it in p5 and have Work Right (tm) is much more important than simple bootstrap
19:14 putter s/only place to stand/only place I'm happy standing/
19:14 Ziggy6 joined perl6
19:14 audreyt because of developer community, yes
19:14 putter audreyt++ # re working on robust objects
19:14 diakopter 'tisn't
19:14 audreyt delayed for 3 months and the bridge itself only took 3 hours...
19:14 fglock mp6 does p5
19:14 putter danke
19:14 audreyt oh well, that's software for you :)
19:15 putter sigh
19:15 fglock audreyt++
19:16 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:17 audreyt k.
19:18 fglock my theory is of 'circular bootstrapping' :)
19:18 fglock it's like doing indirections
19:19 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:20 putter this just seems the shortest path through that mass of bleeting yaks.
19:20 putter re "once I can":  and which run fast
19:21 the_dormant joined perl6
19:21 Ziggy6 putter: this means you'll only do it in LISP? :D
19:21 Macae joined perl6
19:22 putter "Perl 6 - implementing our literals is more complex than most peoples' whole programming languages."
19:25 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.
19:25 audreyt er, "ferociously difficult" accordting to spj
19:26 putter ooo, can we capture that quote someplace?  get permission to use it?
19:26 audreyt sure. fair use.
19:26 fglock I see multi methods and macros as syntax sugar - maybe this is why I think bootstrapping is not a problem
19:26 putter do you still have the full original?  was an email?
19:27 explorer joined perl6
19:27 audreyt putter: cite: A History of Haskell: being lazy with class
19:28 audreyt ". At the time there were no implementations of
19:28 audreyt Perl 6, at least partly because it is a ferociously difficult language to
19:28 audreyt implement. "
19:28 gaal <-- pining for the tshirt
19:28 audreyt # http://research.microsoft.com/~simonpj/papers/history-of-haskell/index.htm
19:28 lambdabot Title: A History of Haskell, http://tinyurl.com/yowkle
19:28 fglock http://research.microsoft.com/~simonpj/papers/history-of-haskell/history.ps
19:28 lambdabot http://tinyurl.com/2y9ooc
19:28 fglock heh
19:29 rindolf joined perl6
19:29 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:30 putter ;)
19:31 putter though perhaps audreyt has the insight - p5 isn't the language, it's the vm.  cpan in the language...
19:31 audreyt :D
19:32 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 ludan joined perl6
19:32 * putter wants a "CPAN: The Reference Manual"  book.
19:32 dec joined perl6
19:33 fglock </sell mp6>
19:36 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:38 putter 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:39 putter and it looks like most of the pugs t/regex/* could be used more or less directly by p5.
19:39 putter so if you have a testing infrastructure itch...
19:40 putter gaal: oh, yes, please
19:40 putter audreyt: still have that cafepress account? ;)
19:41 * putter can't believe he is distracting audreyt from pugs oo critical path, but... it'd make a great Tshirt :)
19:42 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 fglock working in mp6 is very distracting :)
19:42 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.
19:43 putter lol
19:43 Juerd What exactly would make a great shirt?
19:43 fglock re what works - you can take a look at the source code, since it compiles itself
19:44 putter Perl 6 - "a ferociously difficult language to implement" - SPJ, creator of Haskell
19:45 putter or   "Perl 6...is a ferociously difficult language to implement" - SPJ, creator of Haskell
19:46 putter I suppose the target audience would be a bit small and language nerdy.
19:47 diakopter "audreyt: on the (pugs (oo)) critical path"
19:47 putter wonder how spj describes implementing hs
19:49 putter "..." - SPJ, Haskell, MON YEAR
19:49 fglock [ot] ugh - too many instant messages, and I'm getting 7k spam messages/month
19:51 gaal actually I was thinking of
19:51 gaal "ferocious developer"
19:52 [particle] "ferociously difficult developer"
19:52 UWC joined perl6
19:52 allbery_b aren'tr they all?
19:52 allbery_b maybe I should say "aren't *we* all" :)
19:52 [particle] NO!
19:52 putter Though the obvious comeback to the T wearer is "you say that like its a *good* thing...". ;)
19:53 [particle] "laziness, impatience, hubris -- three qualities of a ferociously difficult developer"
19:54 cj fglock: I've only got 4k!
19:55 cj fglock: thing how difficult life would be if we were important :)
19:55 gaal http://www.codeslate.com/2007/01/you-dont-bury-survivors.html
19:55 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.
19:55 lambdabot Title: code slate: you don't bury survivors
19:57 * [particle] ponders (1.2.3..4.5.6:by(0.0.1))
19:57 [particle] you can't get there from here!
19:57 * gaal ponders 6 .. 2*pi :by(digits)
19:57 fglock cj: aren't we?  :)
19:57 diakopter putter: perl was in OLPC, but they took it out, I heard.
19:58 Macae left perl6
19:58 fglock putter: re performance: it compiles here at roughly 1kb of source code/second
19:59 putter very memory constrained.  also space.  also hoped to be kid modifiable... I'd much rather kids learn to program in py than p5.
20:00 Schwern They're planning on putting Squeak on it
20:00 Schwern And the windowing environment is in Python
20:00 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?
20:01 putter yes
20:01 rindolf Hi Schwern
20:01 Schwern "The laptop will use the Sugar graphical user interface, written in Python, on top of the X Window System"
20:01 Schwern "several interpreted programming languages, including Logo, JavaScript, Python, Csound, and the eToys version of Squeak"
20:02 Schwern http://en.wikipedia.org/wiki/One_laptop_per_child#Software
20:02 Schwern hey
20:02 putter yes.  various apps^Hactivities will also be python
20:02 fglock putter: exactly - the amount of language implemented is exactly what was needed...
20:03 fglock 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?
20:04 putter Schwern: no
20:04 Schwern Oh good.
20:04 putter that the societal impact of p6 becoming available one year, or a year later, are nontrivial.
20:04 jferrero joined perl6
20:05 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:07 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
20:07 Schwern You're worried about next year.  I'm worried about 20 years from now.
20:08 TimToady so pugs is correct
20:08 TimToady Schwern++
20:08 Schwern TimToady:  Does karma from you count, like, triple?
20:08 * 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.
20:09 diakopter Schwern++++++
20:09 putter warm body/brain *dollars* resource constraints
20:10 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.
20:11 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 putter re drown, ??
20:11 rindolf Schwern: you mean perl-5.9.x?
20:16 TimToady the "Perl 7" discussion, I think
20:16 TimToady not to mention the strange regex ideas
20:17 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:19 * putter looks...
20:21 Schwern Just in general.
20:22 Schwern autoboxing got shot down quickly.  "use feature" bothers me because we can't even add keywords to the language anymore.
20:22 Schwern The whole safe eval, isa() and can() thing
20:23 putter oh my.  putter retreats from the noisy world to focus on pugs.  few minions, but little politics.
20:26 fglock putter: :)
20:27 TimToady There's little wrong with Perl 5 today that wasn't already wrong in 2000 when 361 RFCs were written...
20:28 explorer joined perl6
20:31 audreyt TimToady: foreign object models.
20:31 audreyt say the p5 bridge has HOW that uses p5 dispatch
20:31 audreyt s/has/gets us objects that/
20:31 audreyt does the bridge also have to manufacture WHAT/WHICH/WHO/WHERE?
20:32 audreyt 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
20:33 audreyt i.e. defining them in p5-land doesn't do anything, right?
20:33 audreyt yup.
20:33 audreyt so if I say "sub WHICH { ... }" in p5 land for that package
20:33 audreyt it doesn't actually get invoked
20:33 TimToady WHICH is more likely to call stringify or some such
20:34 audreyt actually, WHICH is meant to be user-overridable
20:34 audreyt so maybe they _are_ ordinary calls?
20:35 audreyt 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
20:35 audreyt by intercepting method lookup failures (but before AUTOLOAD kicks in), perhaps
20:35 audreyt case in point: # use perl5:DBI; DBI.new.WHICH
20:36 audreyt (everything is in place to bridge perl5 MOP into MO now, hence the question)
20:36 audreyt I'd like to do that first because method dispatch for Perl5SV is already separate in the runtime
20:36 [particle] TimToady: thanks for the clarification, could you clarify the spec?
20:36 audreyt so it's easier than replacing all our builtin Pugs.Prim (that's next)
20:37 dduncan joined perl6
20:37 TimToady [particle]: you mean on .max?
20:37 fglock audreyt: how about Scalar::Util::refaddr() for WHICH
20:37 [particle] TimToady: yes, sorry, i was lost in scrollback land
20:37 audreyt fglock: make it the same as WHERE?
20:37 audreyt that's a thought..
20:37 forsaken joined perl6
20:38 [particle] and... is (0..-2:by(-1)).max == 0 ??
20:41 TimToady [particle]: I'll need to think about that
20:42 PerlJam TimToady: riffing from particle ... and if so, what's the selector for getting either end point?
20:42 justatheory_ joined perl6
20:42 PerlJam I presume that (0..-2:by(-1)).[-1] may be bad for laziness?
20:43 PerlJam especially when it's more like -Inf than -2
20:43 PerlJam :)
20:44 PerlJam $range.lhs and $range.rhs may work though
20:44 the_dormant joined perl6
20:45 jferrero joined perl6
20:45 fglock PerlJam: that's worked out - it just calls a closure that returns a (possibly lazy) value
20:46 fglock (0..Inf)[100..1000]
20:46 PerlJam fglock: if you say so ... I only flit in and out of #perl6 consciousness these days.
20:47 * offby1 slaps PerlJam's cheeks, and waves smelling salts under his nose
20:47 PerlJam offby1: You're not supposed to slap *those* cheeks!  
20:47 * offby1 blushes furiously
20:48 offby1 well, they were exposed.
20:48 offby1 how was I to know.
20:48 stevan_ joined perl6
20:53 baest joined perl6
20:56 REPLeffect_ joined perl6
20:56 fglock home &
20:57 putter g'night fglock
20:57 diotalevi joined perl6
20:57 Ziggy6 left perl6
20:58 fglock left perl6
21:02 audreyt .HOW now supported in MO
21:02 audreyt perl5 bridge next, then Pugs.Prim rewrite, then see if smoke still likes us.
21:02 svnbot6 r15378 | audreyt++ | * MO: Switch from String to ID for all ClassName/MethodName/AttributeName.
21:04 diakopter @seen nothingmuch
21:04 lambdabot nothingmuch is in #darcs, #haskell and #perl6. I don't know when nothingmuch last spoke.
21:05 pasteling "evalbot_r15377" at 194.145.200.126 pasted "Pugs build failure" (494 lines, 26K) at http://sial.org/pbot/23217
21:05 nothingmuch yo
21:05 Aankhen`` joined perl6
21:08 lichtkind joined perl6
21:08 svnbot6 r15379 | gaal++ | * quell some warnings that appear in 'make ghci'
21:09 buetow joined perl6
21:09 svnbot6 r15380 | gaal++ | * make PUGS_GHCI_DEBUGGING a little more sensible
21:10 nothingmuch diakopter: ?
21:10 svnbot6 r15381 | audreyt++ | * Pugs.Class: Make Show a superclass to Boxable.
21:12 svnbot6 r15382 | audreyt++ | * Pugs.Val: The second MO class, "Class" now wrapped:
21:12 svnbot6 r15382 | audreyt++ |     vv('foo').HOW;      # Str
21:12 svnbot6 r15382 | audreyt++ |     vv('foo').HOW.HOW;  # Class
21:12 svnbot6 r15382 | audreyt++ |   Full MOP (.WHICH, .methods etc) is next, then Perl 5
21:12 svnbot6 r15382 | audreyt++ |   bridge, then Pugs.Prim rewrite.
21:14 svnbot6 r15383 | audreyt++ | * Repair buildfail by merging with gaal++
21:14 svnbot6 r15384 | audreyt++ | * Ditto.
21:19 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.
21:19 svnbot6 r15385 | audreyt++ |   Reported by: Eric Hanchrow
21:21 meppl good night
21:21 putter wave
21:21 putter reality check: B can inherit from A things that A import()ed from X, yes?
21:21 putter p5
21:22 broquaint Yes.
21:22 putter tnx.
21:23 specbot6 r14308 | larry++ | Distinguish Range's intervalic .min and .max from its directed .from and .to.
21:23 buetow joined perl6
21:23 cddar joined perl6
21:24 cddar left perl6
21:24 gaal oops, did i break the build? sorry :)
21:25 TimToady < svnbot6> r15382 | audreyt++ |     vv('foo').HOW;      # Str
21:25 TimToady arguably that should return ^Str rather than STr
21:25 TimToady *Str
21:25 audreyt what does ^Str stringify to?
21:25 audreyt I thought it's the short name
21:25 audreyt may be wrong...
21:26 TimToady I think it needs to stringify to ^Str to avoid confusion with the Str prototype
21:27 [particle] ranges are strange beasties
21:28 TimToady hmm, I wonder if (1..10).push should return (1..11)
21:28 theorbtwo joined perl6
21:29 audreyt TimToady: nonmutating push?
21:29 TimToady Range is currently mutable
21:29 [particle] range extension?
21:30 TimToady and we always said you could iterate a range on either end, but never said how.
21:32 TimToady 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?
21:33 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
21:33 audreyt (and I don't really see a compelling case for it to be mutable...)
21:33 TimToady S03 has always said it's mutalbe
21:33 TimToady *mutable
21:34 audreyt #     Range       A pair of Ordered endpoints; gens lazy Seq in list context
21:34 audreyt uh, where?
21:35 TimToady the place where it says "Range objects are lazy iterators"
21:35 TimToady there's no such thing as an immutable iterator
21:36 audreyt ok... I parsed it as saying it supports the iterating interface
21:36 audreyt much as Seq does
21:36 audreyt for 1,2,3 { ... }
21:36 audreyt for 1..3 { ... }
21:36 [particle] exhausted iterators are immutable
21:36 audreyt wasn't aware that there's a need to seek a range mutably
21:37 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
21:37 audreyt then you use two Scalars...
21:38 audreyt I'd like to not have
21:38 audreyt (1,2,3).push # nonsensicle
21:38 audreyt (1..3).push # sensible (!)
21:38 audreyt seems really weird.
21:39 [particle] (3..1:by(-1)).push # pushes what where?
21:40 TimToady you'd end up with (3..0:by(-1))
21:40 gaal are sensicles what you get when it rains smarts and freezes?
21:43 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.
21:44 TimToady 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 ...
21:45 [particle] is :by(...) invariant?
21:45 audreyt dduncan: no I need to sleep :)
21:45 TimToady for a given Range construction
21:45 TimToady I think so
21:45 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?
21:46 audreyt dduncan: no, but you can expect it to work in ~2wk
21:46 dduncan thank you
21:46 * ingy waves
21:46 [particle] TimToady: are expressions allowed?
21:46 audreyt integral: yo
21:46 TimToady at construction time
21:46 dduncan fyi, I would probably use such a feature to implement multi-attribute indexes for relations
21:47 TimToady 1..100:by($x) is fine
21:47 dduncan or should I say, multi-attribute keys
21:47 ingy autark: hola :P
21:47 dduncan or both
21:47 TimToady we don't have to decide whether .min and .max swap ends until construction time
21:47 TimToady when we see whether $x is negative
21:47 [particle] 0..1:by(rand)
21:48 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
21:48 [particle] precisely
21:49 TimToady but 0..1:by(0) is no worse than 0 xx *
21:49 putter brain pudding &
21:54 miyagawa joined perl6
21:57 TimToady bbl &
22:04 audreyt bbl &
22:05 awwaiid joined perl6
22:05 svnbot6 r15386 | audreyt++ | * MO.Run: Metaclasses now stringify with a leading "^".
22:17 polettix joined perl6
22:26 Psyche^ joined perl6
22:38 Psyche^ is now known as Patterner
22:41 buetow joined perl6
22:46 buetow joined perl6
22:59 wilx` joined perl6
23:30 mako132_ joined perl6
23:34 gnuvince_ joined perl6
23:58 Khisanth joined perl6
23:59 Ziggy6 joined perl6

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

Perl 6 | Reference Documentation | Rakudo