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