|
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 | ||