Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2011-03-26

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:04 masak 'night, #perl6.
00:04 masak left #perl6
00:06 bacek left #perl6
00:09 jtpalmer joined #perl6
00:27 jferrero left #perl6
00:30 icwiener left #perl6
00:31 [Coke] left #perl6
00:34 [Coke] joined #perl6
00:36 jimmy1980 left #perl6
00:44 HarryS joined #perl6
00:48 bacek joined #perl6
00:58 stkowski left #perl6
00:59 arlinius left #perl6
01:03 aindilis left #perl6
01:10 TiMBuS left #perl6
01:10 arlinius joined #perl6
01:10 TiMBuS joined #perl6
01:13 cotto joined #perl6
01:13 Chillance left #perl6
01:14 jaldhar joined #perl6
01:22 jaldhar left #perl6
01:23 jaldhar joined #perl6
01:25 hercynium joined #perl6
01:26 hercynium left #perl6
01:52 Rotwang left #perl6
01:56 whiteknight left #perl6
01:58 joseph_ joined #perl6
02:00 joseph_ Is there a Perl 6 POD parser built yet, or is the specification still too shaky to do anything with?
02:06 joseph_ left #perl6
02:06 joseph_ joined #perl6
02:07 PerlJam joseph_: you mean one written in Perl 6?
02:08 joseph_ Yes
02:08 PerlJam Not that I know of.
02:08 PerlJam There is Perl6::Pod on CPAN though.
02:08 joseph_ Okay.
02:09 joseph_ Do you think the markup is stable enough to build one (without heavy revision later)?
02:09 cxreg2 is now known as cxreg
02:10 PerlJam yes
02:10 joseph_ Great, thanks you.
02:10 joseph_ *thank
02:10 PerlJam joseph_: Are you going to write one?
02:11 joseph_ I was looking in to it.
02:11 joseph_ A GSoC project for Parrot.
02:11 PerlJam Not Perl?
02:11 joseph_ It would be done in Perl (most likely).
02:12 PerlJam Seems like an odd gsoc project for parrot then :)
02:12 joseph_ Yeah :)  I think they wanted it to be able to parse their source code along with POD in other languages.
02:19 PerlJam Where did you read that the parrot folks wanted a Perl 6 POD parser?
02:21 joseph_ On their wiki : http://trac.parrot.org/parrot/wiki/GSoc2011
02:22 PerlJam interesting ... I must have missed that last time I looked
02:23 joseph_ Thanks for the help.
02:25 envi joined #perl6
02:26 joseph_ left #perl6
02:43 dalek Heuristic branch merge: pushed 47 commits to nqp by jnthn
02:44 flatwhatson left #perl6
02:58 orafu left #perl6
02:58 orafu joined #perl6
03:02 ymasory joined #perl6
03:05 alester joined #perl6
03:17 risou joined #perl6
03:26 risou_ joined #perl6
03:28 risou left #perl6
03:39 stresstest5880 joined #perl6
03:39 xinming_ is now known as xinming
03:42 stresstest5880 left #perl6
03:54 woosley left #perl6
04:02 woosley joined #perl6
04:04 st-6337 joined #perl6
04:06 woosley left #perl6
04:07 st-6337 left #perl6
04:11 st-6404 joined #perl6
04:12 st-6404 left #perl6
04:22 ymasory left #perl6
04:28 st-6603 joined #perl6
04:41 [particle] left #perl6
05:06 jaldhar left #perl6
05:07 jaldhar joined #perl6
05:07 risou_ left #perl6
05:36 lue joined #perl6
05:36 lue hello world! o/
05:37 sorear hello lue.
05:55 jql joined #perl6
05:55 nymacro joined #perl6
05:57 kaare_ joined #perl6
05:57 envi left #perl6
05:57 envi joined #perl6
05:58 [particle] joined #perl6
06:04 araujo left #perl6
06:10 * sorear out
06:18 Yunga joined #perl6
06:29 alester left #perl6
06:29 alester_ joined #perl6
06:46 bacek left #perl6
06:46 stigma_ joined #perl6
06:47 stigma_ left #perl6
06:51 donri joined #perl6
07:00 st-6603 left #perl6
07:07 st-8688 joined #perl6
07:12 st-8688 left #perl6
07:12 bbkr_ left #perl6
07:16 st-8806 joined #perl6
07:23 izydor joined #perl6
07:26 noganex_ joined #perl6
07:29 noganex left #perl6
07:37 izydor perl6: say "hello, izydor";
07:37 p6eval pugs, rakudo 792e86, niecza v3-82-g1dc43eb: OUTPUT«hello, izydor␤»
07:39 izydor oops
07:41 izydor left #perl6
07:43 araujo joined #perl6
07:57 kst left #perl6
07:59 kst joined #perl6
08:02 st-8806 left #perl6
08:07 kcwu left #perl6
08:11 risou joined #perl6
08:18 risou left #perl6
08:21 dalek nqp/ctmo: e04b77c | jonathan++ | src/metamodel/how/NQPClassHOW.pm:
08:21 dalek nqp/ctmo: Make a comment reflect reality a little more.
08:21 dalek nqp/ctmo: review: https://github.com/perl6/nqp/commit/e04b77c8bf
08:21 dalek nqp/ctmo: 4150953 | jonathan++ | build/PARROT_REVISION:
08:21 dalek nqp/ctmo: Bump to latest Parrot to get fixes to make static lexpad bits work in non-trivial cases.
08:21 dalek nqp/ctmo: review: https://github.com/perl6/nqp/commit/4150953aa2
08:21 dalek nqp/ctmo: 47001b3 | jonathan++ | src/NQP/Actions.pm:
08:21 dalek nqp/ctmo: Install $?CLASS as a lexical symbol, not package. Now consistent with roles and classes, and also with nqpclr.
08:21 dalek nqp/ctmo: review: https://github.com/perl6/nqp/commit/47001b3027
08:37 moritz_ \o/
08:38 moritz_ masak++ colomon++ Util++ # p6cc
08:46 alester_ left #perl6
09:00 fhelmberger joined #perl6
09:06 kst left #perl6
09:06 nsh- left #perl6
09:06 nsh_ joined #perl6
09:07 mux left #perl6
09:07 kst joined #perl6
09:07 mux joined #perl6
09:10 mux left #perl6
09:10 nsh_ left #perl6
09:10 kst left #perl6
09:10 sftp_ joined #perl6
09:11 nsh_ joined #perl6
09:11 kst joined #perl6
09:12 patch__ joined #perl6
09:12 huf_ joined #perl6
09:12 starcoder- joined #perl6
09:12 kst left #perl6
09:12 nsh_ left #perl6
09:13 gfldex_ joined #perl6
09:13 nsh_ joined #perl6
09:13 mux joined #perl6
09:14 kst joined #perl6
09:15 HarryS left #perl6
09:16 Helios` joined #perl6
09:16 sftp left #perl6
09:16 patch_ left #perl6
09:16 Helios- left #perl6
09:16 gfldex left #perl6
09:16 starcoder left #perl6
09:16 huf left #perl6
09:16 starcoder- is now known as starcoder
09:17 flatwhatson joined #perl6
09:19 st-2451 joined #perl6
09:31 masak joined #perl6
09:31 masak morning, #perl6.
09:33 moritz_ good morning masak
09:34 masak I have a few comments about the Pod parser GSoC project.
09:34 masak I think if one is going to be written in Perl 5, it probably makes the most sense to start from Damian's. the one that's on CPAN.
09:35 masak the win there could be in having one that's more current. Damian's is a bit dated.
09:35 masak in the best case, that could lead to a number of spec clarifications, etc.
09:36 moritz_ phenny: tell jnthn that on latest nqp/ctmo, I have a test failure in the 3rd test of 55-multi-method.t: Ambiguous dispatch to multi 'bar'. Ambiguous candidates had signatures: (then an empty line)
09:36 phenny moritz_: I'll pass that on when jnthn is around.
09:36 masak but the Big Win -- and one I hope to do in a grant some day if nobody beats me to it -- would be to implement the Pod 6 spec in Rakudo.
09:36 masak with all the bindings etc that are possible in a full Perl 6 implementation.
09:37 moritz_ phenny: tell jnthn (maybe related) was it intentional the that "Bump to latest Parrot" commit (4150953) just deleted a newline, and didn't actually change the parrot revision?
09:37 phenny moritz_: I'll pass that on when jnthn is around.
09:37 donri I wonder if a Perl 6 module installer system would need a way to describe language dependencies
09:37 awoodland left #perl6
09:37 donri Considering language sharing in Parrot, use :from etc
09:37 moritz_ masak: agreed on all accounts
09:38 masak donri: as far as I'm concerned, that's a cop-out and a fantasy.
09:38 mj41 joined #perl6
09:38 donri masak: oh?
09:38 moritz_ donri: yes, once HLL interop works to a degree that can be presented to the casual user
09:38 masak donri: language interoperability is a problem we haven't even *begus* to tackle yet.
09:38 masak s/begus/begun/
09:39 masak pro tip: check spelling of the words you emphasize.
09:39 moritz_ donri: historically many p6 infrastructure projects have failed to produce usable results due to overengineering. We have learned our lesson, and now start with simple things and gradually evolve them into more complex things
09:40 donri Tene had it working with Cardinal I think?
09:40 masak back then, yes.
09:41 masak donri: one of the things a native Rakudo Pod parser would be able to do would be to populate various $=POD variables. :from-ing out to Perl 5 would make that more difficult, since it would entail serialization etc. effort would be spent on the wrong problems.
09:43 flatwhatson left #perl6
09:44 Tene donri: I had HLL interop working between rakudo, cardinal, partcl, my scheme impl, and a couple of others about 1.5 - 2 years ago, iirc.  It wasn't a priority for anyone else in the parrot community at the time, and we didn't have any cross-language smoke testing, so it kept getting broken by others.
09:44 masak :/
09:45 Tene donri: after the third time it was broken and nobody but me cared, I stopped trying.  I plan to get back to it after I get cardinal in a good state.
09:45 masak \o/
09:45 masak Tene: do you feel that more design in the HLL interop area would help?
09:46 masak either help making it more architecturally sturdy, or help putting it on the map for people.
09:46 Tene masak: The existing design is pretty solid, IMO.  I expect there are some improvements that could be made, but I don't expect they would help at all.
09:46 masak ok.
09:47 Tene masak: I'm not all that confident in my evaluation there, though.  I wouldn't be too surprised to learn that I'd missed something important, etc.
09:47 masak Tene: the way I've always imagined it is that there are all these minute differences between different languages that would cause problems. maybe I'm worrying too much.
09:48 masak Tene: for example, let's say a language without a concept of 'undef' communicates with one with such a concept. what happens when an 'undef' is returned across the barrier?
09:48 Tene masak: My approach has always been that when dealing with another language, you get that language's objects back.  If you want to convert them into something more-locally-conventional, that's fairly meaningless to do in general, so you have to do it specifically on a case-by-case basis.
09:49 masak ok. that sounds fairly sane, actually.
09:49 masak the conversion is the task of the caller language.
09:50 Tene masak: There are the base vtable operations, like get_bool and get_str and so on.  In Ruby, 0 is true, so if you get back a ruby 0 integer, it would be true, unless you explicitly convert it to a Perl integer.
09:50 Tene Exactly.
09:51 masak I think the most immediate win for Perl 6 would be a HLL interop with and XML or database library. combined with jnthn's work on reprs, that could be really useful.
09:51 Tene masak: i very much agree.
09:51 masak maybe I should have put that up as a GSoC Perl 6 task.
09:51 masak is it too late to do that already?
09:51 moritz_ not at all
09:51 masak \o/
09:52 masak now I just need to find the tuits... :)
09:52 * masak writes something
09:52 Tene masak: The two big things for me with hll interop object mapping stuff is that 1) you don't actually want the semantics to change, if the foreign code returns something that it thinks is truthy, you want it to keep being truthy when you use it.
09:53 Tene and 2) by far the most-common use case is getting objects from a specific library or class, not primitives.  In those cases, you *want* the objects you get back to have the API that's documented in the library docs.
09:54 Tene In the cases that you want something more-specific, you can write your own glue layer to represent the differences, but it's not meaningful to do it in general, and you lose far too much with any kind of least-common-denominator serialization format.
09:56 masak https://gist.github.com/888173 -- feedback welcome
09:57 masak I don't know where proposals such as this should really go, so someone is welcome to point me right, or just put it in the right place.
09:57 masak Tene: I agree on all accounts.
09:57 moritz_ masak: http://epo.means.no/gsoc2011/ideas
09:58 masak thank you.
09:58 masak ooh, "Revive MAD".
09:58 Tene masak: The policy that I've maintained over all of this is that I fully acknowledge that I may be insufficiently smart to discover HLL mapping semantics that are good enough to be generally desirable, but every proposal I've seen or come up with to automatically map or whatever has been worse than just doing nothing.
09:59 masak :)
10:00 Tene I'm enthusiastic about reviewing any proposals that anyone can come up with, because if someone *can* do it right, that would be pretty great, and I don't want to discourage anyone from trying.
10:01 moritz_ I think it's a good step to do no conversions at all, and then experiment with an automaticaly adapt() multi sub or so that can try such mappings
10:02 masak probably per-language-pair mappings can become popular and adopted.
10:02 moritz_ aye
10:02 Tene moritz_: I think that there may be some utility in language-specific glue libraries that you can choose to use if you like.  Rakudo could ship with Python.pm and Ruby.pm etc. (or pynie.pm and cardinal.pm).
10:02 moritz_ or for rakudo I'd provide a basic mapper that turns every RPA into an array or Parcel or so
10:02 masak updated: http://epo.means.no/gsoc2011/ideas
10:03 nymacro left #perl6
10:05 Tene and definitely a library for adapting objects from the "parrot" language
10:05 nymacro joined #perl6
10:06 risou joined #perl6
10:16 bacek joined #perl6
10:17 donri masak: Oh, I wasn't talking about the pod parser
10:22 donri Is HLL interop supposed to work with things like IO streams?
10:23 masak donri: oh!
10:32 donri So a Perl 6 package can say "this requires Python interop"; though then comes the question if it should be able to install Python packages too :P
10:33 masak I wouldn't mind that. :)
10:33 masak donri: well, I certainly believe in HLL interop in general, it's just that... I haven't seen a good example of it yet.
10:33 donri Maybe you can simply run an existing Python installer in Pynie, then
10:35 donri Native libraries are usually preferable, but the cost of porting isn't always worth it
10:39 masak nod.
10:45 Chillance joined #perl6
10:47 Tene masak: "good example"?  You mean you haven't seen evidence that it's doable, or haven't seen good reasons to use it?
10:48 Tene http://blogs.gurulabs.com/stephen/2009/​05/cross-language-library-loading.html was a blog post I made around the time I had it working.
10:48 f00li5h left #perl6
10:48 Tene I also had an example where I defined a class in ruby and subclassed it in rakudo, and then instantiated it in scheme.
10:48 Tene I guess I didn't blog about it, though.
10:51 Tene http://blogs.gurulabs.com/stephen/200​9/01/parrot-speaks-your-language.html -- using lolcode, APL, ruby, and scheme from rakudo.
10:51 masak \o/
10:52 masak I meant something like an example used to accomplish something else that's difficult to do without HLL interop.
10:53 Tene https://gist.github.com/128499 -- define a class in Ruby and subclass it in Perl 6
10:54 Tene masak: https://gist.github.com/147853 or https://gist.github.com/182167 are reasonable examples.  Using core parrot libraries from an HLL.
10:54 masak aye, that's what I'm talking about.
10:55 Tene masak: more-generally, the idea is to re-use lirbaries from other languages instead of porting or reimplementing them.
10:55 masak right.
10:55 masak I get that. I just want to see it done :)
10:55 Tene masak: for example, using Perl 5's CPAN in Perl 6
10:55 masak which isn't by far a solved problem, IIUC.
10:55 masak at least I don't see Perl 6 programmers using CPAN on a massive scale.
10:55 Tene My traditional example is using ruby's Rails library from python or PErl 6
10:56 Tene masak: it's not a solved problem, no.
10:56 masak speaking of which: at some point I'd like to pull together a group of great people and "revive" the idea of Ponie.
10:56 masak I believe the time has come for that, or will come fairly soon.
10:57 Tene which was that?  reimplementation or porting of Perl 5 to Parrot?
10:57 masak yes.
10:57 masak perhaps a reasonable first step is to spend a weekend hacking effort on STD_P5
10:58 kcwu joined #perl6
10:58 masak nowadays I'd view it as "porting Perl 5 to PCT/nqp" rather than "porting Perl 5 to Parrot"...
10:59 masak maybe the right moment for reviving Ponie is just after pmichaud/jnthn manage to get Rakudo running on .NET and/or JVM.
11:00 Tene masak: Sure.
11:01 Tene masak: something I need to investigate more is what exactly MAD is in Perl 5.  Check out MAD in perl5100delta
11:03 masak aye. I noticed there was a GSoC project proposal this year to revive it.
11:20 donri left #perl6
11:26 _twitch joined #perl6
11:28 risou_ joined #perl6
11:28 risou_ left #perl6
11:28 risou_ joined #perl6
11:30 whiteknight joined #perl6
11:30 risou left #perl6
11:30 risou_ is now known as risou
11:38 Rotwang joined #perl6
11:51 Psyche^ joined #perl6
11:51 kaare_ masak: the winnder? (blog-related)
11:52 Patterner left #perl6
11:52 Psyche^ is now known as Patterner
12:11 masak kaare_: oh, indeed. fixing.
12:17 masak fixed. kaare_++
12:28 Helios` left #perl6
12:29 masak perl6: my Int @a; say @a[2].WHAT
12:30 p6eval rakudo 792e86: OUTPUT«(timeout)»
12:30 p6eval ..niecza v3-82-g1dc43eb: OUTPUT«[31m===[0mSORRY![31m===[0m␤␤In my declaration, typename 'Int' must be predeclared (or marked as declarative with :: prefix) at /tmp/00BDqKXwIg line 1:␤------> [32mmy Int[33m⏏[31m @a; say @a[2].WHAT[0m␤␤Any()Malformed my at /tmp/00BDqKXwIg line 1:␤------>
12:30 p6eval ..[32mmy [33m⏏[31m…
12:30 p6eval ..pugs: OUTPUT«Scalar␤»
12:31 masak rakudo: (my Int @a)[2]; say "alive"
12:31 p6eval rakudo 792e86: OUTPUT«maximum recursion depth exceeded␤  in 'at_pos' at line 1␤  in 'at_pos' at line 5:CORE.setting␤  in 'Any::postcircumfix:<[ ]>' at line 1808:CORE.setting␤  in 'at_pos' at line 5:CORE.setting␤  in 'at_pos' at line 5:CORE.setting␤  in 'Any::postcircumfix:<[ ]>' at line
12:31 p6eval ..1808:CORE.settin…
12:31 masak rakudo: (my @a)[2]; say "alive"
12:31 p6eval rakudo 792e86: OUTPUT«alive␤»
12:31 * masak submits rakudobug
12:33 masak rakudo: my Int @a = 0, 1, 2; say @a[2]
12:33 p6eval rakudo 792e86: OUTPUT«maximum recursion depth exceeded␤  in 'at_pos' at line 1␤  in 'at_pos' at line 5:CORE.setting␤  in 'Any::postcircumfix:<[ ]>' at line 1808:CORE.setting␤  in 'at_pos' at line 5:CORE.setting␤  in 'at_pos' at line 5:CORE.setting␤  in 'Any::postcircumfix:<[ ]>' at line
12:33 p6eval ..1808:CORE.settin…
12:33 masak son, I am disappoint.
12:35 Helios` joined #perl6
12:36 flatwhatson joined #perl6
13:04 moritz_ that's so long known
13:04 moritz_ and at least submitted three times to rt
13:07 masak I should've guessed.
13:08 masak hm, a renewed Ponie effort needs to be pulled off in the right way. it needs some minimal buy-in from the Perl 5 side, preferably in the form of Perl 5 people actually in the group of developers.
13:08 masak it needs frequent contact with p5p and Parrot and #perl6.
13:09 masak it needs both a very concrete early roadmap and a monthly-or-so release cycle.
13:13 sbp for anyone reading the logs who is as confused as I was: "Over the past several years, one key aspect of the migration plan to Perl 6 has been the Ponie project, a fusion of the Perl 5 runtime with Parrot." - http://www.nntp.perl.org/group/pe​rl.ponie.dev/2006/08/msg487.html
13:15 masak right.
13:15 masak I'm guessing that's the "put out to pasture" message by Jesse.
13:16 masak I'm mulling about what can be done about declaring Ponie "undead", five years later.
13:16 masak new codebase, but same idea.
13:18 masak one of the reasons Ponie was put out to pasture was "Parrot isn't ready; it's changing around too much". perhaps what we have going today with PCT and nqp is a lot more stable a foundation.
13:20 charsbar_ left #perl6
13:21 charsbar_ joined #perl6
13:23 icwiener joined #perl6
13:27 masak which book, in retrospect, is the first one to belong to what has later been named Modern/Enlightened Perl? MJD's "Higher-Order Perl" immediately comes to mind.
13:29 tadzik hai zebras
13:30 masak tadzik! \o/
13:35 moritz_ masak: I agree (re HOP)
13:36 tadzik I still haven't read that
13:36 masak I think more books like HOP could, and should, be written.
13:37 masak something like Perl and patterns (as in GoF), perhaps.
13:37 masak basically, I'd love to read anything that assumed Perl and Moose knowledge :)
13:41 gfldex_ is now known as gfldex
13:44 masak tadzik: if you're interested in functional programming, and different patterns relating to that, I cannot recommend HOP highly enough.
13:45 arnsholt As one of the professors here likes to say: Learning functional programming makes you a better citizen =)
13:50 masak a First-Class Citizen, even :P
13:53 arnsholt *giggle* =D
13:59 arnsholt Software that is valgrind-clean makes programmer-man happy.
13:59 arnsholt So much easier to make sure your hacking hasn't screwed it up =)
14:00 joseph_ joined #perl6
14:01 * masak replied to joseph_ by email
14:02 masak arnsholt: "Programmer-man"... Homo codiferus.
14:04 arnsholt I'll have to remember that. "Homo Codiferus" =D
14:07 masak it would be just a happenstance if "codiferus" were legit Latin... but it sounds nice :)
14:11 arnsholt Well, "codi-" isn't anything in particular (but so many biological names aren't)
14:11 arnsholt And ferus means carrying, actually =)
14:14 masak oh, indeed.
14:15 pmurias joined #perl6
14:15 PerlJam Tene: TimToady can tell you all about MAD
14:18 HarryS joined #perl6
14:19 bacek left #perl6
14:20 * masak giggles
14:20 PerlJam masak: re ponie ... I think you're right; it's time is coming.  Though it probably won't have anything to do with Parrot per se IMHO.  "Porting" Perl 5 to NQP will make it happen.
14:20 masak nod.
14:21 hanekomu joined #perl6
14:21 arlinius left #perl6
14:21 PerlJam Though there was a gsoc last year (?) that built a real AST for Perl 5.  I wonder whatever happened to that project?
14:22 PerlJam built and *used* I should say
14:23 masak PerlJam: I task you to find out what happened to the project. this is the first time I hear about it at all.
14:24 * masak adds "please" ;)
14:24 PerlJam Well, I think the reason knowledge of it hasn't been widespread is that it had all sorts of problems and no champion within p5p
14:25 PerlJam ergo, it was stillborn
14:25 PerlJam But I don't really know anything about the project other than it existed
14:27 pmurias PerlJam: did it even get accepted?
14:28 * masak has a flash of realization that the Age of Perl 6 dialects is imminent
14:28 masak jnthn: hurry up! :)
14:37 masak jnthn: (but I don't begrudge you your vacation... enjoy, and then hurry!) :P
14:39 YungaPalatino joined #perl6
14:41 Yunga left #perl6
14:41 YungaPalatino is now known as yunga
14:41 risou left #perl6
14:42 risou joined #perl6
14:48 PerlJam oh, I guess it wasn't a gsoc project.
14:48 PerlJam http://news.perlfoundation.org/2009/0​8/2009q3_grant_proposal_changing.html
14:55 kst left #perl6
14:55 kst joined #perl6
14:57 hanekomu left #perl6
15:00 mberends joined #perl6
15:00 masak mberends! \o/
15:00 mberends o/ masak
15:00 moritz_ \o
15:02 mberends masak++ #`[ nice wrap up of p6cc] moritz_++ #`[ p6cc winner ]
15:02 moritz_ colomon++ # close second
15:03 mberends aye
15:03 colomon moritz_++
15:04 masak moritz_++ colomon++ # great work, both of you!
15:06 mberends .oO( I seem to have triggered a karma avalanche. Well, it was due )
15:07 mberends .oO( avalanches usually are )
15:08 masak :)
15:12 kcwu left #perl6
15:16 kcwu joined #perl6
15:30 risou_ joined #perl6
15:32 risou left #perl6
15:33 risou_ is now known as risou
15:43 sorear masak! mberends!
15:44 mberends sorear! hi!
15:44 masak sorear! \o/
15:44 masak &
15:47 sorear masak: Did joseph_ email you?
15:48 joseph_ I did.
15:48 sorear masak: I've had some vague ideas about adding POD and use v5 to niecza ...
15:48 sorear oh joseph_ is here! \o/
15:48 sorear hi
15:48 joseph_ Hello :)
15:49 mberends sorear: niecza use v5 would be awesome!
15:51 sorear mberends: my thoughts have been more directed towards the runtime side of things, in particular the niecza calling system would need to be extended with some kind of wantarray
15:53 sorear masak: do you still plan to do the #=/#| splitting S29 rewrite?
15:58 noganex_ left #perl6
16:12 sunnavy left #perl6
16:17 ymasory joined #perl6
16:21 sunnavy joined #perl6
16:21 M_o_C joined #perl6
16:23 jedai left #perl6
16:25 jedai joined #perl6
16:33 M_o_C left #perl6
16:33 M_o_C joined #perl6
16:37 awoodland joined #perl6
16:46 icwiener left #perl6
16:47 pmurias sorear: hi
16:47 pmurias sorear: re wantarray you want to implement a Perl 5 frontend to niecza or embed perl5?
16:50 M_o_C left #perl6
16:52 M_o_C joined #perl6
16:55 M_o_C left #perl6
16:58 whiteknight left #perl6
16:58 risou_ joined #perl6
17:01 risou left #perl6
17:01 risou_ is now known as risou
17:06 masak sorear: yes. only reason I didn't was that I lost momentum. but I still want it just as much.
17:07 masak joseph_: any questions, any at all -- please ask here or via email. I'm excited about the possibility of a Pod GSoC project.
17:08 birdwindupbird joined #perl6
17:09 masak joseph_: continuing the discussion from the email thread: text/HTML/*roff/DocBook -- all those backends would simply be implemented as a module/class implementing some "interface". both Damian's module on CPAN and mberends' Pod parser contain prior art on that.
17:10 joseph_ left #perl6
17:11 joseph_ joined #perl6
17:12 flussence_ left #perl6
17:13 mberends masak: I often think about dialects (or subsets) of Perl 6, but so far the main philosophy has been an all-or-nothing proposition, probably to reduce the possibility of splintering.
17:15 masak well, I see a great market for sublanguages.
17:16 masak something that doesn't try to replace the main Perl 6 dialect so much as specialize in some small area.
17:17 flussence joined #perl6
17:18 mberends masak: but doesn't a sublanguage "extend" Perl 6?  If not, there is the danger of diluting the brand, since the "official" definition of Perl 6 is based on full spectest compliance.
17:18 masak mberends: you worry too much :)
17:19 moritz_ mberends: every module that imports types or subroutines extends Perl 6 in some sense
17:19 moritz_ "so what?"
17:19 mberends :)
17:19 masak mberends: all I want is a constraint solver that has a much better syntax for constraint solving than regular Perl 6, but that "hides" most parts of Perl 6 most of the time.
17:20 moritz_ that's something you'd probably just import into a small scope
17:20 masak indeed.
17:22 MayDaniel joined #perl6
17:22 noganex joined #perl6
17:30 MayDaniel left #perl6
17:33 Tedd1 joined #perl6
17:36 mj41 left #perl6
17:44 masak uhhh... someone please remind me -- if I want to call the token 'identifier' from my own grammar, what's the syntax?
17:45 M_o_C joined #perl6
17:46 masak rakudo: say Perl6::Grammar.identifier()
17:46 p6eval rakudo 792e86: OUTPUT«Null PMC access in get_integer()␤  in main program body at line 125␤»
17:46 * masak submits rakudobug
17:49 masak rakudo: say "foo" ~~ /:lang(Perl6::Grammar) <identifier>/
17:49 p6eval rakudo 792e86: OUTPUT«===SORRY!===␤Confused at line 22, near "say \"foo\" "␤»
17:49 masak shucks. that was my best guess :(
17:50 moritz_ rakudo: say Perl6::Grammar.parse('foo', :rule<identifier>);
17:50 p6eval rakudo 792e86: OUTPUT«foo␤»
17:50 masak moritz_++
17:50 masak ...and from within an ongoing parse?
17:51 moritz_ something like <.Perl6::Grammar::identifer> or so
17:51 masak no, I meant today, now :)
17:52 _twitch left #perl6
17:52 * masak gives up and copies 'token identifier'
17:55 Hackbinary left #perl6
17:57 birdwindupbird left #perl6
17:57 lue hello world! o/
17:58 jferrero joined #perl6
17:58 jevin left #perl6
17:58 prammer left #perl6
17:58 uniejo left #perl6
17:58 masak hellue!
17:58 uniejo joined #perl6
17:59 cognominal left #perl6
17:59 cognominal joined #perl6
18:00 M_o_C left #perl6
18:03 M_o_C joined #perl6
18:04 masak ergh. sometimes I find rules (rather than tokens) hinder more than they help when parsing line-oriented formats.
18:05 masak rules are better for free-form formats.
18:07 Hackbinary joined #perl6
18:10 prammer joined #perl6
18:11 jevin joined #perl6
18:13 hudnix left #perl6
18:13 mj41 joined #perl6
18:16 envi left #perl6
18:17 mberends left #perl6
18:25 masak rakudo: my %twice = ($_ => $_ * 2 for 5, 42, 4096); say %twice.perl
18:25 p6eval rakudo 792e86: OUTPUT«{"5" => 10, "42" => 84, "4096" => 8192}␤»
18:25 masak list comprehensions rock.
18:26 benabik That looks more like a hash comprehension... :-)
18:27 masak :P
18:27 masak the hash is assigned to from a list, just like an array would be.
18:28 masak that's as far as I can see one of the big wins of list (auto-)flattening, that arrays and hashes share the same "interface", making it easy to assign from one to the other.
18:38 masak g'ah. how did I ever manage to write code before I started with TDD? :P
18:47 moritz_ masak: when I started programming I would write 40 lines of code, and they didn't work...
18:47 moritz_ masak: then I started doing incremental coding, and basically tested everything along the way with print statements
18:48 moritz_ that's also testing, just not unit tests
18:48 tadzik gah. On my University there are still some people who write 200-300 lines of code before they even try to compile it
18:49 tadzik the sad fact is that these people don't really know that they need help with programming from the very basics, they just keep on going
18:55 arlinius joined #perl6
18:55 wooden left #perl6
19:05 lue tadzik: I remember doing that once (>100 lines of code w/o tests). Part of it was that I didn't know about TDD or other testing methods, part of it was that the code couldn't be tested until most of it was coded. (never finished the project, btw)
19:06 wooden joined #perl6
19:07 Rotwang left #perl6
19:07 st-2451 left #perl6
19:10 masak moritz_: it would be interesting to have some hybrid of a REPL and some IDE's debug mode. so each time you write a method, you basically have code running with test parameters as you write it.
19:10 st-7097 joined #perl6
19:11 tadzik lue: that has nothing to do with testing. It's like building a house of cards wearing a blind fold, you never know if even a one card stands when you put on another one
19:12 lue Well, does it have something to do with it when I tell you I never compiled/ran said project? :) [granted, you don't compile Python, but...]
19:13 tadzik you do
19:15 dju joined #perl6
19:15 dju left #perl6
19:16 lue I vaguely remember .pyc files. When I say "you don't compile Python", in my head, compilation is something you do purposefully and lets the product run without the compiler.
19:16 masak lue: compilation means preparing something, anything, which is then run.
19:17 masak lue: the term stands in opposition to another term, 'interpretation'.
19:17 * moritz_ wonders who you compile code with interpreting it :-)
19:17 masak thich is when you go statement by statement, parsing and evaluating as you run.
19:17 masak s/thich/which/
19:18 st-7097 left #perl6
19:18 masak lue: Perl, Python, Ruby. all of them compile code down to some sort of bytecode and then interpret that bytecode. even if you don't see it.
19:18 lue My definition of compilation is different then. (Is there a word for how I see it, where I would say you "compile" C, C++, but I wouldn't say you "compile" Perl, Python? Or is it just two different forms of compilation w/o their own words yet?)
19:18 masak lue: it's just you having been unaware of the compilation phase until now.
19:19 dju_ is now known as dju
19:19 masak it's really quite invisible in these dynamic languages.
19:19 masak but it happens, or the programs would run much slower :)
19:19 moritz_ lue: point is that compiling C and Perl isn't very different in essence. It's just that one of them writes the compilation to disc, and the otehr not
19:20 masak lue: anyway, not knowing anything about your project, "the code couldn't be tested until most of it was coded" sounds like a phony excuse. :)
19:21 moritz_ the least you can do is to find out if it runs up to a certain point without throwing errors
19:21 moritz_ even if you don't know what the data should look like
19:21 lue I'll now be reconciling the real definition of "compile" with how I see it. To me (until just now), the compilation process for C and for Perl6 were completely different things.
19:21 joseph_ left #perl6
19:21 masak lue: if it helps, I've once held your exact view. :)
19:22 masak there's a nice web page out there completely demolishing the compile/interpret dichotomy. I don't remember who wrote it. someone like MJD or Alias, probably.
19:22 st-7523 joined #perl6
19:23 lue masak: My project was an NES emulator. If I were to do it all over again (some day!), I would test the individual methods as I coded them. But the best way to test this sort of project is to code up to a point where it can execute some machine code.
19:24 masak lue: why?
19:25 lue Probably that's a holdover from how I saw the programming world pre-#perl6 :)
19:26 yunga left #perl6
19:27 masak I would suggest it is :)
19:27 lue afk for just a moment.
19:28 * moritz_ could say so much about it, but it's probably like carrying coals to Newcastle
19:28 lue left #perl6
19:28 masak now, it's not an absolute *obligation* to write the test first, but it's a very nice crutch to lean on until one masters TDD.
19:28 masak it really helps.
19:30 nymacro left #perl6
19:31 lue joined #perl6
19:31 lue hello again o/
19:33 masak lue: I'm doing TDD development as we speak. turns out the second test "required" me to write >50 lines of code. that's quite a lot by my standards.
19:33 masak but during that time, running and re-running the two tests I have ~10 times has informed me on how the coding of those >50 lines is going.
19:34 masak lue: have you tried tote? maybe you'd like it :)
19:36 * lue googles tote -bag
19:37 masak https://gist.github.com/834500
19:37 masak lue: that's how it looks so far.
19:38 masak also http://strangelyconsistent.org/blo​g/helpfully-addictive-tdd-on-crack and http://strangelyconsistent.or​g/blog/some-thoughts-on-tote
19:39 masak basically, it's a little program that runs the tests for you as soon as you save a .t or .pm file.
19:39 masak doesn't sound like much, but it boosts productivity and fosters the "right" habits :)
19:40 st-7523 left #perl6
19:44 st-7869 joined #perl6
19:45 masak lue: have we talked about "red-green-refactor"?
19:45 lue yes.
19:46 masak oh good. :)
19:46 st-7869 left #perl6
19:46 masak I find people sometimes undervalue the importance of seeing the test fail.
19:47 masak I just had a test unexpectedly succeed in the "red" phase -- and indeed, I had copy-pasted it and not changed it to what I meant. :)
19:48 * moritz_ has a love and hate relation to failing tests
19:48 lue That reminds me, I should work on my POD6 parser some more and add some failing tests, 'cos they all pass right now.
19:49 masak moritz_: that's a bit like saying that you like traffic lights, except the red ones :P
19:51 moritz_ masak: oh, I don't mind the red ones, as long as they apply to the others :-)
19:51 masak *lol*
19:51 masak Schadenfreude.
19:51 moritz_ ... ist die beste Freude.
19:52 masak same saying in Swedish, except "beste" is "the only true".
19:52 moritz_ I like that too :-)
19:54 masak seems to me that that meme must survive based on its tongue-in-cheek provocativeness.
19:54 masak I certainly like it too, but I don't really believe it.
19:54 moritz_ same here
19:54 st-7943 joined #perl6
19:55 moritz_ when I see my small one laugh it's certainly neither Schadenfreude on her or my behalf
19:56 masak right. and I bet that Freude is better. QED.
19:57 st-7943 left #perl6
19:57 * masak is getting to really like list comprehensions
19:57 masak they're like map {}, but without the {} :)
20:01 masak rakudo: (my %h).push: .denominator => .numerator for 1/2, 4/5, 3/2; say %h.perl
20:01 p6eval rakudo 792e86: OUTPUT«{"2" => [1, 3], "5" => 4}␤»
20:01 masak \o/
20:01 st-8196 joined #perl6
20:01 * masak hugs Perl 6
20:02 masak rakudo: (my %h).push: (.denominator => .numerator for 1/2, 4/5, 3/2); say %h.perl
20:02 p6eval rakudo 792e86: OUTPUT«{"2" => [1, 3], "5" => 4}␤»
20:03 masak could be that's slightly more efficient. then again, maybe not.
20:05 y3llow_ joined #perl6
20:05 pothos_ joined #perl6
20:05 lue afk
20:07 pothos left #perl6
20:07 pothos_ is now known as pothos
20:07 y3llow left #perl6
20:07 y3llow_ is now known as y3llow
20:16 whiteknight joined #perl6
20:40 donri joined #perl6
20:41 birdwindupbird joined #perl6
20:45 woldrich left #perl6
20:46 woldrich joined #perl6
20:46 woldrich is now known as Guest42867
20:50 ymasory left #perl6
20:51 ymasory joined #perl6
20:51 ymasory left #perl6
20:51 ymasory joined #perl6
20:52 ymasory left #perl6
20:54 [particle] left #perl6
21:00 [particle] joined #perl6
21:03 M_o_C left #perl6
21:15 flatwhatson left #perl6
21:29 birdwindupbird left #perl6
21:31 M_o_C joined #perl6
21:32 cotto left #perl6
21:32 bacek joined #perl6
21:45 flussence rakudo: say ("\t !" ~~ /^(\s*) (.*)$/).join(' ').perl
21:45 p6eval rakudo 792e86: OUTPUT«"\t  !"␤»
21:48 hudnix joined #perl6
21:54 st-8196 left #perl6
22:04 kst left #perl6
22:04 masak rakudo: given "\t !" -> $line { my $prefix = ($line ~~ /^ (\h*)/ or '')]0
22:04 p6eval rakudo 792e86: OUTPUT«===SORRY!===␤Unable to parse blockoid, couldn't find final '}' at line 22␤»
22:04 kst joined #perl6
22:05 masak rakudo: given "\t !" -> $line { my ($prefix, $rest) = ($line ~~ /^ (\h*)/ or '')[0, 1]; say $prefix, ' ', $rest }
22:05 p6eval rakudo 792e86: OUTPUT«    ␤»
22:05 masak oh right.
22:05 masak rakudo: given "\t !" -> $line { my ($prefix, $rest) = ($line ~~ /^ (\h*) (.*)/ or '')[0, 1]; say $prefix, ' ', $rest }
22:05 p6eval rakudo 792e86: OUTPUT«    !␤»
22:05 masak rakudo: given "\t !" -> $line { my ($prefix, $rest) = ($line ~~ /^ (\h*) (.*)/ or '', $line)[0, 1]; say $prefix, ' ', $rest }
22:05 p6eval rakudo 792e86: OUTPUT«    !␤»
22:06 masak rakudo: given "\t !" -> $line { my ($prefix, $rest) = ($line ~~ /^ (\h*) (.*)/ or '', $line)[0, 1]; say ($prefix ~ ' ' ~ $rest).perl }
22:06 p6eval rakudo 792e86: OUTPUT«"\t  !"␤»
22:07 masak hm, the 'or' thing is probably overkill. the regex can't not match.
22:08 masak 'night, #perl6.
22:08 masak left #perl6
22:27 st-8942 joined #perl6
22:29 Limbic_Region joined #perl6
22:32 ymasory joined #perl6
22:37 mathw left #perl6
22:39 st-8942 left #perl6
22:47 kaare_ left #perl6
22:53 starcoder is now known as starcoder-
22:53 starcoder2 is now known as starcoder
22:53 starcoder- is now known as starcoder2
22:58 risou_ joined #perl6
23:01 risou left #perl6
23:04 mj41 left #perl6
23:20 dorlamm joined #perl6
23:22 cognominal left #perl6
23:23 cognominal joined #perl6
23:25 Blueh joined #perl6
23:32 kst left #perl6
23:32 kst joined #perl6
23:46 Blueh left #perl6
23:57 pmurias left #perl6

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo