pugscode.org/ | nopaste: sial.org/pbot/perl6 | ?eval [~] <m oo se> | We do Haskell, too | > reverse . show $ foldl1 (*) [1..4] | irclog: irc.pugscode.org/
Set by diakopter on 11 July 2007.
lichtkind good night 00:09
00:10 cognominal_ left 00:14 wtgee left 00:40 alester joined 00:51 justatheory left 00:55 justatheory joined 01:05 devogon left 01:27 justatheory left 01:33 Lorn joined 01:34 skale joined 01:40 Auzon left 02:00 jisom left, Auzon joined, Auzon left 02:01 Auzon joined 02:11 Schwern left 02:34 wknight-away left 02:54 lichtkind left 02:55 pro21ms4 joined 03:01 silug left 03:06 skale left 03:11 __Ace__ left 03:22 lodin0 left 04:27 OuLouFu joined 04:33 p6quester joined 04:41 silug joined 04:43 orafu left 04:59 khaladan left 05:09 faxathisia joined 05:26 kanru left 05:30 awwaiid left, awwaiid joined 05:31 meteorjay left, meteorjay joined 05:32 aindilis left 05:37 r0bby left 05:39 aindilis joined 05:43 r0bby joined 05:56 pro21ms4 left 05:57 kanru joined 06:06 lyokato_ joined 06:22 manfred joined 06:32 Aankhen`` joined 06:38 alester left 06:40 p6quester left 06:58 penk left 07:36 OuLouFu left, orafu joined 08:10 Jamtech_ joined 08:15 devogon joined 08:22 Jamtech_ left 08:50 meppuru joined 09:04 drrho joined 09:12 khisanth_ joined, khisanth_ left 09:16 Auzon left, faxathisia left, japhb left, diakopter left, mj41 left, pugs_svn left, drbean left, faxathisia joined, Auzon joined, japhb joined, diakopter joined, mj41 joined, pugs_svn joined, drbean joined 09:17 alester joined 09:32 iblechbot joined 09:34 alester left 09:42 alester joined 09:47 alester left 09:50 rafl left, rafl joined 10:08 lodin0 joined, drrho left 10:14 cosimo joined 10:19 cosimo left 10:21 turrepurre left 10:30 Freja joined 10:31 faxathisia left 10:49 lodin0 left 11:12 devogon left 11:27 chris2 joined 11:47 ludan left 11:55 kanru left 11:57 kanru joined 11:58 ludan joined 12:36 ludan left
pugs_svn r19598 | ruoso++ | [smop] test for the capture native type. 12:42
12:47 mncharity left 12:50 cognominal_ joined 12:52 riffraff joined
riffraff hi 12:53
pbuetow hi 12:58
cd 12:59
ups
13:10 fglock joined
fglock moritz_: "Can't locate Text/Table.pm in @INC ... at /data/www/irclog.perlgeek.de/text.pl line 14" 13:11
13:11 fglock left
ruoso more and more I realise that having objects that are not subject to garbage collection is a vital feature of smop... for instance, an empty capture object will be one of those, so everytime you call a sub without arguments, it'll have how to use that constant value 13:35
pugs_svn r19599 | ruoso++ | [smop] starting to write the native capture code... already defining the constant empty capture... 13:39
13:52 ludan joined
ludan hello 13:53
14:19 cmarcelo joined 14:21 icwiener joined
Botje is there a perl6 implementation far enough to support properwOO yet? 14:24
spinclad moose (see cpan) implements much of perl6 oo in perl5... 14:50
14:52 wknight-away joined 14:55 pmurias joined
pmurias ruoso: you can have constants with gc too 14:55
spinclad Botje: of Perl 6 implementations: pugs needs an oo rewrite; rakudo has just gotten its first classes and methods; and kp6... has working classes and methods i believe but lacks roles as yet. 14:56
Botje myeah
I wanted to discuss perl 6 oo in a paper for school, but i was afraid i'd have to go with moose :(
14:57 lyokato_ left
spinclad you could discuss its spec, which is somehow less satisfying than real working code 14:59
a spec not fully tempered in the forge of implementation 15:01
i think kp6 has plans to implement roles RSN, and rakudo is hard to track it's moving so fast. check back next month, things should be rather different. 15:05
Botje yeah, i guess 15:06
15:06 kanru left
spinclad better yet, submit patches if you're so inclined 15:06
Botje too bad the paper is due this week ;)
i'd like to hack pugs but it seems so horribly horribly big
pmurias Botje: kp6 is smaller 15:07
spinclad faster too 15:08
pmurias spinclad: faster in terms of?
Botje that's the lisp implementation, no?
spinclad no, it has a lisp backend tho
pmurias is implemented in a subset of perl6
(untill it bootstraps)
wolverian rakudo, kp6, smop, pugs, what did I miss? 15:09
pmurias wolverian: smop is a vm
wolverian instead of?
pmurias wolverian: it's a vm (like parrot) instead of a compiler (like kp6) 15:10
wolverian ah. thanks 15:11
spinclad pmurias: faster in its kp6-mp6 form, i thought; haven't benchmarked it tho
pmurias spinclad: it's horribly slow 15:12
(the default Perl5 backend)
the perl5v6 backend could likely be maybe be faster (but is still in it's infancy) 15:13
spinclad *sigh* i should stick to what i know 15:14
pmurias s/be maybe//g 15:15
TimToady if we stick to what we knew we'd still be throwing our spears by hand 15:16
or maybe just rocks
spinclad we could get real good at chipping rocks 15:17
TimToady all that does is put lots of little sharp bits on the ground that will cut your feet, so there's no point 15:18
and you'll never get done with it
other technologies will pass you by while you learn
spinclad not if we stick with what we know 15:19
s/we/we *all*/
TimToady well, that's a fine approach if you have millions of years
ruoso pmurias, re constants: I mean, if they are not subject to gc, I can count on the C pointer being there forever... 15:20
and I don't have to check if they're still available
spinclad so... somewhere between cleaving to the known, and making things up, lies the shadow... 15:21
ruoso Botje, re OO: I know you probably want to have a working implementation... but one thing I realised in the process of writing smop is that nothingmuch's MO approach seems to be the only way to implement all of P6 OO semantics... I was only able to see smop implementing all the P6 features in the future when I implemented the responder interface concept... 15:23
the most intriguing feature of P6 OO is the proto.CREATE(:repr<foo>) 15:24
in the process of creating a new object instance
and it seems to me that the only way of implementing that is through the responder interface...
15:24 wknight-away left
Casan ruoso: for a mere mortal, still learning, whats the benefit of proto.CREATE(:repr<foo>) ? 15:25
ruoso you can have a different object low-level representation... which can be compatible with, for instance, Glib 15:26
and then you have a Glib object created in Perl 6 natutally compatible with the Glib objects
and you can use it as parameters to Glib methods 15:27
Or p5-hash based
that you can send without typemapping to p5 functions 15:28
Casan you should write an article explaining this in simple terms. many articles on perl seem very advanced not catering to the beginners. but perhaps that is the case when its already an advanced topic. 15:29
ruoso Casan, indeed... an article would be a good idea... any specific topic you think to be interesting? 15:30
Casan ruoso: I think I understood what you just wrote, but could use it explained in context to a real world example in simple steps. 15:32
pmurias Casan: it's not implemented yet :( 15:33
ruoso that remebers me of getting back to coding ;P
ruoso trying to finish the native capture...
Casan ruoso: but for practical purposes, what I'm really interested to learn from at this point is articles on OO involving apache,mod_perl,perl6 and the mvc pattern.
ruoso wow... 15:34
that is a *lot* of stuff
Casan ruoso: heh, ok, centered around mod_perl and perl 6 though the rest just included to provide context/perspective.
ruoso but one thing that could be done in this area is to understand how *real* continuations could affect web development, since kinda-continuatoins are already making a lot of fuzz... 15:35
pmurias ruoso: i think hiding the asynchronity is the big thing 15:36
Casan maybe I should continue my investigations and try to write an article myself as a beginner to beginner. but finding information on mod_perl and perl6 is something I still think I haven't succeeded in properly yet, and I have been reading about perl6 for ages.
ruoso yeah... I wonder how could a web-framework implement it using real continuations... 15:37
15:37 drrho joined
ruoso Casan, but anyway... in the web context, when comparint to Perl 5, I think the big points of Perl 6 will be: 1) continuations, 2) domain-specific-languages and 3) a more complete OO 15:39
pmurias my Form $form .= new(name => 'text');$form.render;$form.wait_for_submit();say "hi $form.name"
Casan I am just reading up on continuations on wikipedia now.. if understood right.. continuations in web application programming sounds like something with sessions and states. 15:41
ruoso pmurias, altought that should work... I think the creation of a GUI-like toolkit that implements MVC in the Smalltalk/Swing sense would be much insane.. 15:42
Casan, yeah... but something that would hide that from the user is *the* thing 15:45
pmurias ruoso: i only did webprograming with delimited continuations in narrative javascript so i don't know much about it 15:46
s/did webprograming/used continuations/ 15:48
15:51 Freja left
ruoso pmurias, I once tried (2001) to implement a GUI-like toolkit (event-based)... and now I know that one thing that with continuations that kind of framework is possible... 15:55
s/GUI-like toolkit/GUI-like toolit for web/
I even had a IDE to design the screens... :) 15:56
perl-oak.sf.net
lambdabot Title: The Perl Oak Component Tree - Forest Web Application Builder
15:57 marmic left 16:01 alester joined 16:05 marmic joined 16:15 meppuru left 16:16 meppuru joined 16:31 Lorn left
ruoso if I have a null terminated void* array... is it sane to use strlen to see the size of the array in bytes and strcpy to copy it? 16:34
pmurias ruoso: no 16:35
void* is of a diffrent length than char
ruoso I know... but I do want to know the size in bytes... 16:36
not the length of the array
I want to make a copy of the array 16:37
pmurias ruoso: can't you write a loop? 16:40
ruoso sure... but I was wondering if strlen would be more efficient than a loop...
hmmm
ok... I really can't do it... 16:41
because if a part of the pointer is 0, it will stop
Gothmog_ strlen would probably be less efficient, because it likely fetches single chars, not entire (d)words 16:54
But just have a look at the glibc source code, for example...
ruoso putting the question better... which is the most efficient way of copying a null-terminated void* array 16:55
alester Wait, you have a void * 16:57
What's in the void * array?
bytes?
Why is it NOT a string?
ruoso because it is a void**
actually a SMOP__Object** 16:58
alester aaaah, ok.
no, then you can't use strlen
ruoso yeah..
alester I wouldn't worry about "most efficient". Just make it work.
ruoso yeah...
Gothmog_ You have to allocate space for the copy, right?
ruoso yep 16:59
Gothmog_ So, just get the size in a simple loop...
And use memcpy() or the like.
If the array isn't very large, the largest amount of time is taken by malloc(), usually. 17:00
ruoso yeah.. I was just wondering if there isn't a shorter way of doing it...
Gothmog_ Shorter than while(p[++i]); ? :) 17:01
17:01 riffraff left
ruoso programs in Perl for too long :P 17:02
Gothmog_ Just don't forget to initialize i with -1, if you really copy that. ;)
ruoso I'm going to use calloc 17:03
pmurias ruoso: calloc? 17:05
it sets the memory to zero
ruoso yep, then I know that it will be initialized before copying 17:06
meppuru simpsons 17:07
Gothmog_ ruoso: But why, if you're going to overwrite it anyway in the next few nanoseconds? 17:14
ruoso good question... 17:15
:P
Gothmog_ There's no reason for that.
:)
17:15 lambdabot left
allbery_b calloc() was generally considered Bad Style, last I heard; better to initialize yourself 17:16
17:20 lumi left 17:25 drrho left 17:26 riffraff joined
ruoso realises another benefit of the constant identifiers... I'll have how to keep a separeted lookup for them in the capture that is more optimized that will just compare the pointers instead of having to call WHICH 17:28
17:28 jhorwitz joined 18:00 pmurias left 18:04 meppuru left 18:07 meppuru joined 18:12 japhb_ joined 18:13 japhb_ left 18:18 alester left
moritz_ @tell fglock thanks, I'll take a look at it 18:21
Auzon No lambdabot, it seems
18:22 icwiener left 18:25 IRSeekBot joined
moritz_ I'll tell him myself ;) 18:26
18:31 Ariel_Eran left 19:23 devogon joined 19:27 alester joined 19:28 alester left 19:31 barney joined 19:34 alester joined
pugs_svn r19600 | moritz++ | t/spec/S05-modifier/*.t: updated POD, whitespace fixes 19:51
19:51 Aankhen`` left 20:15 manfred left, alester left 20:16 riffraff left 20:24 _sprocket_ joined
_sprocket_ i'm trying to do a "make spectest" in the latest perl6 revision, but it's not finding util/fudgeall - has this been committed to svn? 20:27
moritz_ there is a util/fudgeall in the pugs svn repository 20:28
moritz_ tries it know 20:29
s/know/now/
_sprocket_ ah ok, i guess it's just not showing up in languages/perl6 then
moritz_ langues/perll6 is in the parrot svn, not the pugs svn
_sprocket_ yeah, that's where i'm doing the make spectest 20:30
sorry, i should have been more clear initially :)
20:30 barney left
moritz_ make spectest; works for me - although I get a couple of test failures 20:30
could you nopaste the complete output please?
_sprocket_ hmmm....i'll try a clean checkout instead of an update then
perl util/fudgeall rakudo t/spec/S02-literals/radix.t t/spec/S03-operators/autoincrement.t t/spec/S03-operators/comparison.t t/spec/S03-operators/equality.t t/spec/S03-operators/relational.t t/spec/S04-statements/until.t t/spec/S04-statements/while.t t/spec/S29-str/capitalize.t t/spec/S29-str/chomp.t t/spec/S29-str/chop.t t/spec/S29-str/comb.t t/spec/S29-str/index.t t/spec/S29-str/lc.t t/spec/S29-str/lcfirst.t t/spec/S29-str/length.t 20:31
i'll check it out fresh again, and try it out 20:32
moritz_ I get the same message
_sprocket_ ah ok
moritz_ but the test works nevertheless
_sprocket_ yeah, it seems to
pugs_svn r19601 | ruoso++ | [smop] SMOP__NATIVE__capture_create implemented, still only support constant identifier as the key for named arguments 20:33
20:33 chris2 left, BinGOs left
moritz_ _sprocket_: I told parrot guys about it, no doubt somebody will fix this soon 20:34
_sprocket_ cool, thanks 20:35
should i just report that to #parrot next time?
moritz_ probably, yes
or #rakudo (I don't know hox active that is) 20:36
20:36 BinGOs joined
moritz_ uhm, not very 20:36
forget that one ;)
_sprocket_ alrighty, thanks :)
hah
20:40 chris2 joined, BinGOs left, BinGOs joined 20:42 Lorn joined 20:51 BinGOs left 20:52 pbuetow left, BinGOs joined 20:54 zf8 joined
pugs_svn r19602 | moritz++ | t/spec/S29-array/*.t: converted to new POD format 20:54
21:08 Lorn left 21:15 JackDeth joined 21:18 zf8 left 21:23 JackDeth left 21:26 fridim_ joined 21:31 pbuetow joined 21:32 jferrero joined 21:38 pcbuetow joined, pbuetow left 21:39 rindolf joined 21:45 njbartlett__ left 21:53 njbartlett joined 21:58 fridim_ left, fridim__ joined 22:06 rindolf left 22:07 Jamtech joined 22:16 explorer__ joined 22:24 jhorwitz left 22:32 jferrero left 22:50 pjcj joined 22:52 iblechbot left 23:01 wknight-away joined 23:03 devogon left 23:05 devogon joined 23:13 bsb joined 23:14 fridim__ left 23:20 ruz left 23:21 ruz joined 23:26 ruz left, wknight-away is now known as wknight8111
meppuru good night 23:31
23:32 __Ace__ joined, __Ace__ left, __Ace__ joined 23:33 meppuru left 23:55 Limbic_Region joined 23:56 reltuk left