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