6.2.10 released! xrl.us/hxnb | geoffb's column (/. ed): xrl.us/hxhk | pugscode.org | pugs.kwiki.org | paste: paste.lisp.org/new/perl6 or sial.org/pbot/perl6 | www.geeksunite.net Set by integral on 25 October 2005. |
|||
dduncan | I for one welcome the new metamodel integration | 00:01 | |
autrijus | ...and concurrency too | 00:06 | |
autrijus commits s17 early draft | |||
sub bomb is atomic { ... }; sub path is critical { ... }; | |||
eric256 | lol | 00:07 | |
rafl_ | :-) | ||
autrijus | the hs runcore will get a head start | ||
azuroth | I just changed the pods and kwik... is the one on pugscode.org automatically converted to html or something? | ||
autrijus | as it's all from GHC.Conc ;) | 00:08 | |
but liz also got uncountable numbers of Thread::* modules on CPAN to emulate this | |||
so p5 runtime shouldn't be _that_ bad either | |||
azuroth: which url? | |||
azuroth | hmm. search.cpan.org/dist/Perl6-Pugs/lib...s/hack.pod - it's linked to from pugscode's index | 00:09 | |
autrijus | ahh. | ||
yeah it's pod2html of the latst release | |||
so your fix will wait till 6.28.0 | |||
azuroth | ahh, okay | 00:10 | |
Khisanth | hmm how long does it usually take to compile ghc? | ||
svnbot6 | r7787 | autrijus++ | * S17 draft, sketch notes, with Liz | ||
r7788 | azuroth++ | Fixed some grammaticos and wrongness in documentation | |||
autrijus | Khisanth: if you insist... you can do that. on my laptop is 5hr | 00:11 | |
Khisanth | ! | ||
eric256 | (grammaticos and wrongness)++ lol | 00:12 | |
azuroth | ;-p | ||
what are some easy TODOs? ^_^ | 00:17 | ||
autrijus | in hs space? | 00:18 | |
azuroth | yeah - or anything, really | ||
eric256 | you can help link tests to documentation ;) | ||
autrijus | I'm actually going to sleep soonish -- ask the channel for ideas :) | 00:19 | |
I can use help implementing both the conc and objsp stuff, but more details tomorrow :) | |||
azuroth | okay, cool | ||
link tests to documentation, eh? | |||
eric256 | yea. L<S12/"Heading" /regex to specific spot in paragraph/> tests.pugscode.org | 00:20 | |
stevan | autrijus: I just finished reading the "Ruby in C" section of the PickAxe book,.. it was actually very helpful,... (and much cleaner than XS) | 00:21 | |
autrijus | good. | ||
and it would make sense to compare to YARV arch | |||
stevan | yes | ||
very much so | |||
autrijus | which is like, distilled version of the tree reduction semantics | ||
(ruby was tree reduct like pugs-vanilla and p5) | |||
but they are going bytecode as well | |||
stevan | ah | 00:22 | |
bytecode is so old school though ;) | |||
autrijus | ASTs are fine for semantics stuff and static analysis | ||
azuroth | eric256: where can I find S12? ;-p | ||
autrijus | but for minimal runtime vocab, you want something more restrictive, and stack bytecode is one of the many comparably restrictive ways to achieve that | 00:23 | |
eric256 | either feather.perl6.nl/~eric256/t_index/Synopsis/ or dev.perl.org/perl6/doc/synopsis.html | ||
autrijus | not doing that will result in runtime bloat, like our dear p5vm | ||
;) | |||
(aka, "too many primitives") | |||
stevan | autrijus: so should I rethink the P6::Objectspace::Core stuff? | 00:24 | |
autrijus | stevan: I thought you were going to rethink it anyway :) | ||
stevan | yes, but I guess I am asking how radically I am going to rethink it :) | ||
azuroth | ahh, ok. thanks | ||
azuroth away | |||
stevan | should I lean more towards bytecode?? | ||
autrijus | stevan: no, I think minimal function call API works better than bytecode | 00:25 | |
since they are isomorphic | |||
stevan | ok | ||
autrijus | but easier to reason with | ||
sorta like the ANF<->SSA duality | |||
also, because we are not really writing VMs. | |||
it would be very much not fun if we have to write either YARV or Parrot. | |||
;) | |||
stevan | yes, at least not yet ;) | ||
autrijus | nah, not going to :) | ||
we enslave^Wdominate^Wtarget VMs instead | 00:26 | ||
stevan ponders writing in PIR again,.. then slaps himself | |||
autrijus | maybe you can invent a minimal notation for PIR | ||
but then, why not just take the JS, Pike, IO, or whatever notation | |||
(that nests functions and handles objs) | 00:27 | ||
stevan | :) | ||
autrijus | but really, the effort would amount to be the same as calling a set of p5 space core funcs | ||
so I fail to see the gain :) | |||
stevan | so do you see a usefulness for anything in Core::, or should I svk rm it all ? | 00:28 | |
eric256 failes to see what either of you are even talking about. lol ;) | |||
stevan | eric256: ObjectSpace :) | ||
autrijus | eric256: it's in docs/notes/object_space.txt | ||
eric256 ahhh...and rolles his eyes. ;) | |||
stevan | :D | ||
autrijus | stevan: the casting stuff are fine | 00:29 | |
base type enumeration and coercion rules | |||
those we can't do without anyway | |||
so I don't think they need to go | |||
they are the intrinsics | |||
stevan | they need to go? or stay? | ||
autrijus | still makes sense Perl6::Val really | ||
stevan | sorry didnt see "dont" | ||
autrijus | :p | ||
stevan | so maybe I just assume these things are my VM primatives then? | ||
or at least thin wrappers around them | 00:30 | ||
autrijus | sure, like the ruby "val" and "num" etc | ||
stevan | yeah | ||
autrijus | you don't need to reason about them at instruction/coreprim level | ||
they are just there, aye | |||
closing thoughts of the day: | 00:33 | ||
class Hash { method circumfix:<( )> { say 'Whee!' } }; %ENV(42); | 00:34 | ||
autrijus waves goodnight :) | |||
stevan | nite :) | ||
mugwump | shouldn't that be post_circumfix? ;) | ||
autrijus | riight ;) | ||
postcircumfix | 00:35 | ||
svnbot6 | r7789 | eric256++ | Test-Catalog: Now highlights multi line tests correctly. | 00:39 | |
eric256 | hey...i know i can use perl5 modules in perl6....supposidly...anyone know how? | 00:50 | |
nm. lol | |||
rafl_ | use perl5:Foo? | ||
eric256 | yea i kept trying perl5- ...didn't it used to be that? | 00:51 | |
rafl_ | Not sure. I only know that pugs implements perl5:. | ||
eric256 | do you know the new 'use lib? | 00:54 | |
misc | eric256: use.perl.org/~clkao/journal/24897 i think ? | 00:56 | |
eric256 | misc .... rafl had it right.. much have changed since then | 00:57 | |
Juerd: ping | 01:03 | ||
r0nny_ | re | 01:12 | |
rafl_: ping? | 01:13 | ||
rafl_ | r0nny_: pong | ||
r0nny_ | got svk now | ||
kinda lost in the manpage - cant see, how to get a p4 repo with this | 01:14 | ||
rafl_ | mirror p4:user@host:1666://path/... DEPOTPATH | 01:17 | |
r0nny_ | hmm | 01:18 | |
eric256 has to ask | 01:32 | ||
what is p4? | |||
rafl_ | Some non-free RCS. | 01:33 | |
tewk | p4 is Perforce | 01:44 | |
eric256 | hmmm. zip is documented to use ; instead of , .... anyone know if that has officialy changed. pugs supports , not ; :) | 03:19 | |
luqui | no, zip really does use ; | 03:21 | |
but pugs doesn't support it | |||
so pugs uses , | |||
eric256 | gotcha. ;) why would zip want ; instead of , now that , doesn't flatten | ||
luqui | probably: zip(1,2,3;4,5,6) | 03:23 | |
and zip(f(); g()), so f and g can be called in list context instead of scalar context | |||
eric256 | ; forces list context? | 03:24 | |
luqui | not necessarily (actually maybe, I'm not sure) | ||
eric256 | the first one would be zip( (1..3), (4..6) ); | 03:25 | |
luqui | but , definitely doesn't allow list context | ||
because zip(f(), g()), if f and g were called in list context, they would have to be part of the same list | |||
eric256 | true. hmmm ; for something other than the end of a statment seems...weird. ;) but i guess if thats the way it is, then i'll deal. ;) | ||
luqui | we use it as the "greater comma" | ||
my $matrix = [1,0;0,1] | |||
eric256 | okay....second question. why doens't pugs support it yet? | ||
luqui | nobody's written it yet? | 03:26 | |
and because it's not quite specced | |||
or it wasn't until a week ago | |||
eric256 | just wondered if there was some current barrier | ||
lol. gotcha. | |||
stevan_ | autrijus: when you backlog,.. this is kind of neat to play with www.atdot.net/yc/compile | 03:33 | |
Khisanth | heh so perl has three commas now? :) | 04:29 | |
dduncan | what are the three commas? | 04:39 | |
and don't say '=>' because that isn't a comma | |||
pantie1 | bouncey bouncey? | 05:48 | |
www.livejournal.com/users/clavice_beato/ | |||
clavice and I are space amigos | 05:49 | ||
will you be our space amigos? | 05:50 | ||
Khisanth | ?eval package Foo; | ||
evalbot_7789 | undef | ||
Khisanth | ?eval package Foo; sub foo { say "foo" } package Main; Foo::foo; | 05:51 | |
evalbot_7789 | foo bool::true | ||
pantie1 | fool, bool true! | 05:52 | |
mr T says... | |||
Khisanth | ?eval package Foo; sub foo { say caller().package } package Main; Foo::foo; | 05:53 | |
evalbot_7789 | Main bool::true | ||
Khisanth | ?eval $?PUGS_VERSION | ||
evalbot_7789 | \"Perl6 User\'s Golfing System, version 6.2.10, October 10, 2005 (r7789)" | ||
pantie1 | ?eval $?OS | 05:54 | |
evalbot_7789 | \"linux" | ||
pantie1 | ?eval $*OS | ||
evalbot_7789 | \undef | ||
dduncan | who is this joker? | 06:03 | |
geoffb | good morning, nothingmuch | 06:19 | |
... and goodnight, all | 06:23 | ||
nothingmuch | hhi ho geoffb | 06:45 | |
sleep tight | |||
xinming | ?eval exit | 08:22 | |
evalbot_7789 | Error: No compatible subroutine found: "&exit" | ||
xinming | :-P | ||
iblechbot: ping | 08:31 | ||
wolverian | ?eval ("a".."c").end | 10:39 | |
evalbot_7789 | 2 | ||
liz6 | ?eval ('a'..'c').end | 10:40 | |
evalbot_7789 | 2 | ||
ods15 | ?eval 'a'..'c' | 10:41 | |
wolverian | (just checking if it really was .end and not .last or something) | ||
evalbot_7789 | ("a", "b", "c") | ||
ods15 | ?eval 'a'..'aa' | ||
evalbot_7789 | ("a",) | ||
ods15 | ?eval 'a'..'aaa' | ||
evalbot_7789 | ("a",) | ||
ods15 | heh | ||
?eval 'aa'..'ba' | |||
evalbot_7789 | ("aa", "ab", "ac", "ad", "ae", "af", "ag", "ah", "ai", "aj", "ak", "al", "am", "an", "ao", "ap", "aq", "ar", "as", "at", "au", "av", "aw", "ax", "ay", "az", "ba") | ||
ods15 | ?eval 'a1'..'b1' | ||
evalbot_7789 | ("a1", "a2", "a3", "a4", "a5", "a6", "a7", "a8", "a9", "b0", "b1") | ||
ods15 | ?eval '01'..'10' | 10:42 | |
evalbot_7789 | ("01", "02", "03", "04", "05", "06", "07", "08", "09", "10") | ||
ods15 | ?eval '1'..'10' | ||
evalbot_7789 | ("1",) | ||
ods15 | cool... | ||
bye | |||
wilx | Omg, does Perl6 read minds? :) | 10:43 | |
wolverian | yes. | ||
liz6 | ?eval 1..10 | 10:44 | |
evalbot_7789 | (1, 2, 3, 4, 5, 6, 7, 8, 9, 10) | ||
liz6 | ?eval 1.."10" | ||
evalbot_7789 | (1, 2, 3, 4, 5, 6, 7, 8, 9, 10) | ||
liz6 | ?eval "1"..10 | ||
evalbot_7789 | ("1",) | ||
wolverian | that's a bug. :) | 10:45 | |
hmm. perhaps $obj.sleep( until => "readable" ); # random thought while reading S17 draft | 10:46 | ||
liz6 | keeping Damians PBP in mind, maybe: | 10:47 | |
$obj.sleep( while => "not_readable" ); | 10:48 | ||
wolverian | hmm. | 10:49 | |
$obj.sleep_until: { $obj.readable }; # flexible? | |||
er, although that's just the same as '1 until $obj.readable' which is pretty horrid | 10:51 | ||
liz6 | it's the until | ||
that seems to be hard on people's minds | |||
and therefor not recommended in Perl Best Practices... | |||
wolverian | right. I haven't read PBP yet, actually :) | 10:52 | |
liz6 | recommended... | 10:53 | |
dduncan | I've read it cover to cover ... highly recommended | ||
wolverian | I'll try to get my hands on it. | 10:54 | |
azuroth | evening | ||
dduncan | I find it the second most useful perl book of them all, with 'programming perl' being the first | ||
at least at my current stage of experience | 10:55 | ||
azuroth | what book is this? | ||
dduncan | perl best practices | ||
kgftr|konobi | pbp++ # lots of useful stuff in there, such as indirect method calls being very very bad! | 10:56 | |
dduncan | of course, people in other situations will likely find different books more useful ... such as Peter Scott's on dealing with other people's horrid code | ||
or the 'learning' ones | 10:57 | ||
or the domain specific ones | |||
but the classic camel and pbp are my own personal most useful atm | |||
broquaint | PBP = Sensibility distilled. | 10:59 | |
dduncan | indeed ... quite likely to become a defacto standard methinks | ||
at least I'm contributing to that status | |||
as all my new cpan work is or will be mostly conformant | 11:00 | ||
azuroth | I'll have to read it ... | ||
metaperl | has anyone convinced Larry to allow /* */ as a multi-line comment for p6? | 11:01 | |
wolverian | I hate ->get/set accessors. (Class::Std.) | ||
dduncan | don't know | ||
wolverian | metaperl, not yet. :) | 11:02 | |
dduncan | I like get/set accessors | ||
wolverian | I like lvalue accessors/mutators. | ||
(albeit they suck in perl5.) | |||
dduncan | I never used them in my life | ||
wolverian | it's the way of the future! :) (C# and Perl6 both use them.) | 11:03 | |
liz6 | lvalue accessors are not recommended in PBP | ||
wolverian | liz6, I know. I understand it's not because of any inherent fault in them, but in the implementation of them in perl5, though. | ||
I might be wrong, since I haven't read PBP. | |||
dduncan | they're fine if the values in question can contain any value at all and no error checking is necessary | ||
wolverian | dduncan, why? you can easily add type checking. | 11:04 | |
dduncan, see, for an example, Attribute::Property on CPAN. | |||
broquaint | I think the idea behind not having multi-line comments, metaperl, is that if your comment is taking up multiple lines then it should be in the documentation, hence =pod/=cutthe best way to facilitate multi-line comments. | ||
dduncan | oh yes, you mean in perl 6 | ||
wolverian | dduncan, I mean in both perl5 and perl6. | ||
metaperl | broquaint: i see | ||
broquaint | That's just my theory, mind you. | ||
dduncan | but in that case, you haven't actually got a bare lvalue accessor, as it is wrapped in an object | ||
wolverian | dduncan, a closure. :) | 11:05 | |
dduncan | maybe its just the syntax you like? | ||
wolverian | of course it's just the syntax. they are exactly equivalent in other ways to get/set | ||
liz6 | wolverian: you're right | 11:06 | |
broquaint | Not quite, wolverian, as in lvalue you're just boshing a value into a attribute but in the accessor method style you've got paramters and arguments and binding and so forth. | ||
wolverian | broquaint, true, but if it's that complex it shouldn't be an accessor/mutator anymore, but a generic method. | 11:07 | |
dduncan | and there's the error checking thing thats different with vanilla perl 5 | ||
wolverian | dduncan, yes. | ||
dduncan | and that's mainly what pbp was against | ||
broquaint | Fair enough, wolverian. | 11:08 | |
wolverian | dduncan, that's certainly understandable. | ||
dduncan, but CPAN is there for us to use. :) | |||
broquaint | But, to be fair, PBP is a sensible approach to programming in perl, and programming in perl isn't always sensible :) | ||
dduncan | of course, pbp's ground rule is to get people to do things by choice, rather than by habit | 11:09 | |
wolverian | always following the rules is not -Ofun :) | ||
broquaint | Or should I say the programming with perl isn't always sensible. | ||
dduncan | if you have an explicit reason to do something against its recommendations, that's still going with its intent | ||
and using a cpan module to add whatever is such a conscious choice | |||
liz6 | indeed | 11:10 | |
dduncan | good night, past 3am here and all ... | 11:13 | |
metaperl | good night D | ||
liz6 | nightynight... just after noon here... ;-) | 11:14 | |
xinming | 19:33 here. | 11:33 | |
liz6 | isn't this great: a truly global effort! | ||
xinming | but too few commits. :/ | 11:34 | |
Juerd | IRC pings are so annoying, and such a waste of time. | 12:09 | |
Why do people insist on "$nick: ping", waitfor(pong), "$nick: $question" instead of just beginning with "$nick: $question"? | 12:10 | ||
02:08 < eric256> Juerd: ping | |||
But he is offline now. | |||
If he had asked a question, I'd be able to email him an answer. | 12:11 | ||
webmind | because someone wants a more direct conversation ? | ||
Juerd assumes he wanted to ask something, not socialize. | |||
webmind | could be impatience | ||
Juerd | afk | 12:12 | |
integral | but then there's the people who ask a question, and then ping all the people who answered them last time ... | 12:33 | |
broquaint | ?eval my $_ = "say q/things/;" eval | 13:06 | |
evalbot_7789 | Error: unexpected "e" expecting operator, ";" or end of input | ||
broquaint | ?eval my $_ = "say q/things/;"; eval | ||
evalbot_7789 | undef | ||
broquaint | ?eval my $_ = "q/things/;"; eval | ||
evalbot_7789 | undef | ||
broquaint | ?eval $?PUGS_VERSION | 13:07 | |
evalbot_7789 | \"Perl6 User\'s Golfing System, version 6.2.10, October 10, 2005 (r7789)" | ||
broquaint | Hrm. | ||
svnbot6 | r7790 | autrijus++ | * S17: Incoporate suggestion from Austin Frank; s/wait/join/; timer; continuation | 13:41 | |
r7791 | autrijus++ | * "is throttled" trait | 14:05 | ||
Limbic_Region | salutations liz6 | 14:15 | |
liz6 | hi L~R! | 14:16 | |
Juerd wonders if liz6, like perl6, was designed from scratch | 14:18 | ||
And if she's implemented with Haskell :) | |||
liz6 | I'm implemented with Freckles, actually... | 14:19 | |
Juerd | Is that turing complete? :) | ||
liz6 | Probably not... | 14:20 | |
Limbic_Region | liz6 how is working with autrijus? | ||
liz6 | I always feel like I'm slowing down Autrijus... | ||
but sometimes that's a good thing... | |||
Juerd can imagine | |||
He's incredibly fast :) | |||
liz6 | even faster than you, Juerd... ;-) | 14:21 | |
Juerd | Certainly | ||
autrijus | yo :) | 14:23 | |
Juerd | Is that like io? :) | 14:24 | |
autrijus | driving fast doesn't matter much if you don't know where to go | ||
and liz6 always know where to go, on S17 :) | |||
Limbic_Region | isn't S17 supposed to cover things like coroutines as well? | ||
autrijus | Limbic_Region: yes. | ||
and we'll get there | |||
Limbic_Region | good | ||
Juerd | Nice metaphor | ||
autrijus | which is also why we're using Concurrency instead of Threading | 14:25 | |
as the synopsis name | |||
because coros are just not very threaded | |||
Limbic_Region | right - coros are fancy continuations | ||
autrijus | if by "fancy" you mean "supressed and maimed", yes | 14:26 | |
liz6 | ;-) | ||
Limbic_Region | hmmm - no, that's not what I meant | ||
continuations only work from 1 point right? | |||
while a coroutine can continue and then stop again | |||
? | |||
autrijus | er no, continuations are the most general of all | 14:27 | |
in coro you can only yield into your caller's continuation | |||
while if you have first class continuation, you can invoke from anywhere to anywhere with anything | |||
Limbic_Region | ok, but you can yield mutliple times in multiple places | ||
autrijus | sure, so if you have cont, you can implement coro as simply passing the cont into the coro | 14:28 | |
and yield would be invoking the cont, passing it as argument the cont of the coro | |||
Limbic_Region | well, implementation is above my head | ||
autrijus | but yeah, coro is more accessible. | ||
cont is basically goto() that takes a value and preserves call stack. | 14:29 | ||
very hard to use sensibly. | |||
s/preserve/restore/ | |||
Limbic_Region | right | ||
which is why I saw coros as being more fancy | |||
perhaps wrong word | |||
autrijus | more "dressed up" | ||
nod | |||
liz6 | need to prepare for some $work, later! | 14:30 | |
autrijus | no, I guess "fancy" is the correct word. it's just my mind is in the direction of "the more abstract, bare and generic the thing is, the sexier it is" | ||
obra | There is such a thing as too abstract and generic | ||
autrijus resists a joke on naked singularities | |||
there is. | |||
Limbic_Region | of course, these aren't true coros in the sense that Knuth postulated about | ||
autrijus | obra: looked at the S17 we committed 5mins ago? | 14:31 | |
Limbic_Region | we still have a single processor simulating work in tandem | ||
autrijus | it's not at all there. just things that we agree should be there | ||
Limbic_Region | autrijus - out of curiosity, will you be able to use conts and coros in places where goto's aren't allowed in p5 (body of loops that require initialization for instance)? | 14:33 | |
obra | autrijus: I haven't looked in the last 5 minutes ;) | ||
autrijus | Limbic_Region: yes, of course! | 14:34 | |
that's their entire point. | |||
I'm actually thinking about removing the Stmt form in the PIL tree, as everything is really just an expression; you should be able to take continuations in middle of statement | 14:35 | ||
and, so to speak, goto() into middle of expression. | |||
Limbic_Region | well sure, but when I first brought up the question on the list it didn't sound like there was much interest in using them to their full potential | ||
obra starts to imagine using a VM hook to use continuations to do backups of long-running processes | 14:36 | ||
or to do realtime loadbalancing at the process level. | |||
autrijus | right. | ||
obra | That way you can move one runaway process to each CPU and take down EVERYTHING ;) | 14:37 | |
autrijus praises squeak for demonstrating the viability | |||
yeah, mobile code, etc | |||
obra | you beat my fingers by 10 sec | ||
autrijus | Limbic_Region: it takes education :) | ||
Limbic_Region | autrijus - good, I haven't lost faith yet ;-) The other question I asked in that thread were the same questions Dan highlighted in www.sidhe.org/~dan/blog/archives/000178.html | 14:38 | |
there seemed to be a lot of disagreement amongst @larry at the time | |||
autrijus | yeah, but in 2.5 yrs, things changed | 14:39 | |
Limbic_Region | IIRC, between Luke and Damian | ||
that wasn't 2.5 years ago - it was this past May | |||
autrijus | oh. that was between lazy gather vs explicit coro | ||
I think we need both ;) | |||
Limbic_Region | well that too | 14:40 | |
but still not what I was talking about | |||
autrijus | *puzzled* | ||
Limbic_Region | parameters | ||
Limbic_Region tried to stuff too much into a single post I think | |||
perlbot nopaste | 14:42 | ||
perlbot | Paste your code here and #<channel> will be able to view it: sial.org/pbot/<channel> | ||
pasteling | "Limbic_Region" at 129.33.119.12 pasted "Parameters and Coroutines" (10 lines, 165B) at sial.org/pbot/14024 | ||
Limbic_Region | autrijus - I was talking about the behavior we would choose for that link | 14:43 | |
there is more than 1 way to do it | |||
autrijus | yeah. | ||
PerlJam | Limbic_Region: and how would you do it? | ||
autrijus | coro foo ($a) { yield $a; yield $a+1; yield $a+2 }; (foo(1), foo(2), foo(1), foo(2)) | 14:44 | |
?eval coro foo ($a) { yield $a; yield $a+1; yield $a+2 }; (foo(1), foo(2), foo(1), foo(2)) | |||
evalbot_7791 | (1, 2, 3, 1) | ||
Limbic_Region | PerlJam - I indicated we should try to emulate whatever is closest to other languages that natively support coroutines | ||
PerlJam | autrijus: the $a doesn't get rebound? | 14:45 | |
autrijus | PerlJam: it does only at full reentrance | ||
Limbic_Region | the concept was pretty foreign to me before I started reading about continuations and coroutines - I saw the potential, asked about it as well as semantics for parameters - and saw the thread go blammo | ||
autrijus | I think that's what iblech is having at js too, not very sure | 14:46 | |
PerlJam | autrijus: then what's the point of passing a parameter the 2nd and 3rd time? | ||
autrijus | PerlJam: there's no point... I guess you can raise a warning? | 14:47 | |
leo | autrijus: it does only at full reentrance -> (1, 2, 3, 2) ? | ||
Limbic_Region | autrijus - there may be a point | ||
autrijus | leo: first one is +0 | ||
Limbic_Region | depends on perspective | ||
autrijus | oh wait | ||
should be 2 then. | |||
autrijus ponders what's what's going on | |||
Limbic_Region | when Knuth first proposed the concept of coroutines - it was intended to be two processes working in parallel (but in implementation we only emulate them) | ||
PerlJam | autrijus: I bet the first yield is "skipped" | 14:48 | |
(not on the first invocation obviously) | |||
autrijus | ?eval coro foo ($a) { yield $a; yield $a+1; yield $a+2 }; (foo(1), foo(2), foo(1), foo(2), foo(2), foo(2)) | ||
evalbot_7791 | (1, 2, 3, 1, 2, 3) | ||
Limbic_Region | adding a second or third parameter each time it is invoked could be thought of as giving new information to the parallel running process | ||
autrijus | ?eval coro foo ($a) { yield $a; yield $a+1; yield $a+2 }; (foo(1), foo(2), foo(1243), foo(9), foo(2), foo(2)) | ||
evalbot_7791 | (1, 2, 3, 1, 2, 3) | ||
autrijus | PerlJam: it's never rebound. | ||
PerlJam | oh, hmm. | ||
autrijus | very bad implementation, it seems. | ||
PerlJam | indeed :) | ||
autrijus | blame... autrijus I guess. iblech does it differently | ||
you'd get 1,2,3,9,10,11 I think | |||
Limbic_Region | autrijus - did the commentary I just added make sense? | 14:49 | |
autrijus | but that's why we have them at t/unspecced/ | ||
Limbic_Region: sure, it will amount to rebinding them | |||
Limbic_Region | but is that the right thing | ||
that's the point, it can be argued both ways | |||
since we don't really have parallel processes - we are only emulating them | |||
PerlJam | personally, I think the args should be rebound. | 14:50 | |
Limbic_Region | PerlJam - but what if it is invoked the second time with no args | 14:51 | |
should the previous state stay put - should an exception be thrown | |||
principal of least surprise is going to be hard to avoid here | |||
s/avoid/meet/ | |||
PerlJam | Limbic_Region: the sub takes an arg, so if one isn't given it's an error | 14:54 | |
the sub takes a non-optional arg I mean | |||
Limbic_Region | PerlJam - that's one way to look at it | 14:56 | |
the other way to look at it is that it was only called once and was paused | 14:57 | ||
when it was resumed it should remember how it was called | |||
IOW - a coro and a sub are different beasts | |||
hmm | |||
lag | 14:58 | ||
Khisanth | ah ha! | 14:59 | |
gaal: make works, make unoptimized doesn't, in fact just make uses a lot less memory too! | |||
Limbic_Region | minus the !, nice palindrome ;-) | ||
svnbot6 | r7792 | iblech++ | Per r6376 of S06: Changed ?$var to $var? and +$var to $var!. Also you can write | 15:23 | |
r7792 | iblech++ | "$var = 42" instead of "?$var = 42"/"$var? = 42" now. | |||
r7792 | iblech++ | * examples, t, ext, docs, perl5, src/perl6: | |||
r7792 | iblech++ | Changed (hopefully) all occurances of ?$var and +$var to conform the new S06. | |||
r7792 | iblech++ | Note that I did *not* update perl5/Perl6-Value, as Perl6-Value includes an | |||
r7792 | iblech++ | own small parser. | |||
r7792 | iblech++ | * Pugs.AST.Internals: Updated the code to determine whether a param is slurpy, | |||
r7792 | iblech++ | to accommodate to the Pugs.Parser change. | |||
r7792 | iblech++ | * Pugs.Parser: Updated the parsing of the pre- and post-sigils. | |||
r7792 | iblech++ | $var # really: $var! (which is same as $var is required) | |||
r7792 | iblech++ | $var? # really: $var? (which is same as $var is optional) | |||
r7792 | iblech++ | :$var # really: :$var? (which is same as :$var is optional) | |||
r7792 | iblech++ | :$var! # really: :$var! (which is same as :$var is required) | |||
r7792 | iblech++ | You cannot mix slurpy with named any longer, i.e. | |||
r7792 | iblech++ | :*@args # is illegal now | |||
r7792 | iblech++ | (Note that the named-ness of *@slurpy_args was ignored (see | |||
r7792 | iblech++ | www.nntp.perl.org/group/perl.perl6....ge/22883); now it's | |||
r7792 | iblech++ | additionally a parse error). | |||
r7793 | iblech++ | util/catalog_tmpl/code.tmpl: Removed the unintended indent of the first line of a test. | |||
Khisanth hopes someone cleans up the sigil mess at some point | 15:24 | ||
?eval my @foo=1..4; | 15:32 | ||
evalbot_7791 | *** No compatible subroutine found: "&eval" at -e line 11, column 7-39 | ||
Khisanth | O_O | ||
17:17
Lopo_ is now known as Lopo
|
|||
Khisanth | ?eval my @foo=1..4; @foo.splice( 1, 1 ); | 17:28 | |
evalbot_7793 | 2 | ||
liz6 | ?eval my @foo=1..4; @foo.splice( 1, -1 ); | 17:30 | |
evalbot_7793 | 3 | ||
liz6 | ?eval my @foo=1..4; @foo.splice( -1, 1 ); | 17:31 | |
evalbot_7793 | 4 | ||
liz6 | ?eval my @foo=1..4; @foo.splice( 1, -2 ); | ||
evalbot_7793 | 2 | ||
r0nny | re | ||
autrijus | yo | 17:33 | |
svnbot6 | r7794 | stevan++ | Perl6-ObjectSpace -> just following a train of thought with the older code, I need to finish this idea a little more to explore where to go next | 17:53 | |
geoffb | *yawn* *smack smack* | 18:04 | |
obra | seen leo | 18:07 | |
jabbot | obra: leo was seen 3 hours 20 minutes 30 seconds ago | ||
Limbic_Region | am I the only one noticing the case conflict with perl5\Perl6-ObjectSpace\lib\Perl6\MetaModel\Opaque.pm and perl5\Perl6-ObjectSpace\lib\Perl6\MetaModel\opaque.pm | 18:19 | |
Limbic_Region can't do a svn up | |||
autrijus | Limbic_Region: you are on a case-insensitive, case-uncaring, case-cruel filesystem | 18:20 | |
geoffb | "case-cruel" :-) | ||
autrijus | Limbic_Region: so, I'm afraid you have to rm -rf that MetaModel tree and then svn up | ||
(or switch to SVK, which a certain autrijus made sure it won't croak) | 18:21 | ||
Limbic_Region | autrijus - I deleted the file in question | ||
it restored it and then b1tched | |||
gaal | i like "incasative" | 18:23 | |
geoffb | autrijus, stevan__, re: the Object Space stuff: are these additional bits of PIL, or layered on top of it? | ||
autrijus | geoffb: they are distinct layers | ||
PIL is the AST; they are the "flow" part in PyPy literature | |||
Limbic_Region: hmmm | |||
geoffb | OK, so does that mean that implementing the semantics PIL will be enough to have a working backend? | ||
Limbic_Region is wiping out the entire MetaModel directory just in case | 18:24 | ||
geoffb | s/semantics/semantics of/ | ||
autrijus | geoffb: the ObjSpace is the "semantics" behind method calls in PIL | ||
so unless you want to have different intrinsic objects and different dispatch rules, ObjSpace is probably also part of runtime req | |||
Limbic_Region | even worse now autrijus | ||
gaal | _The Art of_ arrived today | 18:25 | |
geoffb | Hmmm. So basically Ob Space is a "zoom in" on one part of PIL, the method call | ||
? | |||
Limbic_Region | svn: Can't open file 'perl5\Perl6-ObjectSpace\lib\Perl6\MetaModel\.svn\tmp\text-base\Opaque.pm.svn-base': The system can not find the specified file | ||
geoffb | gaal, what is that? | ||
(I'm guessing a book, but what about?) | |||
gaal | TaPL up next | ||
geoffb: ..._The Metaobject Protocol_ | 18:26 | ||
geoffb | gaal, ah | ||
gaal | if i read it i'll finally have a chance to understand what Stevan's all up about :) | ||
geoffb | As a title by itself, I was thing "The Art of" was pretty damn wide for a subject | ||
heh | |||
So autrijus, sorry if I'm being obtuse. I'm thinking about it from the point of view of (maybe, someday) creating an additional backend -- what is the absolute minimum set of things I must supply to have it work completely, even if it's dog slow? | 18:27 | ||
Right now, it sounds like PIL + Ob Space + a certain set of primitive types and containers | 18:28 | ||
gaal | I want to write a "What the heck is" list of *questions* for stevan & co about OO in Perl 6 (first from a user perspective) but need tuits | ||
autrijus | geoffb: ok. to create a backend you need to write a codegen | ||
that takes pil and generates some sort of code in your runtime env | |||
geoffb | Tuits being sadly in shorter supply than oil . . . . | ||
Limbic_Region | autrijus - even after doing an svn cleanup - it still won't do a proper svn up | 18:29 | |
autrijus | and then that "sort of code" needs to manipulate the p6 objects | ||
so you need to port the metamodel on top of your language's runtime | |||
prior to objspace, porting metamodel is very hard | |||
now you just have to implement the intrinsic types | |||
Limbic_Region suspects anyone on Windows using svn is going to have the same problems | 18:30 | ||
autrijus | and the 30ish prim ops needed to support metamodel | ||
Limbic_Region: hm. seek help in #svn or so? worst case we move stuff into diff. dirs | |||
Limbic_Region can't join #svn as he only has access to #perl6 through Feather's CGI:IRC | 18:31 | ||
autrijus | ahh. | ||
Limbic_Region | no worries | ||
I will work on it tonight if I get a chance | |||
from home | |||
err scratch that | |||
geoffb | autrijus, OK, so to summarize, I need: PIL->backend codegen, PIL primitives, intrisic type implementations, MM primitives. And then it will Just Work. Yes? | 18:32 | |
Limbic_Region | tonight's Halloween | ||
autrijus | Limbic_Region: fixing it for you | ||
Limbic_Region hugs autrijus | |||
autrijus | geoffb: yes. | ||
visio would help | |||
<- but in irc.perl.org #parrotsketch meeting | |||
Limbic_Region | oh, well then /me shuts up | 18:33 | |
geoffb | autrijus, good then. And yes, diagram would be good in the future, but I understand what I need to right now. Good luck in mtg. | ||
svnbot6 | r7795 | autrijus++ | * Move MetaMode/* to MM/* in P6-OS because Win32 SVN | ||
r7795 | autrijus++ | doesn't like case changes. | |||
autrijus | Limbic_Region: svn up and try again? | ||
geoffb | & # brunch | ||
18:38
stevan__ is now known as stevan
|
|||
stevan | gaal: excellent book, I am sure you will enjoy it :) | 18:38 | |
Limbic_Region | autrijus - likely will have to delete directory, svn cleanup, svn up - but yeah ok | ||
autrijus | cool | ||
stevan | The Art of MOP that is | ||
hey autrijus :) | 18:39 | ||
Limbic_Region | for those of you keeping track at home - the p6 related questions at the Monastery have waned substantially in the last couple of months | 18:40 | |
autrijus | hey stevan :) | 18:41 | |
Limbic_Region | autrijus - no luck | ||
autrijus | Limbic_Region: just wait till 6.28.0 and p5objspace :) | ||
Limbic_Region: mm, what errors you got? | |||
Limbic_Region | perlbot nopaste | ||
perlbot | Paste your code here and #<channel> will be able to view it: sial.org/pbot/<channel> | ||
pasteling | "Limbic_Region" at 129.33.119.12 pasted "svn on Windows b0rk" (31 lines, 1.6K) at sial.org/pbot/14032 | 18:42 | |
autrijus | Limbic_Region: try this | ||
svn up * | |||
svn up | |||
oh hm, I bet I know why | 18:43 | ||
a sec | |||
Limbic_Region | ?eval sleep 1; say 'now' | ||
evalbot_7795 | Error: No compatible subroutine found: "&sleep" | ||
Limbic_Region | *shrug* - so much for the joke | ||
autrijus | Limbic_Region: try again | 18:44 | |
Limbic_Region | autrijus - same error | 18:47 | |
same place | |||
autrijus | again? | 18:49 | |
Limbic_Region | yep | 18:50 | |
svnbot6 | r7796 | autrijus++ | * add MM back | ||
r7797 | autrijus++ | try again | |||
Limbic_Region tries again just to be sure | |||
autrijus worked | 18:52 | ||
Limbic_Region hugs autrijus | 18:53 | ||
autrijus | :) | ||
geoffb | fg | 18:57 | |
autrijus | mm, var regs hits parrot trunk; shift/reduce parser works on PGE itself | 18:59 | |
Khisanth | variable registers? | ||
autrijus | chip has finally got some coherent picture of lex pad design -- once it's coded, parrot could really rock | ||
Khisanth: instead of I0..I31 and use a slow register alligator that eats continuations | |||
parrot register frame size can now vary from call frame to call frame | 19:00 | ||
geoffb | Is it The Plan that P6 arrays will be efficient about sparseness? In particular, small runs of adjacent filled entries, with large gaps of nothing? | ||
Khisanth | register alligator ... | ||
autrijus | geoffb: yes, I think so, esp. if you take ranges into account | ||
Khisanth makes funny faces at autrijus | |||
autrijus | er allocator. but since I was in leo's place I've always called it alligator | ||
geoffb: also I wonder if we should look into Judy for Hash | |||
geoffb | autrijus, nodnod. Prolly a good idea, if it's the same one I recall from a couple years ago (very cache-friendly multi-level keyed trees) | 19:01 | |
autrijus | yes yes. | 19:02 | |
self adapting and all that | |||
geoffb | autrijus, of course, doesn't that depend on being pretty bare metal with unboxed bytes and ints? | ||
PerlJam etches his ints into silicon | 19:03 | ||
geoffb | (In other words, losing a lot of efficiency if your unboxed byte operators are not as fast as C's?) | ||
autrijus | geoffb: er what? this is a hash table | ||
Limbic_Region | autrijus - the variable size registers still won't help the problem of seeing every { } as a potential closure right? | ||
autrijus | Limbic_Region: it will actually help, because {} as closure is now dirt cheap in parrot | 19:04 | |
geoffb | autrijus, I meant, implementing the Judy trees. Or were you assuming a library that we would just use? | ||
Limbic_Region | IOW - has there been a decision to force blocks explicitly as closure if desired in the p6 language when it isn't obvious | ||
autrijus | once lexpad is in, capturing all pads won't be a lot of cost | ||
Limbic_Region | autrijus - but it still has to do every single one right? | ||
autrijus | Limbic_Region: it's compile time allocation | ||
if you don't introduce new sym in that block | |||
then there's no pain | |||
Limbic_Region | *shrug* - if you say so | ||
autrijus | geoffb: judy.sf.net | ||
geoffb | well, all right then. :-) | 19:05 | |
autrijus | Limbic_Region: if it proves to be slow we can always optimize | ||
but I'm all for deferring optimization | |||
esp. seeing functional languages all do this block-as-closure | |||
and they seem to run just fine | 19:06 | ||
Limbic_Region | I wasn't suggest that optimizations on current stuff take precedence over becoming feature complete | ||
Parrot has had enough of that headache | |||
autrijus | ah. just "think about it" | ||
sure, will do | |||
Limbic_Region | I was only wondering what was being done to address chip's concerns (or perhaps it was pdcawley) about having to save everything as a potential closure/continuation | 19:07 | |
autrijus | it was chip's concern; but CPS interp fixed that -- saving cc is now O(1) and involves no memcpy I think. | 19:08 | |
Limbic_Region | cool | 19:09 | |
what is the CPS interp fix? I thought Parrot had always used CPS? | |||
geoffb | Limbic_Region, not always. But for a long time now, yes | ||
autrijus | yes but there was problems with the lower "control" registers IIRC | 19:10 | |
not at all sure now, because I learned them from leo | |||
who then, after three days, took them out | |||
Limbic_Region | geoffb, right - from my perspective it had been always and certainly before chip raised this specific concern | ||
autrijus | so I never remember the bad old days. | ||
chip raised the concern before that, I think | |||
but you want leo and chip for this, not me -- it's all hearsay from me | |||
Limbic_Region | well - I trust that good stuff is happening | 19:11 | |
Limbic_Region doesn't have the current knowledge to know otherwise | |||
and I certainly don't have the desire to get the knowledge to know for sure | |||
autrijus | you will, once we are targetting parrot for real | ||
you can then complain certain code of yours runs slower than p5 :) | |||
Limbic_Region | right - the proof is in the pudding | ||
autrijus | yes. | ||
Limbic_Region | It isn't that compiler/VM stuff isn't interesting - it certainly is | 19:12 | |
but it is something you spend years getting good at | |||
and I just don't want to make that kind of an investment | |||
autrijus | nodnod. | 19:13 | |
PerlJam | autrijus: so how long do you think before we have a parrot-based perl6 compiler (or whatever "the real" compiler looks like)? | 19:16 | |
autrijus | PerlJam: blocking on lexpad | ||
so chip is the better one to answer this | 19:17 | ||
PerlJam | autrijus: I know, I just want you gut estimation. | ||
s/you/your/ | |||
Limbic_Region | autrijus - so the missing exceptions and other features aren't an issue? | ||
autrijus | Limbic_Region: er, exceptions actually work | ||
but no, those aren't crucial | |||
PerlJam: pugs can target parrot once lexpad is there. about ~1wk for passing an agreeable amount of t/ | 19:18 | ||
PerlJam: the "real" compiler would require bootstrapping | |||
including porting Pugs.Rules into PGE and S/R parser | |||
and Pugs.Parser | |||
and also the rest of Compiler/CogeGen into P6 | |||
I don't know about those. not priority to me. | |||
Limbic_Region | hmmm - that's a scary thought to me actually | ||
autrijus | priority to me is get OO, then rules, then types, working. | ||
Limbic_Region | for 5 years now - Parrot has been able to be developed without a great deal of influence from the language (or rather a specific language wasn't driving the development) | 19:19 | |
autrijus | Tcl has been driving :D | ||
PerlJam | only lately | ||
Limbic_Region | and BASIC | ||
autrijus | yeah. | ||
Limbic_Region | and Python | ||
autrijus | python for a while | ||
Limbic_Region | off and on anyway | ||
autrijus | but negatively, in some areas | ||
PerlJam | BASIC early, then python for a while and now tcl. | ||
One day perl6 will be driving ;) | 19:20 | ||
autrijus | pugs has been driving ever since Vienna :) | ||
I made a list of parrotIsBrokenXXX in Pugs.Compile.Parrot and chip/leo has really placed them as top priority | |||
PerlJam | cool | 19:21 | |
autrijus | which is why as of today it's only lexpad was blocking -- it was six or seven things | ||
Limbic_Region | that's good | ||
what will also be good is targetted optimizations | |||
no offense to leo or anyone else providing optimizations to Parrot | |||
PerlJam | I really wish I knew more about parsers/compilers/etc. Right now I'm in the camp of "I know recursivce descent is slow, but I can write one of those" :-) | ||
Limbic_Region | but there really haven't been any real world applications to base them off | ||
Pugs brings lots and lots of examples and tests to the table | 19:22 | ||
autrijus | but nothing "production" before we hit 6.28.0 (which is why it's top priority for me) | 19:23 | |
Limbic_Region | PerlJam - if it were a noop to suddenly be instilled with lots and lots of parser/compiler/etc knowledge - me too ;-) | ||
autrijus | I still think p5vm targetting will bring a lot of _more_ code into table | ||
Limbic_Region | autrijus - matter of perspective | ||
autrijus | in this case CPAN code | ||
Limbic_Region | right | ||
sili | i say we code for maintainability and flexibility and just wait for hardware to catch up. it should do well with the expected release date of p6 | ||
Limbic_Region | heh | ||
autrijus | sili: except that CPUs are not getting faster. | 19:24 | |
which is why S17 (concurrency) is also a priority ;) | |||
sili | they are too getting faster | ||
geoffb | sadly, autrijus is right. (And a good wording for today's blog, thanks autrijus ) | ||
sili | someone at intel is working on it right... now. | ||
autrijus | geoffb: :) | ||
sili: er, intel is working on dual/quad/whatever cores instead | |||
sili | could be amd then. | 19:25 | |
geoffb | It's actually last week's, but between $work, @family, and &sickness, it's happening today instead. | ||
sili | or sun/ibm/etc | ||
autrijus | actually... amd is doing the same | ||
Limbic_Region | backplane speed is more of a concern to me then CPU | ||
autrijus | clocking CPU upwards is probably not going to happen at the same rate as before. | ||
geoffb | sili, most processor companies right now are focused on making parallelism suck less. | ||
autrijus | geoffb: woot | 19:26 | |
sili | heh. | ||
Limbic_Region | CPU speed increases have certainly not kept paced with the # of transistors | ||
and backplane speed really hasn't seen any significant improvements in a decade | |||
there are real barriers preventing individual CPU speed from going much further (which could certainly be overcame) | 19:27 | ||
it is just faster/cheaper/better to go multi-processor | |||
azuroth | morninggg | ||
Limbic_Region | salutaitons | ||
salutations even | |||
sili | let the community pay for time on a super computer | 19:28 | |
did i mention i'd really like to help p6, but i have no idea about how anything works? | |||
PerlJam | sili: "on a super computer"? you're clearly insane. How about time on "the network computer"? All of those people with broadband access and mostly-idle PCs could make for one hell of a parallel computer. | ||
sili | PerlJam: that's fine, too. | 19:29 | |
Limbic_Region | sili - you mean Perl6 or Parrot or Pugs or all of them? | ||
integral | sili: go into .../pugs/examples, find a program that's broken, fix it :-) | ||
PerlJam | sili: writing tests are always good. | ||
geoffb | PerlJam, well, for certain tasks, yes. | ||
sili | Limbic_Region: mostly parrot and p6 | ||
integral | PerlJam: PVM or MPI, or which has a Haskell lib? | 19:30 | |
PerlJam | geoffb: sure. As we reach our limits in one axis, we'll need to be thinking about where and how we can squirrel away computations. | ||
sili | integral: write a doc profling p6 from top to bottom | ||
Limbic_Region | well - there is plenty of p5 stuff that can help Parrot - I wrote benchmark code and there are the benchmark tests and verified builds on Cygwin (which has a very small user base) to report bugs | ||
sili | profiling. | ||
Limbic_Region | small, but helpful role | 19:31 | |
integral rolls his eyes at sili | |||
PerlJam | integral: you rolled a 3 | ||
Limbic_Region | Perl6 design happens mostly on the list - so jump in after reading the Synopses | ||
Pugs - well, that's where you go for fun | |||
sili | what about understanding parrot internals? | ||
Limbic_Region | sili - I hear the docs are getting better | 19:32 | |
but I never went down that road | |||
my C fu is too weak | |||
PerlJam | sili: prod chip and leo (and especially encourage them to get those PDDs updated) | ||
azuroth | someone's even doing a thesis on it, I think | ||
integral | the variable register frame thing still doesn't seem to be finished :-/ | ||
autrijus | integral: oh? how? | ||
sili | azuroth: i saw that on the list. could be a while until it's finished | ||
autrijus | integral: also, prodding allison to commit comptools and tte (tree transform engine) | 19:33 | |
integral: but! I discovers her s3kr1t stash! svn.lohutok.net/nam/trunk/parrot/ | |||
comptools.pod, Language::AG, it's all there | |||
integral | autrijus: that's the impression I got from leo's last email (p6i) on the topic | ||
oooh! | |||
"Actually now almost all register frame are variable-sized." - among other things the allocator apparantly still only allocates to 32 registers | 19:34 | ||
autrijus | leo: should the alligator simply die? | ||
sili looks for the automagic pod->html converter | |||
autrijus | sili: pod2html, part of perl | ||
(and raise a better alligator in its place) | |||
integral | podserver might be handy for you, sili | 19:35 | |
sili | that requires downloading files though | ||
integral | a much simpler one that just reuses when lifetime expires, since there's no need for moving things to the stack | ||
leo | integral: this isn't true anymore: new P60, .Integer #... | 19:36 | |
Limbic_Region | autrijus - nicholas doesn't participate in #parrotsketch ? How much, if any, is Ponie influencing Parrot? | ||
oh hey there leo ;-) | |||
integral | leo: ah, neat. I'm afraid I don't follow the commits list so I seem to miss lots of bits | 19:37 | |
autrijus | Limbic_Region: Nicholas does participate. he is apparently having massive hyperdistraction problems. | ||
like me, a few weeks ago | |||
Limbic_Region | k | ||
autrijus | at least he did not low level format his HDs. | ||
sili | leo: it was suggested to encourage you to update those PDDs | ||
:) | |||
autrijus | ponie does move parrot -- leo committed a few patches to make things work -- but not as close as (say) Tcl | ||
leo | integral: 13:59 <+svnbot6> r9677 (today) | 19:38 | |
sili: no time yet - but yes | |||
integral | cool :-) | ||
autrijus | integral: svnbot6 is da bot :) | ||
leo: we really need to get allison into this karma-collecting game | 19:39 | ||
leo | yup | ||
integral | autrijus: allison mentions PIL in her compiler_tools.pod; does pugs have it's PIL2 spec'ed out yet, or enough to feed some of that into the PAST thoughts? | ||
Limbic_Region is reading the #parrotsketch notes and sees Nicholas down at the bottom ;-) | 19:40 | ||
autrijus | integral: I don't think it's going to be a PAST soonish | ||
the Pirate people did not materialize one | 19:41 | ||
and noone else is doing that | |||
integral | ok | ||
autrijus | integral: and PIL2 is basically simplified PIL -- i.e. incremental changes | ||
mostly lexical hoisting and saner closure handling -- also thinking to drop Stmt form | 19:42 | ||
integral | ah, yeah, the compile time Pad issue | ||
autrijus | will do it alongside Obj stuff. | ||
kolibrie discovers an Ogg Vorbis capable car CD player! | 19:43 | ||
autrijus | kolibrie: ooh. url? | 19:44 | |
(not that I have a car.) | |||
kolibrie | www.yakumo.com/produkte/index.php?p...=Autoradio | 19:45 | |
have to look in the user manual | |||
Limbic_Region | ooh autrijus - Wendy sounds like a wonderful sounding board | 19:48 | |
Limbic_Region is reading the filled in journal stub | |||
autrijus | :D | 19:49 | |
yeah. already made her committer. | |||
Limbic_Region | fresh perspectives can be invaluable sometimes | ||
autrijus | "xenolupa" I think | ||
Limbic_Region | err, untainted fresh perspectives anyway | ||
autrijus | yeah, esp. she did not have the p5 brainwash nor the java/c# brainwash | ||
so, perfect person to try type system on | |||
comet_ | sometimes cliches are invaluable too | 19:50 | |
autrijus | as p6 type system had been really hard to swallow for people who had worked around and/or implemented either the dynamic or static end of strong typing | ||
Limbic_Region | well - I would still prefer a type system where there could be compile time failures for improper type usage | 19:54 | |
but one with the flexibility not to impose that when undesired | |||
raw speed, fast but flexible, flexible but not so fast | 19:55 | ||
xinming | autrijus: ping | 20:01 | |
autrijus | xinming: pong | 20:02 | |
comet_ | rama lama ding dong | ||
xinming | ?eval class a { has $.a; method update { $.a; } };class b { has $.a; submethod BUILD { a.new( a => $.a ).update; }; }; b.new( a => 20 ); | ||
evalbot_7797 | Error: No compatible subroutine found: "&update" | ||
xinming | autrijus: hmm, Is this bug fixed? | 20:03 | |
autrijus: hmm, If it is fixed, I want to see if the test is working. | 20:06 | ||
azuroth | is feather for parrot only, or pugs as well? | 20:07 | |
autrijus | azuroth: pugs as well. | ||
Limbic_Region | actually in that sense, pugs came first | ||
azuroth | Juerd: any chance I could get access? | 20:08 | |
Limbic_Region | well, perl6 came first | ||
Limbic_Region things feather should have had a p name now - Pugs, Ponie, Perl6, Parrot | |||
geoffb | Primary? (As in primary feather) | 20:09 | |
liz6 | pheater? | ||
geoffb | liz6, :-) | 20:10 | |
Limbic_Region | well, we have 3 animals and Perl6 is the amalgamation of many animals so.... | 20:12 | |
Pangolin | 20:13 | ||
The pangolin is an insect-eating mammal that has protective scales on its body. | |||
geoffb has several pangolin sculptures | 20:15 | ||
Something about them just appeals to me, I guess | |||
gaal | Panda? Purry (well)? Pig? Polar bear? Party Animal? | 20:17 | |
azuroth | party animal. :D | ||
Limbic_Region | very unlikely Juerd will want to change the name - but I like alliteration | 20:18 | |
and palindromes | |||
which also starts with a p | |||
sili | eh | ||
gaal | Piranha! | ||
sili | what is poc? | ||
gaal | context? | 20:19 | |
proof of concept? | |||
sili | [POC] | ||
gaal | that's not enough context for me :) | ||
sili | maybe that's it. | ||
on p6i, messages labeled [POC] | |||
gaal | [POC] in my current context is a list of POCs. | ||
sili | ? | 20:20 | |
gaal | In haskell, [a] means list of a :) | ||
sili | trickster. | 20:21 | |
so is it proof of concept? | |||
gaal | dunno | ||
sili | ! | ||
gaal | You mean www.nntp.perl.org/group/perl.perl6....nals/31494 ? Looks like proof of concept to me. | 20:23 | |
Limbic_Region | the 2 acronyms I know for POC that are common - proof of concept and point of contact | 20:25 | |
point of contact doesn't fit in that link though | |||
liz6 | Perl Or Cobol? | 20:28 | |
Limbic_Region kicks liz6 | |||
learning Cobol for a CS degree was mandatory at the University of Maine 10 years ago (maybe even more recent) | 20:29 | ||
liz6 hurts ;-) | 20:30 | ||
chip | hell, I learned Cobol in high school in the early 80s | 20:31 | |
I thought it was dying *then* | |||
Limbic_Region wonders where chip went to school | 20:32 | ||
for the record, I neither have a CS degree nor attended the University of Maine | 20:33 | ||
I was helping my Dad | |||
chip | Limbic_Region: vocational-technical high school. Half of each day senior year was in CS class | 20:36 | |
chip had fun hacking (*ahem*) an HP-3000. Junior year it still had honest-to-Eris core memory. Little teeny tiny metal donuts. | 20:37 | ||
geoffb | Yipes. I've only seen real core in Boston's CS museum. | 20:43 | |
stevan drops his punch cards, and curses loudly | 20:44 | ||
stevan hands chip his white lab coat | |||
liz6 wonders whether stevan had sequence numbers on his cards | 20:46 | ||
chip checks ping times to aarp.com | |||
azuroth | I'd better head to TAFE soon | 20:47 | |
Limbic_Region | chip - cool stuff | 20:48 | |
Limbic_Region heads for home and trick-or-treaters | |||
TTFN | |||
chip | cya | ||
autrijus | liz6: btw, rt.openfoundry.org/Foundry/Project/.../?Queue=82 for svk download; after install, "svk co svn.openfoundry.org/pugs" and press enter all the way. | 21:44 | |
liz6 | autrijus: tx | 21:46 | |
autrijus | liz6: for wendy too (there's win32 binary there) | ||
geoffb | autrijus, you've mentioned the mindset that Wendy *doesn't* have. What is her actual specialty? | 21:47 | |
autrijus | geoffb: extremely high intelligence :) | 21:48 | |
geoffb | LOL | ||
autrijus | and high clock speed. | ||
like, at times faster than me :) | |||
geoffb | Well, sure, but is she a programmer, a mathematician, a physicist . . . ? | ||
hoo-ah | |||
Juerd | azuroth: Email me your real name and preferred username | ||
azuroth: And the request itself, of course | 21:49 | ||
autrijus | a programmer... with training in C, p5, and another language I don't know how to spell. | ||
geoffb | ah | ||
autrijus | oh, www.tencore.com/ "tencore". | ||
svnbot6 | r7798 | rafl++ | r18858@ata: rafl | 2005-10-30 02:36:30 +0200 | 21:54 | |
r7798 | rafl++ | Debian: | |||
r7798 | rafl++ | * Updated changelog up to 6.2.10-4. | |||
r7798 | rafl++ | * Use Pugs instead of pugs in package descriptions everywhere. | |||
r7798 | rafl++ | * Fixed a format error in copyright. | |||
r7798 | rafl++ | * Adjusted prerm and postinst scripts fir libghc6-pugs-dev to use ghc 6.4.1. | |||
r7798 | rafl++ | * Added some smoke uploading code again. | |||
r7799 | rafl++ | r18859@ata: rafl | 2005-10-30 02:37:59 +0200 | |||
r7799 | rafl++ | Debian: | |||
r7799 | rafl++ | * Build-Depend on ghc6 (>= 6.4.1) instead of | |||
r7799 | rafl++ | ghc6 (>= 6.4) | ghc-cvs (>= 20050331-1). | |||
r7800 | rafl++ | r18958@ata: rafl | 2005-10-31 22:44:42 +0100 | |||
r7800 | rafl++ | * Debian: build-depend on libparrot0.3.0-dev instead of parrot-dev. | |||
r7801 | rafl++ | r18959@ata: rafl | 2005-10-31 22:45:01 +0100 | |||
r7801 | rafl++ | * Remove useless library-dirs. | |||
eric256 | wow. lol | ||
autrijus | svk push -l ;) | 21:55 | |
eric256 | how do you commit to just local? | ||
rafl | A new option learned. :-) | ||
eric256: copy a mirrored path to a local one and simply commit to it. Then you can push back into the mirrored path with svk push | 21:56 | ||
How to check if parrot embedding worked? | 21:57 | ||
eric256 | ...../me stares dazed at rafl | ||
rafl | eric256: Err? | ||
eric256 | so if i was working on tests.... cp t t_local; work in T, svk ci -M as needed....then when i'm done svk push -I ? | ||
geoffb | According to clkao's latest slides, you can just change your original 'svk co ...' to 'svk cp ...', and it will just do the magic for you. | 21:58 | |
Though I haven't tried that yet to see. | |||
eric256 | i could realy use an svk website with examples. is that back yet? | ||
autrijus | eric256: yes, exactly, though don't need -I | ||
rafl | eric256: svk mirror PUGS_SVK_URL //mirror/pugs; svk cp //mirror/pugs //local/pugs; svk co //local/pugs | 21:59 | |
autrijus | geoffb: that's correct. at least, that's how I coded it | ||
eric256: svk.elixus.org is back | |||
rafl | eric256: It's nicer to copy the whole path to a local path, imho. | ||
geoffb | autrijus++ # constantly working to DWIM | ||
eric256 | why is that better than svk co PUGS_SVK_URL; svk ci? seems like lots of work and svk already confuses me enough. ;) | 22:00 | |
autrijus | rafl: to test parrotembed, compile with embed and then ./pugs -e 'eval("print 123", :lang<pir>)' | ||
geoffb | eric256, local branches and local commit | ||
eric256 finished a phone system install this weekend and now waits to get voicemail anxiously. lol | |||
amos | morning all | 22:01 | |
autrijus | greetings amos | 22:02 | |
rafl | autrijus: Thanks. | ||
autrijus | np :) | ||
22:04
amos is now known as azuroth_tafe
|
|||
rafl | autrijus: You don't plan to do releases shortly after the monthly parrot release anymore, do you? :-) | 22:04 | |
azuroth_tafe | eric256: so could you explain more about tests relating to documentation? | 22:05 | |
eric256 | sure. any specifics you are interested in? | ||
azuroth_tafe | you said to read S12? | 22:06 | |
eric256 | ?? no. | 22:07 | |
feather.perl6.nl/~eric256/t_index/t...arity.html | |||
there is a test file, see how the links let you jump right to documentation relavent to that test? thats what we want to do with as many tests as possible. | |||
so if you browse tests.pugscode.org you can find tests with no links to documentation. I've been then looking for documentation that relates to the tests and inserting the needed L<> link into the .t file | 22:08 | ||
integral | eric256++ # neat | 22:09 | |
autrijus | rafl: actually, we can still do that :) | ||
Juerd | azuroth_tafe: Your password is amoro. Change it right away. | ||
azuroth_tafe | thanks! | ||
er... what's feather's URL? | |||
eric256 | can i ask....why are so many failing tests outside of pugsbugs? i'm always confused as to when tests should be in pugsbugs, and when not. | 22:10 | |
Juerd | azuroth_tafe: You can't change the password using a url. | ||
azuroth_tafe: use ssh. | |||
azuroth_tafe | I mean... the domain name, rather | 22:11 | |
Juerd | hostname? | ||
feather.perl6.nl | |||
integral | w | ||
oops. impressive number of users on feather :) | |||
Juerd | You think? | 22:12 | |
azuroth_tafe | hooray | ||
Juerd | I love seeing my donation work so well. | ||
liz6 | ;) | ||
autrijus | eric256: pugsbugs is actually "not sure how to categorize, someone please take a look". | 22:13 | |
azuroth_tafe | should I use this svk thing? or just normal svn? | ||
integral | Juerd: compared to the size of the userbase here, definately. juerd++ :-) | ||
Juerd | azuroth_tafe: svk, see feather.perl6.nl/~autrijus/ | ||
azuroth_tafe | excellent, thanks | ||
eric256 looks more at local mirroring.... | 22:14 | ||
so that would allow me to commit more often, which my instincts tell me to, but only push when i am at the end, so i can break stuff but still commit without worrying about breaking anyone else. and only push when everything is working agian. ...i think i like that. it its not too complicated in the end. ;) | 22:15 | ||
does it only work with mirror and not co? | 22:16 | ||
azuroth_tafe | so `svk pull` is like up? and I just ci as norm? | 22:17 | |
Juerd | azuroth_tafe: You can use up too. | ||
autrijus | eric256: if you already have a co of //mirror/pugs, do this | ||
svk cp -m "local branch" //mirror/pugs //pugs | |||
azuroth_tafe | ahh, okay | ||
autrijus | svk sw //pugs | ||
then "svk ci" will become locak | |||
and then use push to pushback | 22:18 | ||
eric256 | so i end up with two local copies of pugs? | 22:20 | |
svnbot6 | r7802 | stevan++ | Perl6::ObjectSpace - | ||
r7802 | stevan++ | * the Perl6::MM::* types are fleshed out | |||
r7802 | stevan++ | - tests added for them too | |||
r7802 | stevan++ | * started a Perl6::MetaModel::Bootstrap module to | |||
r7802 | stevan++ | explore what the metamodel will look like using | |||
r7802 | stevan++ | these types. Currently we just have the contents | |||
r7802 | stevan++ | of Gnosis.pm from MM 2.0, and I tested that | |||
r7802 | stevan++ | $::Class->add_method works properly (although it | |||
r7802 | stevan++ | is spelled much differently, see t/metamodel/01*.t | |||
r7802 | stevan++ | for more details) | |||
azuroth_tafe | karma time :D | 22:21 | |
jabbot | azuroth_tafe: time :D has neutral karma | ||
stevan is off to dinner & | 22:22 | ||
autrijus | ingy: new bible snap when you got some cycles, thanks | 22:33 | |
autrijus waves and sleeps & | 22:41 | ||
geoffb | g'night, autrijus | ||
Juerd | autrijus about wendy: it is rare that I meet someone with a higher internal clock speed and raw mental capacity compared to mine. | 22:59 | |
rotflol. | |||
eric256 | svn check | 23:33 | |
svnbot6 | r7803 | eric256++ | r14391@feather: eric256 | 2005-10-31 23:40:00 +0100 | ||
r7803 | eric256++ | local branck | |||
r7803 | eric256++ | r14401@feather: eric256 | 2005-11-01 00:16:03 +0100 | |||
r7803 | eric256++ | - Add CSS styling to directory.tmpl | |||
r7803 | eric256++ | r14402@feather: eric256 | 2005-11-01 00:23:58 +0100 | |||
r7803 | eric256++ | - t/var/var.t fixed link heading | |||
r7803 | eric256++ | r14403@feather: eric256 | 2005-11-01 00:27:05 +0100 | |||
r7803 | eric256++ | - t/syntax/stmt_or_expr.t Changed to A04 | |||
eric256 | mhmm...that didn't quite work as expected. | ||
can any svk guru point to my error? | |||
geoffb | eric256, as aut* said: svk push -l or svk push --verbatim | 23:45 | |
eric256 | i did push -l | ||
i'll have to try --verbatim next time. ;) | |||
svnbot6 | r7804 | eric256++ | t/builtins/perl.t added link to .perl and ref quote | 23:57 | |
eric256 | --verbatim worked. thanks ;) | ||
karma eric256 | |||
jabbot | eric256: eric256 has karma of 27 | ||
eric256 | i think that went down. lol | ||
later all | 23:58 |