pugs.blogs.com/dist/Perl6-Pugs-6.2.13.tar.gz released! | run.pugscode.org | spec.pugscode.org | paste: sial.org/pbot/perl6 | pugs.blogs.com
Set by audreyt on 17 October 2006.
audreyt thus fulfilling one of TimToady's explicit design goals 00:00
Limbic_Region oooh, shiny
I just happen to have 2 processors
audreyt what a surprise, me too
re melatonin. no. should I?
TimToady imagine a beowolf cluster of pugses... 00:03
svnbot6 r14460 | seano++ | * Guarantee a single terminating semicolon when evaluating input from REPL.
00:04 thepler joined
holoway audreyt: it will help you get your sleep cycle back 00:05
audreyt holoway: ah. that's a good thing 00:06
TimToady when will Haskell get GPU support? :)
audreyt wonder how it'd interact with all sorts of brain altering chemicals I'm using...
TimToady: now? conal.net/Vertigo/ 00:07
lambdabot Title: The Vertigo GPU compiler
TimToady okay, how 'bout cell support? :)
audreyt another BSD licensed thing from Microsoft Research
as in organic computer? no idea :) 00:08
TimToady IBM cell
and PS3, is it? think so... 00:09
audreyt TimToady: there's only design not code yet: www.haskell.org/haskellwiki/Yhc/Ide...chitecture
TimToady I think it'd be cool if ==> could feed cell processors on a PS3
lambdabot Title: Yhc/Ideas - HaskellWiki, tinyurl.com/ydxupr
holoway audreyt: I would probably talk to your doctor about that 00:10
audreyt hmm, interesting arch
holoway audreyt: it can have some effects on other brain chemicals, likely dopamine levels
audreyt holoway: k :)
TimToady yeah, more for pipelining than S
SIMD
holoway but I am not a doctor :)
Limbic_Region audreyt - it is produced naturally by the body to regulate your circada rhythms 00:12
artificial dose "resets" your clock
sosorry was AFK
TimToady or so goes the theory.
Limbic_Region my experience is that it works only if taken ocassionally 00:13
to try and take it as a sleep aid regularly renders it useless
TimToady it's likely to be considerably milder than the stuff you're taking, so it might just have no effect.
justatheory goes 00:14
audreyt well, forced wakeup-to-sunlight in the morning for today and the next few days will probably do me good 00:15
bbiab...
00:21 mako132_ joined 00:23 mako132_ joined 00:24 mako132_ joined 00:26 kjw joined 00:41 mdiep_ joined 00:42 mako132_ joined
avar Speakin of which, I need sunlight 00:59
01:06 weinig|bbl is now known as weinig 01:07 weinig joined 01:20 lollan joined
svnbot6 r14461 | seano++ | * always display errors, even when trailing semi 01:54
02:16 weinig is now known as weinig|bbl
svnbot6 r14462 | fglock++ | v6/runtime 02:43
r14462 | fglock++ | - added Pugs::Runtime::Perl6::ReadOnly & ReadWrite cell types
r14462 | fglock++ | v6/emitter(2)
r14462 | fglock++ | - fixed internal method names: set->STORE, get->FETCH, pair->Pair
r14462 | fglock++ | - typing support is in place (not used yet)
r14462 | fglock++ | - binding to Value makes a Scalar read-only
03:09 buubot joined 03:16 weinig joined 03:23 putter joined 03:46 fglock joined
fglock I didn't know this - it wasn't commented here: freenode.net/news.shtml 03:48
lambdabot Title: freenode news: 23 September 2006
03:54 SubStack joined
audreyt SMP parallelism implemented on junctions 03:59
running a smoke with +RTS -N2 to see if it breaks stuff...
the hyperops need some thinking 04:00
in @a.>>meth, unlike with junctions, the results still need to be ordeed
even though the evaluation order may be unordered 04:01
audreyt ponders the paragraph in S03 that says "[Conjecture: we could 04:02
allow dependencies that assume top-down visitation and only leaves
sibling calls unordered.]"
and how that translates to parallelization strategies...
04:04 Aankh|Clone joined
fglock audreyt: it could preprocess into tuples [ $n, $a[$n].meth ] 04:05
pairs, even 04:06
svnbot6 r14463 | putter++ | Regexp-Engine-Reentrant - Ripping out crud. Much still to go. No regressions.
audreyt yeah, that's what I'm going to do 04:07
have it return a Set of (ArrayIndex, Val)
funny how 04:08
$ env GHCRTS=-N1 ./pugs -e 'sub f ($x) { $x.say } f(any(1..10))'
gets me
2 4 5 6 7 8 9 10 1 3 04:09
each on a line of its own
but
$ env GHCRTS=-N2 ./pugs -e 'sub f ($x) { $x.say } f(any(1..10))'
12096148
753
and then the rest of newlines
putter curious
audreyt it preempted between the print and the \n 04:10
I think
putter is say supposed to be atomic?
audreyt wouldn't really expect it to be
eviltwin_b not too surprising if they're output separately and there's no buffering 04:11
audreyt I mean, not acrross buffer boundaries for sure
hm, tests fail. 04:12
our ++ is not atomic within a STM boundary.
duh. ;) fixing
eviltwin_b (buffering inside say() that is, in the same process the standard buffering would be largely irrelevant)
audreyt fortunately that's easily fixed. 04:14
this is interesting, as all the "safe" ops in Prim.hs needs to be inspected for atomicity... 04:17
04:17 norageek2 is now known as norageek
audreyt TimToady: may we safely assume all the postassignment operators do not cause side effects? 04:19
except for .= that is, which is treated separately anyway
04:20 statico2 joined
TimToady postassignment? 04:20
audreyt += -= *=
**= etc
that is they implicitly place "atomically" within
TimToady you mean other than the main one. 04:21
audreyt $x += 2; # guaranteed to be atomic to other threads
TimToady seems like it should be pretty atomic to me.
audreyt er, I mean it doesn't have effects other than the assignment itself, yes.
cool, done
putter assignment itself might include type checking. what else? do we have "observers"? (ie, call me if this variable is assigned to) 04:23
audreyt well the variable can tie STORE 04:24
that counts as the assignment itself
it's more like, if ++ is atomic, then so should +=1
04:26 ofer0 joined
putter perhaps most users will use pragma expressions_are_atomic; 04:26
svnbot6 r14464 | audreyt++ | * Makefile.PL: Enable -threaded even when we embed an nonthreaded Perl5.
r14464 | audreyt++ | Of course the Perl5-land variables can't be made atomic (they'll just
r14464 | audreyt++ | be shared 5005thread-style), but GHC 6.6's SMP supports depends on its
r14464 | audreyt++ | -threaded runtime, and it's just too good to pass. :-)
audreyt putter: but anything that does IO can't be atomic... 04:27
"say", say.
unless we ignore its return value :)
TimToady durn monads...
audreyt if so then we can put it into unsafeIOtoSTM
but hey, &say returning true is what makes it cooler than Ruby! 04:28
# weblog.lonelylion.com/2006/10/16/wh...than-ruby/
lambdabot Title: Lonely Lion Ā» Blog Archive Ā» Why Perl 6 is better than Ruby, tinyurl.com/uqg8g 04:29
putter sigh
TimToady well, there you have it.
putter end of day & 04:31
audreyt env GHCRTS=-N2 perl util/prove6 t/junction/*.t 04:33
ppassed. committing
now let's see about hyperops... 04:34
svnbot6 r14465 | audreyt++ | * Pugs.Junc: Autothread (literally!) any calculation involving 04:35
r14465 | audreyt++ | junctions, by spawning GHC-land microthreads that can then be
r14465 | audreyt++ | distributed across CPUs, with GHC 6.6+ and setting the GHCRTS
r14465 | audreyt++ | environment variable to "-Nx", where x is the number of CPUs
r14465 | audreyt++ | you'd like to throw at Pugs.
r14466 | audreyt++ | * Pugs.Prim: Make ++ and -- atomic.
TimToady now if only we had real quantum computers...
audreyt -N* 04:36
most of the audience today knows nothing about perl. so I get away saying 04:37
"in Perl 6, we think of a function as compiled in three different ways, depending on the kind of evaluation strategy you'd like to use: either you use it just for the side effects, or you'd like an lazily evaluated stream, or you'd like an eagerly evaluated value" 04:38
eviltwin_b wonders if he can convince xchat2 to only respond to "perl" in the other channels :>
audreyt as if it was the motivation all along :) 04:39
TimToady :)
04:39 diotalevi joined
audreyt and before they've read the Fortress spec, Perl6's treatment on this is seen as especially brilliant :) 04:40
TimToady I'm certainly on record as saying we're designing Perl to be better than we know how to make it. :)
audreyt that's so true...
fortunately most of them we don't have to make it ourselves, as Pugs is mostly glue code nowadays... 04:41
s/before they've read/because they've read/
04:45 andres_ joined
Khisanth eviltwin_b: if you have it on highlight, no 04:47
eviltwin_b yeh. just have to deal I guess :/ 04:48
audreyt cool, [1,2,3].>>say just printed "1\n3\n2\n"
since the order of side effects are not guaranteed
that seems to be correct
TimToady works for me. 04:50
04:54 SubStack joined
audreyt 'k, fully implemented. seeing if tests break... 04:58
seems to work just fine. committing 05:01
TimToady smokin' 05:04
svnbot6 r14467 | audreyt++ | * Pugs.Prim.List: All Hyper operators, including @foo.>>method,
r14467 | audreyt++ | are autothreaded similar to junctions. With GHCRTS=-N2 and
r14467 | audreyt++ | above, that means the order of evaluation is impredictable.
r14467 | audreyt++ | although the return values will still be ordered as usual.
r14467 | audreyt++ | * Pugs.Internals: Move replicateM to it because
r14467 | audreyt++ | we use it all over the place now for parallelization...
audreyt note that during hyperizing a "resetT" is placed to guarantee atomicity. that means full reentrant continuations _cannot_ be invoked by one of the spawned threads 05:05
although control exceptions and other exceptions continues to work as usual.
that's probably not too strict a restriction, and I can't think of a way to preserve multiple continuation cursors during hyperizing...
since they are conceptually occuring on different machines, and continuation cursors generally don't resume across machines unless you serialize them 05:06
which we definitely don't want to do for hyprizing
because of the heavy cost of snapshotting the memory etc 05:07
TimToady yes, that's all part of the hyperpromise.
audreyt smoking with -N2 05:09
05:11 fayland joined 05:13 tcliou joined, SCalimlim joined, frankg joined, shobadobs joined, Gothmog_1 joined, nperez joined, evalbot_r14458 joined, mugwump joined, Grrrr joined, knewt joined, kane-xs joined, miyagawa_ joined, silug joined, j0sephi joined, tewk joined, integral joined, SamB joined, GeJ joined, Eidolos joined 05:14 mugwump joined
audreyt TimToady: control exceptions. 05:20
['last', 'next'].>>eval
the hyperizer collects both exceptions just fine
what does it do with them?
well, not eval
but you get the idea
actually, eval would work here too
TimToady more likely than those are warning control exceptions. 05:21
05:21 BooK_ joined
audreyt what does that mean operationally? 05:22
TimToady depends on whether some CONTROL block somewhere suppresses them.
audreyt sure. but what I mean is 05:23
when you say
map { .eval } ('last', 'next')
last happens, next never does
but on the hyperizing instance
we get result of both
so:
we can either choose the first exception that got produced and follow it
or convert the all into one warning 05:24
or do something else
or, well because we retain the order
still just do the first one, in this case "last"
by waiting for all hyper threads to complete always
TimToady could have a pecking order.
so last always beats next, for instance. 05:25
I suppose if a hyper is going to produce a lot of identical warnings, it would be friendly to try to coalesce them a bit...
audreyt indeed 05:26
TimToady unless they include the data, in which case it gets harder to factor out the common parts.
as I said on, I think, p6l, exceptions within hypers are a good reason for unthrown exceptions. 05:27
audreyt smoke's all good.
TimToady still on all_parse.t, grumble... 05:28
gotta get up early tomorrow, so likely to turn in soon. 05:30
anything else on your mind?
audreyt not anything pressing
it's just I feel much more alive not having to answer $job emails for the next three weeks :)
sleep well, thanks for the mapreduce primitives :) 05:31
TimToady you're welcome, I hope. :)
zzz &
audreyt 07:35 < dons> audreyt: so now we just need to finish the DPH+GPU library off 05:36
07:36 < dons> so you can run your maps and reduces on seanl's GPU library
07:36 < dons> oh, something else we're working on down here at unsw
07:36 < dons> folds,scanls,maps,filters on the gpu directly
05:36 justatheory joined
audreyt 07:36 < dons> as a backend to GHC parallelism 05:36
(from #ghc.) more free toys on the way in :) 05:37
05:48 kisu joined 06:20 glasser joined 07:25 glasser joined, mugwump joined, tcliou joined, frankg joined, shobadobs joined, Gothmog_1 joined, nperez joined, evalbot_r14458 joined, Grrrr joined, knewt joined, kane-xs joined, miyagawa_ joined, silug joined, j0sephi joined, tewk joined, integral joined, SamB joined, GeJ joined
dduncan question: I'm now writing the slides/notes for a 45-minute-ish tutorial for general programmers on how to make a RDBMS from scratch, which I intend to give locally at a Perl-Mongers meeting et al, as well as propose for international conferences in 2007 ... I thought it may be good to store this work in progress in the Pugs repository, but I'm wondering where specifically may be best 07:25
er, I'll try that again in a minute ...
question: I'm now writing the slides/notes for a 45-minute-ish tutorial for general programmers on how to make a RDBMS from scratch, which I intend to give locally at a Perl-Mongers meeting et al, as well as propose for international conferences in 2007 ... I thought it may be good to store this work in progress in the Pugs repository, but I'm wondering where specifically may be best 07:26
audreyt either ext/Rosetta/ or docs/talks will be fine 07:27
anywhere you feel like
dduncan while it ought to be generally useful, it may be specifically useful to Perl 6 dev in general, and I preferred docs/
okay ... it could always be moved later
audreyt exactly 07:28
dduncan okay, done 07:40
svnbot6 r14468 | Darren_Duncan++ | first whack at a 'how to make your own RDBMS from scratch in 30 days' tutorial notes/slides, for a local Perl Mongers talk in Nov, and maybe international conference talks in 2007
07:41 explorer joined
audreyt journal up 07:59
audreyt waves and fades back to sleep & 08:00
svnbot6 r14469 | raptor++ | added package-scoped named subs tests 08:17
08:21 root4o joined
root4o hi 08:21
anyone here 08:22
08:43 ilogger2 joined
svnbot6 r14471 | raptor++ | rm named_subs.t 08:44
09:01 bonsai joined
masak a question arose in my mind after reading TimToady++'s www.nntp.perl.org/group/perl.perl6....uage/26610 09:08
lambdabot Title: nntp.perl.org - perl.perl6.language (26610), tinyurl.com/yxw5vr
masak what if the perl6 programmer defined two operators with the same precedence level?
and with conflicting associativity 09:09
how far would she get in doing this?
i.e. willfully trying to create an ambiguous situation
I was about to mail this to p6l, but I couldn't find in the specs how to define ops with a certain prec level and assoc direction 09:10
audreyt grep for is assoc('right')
masak oki
audreyt and is tighter
masak found them, in S06 09:12
are these two implemented? ("is assoc" and "is tighter") 09:13
audreyt assoc is
tighter is not
just not felt the need for it
is probably trivial :)
masak but the problem should be able to be created in pugs right now?
for increased effect :)
audreyt well just declare two infix with different assoc
that's it
masak right ho
masak declares...
audreyt t/operators/operator_overloading.t has the syntax 09:14
masak thx
audreyt np :) *thunk*
09:18 integral_ joined, tewk joined
masak turns put pugs dies with "ambiguous use of a right associative operator" 09:21
which seems sane in a way
i think
09:23 larsen_ joined 09:25 integral joined
masak sends the p6l email anyway :) 09:29
09:36 chris2 joined 09:43 cnrocks joined 09:47 cm joined 09:54 araujo joined 09:58 chris2_ joined 10:01 chris2_ joined 10:02 chris2_ is now known as chris2 10:05 cm_ joined 10:08 buetow joined 10:10 elmex joined 10:43 bons joined 10:52 SCalimlim joined 11:13 bonsai joined 11:15 Psyche^ joined 11:17 iblechbot joined 11:23 gene9 joined 11:31 Psyche^ is now known as Patterner 11:33 elmex joined 11:37 rindolf joined
rindolf Hi all! 11:37
I wrote two Perl Foundations Proposals and could use your input - see www.shlomifish.org/Files/files/emai...Proposals/ . Please read them and comment.
lambdabot Title: Index of /Files/files/emails/TPF-Proposals, tinyurl.com/ydeeg6
11:39 elmex_ joined 11:40 araujo joined
masak rindolf: good initiative. I hope your proposals are accepted 11:43
rindolf masak: thanks. 11:45
masak: any comments?
nothingmuch ingy: ping 12:15
lambdabot nothingmuch: You have 1 new message. '/msg lambdabot @messages' to read it.
nothingmuch @moosages
lambdabot Alias_ said 1d 3h 34m 28s ago: You don't have any new messages.
12:32 DaGo joined
rindolf Hi nothingmuch 12:35
nothingmuch: I wrote two Perl Foundations Proposals and could use your input - see www.shlomifish.org/Files/files/emai...Proposals/ .
lambdabot Title: Index of /Files/files/emails/TPF-Proposals, tinyurl.com/ydeeg6 12:36
12:37 jabbot joined 12:40 Limbic_Region joined 12:42 ofer0 joined
masak rindolf: only that I think they are both clear and to the point, which is a good thing 12:51
rindolf masak: OK.
masak: thanks.
Limbic_Region (waking up to your car horn blaring non-stop)-- 12:53
(pulling horn fuse and saving $800 on replacing the airbag assembly)++ 12:54
Patterner (buying a strap-on replacement horn for $9.99 from a tv shopping channel)++ 12:56
Limbic_Region heh
nothingmuch (buying a strap-on for $9.99 from a tv shopping channel)-- 13:08
@seen cmarcello? 13:13
lambdabot I haven't seen cmarcello?.
nothingmuch @seen cmarcelo
lambdabot I saw cmarcelo leaving #perl6 2d 8h 26m 51s ago, and . 13:14
nothingmuch @seen audreyt
lambdabot audreyt is in #ghc, #haskell and #perl6. I last heard audreyt speak 3h 59m 37s ago.
nothingmuch better take this to #haskell
xinming ?eval grep m:perl5 /(1|2|3|4|5)/, (1..100); 13:17
evalbot_r14471 Error: Cannot cast from VList [VInt 1,VInt 2,VInt 3,VInt 4,VInt 5,VInt 6,VInt 7,VInt 8,VInt 9,VInt 10,VInt 11,VInt 12,VInt 13,VInt 14,VInt 15,VInt 16,VInt 17,VInt 18,VInt 19,VInt 20,VInt 21,VInt 22,VInt 23,VInt 24,VInt 25,VInt 26,VInt 27,VInt 28,VInt 29,VInt 30,VInt 31,VInt 32,VInt 33,VInt 34,VInt 35,VInt 36,VInt 37,VInt 38,VInt 39,VInt 40,VInt 41,VInt 42,VInt 43,VInt 44,VInt 45,VInt 46,VInt 47,VInt 48,VInt 49,VInt 50,VInt 51,VInt 52,VInt 53,VInt
xinming anyone here can tell me why this would cause error please?
Limbic_Region ?eval grep m:p5/(1|2|3|4|5)/, 1..100; 13:19
evalbot_r14471 Error: Cannot cast from VList [VInt 1,VInt 2,VInt 3,VInt 4,VInt 5,VInt 6,VInt 7,VInt 8,VInt 9,VInt 10,VInt 11,VInt 12,VInt 13,VInt 14,VInt 15,VInt 16,VInt 17,VInt 18,VInt 19,VInt 20,VInt 21,VInt 22,VInt 23,VInt 24,VInt 25,VInt 26,VInt 27,VInt 28,VInt 29,VInt 30,VInt 31,VInt 32,VInt 33,VInt 34,VInt 35,VInt 36,VInt 37,VInt 38,VInt 39,VInt 40,VInt 41,VInt 42,VInt 43,VInt 44,VInt 45,VInt 46,VInt 47,VInt 48,VInt 49,VInt 50,VInt 51,VInt 52,VInt 53,VInt
Limbic_Region odd
xinming maybe a bug. :-)
?eval grep m:perl5 /(1|2|3|4|5)/, [1..100];
evalbot_r14471 Error: Cannot cast from VList [VList [VInt 1,VInt 2,VInt 3,VInt 4,VInt 5,VInt 6,VInt 7,VInt 8,VInt 9,VInt 10,VInt 11,VInt 12,VInt 13,VInt 14,VInt 15,VInt 16,VInt 17,VInt 18,VInt 19,VInt 20,VInt 21,VInt 22,VInt 23,VInt 24,VInt 25,VInt 26,VInt 27,VInt 28,VInt 29,VInt 30,VInt 31,VInt 32,VInt 33,VInt 34,VInt 35,VInt 36,VInt 37,VInt 38,VInt 39,VInt 40,VInt 41,VInt 42,VInt 43,VInt 44,VInt 45,VInt 46,VInt 47,VInt 48,VInt 49,VInt 50,VInt 51,VInt 52,VInt 5 13:20
Limbic_Region ?eval grep {$_ ~~ any(1, 2, 3, 4, 5)}, 1..100;
evalbot_r14471 (1, 2, 3, 4, 5)
Limbic_Region hrm
Limbic_Region is too tired to think ATM
xinming hmm, I think the problem is, in perl 6, grep needs a "closure" instead of a regex... 13:21
but
xinming isn't sure about this
rindolf Does anyone know how I can subscribe to the XML-RSS bugs traffic on rt.cpan.org? 13:26
wilx Heh. 13:27
I mean...XML-RSS really has a lot of attention.
13:27 alech joined
wilx And still the reported bug was unfixed for more than 3 years. 13:27
alech Hi, I'm just trying to get acquainted with Perl6 a bit. From Apocalypse 12, it looks like one can have private attributes with $!something, but I can now get that to work in pugs. Is this a pugs thing or has something changed? 13:29
rindolf wilx: which reported bug? 13:31
wilx Output encoding problem.
xinming ?eval "<a>xyz</a>" ~~ m:perl5 { <a>(.+)?</a> }; $1.say;
evalbot_r14471 OUTPUT[ā¤] Bool::True
xinming where I did wrong please?
It seems, No content in $1 13:32
13:34 lollan joined
xinming oops... 13:35
forgot in perl 6, that $0 will be the first ....
>_<
audreyt: ping 14:21
14:33 seano joined 14:42 justatheory joined 14:51 ofer0 joined
eviltwin_b reads synopses 14:52
I thought grep was going away, but S02 still refers to it :) (and I noticed someone used it here earlier... habit? or am I confused?) 14:53
audreyt xinming: pong 14:57
limnot a bug, grep needs a Code, as xinming observed 14:58
14:59 larsen_ joined
audreyt @tell Limbic_Region not a bug, grep needs a Code, as xinming observed 14:59
lambdabot Consider it noted.
xinming audreyt: Is there a quick way to pass a scalar ref to embeding perl 5 code? eg, using TT, we can't get the result string with the normal way... 15:04
Now, I have a hack, But looks ugly... 15:05
>_<
audreyt doesn't \$sref work?
I'm surprised
try VAR($x) also
xinming my $r = eval q:c /my $r; Template->new->process("hello", {$v.perl}, \$r); $r/, :lang<perl5>;
audreyt: \$var doesn't work
that's my ugly hack... >_<
audreyt try VAR($var) 15:06
xinming Ok.
15:06 scw joined
audreyt t/perl5/basic.t line 85 says scalar refs work 15:06
it may be TT specific... 15:07
15:07 scw joined
xinming It doesn't work for TT 15:07
I tried it just now.
that's why I get a ugly hack... >_<
audreyt hm I wonder why. 15:08
xinming lisppaste3: url
lisppaste3 To use the lisppaste bot, visit paste.lisp.org/new/perl6 and enter your paste.
xinming pasted "TT doesn't get the reference.." at paste.lisp.org/display/28433 15:09
xinming Because, I wish to write my personal home page using perl 6, I did a try 3 months ago... But at that time, Pugs doesn't do well on class. :-P 15:10
s/write/port/; 15:11
15:12 kisu joined
audreyt it's TT2 specific 15:15
xinming audreyt: Ok, I'll give up,
audreyt no, don't. a sec
xinming wonders, If he can use mason as template in pugs... :-P
I'll try
...
Ok
audreyt it didn't work becasue TT2 was hardcoding ref() 15:16
you can easily work around it 15:17
my $out; $t.process("hello", $v, { $out = $_ });
will do
lisppaste3 xinming pasted "Is this a bug?" at paste.lisp.org/display/28434
xinming audreyt: please see another one
audreyt not a bug
hash(), not hash{} 15:18
so hash({}) will work I think
xinming Oh, thanks...
audreyt hm but wait
$a = {};
is quite sufficient aleady
xinming yes
that's what I mean
but...
audreyt I'm fixing the TT2's misassumption for you. a sec 15:19
xinming what I like to see is "$a = {}\n;"
please note the newline
audreyt yeah. that's recently outlawed by larry
xinming thanks 15:20
audreyt np :) 15:21
xinming audreyt: a question, Can we use 90% modules from perl 5 in pugs for now? 15:22
15:22 gunya joined
audreyt I don't know I havn't measured 15:22
checkin in TT2-friendly fix 15:23
15:23 ofer0 joined
xinming Ok, I will 15:24
rindolf Hi audreyt 15:25
xinming audreyt: How to say Small-White(xiao bai) in English? :-)
15:25 bernhard joined
audreyt newbie? 15:26
not sure
rindolf audreyt: can you please go over www.shlomifish.org/Files/files/emai...posals/and let me know what you think? 15:27
lambdabot tinyurl.com/yg32ll
audreyt looking 15:28
rindolf audreyt: thanks.
xinming audreyt: Not newbie, I mean someone who is like a mouse while scientists doing exeriment...
experiment
eviltwin_b "guinea pig"?
audreyt xinming: ok, this now works
eviltwin_b or "lab rat" depending on context
audreyt use perl5:Template;
my $v = { string => "This is string" };
my $t = Template.new;
$t.process("hello", $v, VAR(my $r));
$r.say;
xinming eviltwin_b: thanks. :-) 15:29
audreyt: did you push to the server please?
audreyt still running tests 15:30
eviltwin_b I'd say "guinea pig" implies a test subject, "lab rat" implies running a maze or obstacle course
(or a skinner box :)
xinming eviltwin_b: thanks, Here, if sometimes, the program is not stable, and the new version is released, Most people would say, Summoning "lab rat"(Xiao Bai). <-- just want to wait other "victims" :-P 15:33
svnbot6 r14472 | audreyt++ | * p5embed.c: stringify scalar refs correctly for TT2, such that
r14472 | audreyt++ | $t.process("hello", $v, VAR(my $r));
r14472 | audreyt++ | can work correctly. Requested by xinming++.
eviltwin_b yeh, that'd be "guinea pig"
xinming because, rat is small and white... but I call it "Small-White" :-P 15:34
audreyt: thanks
eviltwin_b: I'll go and test, thanks
audreyt xinming: yeah, I suggested "newbie" for its other meaning
zh.wikipedia.org/wiki/%E5%B0%8F%E7%99%BD
lambdabot tinyurl.com/w7sp4
xinming GFW blocked wiki. :'( 15:35
audreyt it means "newbie", but also "troll", but also "early adopter", but also "ibook/ipod enthusiast"
eviltwin_b heh
audreyt GFW-- # blocking wikipedia _and_ pugscode.org
rindolf pugscode.org... heh. 15:36
eviltwin_b "(i)pod people"
xinming well, sometimes, pugscode.org would also be blocked. :-P
audreyt "wikipedia.org" is among the keyword blacklist
so not only wikipedia, any site that mentions/links to wikipedia disappears, as of this august
GFW-- 15:37
rindolf audreyt: heh. 15:38
audreyt: does the GFW also "protects" Hong Kong?
audreyt no, not afaik.
rindolf audreyt: OK. 15:39
audreyt xinming: surely you can Tor around, or is the use of Tor also detected nowadays?
xinming audreyt: still not works. 15:40
Now, It's another problem.
audreyt rindolf: " Implement as many of the following enhancements as possible:"
that sounds weird. just "Implement the following enhancements"
eviltwin_b hm, this is looking more and more like a mad scientist crossbred icon and haskell :> 15:41
xinming TT2 wouldn't parse the result
audreyt: tor isn't detected, It's just because I'm lazy. and using tor is really slow while connecting to the internet 15:42
gunya xinming, is broadband connection availble / affordable in your area ?
audreyt xinming: yeah. I stopped using Tor-over-ssh-over-DNS for exactly the same reason 15:43
xinming gunya: yes, People here most uses ADsl.
rindolf audreyt: OK.
audreyt rindolf: re XML::RSS. my first question is 15:44
gunya xinming: nice. is that characteristic of entire country or just the developed coastal regions ?
audreyt "why bother? why not use XML::Feed?"
rindolf: surely you also prefer XML::Feed yourself, as seen from your cpan rantings 15:45
^Wratings ?
xinming audreyt: It still doesn't work, Before the change TT can work if you just wish to process and print the data. But now,
rindolf audreyt: I think XML::Feed makes use of XML::RSS.
xinming gunya: I think It's just for Mainland.
audreyt rindolf: oh. I missed that. sorry. then maybe mention that in the proposal?
xinming: nopaste? 15:46
xinming gunya: Just for hidding some sensive infomation from people.
audreyt: Ok, a min
lisppaste3: url
lisppaste3 To use the lisppaste bot, visit paste.lisp.org/new/perl6 and enter your paste.
xinming pasted "TT2 continued..." at paste.lisp.org/display/28435 15:48
rindolf audreyt: well, I'm already saying that "All of this is especially troubling because XML::RSS is relied on 15:49
by many CPAN distributions and other Perl programs for their RSS-munging
needs.".
audreyt but if you replace "many" with concrete names
that makes it much more convincing 15:50
otherwise, looks just fine.
nothingmuch urfhfhhhh
rindolf audreyt: OK.
audreyt you're getting better at this :)
rindolf nothingmuch: hi.
nothingmuch: what's wrong?
audreyt nothingmuch: greetings, urfhfhhh moose
nothingmuch urfhfhhh moose indeed
well, urf MO anymoose
attr::simple::Compiled --> compile yields an accessor body 15:51
currently this is a closure
this is going to phase out
gunya xinming, heh, i realize what the deal is with content blocking by GFW; i was asking about broadband :)
nothingmuch because it was simply a quickstart kludge
i'm trying to figure out what the best data type for it should be
nothingmuch is leaning towards s-exps
e.g.
pasteling "nothingmuch" at 84.108.53.74 pasted "sexp vs. closure" (15 lines, 323B) at sial.org/pbot/20582 15:52
nothingmuch presumably some sort of processor will either compile the s-exp into Code::Perl or Perl::Generate (when the latter is ready)
or simply kludge it right now 15:53
xinming gunya: hmm, What I have to say is, in city, most are using brandboard now, But I don't think people lived a place which is far from city would get brandboard, they even don't have chance to buy a computer. >_<
nothingmuch the issue i'm running into is that in the adhoc perl 5 runtime, and the "compiled" perl 5 runtime (where MO emits p5 packages) the boxed instance format is difference
(pure MO uses an explicit box, and perl 5 uses blessing)
hence the unboxed_instance macro is different, depending on the emitter
ingy hi nothingmuch 15:56
15:56 Steve_p joined
ingy rindolf: ping 15:56
rindolf ingy: hi.
nothingmuch hi ingy
gunya xinming, sounds very similar to the situation here, in Ukraine. I had to wait almost a whole year to order a lousy 128kbps link at $20 per month ( i'm located in a large city )
ingy rindolf: I released that module
rindolf ingy: thanks.
audreyt nothingmuch: you aware of Data::SExpression?
gunya xinming, is your connection faster / cheaper ?
nothingmuch i forgot what insanity it did that i didn't like 15:57
ingy hi audreyt
where are you?
audreyt portland, OR
schwern's place
nothingmuch oh right, the whole symbol table stuff
i don't actually need sexp syntax
but sexps are convenient for an adhoc not-quite-ast 15:58
ingy audreyt: nice. too bad I leave for chicago in 20 hours
audreyt too bad indeed
xinming It costs about 20 US dollar to get an ADsl link. And in fact, people would prefer to choose Adsl, if they use Modem, they would cry on downloading anything over the internet. ;-) It's very expensive compared with ADsl.
audreyt you going to chicago hackathon? 15:59
ingy no. I am heading to the Dublin *Marathon*
on 30Oct 16:00
xinming audreyt: Is TT2 working well in pugs there?
gunya: especially like people who is using gentoo like me. :-P
audreyt xinming: yes as a matter of fact 16:01
gunya xinming, so it costs about the same.. how fast is it and is your bandwidth limited ? ( with my previous provider i used to get twice the speed, while paying extra for every megabyte over a 1Gig monthly limit )
ingy is there really a chicago hackathon?
rindolf audreyt: thanks.
Steve_p ingy, yes 16:02
audreyt xinming: svn up
svnbot6 r14473 | audreyt++ | * Force item context on hash fetch operations so roundtripping a
r14473 | audreyt++ | hash to TT2 would work seamlessly. Again reported by xinming++
Steve_p It may not be exceptionally big.
rindolf I sure hope I can find a ride to the Jerusalem Linux Club meeting today.
But my default ride got a back-ache.
xinming gunya: 1.5 Mb for downloading and < 640Kb for upload.
audreyt: thanks. 16:03
gunya: BTW, no total bandwidth limit.
nothingmuch ingy: hackathon.info/
lambdabot Title: Chicago Perl Hackathon: Nov 10-12, 2006, Crystal Lake, IL
gunya xinming, very nice for $20 / mo. !!
china++; ukraine--; 16:04
Steve_p I need to get my room reserved still :-/
xinming audreyt: thanks, Now, It works... :-) 16:07
audreyt++
ingy nothingmuch: you pung?
nothingmuch yes 16:08
but it's no longer relevant
ingy yay
nothingmuch Module::Install + Module::Compile
make upload was borked
since it had an old .pmc
partly my fault for not running prove -l t but make test
but i'd like if that were automatable
and Module::Install::PMC has no docs or hints 16:09
ingy why is it no longer relevant?
nothingmuch because i fixed it by hand and released
i thought it was more problematic
ingy ok 16:10
nothingmuch (that like M::B, M::I uses File::Copy, which doesn't preserve timnestapms, which means that the .pmc and the .pm have hte same timestamp... but that isn't true)
ingy today is Jemplate release day for me
I see 16:11
nothingmuch & 16:12
xinming BTW, anyone here can tell me if there is a close method in IO::Dir?
hmm, 16:13
Steve_p close() is in IO::Handle, so, yes
16:13 bennymack joined
xinming my $dh = opendir "."; $dh.close; 16:13
Steve_p errr...in Perl 6...I would think there would be :) 16:14
xinming hmm, then, what's the difference between close and closedir? ;-) 16:15
audreyt it's .closedir currently 16:16
xinming audreyt: yes, I know, That's why I was wondering if closedir would be an alias to close for IO::DIR class
bennymack hi everybody
i was wondering if anyone could point me to some good perl6 macro examples
audreyt xinming: it's currently simply .closedir but I an see .close is cool 16:17
bennymack: t/macros/
bennymack: do you have a commit bit yet? :)
bennymack negatory
audreyt what's your email addr then?
bennymack i'm still living in perl5 land
bennymack at gmail dot com 16:18
xinming audreyt: is "I an see" = "I ain't see" or just typo of can? 16:19
audreyt a topy of can
bennymack: welcome aboard. please add yourself to AUTHORS and feel free to populate t/macro/ (or any other directories) :)
bennymack ok, but where can I learn about them first? aside from the apocalypse and synopses 16:20
audreyt just the synopses at the moment
bennymack and i checked out the perl6 faq on programmersheaven.com 16:21
www.programmersheaven.com/2/Perl6-FAQ 16:22
lambdabot Title: Perl6-FAQ at Programmers Heaven
svnbot6 r14474 | yiyihu++ | r14633@HomePc: xinming | 2006-10-22 00:23:57 +0000 16:26
r14474 | yiyihu++ | Alias closedir and close in class IO::Dir,
r14474 | yiyihu++ | Now, both $dh.close and $dh.closedir works.
bennymack picks up his copy of "Perl 6 and Parrot Essentials" 16:27
xinming Newbie's way, `grep "closedir" . -R` and choose a file to edit randomly. ;-)
bennymack: pick up the Synopsis.
<<Perl 6 and Parrot Essentials>> is a book long long ago. 16:28
audreyt it's still a good erad though half of it is outdated... 16:29
ingy audreyt: msg 16:30
audreyt is reminded of Feymann's physics class: "Half of what I'm going to teach you is wrong -- we just dont know which half"
16:32 weinig_ joined 16:33 weinig_ is now known as weinig
xinming anyone here please test this... 16:36
my $dh = opendir "."; close $dh; close $dh;
what will happen?
*** glibc detected *** pugs: double free or corruption (!prev): 0x08a1ca80 ....
16:37 loumz joined
Steve_p xinming, it sounds like close is missing a NULL check of sorts 16:38
xinming Steve_p: yes, And I think this bug is in GHC... 16:39
:-P
16:40 jferrero joined
audreyt indeed it is :) 16:40
17:06 larsen_ joined
xinming How do I send a message using while I'm write testing please? 17:21
s/write/writing/
17:21 DHGE joined
xinming Is say just enough? 17:21
17:22 lanny joined
Steve_p xinming, diag, perhaps? 17:23
xinming Steve_p: thanks. :-)
17:24 larsen__ joined
eviltwin_b silly question I didn't notice the answer to: 17:24
"[for 0 or 1 arguments in reduce] Negated [comparison] operators return Bool::False, and all the rest return Bool::True" 17:25
was currying/partial application considered? :)
seems kinda obvious in the context of Pugs, at least... 17:26
(obviously in the 1-arg case, as the 0-arg case can't do anything) 17:27
hm, suppose it would be inconsistent
lanny Was it considered for what, eviltwin_b? I'm being slow today and not understanding what you are getting at. 17:28
eviltwin_b is operating on insufficient sleep, funny how actually writing the question as opposed to thinking about it suggested an answer 17:29
lanny I think the defaults are to catch stuff like: [!==] @nums; when @nums = (42,);
eviltwin_b no, I think I'm the one being slow
if the multi-arg forms are reductions it doesn't make a low of sense for 1 arg to return a partial application
s/w/t/
eviltwin_b is thinking a bit *too* Haskell-like, he guesses 17:30
lanny Hmm. &prefix:{'equal42'} := &infix:{'=='}.assuming(42); 17:31
gaal there's no autocurrying in perl 6
svnbot6 r14475 | yiyihu++ | r14635@HomePc: xinming | 2006-10-22 01:26:30 +0000
r14475 | yiyihu++ | Update t/builtins/io/dir.t file.
r14475 | yiyihu++ | Added testing for short version of IO::Dir class.
r14475 | yiyihu++ | read rewind close etc...
r14475 | yiyihu++ | r14636@HomePc: xinming | 2006-10-22 01:28:58 +0000
r14475 | yiyihu++ | Alias rewinddir readdir to rewind read for IO::Dir class.
r14475 | yiyihu++ | rewinddir and readdir still works.
gaal thus no partial application
lanny Is there a way to get at left side or right side using .assuming on an infix operator? 17:33
gaal i think .assuming got a shorter name, but i can't remember what it is now
flip. j/k :-)
lanny Don't make me type .(*|assuuming)() :) 17:34
gaal lanny: good question, i don't know offhand 17:35
lanny I guess when everything is spec-ed if the ops get sigs like :( $left, $right ) then I could get ahold of them. .assuming($left => 42)
gaal that seems a little fragile to me 17:36
also there's no really good convention for longer lists. $a, $b, $c?
lanny $left, $right, $gripping. :) 17:37
gaal :) 17:38
lanny With macros you could roll your own of course for stuff like the infix ops. 17:39
But not sure how macro equal42 will play with: [equal42] @nums;
gaal i think reduce metaop only takes a real op.
lanny If that's the case then perl6 won't have first class macros and I don't think that's the aim 17:40
gaal but there's probably something to be done with @_
lanny Although [] probably is special in that reguard 17:41
er... [] ("reduce")
17:42 chris2 joined 17:43 silug joined
lanny wanders off to show for Halloween costumes. 17:43
bennymack ok, i'm getting an error from this macro: macro hello(str $what) { q:code { say "Hello { {{{$what}}} }" }; } 17:46
hello("there");
*** Undeclared variable: "$what"
although this works: macro hello(str $what) { return qq{ say "Hello $what" }; } 17:50
i'm clearly unsure of the interaction between q:code and the {{{$var}}} syntax however.
eviltwin_b ow. definitely I want to wipe my dports ghc and start over; that was one slow startup :) 17:53
18:03 Limbic_Region joined
nothingmuch realized what the problem was 18:14
yay
Limbic_Region woot
lambdabot Limbic_Region: You have 1 new message. '/msg lambdabot @messages' to read it.
nothingmuch the current structure needs an emitter onit's own
Limbic_Region @messages 18:15
lambdabot audreyt said 3h 15m 54s ago: not a bug, grep needs a Code, as xinming observed
18:22 Aankhen`` joined 18:39 systems`` joined
Khisanth ?eval 1 xx 3 19:36
evalbot_r14475 (1, 1, 1)
Khisanth ?eval 1 x 3
evalbot_r14475 "111"
19:40 seano joined
systems`` eval 2**22222 :P evil 19:46
>:)
19:54 Odin- joined 20:13 Psyche^ joined
eviltwin_b hm. "a syntax error will be reported for C-isms such as" --- they're not C-isms, they're (heinous) GNU-isms :) 20:19
rindolf eviltwin_b: where? 20:21
eviltwin_b S04 end of "Statement Parsing" 20:22
call it religious. I think GNU reversed the meaning of space before parens, to the detriment of code comprehensibility. (and perl6's behavior seems to agree with me :)
in K&R style you always space after keywords like if/for/while 20:24
so it's arguably not a "C-ism"
20:26 Psyche^ is now known as Patterner 20:34 ferreira joined 20:36 lanny joined
lanny Anyone else on Win32 that could try an update and a build? I seem to be sticking on ext/HTTP-Server-Simple/t/subclass.t 20:37
20:40 mako132_ joined 20:51 andres joined 20:59 SubStack joined 21:02 xern joined 21:10 andres joined, buubot joined 21:14 buubot joined 21:33 systems`` joined
eviltwin_b hmmm. S06 has "It's now possible to set up a user-defined subroutine that acts like grep" (Code vs. Regex etc.) but earlier today here "grep requires a Code" 21:34
21:36 shobadobs joined
eviltwin_b also S05 uses the : pattern modifier in a non-obvious-to-newcomers way before it defines it (and defines it in the discussion of C<token>) 21:39
21:45 mauke joined 21:49 seano joined
eviltwin_b whoops when I said S06 I meant S05 21:59
feh
22:00 nothingmuch joined 22:03 lanny joined
lanny @tell audreyt You'll want to check the smokes for Win32. r14463 (just before GHC threading turned on) has 2 failures and after 231 (including having to kill pugs by hand on 2 test to continue). 22:06
lambdabot Consider it noted.
svnbot6 r14476 | audreyt++ | * Pugs.Junc: Implement Sebastian Sylvan's suggestion of using 22:11
r14476 | audreyt++ | MVars instead of Chans to accomplish junctive autothreading,
r14476 | audreyt++ | much improving the performance on MacIntel here.
22:12 systems`` joined
svnbot6 r14477 | audreyt++ | * Pugs.Junc: Further speed things up by using takeMVar instead of readMVar. 22:21
r14478 | audreyt++ | * Pugs.Prim.List: MVar-based synchronization is much better
r14478 | audreyt++ | also for hyper operators than Chan-based ones, so implement
r14478 | audreyt++ | them here too.
r14479 | audreyt++ | * Pugs.Junc: Eliminate the redudant call to newChan. 22:24
22:29 weinig joined 22:31 Limbic_Region joined 22:52 systems`` joined 23:09 mauke_ joined 23:10 dduncan joined 23:24 mauke_ is now known as mauke 23:47 fglock joined