|
weekly Perl 6 status meetings with phase transitions: Tue 19:00 UTC | IR clogs at irclog.perlgeek.de/phasers/today Set by moderator on 13 August 2011. |
|||
|
00:19
jnthn_ joined
|
|||
| sorear | DID: | 15:04 | |
| implemented m/s modifiers :pos, :continue, and :x (subst only) | 15:06 | ||
| got $file.IO ~~ :r working for diakopter (I just did Pair.ACCEPTS, he gets the credit for the actual filetests) | |||
| added &dir for flussence | 15:07 | ||
| scheduled a class opposite #phasers, again! | |||
| EOR | |||
| pmichaud | perhaps we should move #phasers so that sorear++ can attend. | 15:24 | |
|
15:49
mberends joined
18:01
masak joined
18:08
colomon joined
18:27
mikehh joined
|
|||
| moritz | what I did: | 18:56 | |
| * fiddled more with backtraces, introduced hidden_from_backtraced trait | |||
| * specced it | |||
| * implemented lots of methods in Cool | 18:57 | ||
| * implemented &first, &dir | |||
| * fixed name of auto-generated protos | |||
| * implemented and specced Match.{pre,post}match | |||
| * started more systematic testing of Match objects | |||
| * implemented p5chomp, p5chop only to have it ripped out aftwards :-) -- still a net win | 18:58 | ||
| * fixed .split for non-Str invocant and non-Regex matcher | |||
| colomon | moritz++ | 18:59 | |
| moritz | What I plan to do: | ||
| * blog about the current state of my exceptions + backtraces work | |||
| * more general nom fixes, if issues turn up that I feel qualified to fix | |||
| EOR | |||
| colomon | o/ | 19:00 | |
| moritz | oh, forgot: | ||
|
19:00
sjohnson joined
|
|||
| moritz | * submitted tadzik++'s final gsoc evaluation | 19:00 | |
| sjohnson | whats this goodness? | ||
| masak | moritz++ | ||
| \\o | |||
| sjohnson | ļ¼ćļ½ć¼Ā“ļ¼ | ||
| moritz | it's a PASS; no questions here | ||
| tadzik | (: | ||
| colomon | tadzik++ | ||
| moritz | sjohnson: do read the /topic | ||
| sjohnson reads the topic | |||
| ah, i see :) | |||
| moritz | anyone want to report? colomon? tadzik? masak? jnthn? pmichaud? | 19:01 | |
| jnthn | o/ | ||
| moritz | mberends? | ||
| jnthn | i can | ||
| mberends | moritz++ | ||
| moritz | jnthn: then go ahead | ||
| tadzik wants to report, but he can't open a browser until nom finishes to compile | |||
| jnthn | Over the last week... | ||
| * Went to YAPC::EU, and it was outstanding | |||
| * Gave two talks, and a full day class | |||
| * Published Grammar::Tracer and Grammar::Debugger modules on GitHub | |||
| * Many useful discussions, including planning Rakudo dev for the coming months | |||
| * Many good beers too \\o/ | |||
| * Got a little hacking done, but was mostly busy with speaking, preparing to speak and having discussions with people | |||
| In the coming week... | |||
| * Doing a long weekend of visiting, so will lack tuits; otoh, the mental break for several days will probably make me more productive afterwards | |||
| * Want to fix the memory leak, plus hack more on parametrics | 19:02 | ||
| Looking further ahead, I already have a full Perl 6 day each week blocked out on my schedule throughout September, and that should go on throughout the year, so should do OK for tuits this autumn - unlike last one. | |||
| EOR | |||
| tadzik | \\o/ | ||
| masak | did: some exploration on macros. came out of blogging limbo. will do: write a Hague grant proposal for implementing macros. blog more. EOR | ||
| moritz | \\o/ | ||
| jnthn++ | |||
| masak++ | |||
| mberends | jnthn++ masak++ | ||
| jnthn | \\o/ | ||
| masak | \\o/ | ||
| moritz | more reports? | ||
| tadzik | yes, just a second | ||
| carry on, I'll catch up | 19:03 | ||
| colomon | may I? | ||
| mberends | did: experimenting, thinking .EOR ;) | ||
| colomon | * got trig up to snuff on nom (along with moritz++) | ||
| * started working at getting sin.t on niecza, only to discover major holes in the trig spec | 19:04 | ||
| plan: | |||
| * blog post on the trig issue | |||
| * figure out the right way to resolve the problem | |||
| EOR | 19:05 | ||
| moritz | colomon++ | ||
| mberends | I have a couple of discussion topics to put forward | 19:07 | |
| tadzik | I'll report in 10 seconds | ||
| + attended YAPC::EU, giving one Pod lightning talk, and another Perl6 one about Little Animal Farm with masak++ | 19:08 | ||
| + lots of inspiring discussions with TheDamian | |||
| + implemented formatting codes | |||
| + lots of tunes and fixes in Pod::To::Text | |||
| + few Pod bugfixes the gsoc pencils-down | |||
| + implemented cwd() | |||
| + fixed MAIN | |||
| + implemented optional command-line values in HLL::Compiler | |||
| + --doc takes a value, defaulting to 'text'. Not sure what to do with that power yet :) | |||
| + implemented Pod block configurations | |||
| + successfully finished GSoC :) | |||
| + helped flussence++ a bit with Pod::To::HTML | |||
| + messed with S26 a bit | |||
| plans: | |||
| + blogging about gsoc and New Secret Project | |||
| =end report | 19:09 | ||
| masak | tadzik++! \\o/ | ||
| moritz | tadzik++ | ||
|
19:09
sjohnson left
|
|||
| mberends | aye, tadzik++ | 19:09 | |
| colomon | New Secret Project? | 19:10 | |
| tadzik | also, I have a discussion topic as well | ||
| or two | |||
| colomon: it's secret :) | |||
| but it's related to Pod and Presentations | |||
| colomon | you can tell me, I won't tell anyone else. | ||
| tadzik | that's how a linked list of secret starts :) | 19:11 | |
| jnthn is muchly impressed by how much tadzik++ and moritz++ got done this week :) | |||
| masak | tadzik++ moritz++ | 19:12 | |
| tadzik | oh, my report is actually from 2 weeks | ||
| colomon | hear, hear! member:tadzik++ member:moritz++ | ||
| errr... interesting. | |||
| tadzik | last #phasers I was dining with @zebras | ||
| so the reports accumulated | 19:13 | ||
| colomon | tadzik: right, everyone but moritz, PerlJam (I think), and I missed that #phasers. :) | ||
| tadzik | :) | ||
| TimToady | we were using alternate actions on our Phasers grammar... | 19:14 | |
| tadzik | ok, discussions? mberends, you have some topics I think | ||
| mberends | yes | ||
| the Rakudo 2011.08 release schedule has gone non-deterministic because of a hard to find memory leak. Should we switch back to master for one more monthly release? | |||
| jnthn | mberends: Well, nom didn't become master yet so there's not a "switch back" as such. | 19:15 | |
| It's for pmichaud++ to decide really, I don't think there's much point to another master release. Nothing's really changed. | 19:16 | ||
| mberends | ok | ||
| TimToady | .oO(Perl 6 is dead! You heard it here first!) |
||
| mberends | sorear++ again has a scheduling clash #phasers time. pmichaud++ wondered if we could agree on a different weekly time/day. | ||
| moritz agrees with jnthn | |||
| jnthn | The memory leak is narrowed down. It's still hard to find, but at least it's just a bale of hay now, not a stack :) | 19:17 | |
| moritz | yes, but we need sorear++ to find a new time | ||
| jnthn | mberends: We probably can but...what moritz++ said :) | ||
| tadzik | we can make a doodle survey for that | ||
| mberends | ok, let's do that | 19:18 | |
| lastly, how many people would be unhappy if tools/test_summary.pl ran about 8% slower, to re-enable per-test timings? | 19:19 | ||
| jnthn | mberends: Could it easily be an option? | ||
| moritz | if spectest is unaffected, I'be fine with it | ||
| tadzik | moritz++ | ||
| colomon | mberends: I actually use test_summary.pl to run my spectests, so I'm somewhat against that.... | ||
| PerlJam | mberends: make a test_timings.pl or something | 19:20 | |
| TimToady | too much dup code? option seems reasonable to me | 19:21 | |
| mberends | ok, I'll try a redesign that does not add any delays anywhere else | ||
| PerlJam | mberends++ | ||
| mberends | a command line option is likely to do the trick | 19:22 | |
| TimToady | which way should the default be? :) | ||
| mberends | opt-out | ||
| ;) | |||
| tadzik | o/ | 19:23 | |
| TimToady is not the chair, but recognizes tadzik++ | 19:24 | ||
| tadzik | I'd like to bring my topic up | ||
| TimToady | mberends: are you done? | ||
| mberends | thanks, yes :) | ||
| TimToady | tadzik: go ahead | ||
| PerlJam would hate to be a chair ... | 19:25 | ||
| people always sitting on you and such. | |||
| TimToady | table that :) | ||
| tadzik | I want to raise a marketing issue. We argue when someone says that Perl 6 is a toy language and there is no useful software written in it. If we want to keep that thinking, I propose that we pick a few end-user applications, document them well and show them off, on blogs or such | ||
| static blog engines, presentation generators, games, webservices, whatever | 19:26 | ||
| something people can look at, appreciate and say "okay, cool stuff in Perl 6" | |||
| masak | a fine proposal. a big undertaking. | ||
| TimToady | and throw 'em into the test suite too :) | ||
| PerlJam | tadzik: sounds good, but we need to pick carefully at first so that we don't inadvertently make a marketing snafu by showing off how slow/broken/etc. a particular implementation is. | ||
| tadzik | then maybe we could agree that it's not ready yet, instead of constantly telling everyone that it's good enough | 19:27 | |
| ot | |||
| it's good for our own circle, but is it good enough for people in the outside world? | |||
| TimToady | (not serious about test suite idea, btw, since it would introduce unwanted deps) | 19:28 | |
| TimToady thinks the killer apps will mostly happen naturally, and not have to be forced (much) when the time is (almost) right | 19:29 | ||
| the question is whether the time is (almost) right | |||
| tadzik | yep | ||
| masak | tadzik: it's not good enough for the general public. it's good enough for people who like pain and are prepared to spend time RT-scattered-FM. between those two endpoints, there are shades of gray. | ||
| PerlJam | Hmm. a "marketing app" doesn't have to be a "killer app" | ||
| masak | true. | 19:30 | |
| TimToady | I view the RC entries as marketing apps | ||
| tadzik | I'd like to bring an example of what we did with masak++ on the yapc | ||
| PerlJam | except they tend to obscurity a little bit. | ||
| masak | RC programs are more scripts than apps, to the extent there's a difference. | ||
| TimToady | crawl --> walk --> run | 19:31 | |
| masak | aye. | ||
| TimToady | we're looking for walking apps now :) | ||
| tadzik | we made a talk about Little Animal Farm, didn't say a word about Perl 6, we just "accidentally" showed a piece of code that was Perl 6 code. To show that it's not that we wrote that in Perl 6 just to write something in Perl 6, but that we chose our implementation language to be Perl 6. Not sure if that did the job, but the idea was to make a listener think "oh, so they're using Perl 6 for that" after | ||
| they got interested in the project itself | |||
| PerlJam | Apps where I think Perl 6 can make a good showing (any implementation): presentation software, games, data processsing (as long as it doesn't have a hard time constraint) | 19:32 | |
| that last one would emphasize expressivity over speed | 19:33 | ||
| TimToady | games tend toward showing off parallel processing, eventually | ||
| assuming we'll have a good story on that someday | |||
| colomon | tadzik++ masak++ | 19:34 | |
| PerlJam | Also, we can cheat a little bit and use Perl 6 for driving the game, but something else for speed-critical parts :) | ||
| TimToady | there's also the domain of being a better Java than Java | ||
| but we're not quite there yet | |||
| masak | I've been toying with the idea of using Perl 6 to generate code for some JS framework. that way, we could both show off Perl 6 and reap all the benefits of the browser. | ||
| PerlJam | A service that translates Perl 6 into JS would be interesting :) | 19:35 | |
| TimToady | esp if it can manage to translate p6 optmizability into js optimizability | 19:36 | |
| mberends | most users I meet in training land use p5 for parsing text formatted log files, p6 can usually do that more nicely. | ||
| PerlJam | yep | ||
| TimToady | (maybe they can be complementary optimizabilities though...) | 19:37 | |
| yes, the p5 turf is rather more...fraught... though | |||
| but eventually we'll need to show how p6 is a better p5 | |||
| really the only thing standing in the way of that currently is speed, and CPANishness | 19:38 | ||
| moritz | or maybe show how p6 is a better $something_completely_different | ||
| TimToady | *things | ||
| PerlJam | moritz: like what? | ||
| TimToady | that probably takes someone out of left field to come up with the idea | ||
| tadzik | jnthn: the current limitation of blizkost is not-handling arrays and hashes, si? | ||
| PerlJam | TimToady: Where's Damian when you need him? ;) | 19:39 | |
| moritz | PerlJam: no idea really. Ruby maybe :-) | ||
| TimToady | we don't know where our RoR will come from | ||
| it will come, but we have to get the right person to fall in love with P6 first | |||
| using RoR as a category, not as a specific example here... | 19:40 | ||
| tadzik | Perl on Planes! | ||
| masak | Six on Snails! | ||
| tadzik | yeah, we have that | 19:41 | |
| jnthn | tadzik: Not sure off hand. | ||
| TimToady | then there's the python approach, which eschews killer apps, in favor of getting organizations to fall in love with you | ||
| jnthn | tadzik: I didn't look at it for a while. | ||
| TimToady | it's too easy to think that a killer app will be a silver bullet | ||
| PerlJam | But as far as that goes, RoR not only had the right people, but some good timing and a couple of people wandering around to conferences telling anyone who would listen how they did awesome things with this little framework they put together. | ||
| TimToady | that's a mixed metaphor that almost works... | ||
| yes, but basically RoR was a second-order effect, not predictable in specific by the first-order devs | 19:42 | ||
| we're in the "if you build it, they will come" spot | 19:43 | ||
| at the moment we're still in the more subversive stages, where we need to infest existing niches and say "here's how you do it in Xbol, but in Perl 6 it woudl be like this" | 19:44 | ||
| it's almost certain that the person/persons who will do the killer apps are currently programming in something else right now | 19:45 | ||
| PerlJam | well ... and find new niches that others may have overlooked because the technologies available at the time weren't up to the task. | ||
| TimToady | I'm fine if we find the new niches ourselves, but I'm just saying we don't have to rely on that. | 19:46 | |
| we really just need to find an area with a large false vacuum, and then flick the first domino | 19:47 | ||
| now there's a mixed metaphor | 19:48 | ||
| TimToady almost typed meatphor... | |||
| anyway, sorry (a little) for hijacking the discussion; pray continue | |||
| mberends | studying multi-core, parallelism etc, p6 has the potential to pull ahead there, but the implementations will need lots of work (lock-free data etc) | 19:50 | |
| colomon | I still think the first killer app is most likely to be something grammar-heavy... | ||
| PerlJam | I wonder if rakudo and niecza could be made to play nicely together ... | ||
| moritz | PerlJam: what kind of "play nicely together" do you mean? | 19:51 | |
| PerlJam | I can see a future where niecza wins the race to async IO, threading, etc. (I could be completely wrong, but for the moment assume I'm not :). In that future I'd want to use Rakudo for some parts of my code and Niecza for other parts. | 19:52 | |
| TimToady | colomon: in particular it needs to be something that relies on extensible grammars, because we won't win on speed in the near future wrt grammars, until we understand how to optimize them better | 19:53 | |
| as in the way RoR won on extensibility, not speed | 19:54 | ||
| PerlJam | TimToady: even still ... it'd have to be something Perl 6 could beat *Perl 5* at I think. | ||
| Perl 5 has gotten lots of niceties and continues to get better and better | 19:55 | ||
| TimToady | it probably suffices to be 90% as fast and 90% less crufty | ||
| tadzik | and having CPAN | 19:56 | |
| TimToady | since p5 tends toward 10% slower and 10% cruftier | ||
| PerlJam | tadzik: that's a big one. Perl 6 not really having CPAN seems to quell people's desire to try Perl 6 "for real" | ||
| masak | when porting the dlx-simple app from Perl 5 to Perl 6 the other week, I felt something new: basically, "wow, Perl 6 is made basically by removing cruft from the Perl 5!" I think workarounds have been too much in the way before, but now it's really evident. | 19:57 | |
| moritz | let's focus on what we need to do to enable more people to develop on Perl 6 | ||
| speed, CPAN, calling C code come to mind | 19:58 | ||
| documentation | |||
| PerlJam | aye, all of those | ||
| masak | integration with Perl 5 in general. | ||
| tadzik | blizkost :) | ||
| PerlJam | masak: that would be quick way to CPAN if we could get it done well. | ||
| masak | PerlJam: exactly. | ||
| tadzik | we "only" need arrays and hashes in it :P | ||
| masak | and callbacks. | 19:59 | |
| tadzik | right | ||
| moritz | callbacks worked, last I looked | ||
| masak | maybe we won't really have good integration with Perl 5 until we have Perl 5 on Parrot... | ||
| moritz: oh wow! | |||
| tadzik | masak: blizkost is some sort of Perl 5 on parrot | ||
| reimplementing Perl 5 on Parrot will take another 11 years | |||
| masak | no, it won't. | ||
| moritz | it will take longer | ||
| considering that perl 5 also changes | 20:00 | ||
| TimToady | depends on how bug compatible you want to be | ||
| tadzik | it's like with achilles and the turtle ;) | ||
| PerlJam | tadzik: which one are we? ;) | ||
| tadzik | when achilles runs slower | ||
| colomon | I keep thinking p6 on .NET might be a killer thing for some developers -- it's something no one expects p5 to ever be able to do. | ||
| masak | +1 | ||
| TimToady | or on jvm | 20:01 | |
| jnthn | s/or/and :-) | ||
.oO( well volunteered! ) |
|||
| TimToady | or on Go :) | ||
| tadzik | and Perl 6 being a bridge between the two. Imagine those books: "Simple Perl 6 for Java programmers" | ||
| PerlJam | For some reason when I glanced at my screen quickly I saw "and Perl 6 being a kludge between the two" | 20:03 | |
| TimToady | well, we've done a lot of vision-casting, but I think moritz++ wants to know "what's next?" | ||
| mberends | should we all try Padre to help make it a better P6 marketing tool? | ||
| PerlJam is using Padre right now | 20:04 | ||
| (for Perl 5 code though) | |||
| mberends hopes lichtkind++ does not backlog and get offended ;) *cough*Kephra* | 20:06 | ||
| TimToady gut feeling is that we're ready to expand more but we're not ready to go "inflationary" | 20:07 | ||
| PerlJam | TimToady: agreed. | ||
| masak | nod | ||
| PerlJam | TimToady: I don't think we're be ready for a big bang until we have at least one "fast" implementation. | ||
| masak | let's wait and see where the nom inliner/optimizer puts us. | 20:08 | |
|
20:10
diakopter joined
|
|||
| mberends | o/ diakopter | 20:11 | |
| diakopter | o | ||
| DID: some filetests for niecza. EOR. | |||
| tadzik | oh, q1q | ||
| moritz | tadzik: go ahead | 20:12 | |
| tadzik | okay, I'm wondering about the best way to handle --doc=foo | ||
| in the ideal world, we do --doc=html and the compiler magically turns it into DOC INIT { use Pod::To::HTML; pod2html($=POD) } | 20:13 | ||
| TimToady | --doc=html kinda looks like an alternate setting to me | 20:16 | |
| masak | well, a doc-setting. | ||
| moritz | tadzik: maybe for not-yet-registered types you'd need to do the equivalent of perl6 -MPod::To::Foo --doc=foo file.pl | 20:21 | |
| tadzik | moritz: but what would DOC INIT call then? | 20:22 | |
| eval "pod2{%COMPILING<doc>}()"? | |||
| moritz | there might be %COMPILING<doc><translator>{'foo'} or so which Pod::To::Foo populates | 20:23 | |
| tadzik | I imagine --doc=html as something which will require "Pod::To::html"; and call something on it | 20:24 | |
| maybe we should have Pod::To::modules have a common format() sub, not exported. | |||
| Then we're down to loading the module and calling a well-known sub from it | |||
| (our sub) | |||
| mberends | Making one sub transform the entire parsed Pod tree looks like a hard job for the translator developer. It might be easier to provide a default base class with default multi methods for different elements, merely rendering plain text, and let the developer override only the bits that need customization. | 20:40 | |
| masak | fwiw, ASTs map very well to multi methods. | 20:41 | |
| tadzik | but from the user's POV you only want one visible sub anyway, don't you> | ||
| mberends | one sub called format($Pod-Ast) spits out the entire rendered document, but is an unwieldy container for potentially many fiddly details. | 20:44 | |
| tadzik | having something smart under the hood is not a bad idea, I'm now thinking of a compiler-formatter interface | 20:46 | |
| mberends | this is probably the kind of thing whose structure reveals itself to you as you implement it in stages... | 20:48 | |