Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2007-01-30

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:11 spoop joined perl6
00:19 hexmode joined perl6
00:27 explorer__ joined perl6
00:30 explorer__ left perl6
00:42 putter sigh.  +  if(!defined $noop){die "this perlbug workaround line didn't"} .  but at least it currently does :/
00:45 putter v5.8.8.
00:46 putter let's create generative testing for p6, and in general test aggressively, so we, rather than our users, track down implementation bugs...
00:47 * bonesss is away: movie
00:48 * bonesss is back (gone 00:00:11)
00:48 bonesss is now known as bonesss`movie
00:52 leed joined perl6
00:57 weinig|away is now known as weinig
01:01 buetow joined perl6
01:02 jferrero joined perl6
01:04 buetow joined perl6
01:07 nipotaway is now known as nipotan
01:12 mako132_ joined perl6
01:13 quow joined perl6
01:13 DebolazY joined perl6
01:18 BooK joined perl6
01:22 integral joined perl6
01:31 quow left perl6
01:41 Schwern joined perl6
01:45 drupek12167 joined perl6
01:57 weinig is now known as weinig|away
02:03 thepler joined perl6
02:05 diotalevi left perl6
02:07 REPLeffect_ joined perl6
02:42 ashelyb_ joined perl6
02:44 dmq joined perl6
03:16 lyokato_ joined perl6
03:22 Alonso joined perl6
03:30 Alonso Hi all. Perhaps I've made an idiot out of myself. I apologizes. Loosen up. Please. I need your help...
03:45 Alonso left perl6
04:02 jdv79 where's a list of things a mere mortal can do to forward p6?
04:08 justatheory joined perl6
04:15 TimToady jdv79: one of the most important things is to ask questions when the documents are unclear.
04:15 TimToady some people like to write test or docs or smartlink the tests to the docs
04:16 TimToady putter++ is developing a project chart that should show some interesting spots to work, but it's not exactly a list...
04:17 nipra joined perl6
05:04 tene jdv79: I'd argue that at least the majority of Perl6 coders are mere mortals.
05:04 justatheory joined perl6
05:07 PerlJam tene: That's an argument that can go both ways.  By virtue of even being a perl6 coder, they are exceptional in a way that most people are not.
05:07 PerlJam :-)
05:14 * allbery_b wonders by how many names he's going t be recorded in p6...
05:16 TimToady :)
05:16 drupek12167 joined perl6
05:19 svnbot6 r15157 | putter++ | misc/pX/Common/yet_another_rules_engine - progress.  Perl 5 regexps are starting to run.  Tests added.  re_tests.t is 30% okay.  See README.  Help welcome.
05:21 amnesiac joined perl6
05:21 putter jdv79: ping?
05:22 putter hi folks
05:22 amnesiac joined perl6
05:25 PerlJam hello putter
05:26 TimToady greetinks, comrade
05:28 putter project_planning/TASKS has a list of things to do.  Several of them require only minimal perl skill.  Some only pod skill.  Some only english.
05:28 svnbot6 r15158 | putter++ | project_planning/TASKS - added task 'neaten up the cruft at the top of run-smoke.pl'.
05:29 PerlJam TimToady: I have a weird question for you ... is there anything that you think the perl6 community should have but hasn't grown yet?  (other than the obvious working perl6 compiler :-)
05:37 svnbot6 r15159 | putter++ | project_planning/TASKS - dusting.  New intro paragraph, some reordering, "New stuff"/"Old stuff" distinction removed.
05:38 putter lambdabot: ?tell jdv79 For things to do, take a look at project_planning/TASKS... thanks for your help.
05:38 lambdabot Consider it noted.
05:39 putter good night &
05:39 TimToady PerlJam: an exception hierarchy, maybe
05:44 TimToady but I presume you mean a new pieces of community that should grow...
05:47 PerlJam yes.
05:47 PerlJam maybe.
05:47 PerlJam I was being vague because I didn't quite know where to draw the boundaries.
05:48 TimToady we could use a billionaire or two in the community.  :)
05:50 PerlJam as long as he's also a philanthropist.  A billionaire coder is probably worth about the same to the perl6 community as any other coder.  :-)
05:51 TimToady well, yeah, but we could probably hack into their computer and rewrite their will...
05:52 allbery_b that only helps if you can find a cheap, reliable, untraceable hitman too :)
05:52 PerlJam How come one of you semi-famous perl people aren't billionaires yet?
05:52 TimToady well, if we recruited enough of them, the law of large numbers kicks in.
05:52 ingy Patience is not a virtue here
05:52 TimToady them being billionairs, not hitmen...
05:53 * ingy is a Turkish Billionaire
05:53 PerlJam Anyone who's mentioned in "Crossing the Chasm" and is said to "see around corners" should surely have made at least a few million by now  ;)
05:53 TimToady actually I think they just lopped of 6 zeros...
05:54 TimToady *off
05:54 ingy TimToady: and you just lopped off one f
05:54 * ingy goes back to invisible mode
05:56 gaal ingy:
05:56 ingy  
05:56 ingy
05:56 ingy            
05:57 PerlJam I've often wondered why we haven't seen a open source software mogul yet.  I mean, you could argue that we have, they just haven't been profitable, but being an american, my thoughts are colored by capitalism.
05:58 gaal Isn't that guy who went off to space and started Ubuntu kinda rich?
05:58 wamiks joined perl6
05:59 PerlJam If so, why haven't we asked him for money?  (By which I mean, why hasn't TPF asked him for money?)
05:59 ingy Linux hates Perl
05:59 * ingy votes to pull Linux support
06:00 ingy TimToady: let's hold Perl hostage!!!!!!
06:00 * gaal had better get away from the 'puter and go back to looking for daffodils
06:12 szabgab joined perl6
06:14 BooK_ joined perl6
06:17 justatheory joined perl6
06:18 szabgab ?eval " #( comment )"
06:18 evalbot_r15144 is now known as evalbot_r15159
06:18 evalbot_r15159 " #( comment )"
06:18 szabgab ?eval " #{ comment }"
06:18 evalbot_r15159 Error: No compatible subroutine found: "&comment"
06:19 tene ?eval #(comment)
06:19 evalbot_r15159 undef
06:19 szabgab it seems to me that #{ specifically does not work
06:19 tene ?eval #{ comment }
06:19 evalbot_r15159 undef
06:20 tene looks like it works fine to me
06:20 szabgab so why did I get the above Error ?
06:20 allbery_b #{} executes embedded code in a string?
06:21 allbery_b ?eval "try #{2 + 2}"
06:21 tene ?eval sub foo { return "a" }; " #{ foo }"
06:21 evalbot_r15159 "try #4"
06:21 evalbot_r15159 " #a"
06:21 szabgab oh I get it, {} interpolates/evaluate
06:21 allbery_b ah, just {}/  was thinking ruby...
06:22 szabgab even before #{ could be seen
06:30 szabgab ?eval if 1 == 1|2 say "bu"
06:30 svnbot6 r15160 | szabgab++ | testing nested comments
06:30 evalbot_r15159 Error: ␤Unexpected "say"␤expecting operator or bare or pointy block construct
06:30 szabgab ?eval if 1 == 1|2 {say "bu"}
06:30 evalbot_r15159 OUTPUT[bu␤] Bool::True
06:30 szabgab ?eval y "bu" if 1 == 1|2
06:30 evalbot_r15159 (*** No compatible subroutine found: "&y"␤     at <eval> line 1, column 1-8)
06:30 szabgab ?eval say "bu" if 1 == 1|2
06:30 evalbot_r15159 OUTPUT[bu␤bu␤] (Bool::True)
06:31 tene That's odd...
06:31 tene Why was that printed twice?
06:31 TimToady some kind of spurious autothreading?
06:31 TimToady ?eval say "bu" if 1 == 1|2|3
06:32 evalbot_r15159 OUTPUT[bu␤bu␤] (Bool::True)
06:32 TimToady ?eval say "bu" if 1 == 1
06:32 nekokak joined perl6
06:32 evalbot_r15159 OUTPUT[bu␤] Bool::True
06:32 tene ?eval say "bu" unless 1 == 1|2|3
06:32 evalbot_r15159 (undef)
06:32 tene ?eval say "bu" if 1 != 1|2|3
06:33 evalbot_r15159 OUTPUT[bu␤bu␤] (Bool::True)
06:34 tene ?eval say "bu" if 1 != 1|2
06:34 evalbot_r15159 is now known as evalbot_r15160
06:34 evalbot_r15160 OUTPUT[bu␤bu␤] (Bool::True)
06:35 tene ?eval sub foo { 1 }; foo() if 1 == 1|2
06:35 evalbot_r15160 (1)
06:35 tene ?eval sub foo { say 1 }; foo() if 1 == 1|2
06:35 evalbot_r15160 OUTPUT[1␤1␤] (Bool::True)
06:35 szabgab which test file should I add this? t/junctions/misc_junctions.t ?
06:45 svnbot6 r15161 | szabgab++ | if modifier with junction should be called once
06:50 drrho joined perl6
07:12 marmic joined perl6
07:28 REPLeffect_ joined perl6
07:32 wilx joined perl6
07:51 kanru joined perl6
07:58 iblechbot joined perl6
08:37 gaal joined perl6
08:48 Ziggy6 joined perl6
09:04 Ziggy6 left perl6
09:14 andara joined perl6
09:39 kanru joined perl6
09:40 elmex joined perl6
09:51 rindolf joined perl6
10:07 nipotan is now known as nipotaway
10:23 dduncan left perl6
10:24 andara joined perl6
10:26 fandang0 joined perl6
10:27 REPLeffect_ joined perl6
10:29 ruoso joined perl6
10:42 cmarcelo joined perl6
10:46 VanilleBert joined perl6
10:48 REPLeffect_ left perl6
10:56 rfordinal joined perl6
11:23 kanru joined perl6
11:24 Southen joined perl6
11:36 Southen joined perl6
11:55 Southen_ joined perl6
11:55 Southen joined perl6
11:59 VanilleBert left perl6
12:30 kanru_ joined perl6
12:31 gaal http://perlcabal.org/~gaal​/Perl6-Gather-0.02.tar.gz # alt version of Perl6::Gather, updated to new spec
12:36 nothingmuch moooooosedimooose
12:39 gaal foomooelk
12:41 rindolf Hi nothingmuch, gaal
12:41 nothingmuch hi
12:42 rindolf nothingmuch: what's up?
12:42 nothingmuch 90° from whatever's straight ahead
12:43 rindolf Kudos for the °
12:43 rindolf Compose+0+^
12:43 gaal "uni degree"
12:44 nothingmuch in order to be a smartass one must have control of the unicode character pallette and/or a mac keyboard
12:44 gaal nope
12:44 nothingmuch this is my smartass mantra, and is thus relative
12:44 nothingmuch in order to be a smartass one must have an array of stupid arguments like "everything is relative"
12:55 kisu joined perl6
13:01 BooK joined perl6
13:22 Limbic_Region joined perl6
13:24 jferrero joined perl6
13:33 andara joined perl6
13:36 andara left perl6
14:00 giftnuss joined perl6
14:07 buetow joined perl6
14:08 BooK_ joined perl6
14:18 cognominal joined perl6
14:22 nipra joined perl6
14:32 weinig|away is now known as weinig
14:34 vel6608 joined perl6
14:46 iblechbot joined perl6
14:48 chris2 joined perl6
15:00 hexmode joined perl6
15:13 weinig is now known as weinig|away
15:20 VanilleBert joined perl6
15:34 weinig|away is now known as weinig
15:38 ofer1 joined perl6
15:58 bonesss joined perl6
16:04 weinig is now known as weinig|bbl
16:19 jferrero joined perl6
16:53 kanru joined perl6
17:03 integral joined perl6
17:20 wamik1 joined perl6
17:29 luqui joined perl6
17:30 luqui TimToady, uhm, I think having 0 and -0 behave in distinguishable ways would be a mistake
17:30 luqui it's bad enough that they output differently... but that's a copable bug
17:31 luqui I don't want to have to write @foo[abs($idx)] if I have computed $idx just to be sure
17:32 luqui (I also kinda wish that indexing from the front vs. the end were a compile time distinction, but that might be too antidwimmy)
17:38 TimToady lemme answer his other questions first to preclude people continuing the same thread...
17:39 luqui k
17:49 thepler joined perl6
17:50 bernhard joined perl6
17:53 justatheory joined perl6
17:53 TimToady back
17:56 mdiep joined perl6
17:56 TimToady yes, I think having @array[-0.0] see off the end of the array is relatively useless.
17:57 TimToady using the sign as a "whence" is bogus in any event, as we all know, but use all the time anyway. :)
17:59 TimToady @array[*-1] is a possibility, if * dispatches to return the length of the current subscript in numeric context.
18:00 TimToady heh, then @array[+*] would be the element off the end of the array.
18:03 TimToady for a single dimensional array @array[+*] is just shorthand for @array[+@array], but for a multidimensional array you'd have to look up the array's various dimensions to get the same meaning as @array[*, +*] and the like
18:04 TimToady er, make that @array[*; +*] rather
18:06 miyagawa joined perl6
18:13 TimToady luqui: we could say that only unshaped arrays dwim -1 and shaped arrays (even with shape [*]) require *-1 or some such to be explicitly relative to the end.
18:15 TimToady then it's easy to turn off the dwimmery with "my @array[*]" and still get a dynamically sized array.
18:16 TimToady it also naturally falls out that "my @array[-5..5]" disallows the dwimmery.
18:16 TimToady so there's no ambiguity as to whether a negative subscript should be used directly or counted from the end.
18:18 TimToady okay, now to hack the specs for all these things...
18:18 [particle] if you have a single dimensional array, will @array[*;0] be an error?
18:18 [particle] how about @array[0;*]?
18:19 TimToady as an rvalue @array[*;0] would be undef, as an lvalue it would presumably autovivify
18:20 TimToady but maybe * isn't allowed in lvalues at all...
18:20 diotalevi joined perl6
18:20 TimToady in general, if you ask for a dimension that's not there, you're going to get some kind of Failure object back.
18:21 PerlJam What does PDL do in this instance?
18:21 [particle] * in lvalue seems funny to me, but i can't think of all the combinations to see if there's a good use case
18:21 PerlJam Maybe there's some wisdom to be gained there.
18:22 [particle] i'd like to get Failure when extra dims are specified (and not available)
18:23 TimToady I'm not too worried about making the wrong decision here; pragmas are our friend.
18:23 [particle] in p5, [0;*] seems like it'd be "can't use 0 as an array reference"
18:24 TimToady you're confusing the array key with the array value
18:24 TimToady the array key is 0, the array value is the ref to the next dimension
18:25 [particle] yes, but in p5 there are no multi dim arrays, just refs
18:25 TimToady which we write [0][$ix]
18:25 [particle] hrmm, so that still exists in p6 land
18:26 TimToady it's just being explicit about the referential semantics, whereas [0;$ix] leaves it up to Array to decide how to lay it out
18:27 TimToady but for extensible dimensions it'll probably use [0][$ix] internally
18:27 [particle] yep
18:29 cdfh joined perl6
18:37 gaal hey TimToady, is "gathered" still in?
18:38 gaal nothingmuch and I discussed it and seem to agree that if it is, it can simply return the list, nonwritable
18:38 PerlJam "gathered"?  
18:38 allbery_b within the body of a gather, returns the current list of items
18:38 PerlJam sounds like a notation on an array or lazy list
18:39 PerlJam interesting.
18:39 gaal it's so you can do
18:39 gaal gather { .... take X if Y .... take some_default unless gathered }
18:40 TimToady gaal: never was in, as far as I'm concerned...
18:40 gaal TimToady: okay, thanks!
18:41 TimToady part of the reason for making take work en passant was to make it easy to remember gathered history
18:41 TimToady in a state variable
18:42 gaal nice distillation there.
19:08 weinig|bbl is now known as weinig
19:09 miyagawa joined perl6
19:12 REPLeffect joined perl6
19:15 araujo joined perl6
19:17 araujo joined perl6
19:22 araujo joined perl6
19:22 araujo joined perl6
19:26 Gruber joined perl6
19:27 Belaf joined perl6
19:31 Gruber is now known as Grrrr
19:35 sahadev joined perl6
19:40 devogon joined perl6
19:41 Belaf Hello. Is pugs still progressing? I used to follow it on http://pugs.blogs.com/, but there haven't been news for some time now...
19:42 luqui it is still going, slowly
19:42 luqui (well, quickly in fglock's case :-)
19:42 TimToady except he just went away on vacation.
19:43 TimToady lately it's putter++ that has been tearing up the track
19:43 Belaf Maybe it's just that audreyt stopped reporting things on her blog, then?
19:43 TimToady Belaf: the problem is that audrety++ is the only consistent blogger here, and she's not consistent.
19:44 Belaf Oh, I see. I was just a bit worried, I really appreciated reading her description about how well things were growing :)
19:45 TimToady some of us are tortoises, and some of us are hares
19:45 TimToady audreyt is one of the hares, which means she has to stop and take a breather now and then
19:46 Belaf It's just fine. Keep up with the wonderful work!
19:46 [particle] speak not about camels and moose
19:46 TimToady the earthquake and a family emergency didn't help on that
19:46 PerlJam parrots are all that matter!  ;)
19:47 TimToady well, if a moose is pining for the fjords, it's the likeliest to survive if it gets there... :)
19:49 PerlJam Speaking of hares ... if people can get VC funding for some hare-brained scheme, why can't perl6?
19:49 TimToady scheme is smaller than perl6 by far.
19:50 tene Heh.
19:50 * PerlJam used to have the scheme language spec and "proof" ... it was < 60 pages
19:50 PerlJam But perl 6 is certainly more interesting that scheme.
19:51 [particle] "Monsters are the most *interesting* people."
19:51 PerlJam perl6 needs a killer-app that can leverage VC interest in the language.
19:52 [particle] we need a flash player written in perl6
19:52 PerlJam At least I think it's easier to get VC funding for apps than for technology
19:52 wolverian algol60 was I think about 20 pages
19:52 TimToady don't need a killer app as long as the slope is always positive.
19:52 PerlJam [particle]: I'm learning flash right now and I've seriously thought about writing something in parrot.  (not that that helps perl6)
19:53 PerlJam action script looks like javascript so far (I haven't learned much)
19:53 TimToady someone should write an action script backend for p6...
19:54 * [particle] wants to see the apl backend for p6
19:55 [particle] ...but only *once*
19:55 TimToady don't need to see it at all, just need to be able to write it. :)
19:58 luqui uh, the JS backend should be easily portable to actionscript, no?
19:58 luqui for the correct definition of "easily"
19:59 * luqui beds
20:00 wolverian actionscript2 is quite different from ecmascript
20:09 Aankhen`` joined perl6
20:10 perlbot joined perl6
20:11 wilx joined perl6
20:12 perlbot joined perl6
20:23 prism joined perl6
20:27 polettix joined perl6
20:33 larsen_ joined perl6
20:34 zev joined perl6
20:43 gaal ..by that logic, does that mean we need a patheon investor?
20:44 * gaal wonders why everybody's been talking about money recently
20:44 gaal I mean more than they did $then
20:44 gaal fsvo everybody etc.
20:45 Belaf_ joined perl6
20:57 mako132 joined perl6
21:15 buu So, oh masters of the short and arbitrary code.
21:15 buu What is the coolest way in p6 to chunk an arbitrary list/array in to sections of $N?
21:16 dduncan joined perl6
21:24 TimToady ?eval gather { map { take [$^a,$^b,$^c,$^d] }, 0..20 }
21:25 evalbot_r15160 is now known as evalbot_r15161
21:25 evalbot_r15161 ([0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11], [12, 13, 14, 15], [16, 17, 18, 19], [20, undef, undef, undef])
21:26 TimToady or did you want $N as a free parameter?
21:26 kolibrie that's pretty impressive
21:27 kolibrie that might be 'cooler'
21:27 TimToady harder, though
21:27 TimToady and probably less cool if we have to splice an array
21:28 TimToady hard to algorithmically produce a signature of variable arity...
21:28 wolverian map -> @foo[0..$n] # :)
21:29 TimToady that would be the obvious way.  not sure it works
21:29 TimToady hmm, you'd want ..^ there
21:29 TimToady or just ^$n
21:29 wolverian true, thanks :)
21:30 wolverian but, yeah, I suppose that requires dependent types
21:30 wolverian or however you want to put it when you need runtime data
21:30 TimToady ?eval gather { map { take [@^foo[0..3]] }, 0..20 }
21:30 evalbot_r15161 ([0, undef, undef, undef], [1, undef, undef, undef], [2, undef, undef, undef], [3, undef, undef, undef], [4, undef, undef, undef], [5, undef, undef, undef], [6, undef, undef, undef], [7, undef, undef, undef], [8, undef, undef, undef], [9, undef, undef, undef], [10, undef, undef, undef], [11, undef, undef, undef], [12, undef, undef, undef], [13, undef, undef, undef], [14, undef, undef, undef], [15, undef, undef, undef], [16, undef, undef, undef], [
21:30 TimToady heh, it parsed
21:32 TimToady maybe a function that lazily generates the sequence Sig() Sig($) Sig($,$), and memoizes them.
21:32 wolverian now my head hurts
21:33 TimToady maybe we just need an unzip function
21:35 TimToady or a way to set the arity on a function that uses @_
21:35 TimToady well, I will nap on it. &
21:36 tene ?eval @foo = 1..22; gather { while @foo { take [ gather { for 1..4 { take shift @foo } } ] } }
21:36 evalbot_r15161 ([1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16], [17, 18, 19, 20], [21, 22, undef, undef])
21:40 tene ?eval sub chunk (@foo is copy,$size) { gather { while @foo { take [ gather { for 1..$size { take shift @foo if @foo } } ] } } }; chunk(1..15,4)
21:40 evalbot_r15161 ([1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15])
21:46 tene This is strange.  Running evalbot on another network, and it will only say "(no output)".
21:48 lambdabot joined perl6
21:48 jferrero joined perl6
21:50 rashakil_ joined perl6
21:58 tene I added a couple of debugging messages, and now it's saying "malloc: failed on request for 8184 bytes; message: allocHashList"
21:59 Juerd Then you're out of memory.
22:02 allbery_b joined perl6
22:02 tene I have plenty of memory.
22:22 tene ?eval 3**2
22:22 evalbot_r15161 9/1
22:22 tene What's the reason for the "/1"?
22:24 Gothmog_ Probably because pow() returns a Num...
22:26 tene 'kay
22:29 ashleyb joined perl6
22:41 SCalimlim joined perl6
22:57 autark joined perl6
23:00 Limbic_Region joined perl6
23:01 Limbic_Region ?
23:08 Psyche^ joined perl6
23:16 Psyche^ is now known as Patterner
23:21 ashleyb joined perl6
23:35 weinig is now known as weinig|away
23:36 Ziggy6 joined perl6
23:39 buetow joined perl6

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

Perl 6 | Reference Documentation | Rakudo