Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2011-03-30

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:01 cosimo joined #perl6
00:01 st-17217 joined #perl6
00:06 plobsing joined #perl6
00:06 silent_h_ joined #perl6
00:13 rgrau joined #perl6
00:15 donri left #perl6
00:22 silent_h_ left #perl6
00:26 Holy_Cow joined #perl6
00:27 Holy_Cow left #perl6
00:29 sorear good # *perl6
00:29 sorear oops! I forgot to post on #phasers.  otoh I didn't do anything interesting.
00:39 nymacro left #perl6
00:46 plobsing left #perl6
00:48 st-17217 left #perl6
00:53 sorear tadzik: hi, I'd like to talk about how I plan to structure POD in Niecza
00:54 sorear pmichaud: STD's monolithicness bothers me in general (I agree with most of Alias' points)
00:58 sorear '$capture.list.values[0]'
00:58 sorear what do you think this is, COBOL? :(
01:00 sorear ...what.
01:00 sorear Array.values is specced?  Why?
01:01 noganex joined #perl6
01:01 noganex_ left #perl6
01:23 icwiener left #perl6
01:27 sorear pmichaud et al: Is there a list of Things TPF Wants to See from GSoc?
01:49 nymacro joined #perl6
01:51 woosley joined #perl6
01:55 whiteknight left #perl6
02:13 [Coke] I think you might be giving TPF more organization credit than warranted. ;)
02:22 mkramer joined #perl6
02:23 ymasory left #perl6
02:24 ymasory joined #perl6
02:25 am0c joined #perl6
02:41 nymacro left #perl6
02:46 Util sorear:
02:46 Util 1. I suspect that Array.values is specced for the sake of completion, and for the parallel with .keys.
02:46 Util Methods .kv, .keys, .pairs, and .enums all make sense for both @arrays and %hashes, so why omit .values from @arrays just because it can be achieved in a different way?
02:46 Util For that matter, Array.keys could have been omitted, since we always have ^@array or 0..@array.end.
02:46 Util 2. S32 says that .keys may be slice lists when @array is multi-dimensional. When this is true, mightn't .values also be a useful slice list?
02:56 am0c left #perl6
03:00 mogo_ joined #perl6
03:02 ymasory left #perl6
03:03 [particle] left #perl6
03:05 justatheory joined #perl6
03:18 arlinius left #perl6
03:28 s1n joined #perl6
03:28 arlinius joined #perl6
03:34 plobsing joined #perl6
03:40 ymasory joined #perl6
03:55 sorear [Coke]: I want useful things to do this summer...
04:00 [particle] joined #perl6
04:04 [particle]1 joined #perl6
04:06 [particle] left #perl6
04:07 mberends sorear: I have great confidence in you finding useful things to do, your track record on that front is excellent. You're very welcome to brainstorm ideas, however.
04:08 * sorear hates the organization of S32
04:11 sorear how hard would it be to have all of the subs in ONE list?  then maybe there wouldn't be two completely incompatible definitions of &CORE::cat
04:13 sorear If I spent a weekend making S32 usefully organized, would anyone mind?
04:15 mberends +1
04:15 mberends yeah, the S32 directory structure is needlessly lopsided. I guess the authors reasoned that it would cope better with the expected very large size, a bit like the size of 'perldoc perlfunc', but that is not an outstanding reason.
04:17 mberends fortunately the Roast hierachy does not replicate the lopsidedness, a reorganization would align the specs and the tests better.
04:20 mberends sorear: otoh, the task is LHF. I think you may just be feeling like goofing off mentally for a little while, am I right? Are you up against some major Niecza blockers that need lots of thinking about before you rip into the code?
04:20 [particle]1 left #perl6
04:26 mberends I'll admit to not having done the main work I planned to do for Niecza, which was to pinpoint what was preventing it from running some interesting examples like all the Perl 6 Coding Contest entries, fixing the deficiencies where that is within my powers, and listing the rest as todo items. My excuses are: $work and @other-projects.
04:28 [particle] joined #perl6
04:31 colomon left #perl6
04:34 _dev0_ joined #perl6
04:41 am0c joined #perl6
04:42 sorear mberends: my excuses are @schoolwork and... the more I have to do, the less efficiently I use time :/
04:43 sorear mberends: most of the hard work for making MMD work is already done
04:53 kaare_ joined #perl6
04:54 mberends @schoolwork is good. Switching between tasks costs time, so indeed, it is better to reduce the number of different tasks competing for attention. It often helps to briefly step back to overview, quantify and prioritize them all. In this case, I would suggest leaving S32 until some other time. As for GSOC, let's discuss that more until April 8, the student proposal deadline. http://www.google-melange.com/gsoc/events/google/gsoc2011
04:55 jevin left #perl6
04:56 jevin joined #perl6
04:58 _twitch joined #perl6
04:59 MaoDa joined #perl6
05:05 cdarroch left #perl6
05:07 donri joined #perl6
05:12 tadzik sorear: around?
05:12 tyatpi_ left #perl6
05:16 tadzik mberends: that sounds quite sane, will think about it
05:16 mberends :)
05:16 sftp left #perl6
05:17 tadzik my laptop fell /o\
05:17 tadzik battery fell out but it seems to be alright
05:17 mberends were trying to look at the smileys from another angle ? ;)
05:17 tadzik ;)
05:22 tadzik it has this horrible black dots all around the dipslay
05:24 sorear tadzik: yes
05:24 sorear mberends: Apr08 is Real Soon Now...
05:25 justatheory left #perl6
05:26 mberends aye, but we have enough days to make about 10% of the decisions each day...
05:27 sorear if it were just my work, I'd happily wait, but, don't I need time for back-and-forth?
05:27 sorear ...that could be clearer
05:32 mberends commute &
05:36 tadzik sorear: so what about niecza and pod?
05:38 mberends left #perl6
05:38 sorear tadzik: the first thing is that S29 lags current thinking
05:38 sorear masak still hasn't gotten around to rewriting it, but on IRC we decided to replace the current #= rules with something more like haddock
05:39 sorear there will be 2 kinds of doc comments
05:39 sorear #| FOO connects to the next declarator, #= FOO connects to the preceding declarator
05:39 sorear the following implementation suggests itself:
05:39 mberends joined #perl6
05:40 sorear - There are 'documentation declarand' objects with a .doc attribute (possibly a role on the existing nom/ctmo classes)
05:40 sorear - There are two new compiler dynamics, $*NEXTDOC and $*PREVDOC, localized in comp_unit
05:40 mberends (mobile internet is my new friend :)
05:41 sorear - $*NEXTDOC holds a string, or perhaps a list of strings; this is all of the #|s that have not yet bound to anything
05:41 sorear - $*PREVDOC points to a documentation declarand
05:41 bacek left #perl6
05:41 sorear - new rule: <.document> 1. creates a documentation declarand 2. affixes $*NEXTDOC to it 3. clears $*NEXTDOC 4. sets $*PREVDOC
05:42 sorear END
05:43 tadzik don't you want 3 to go before 2?
05:43 sorear no
05:43 sorear <.document> is used when parsing stuff like "sub foo"
05:44 sorear it needs to use the #| stuff, and that can't work if it's already cleared
05:45 tadzik oh, I read that as the seclarator block
05:45 MaoDa left #perl6
05:45 MaoDa joined #perl6
05:46 tadzik yeah, when reading about those I was quite discouraged by the fact that it can go before, or after, or in the middle
05:47 sorear also, use of bracketing forms is no longer required; you can if you want use multiple lines of #| and they'll be concatenated with a space(?)
05:47 * sorear is working off memory here
05:48 tadzik with a newline I think
05:51 MaoDa is now known as DaMao
05:51 DaMao is now known as MaoDa
05:54 tadzik I think that's crytifying the language a bit, the #| and #=
05:55 tadzik OTOH, no one is forced to use more then one
06:00 starcoder left #perl6
06:05 sorear what bothers me more is the extent to which analyzing Perl 6 depends on a full STD-like parser.
06:09 cosimo left #perl6
06:10 starcoder joined #perl6
06:10 rgrau left #perl6
06:15 * sorear out
06:20 chin_up joined #perl6
06:24 mberends left #perl6
06:26 JimmyZ joined #perl6
06:29 mberends joined #perl6
06:37 JimmyZ left #perl6
06:41 moritz_ good morning
06:44 am0c left #perl6
06:46 agentzh joined #perl6
06:47 tadzik good morning moritz_
06:47 am0c joined #perl6
06:55 Alias You have to run your pod6 documentation through a compiler?
06:55 Alias *docs*
06:55 Alias while (1) { }
06:55 Alias er
06:55 Alias BEGIN { while(1) { } }
06:55 Alias *docs*
06:56 shi joined #perl6
06:56 Alias MACRO(kaboom)
06:56 Alias *docs*
06:56 Alias ?
06:56 Alias (typo causing parse to fail)
06:56 Alias *docs*
06:57 mberends Alias: you say it much better than so many others. I agree, it is a misfeature.
06:57 Alias I have an entire canned powerpoint talk I could just change the title of and paste
06:58 Alias http://svn.ali.as/cpan/users/adamk/talks/Slides%20-%20PPI.ppt
06:58 wtw joined #perl6
06:58 moritz_ congratulations to your talk then
06:58 Alias There go, the first third or so of that would be relevant
06:58 moritz_ I would be happier it weren't so
06:58 Alias I concur
06:58 moritz_ but we didn't find alternatives that did what we wanted
07:01 Alias The one that will hurt the most in practice (if it applies) is if you can't read the documentation because a dependency of the code isn't installed.
07:01 Alias Many of the rest of theoretical or avoidable
07:03 bacek joined #perl6
07:04 Alias But the deps one causes trouble for making websites like search.cpan
07:05 mberends I would like an altered Pod6 spec that lets you manipulate Pod6 without necessarily installing a Perl 6 implementation - so that GitHub can render our README.Pod6, for example, with whatever code they prefer.
07:06 moritz_ then propose one
07:06 Alias Requiring Perl 6 isn't the problem
07:06 moritz_ there are many people that want that
07:06 mberends having studied S26 closely, I think that can be done by simply throwing out the parts that fly too high.
07:06 Alias Requiring a language to do pod parsing is just fine
07:06 Alias It's requiring compilation of the code mixed into the docs that is the problem
07:07 Alias If you can carve out the pod6 grammer such that it parses while skipping the code parts, you'll be golden
07:07 Alias Or otherwise null out the generation or execution of code
07:08 moritz_ mberends: if you throw out the  "parts that fly too high", can you still use the signature of a method in the documentation without duplicating it?
07:08 Alias You can link to methods by signature directly?
07:08 Alias oohh... interesting
07:09 mberends moritz_: I cannot say yes with absolute certainty, but that sounds like static parsing which is okay.
07:10 moritz_ method foo(&callback = sub { arbitrary Perl 6 code here }, ...) { ... }
07:10 mberends oh, no
07:11 moritz_ a version that worked most of the time would be fine by me too
07:12 moritz_ as long as I don't have to duplicate *all* signatures in pod
07:12 mberends this is how bikeshed discussions originate, with different participants having incompatible wish lists. I say, if it hinders efficient implementation, remove it from the spec, rather grow the spec from running code.
07:12 mberends I have refrained from proposing radical S26 surgery for that reason.
07:13 moritz_ mberends: the issue of referencing signatures in Pod is far from bikesheddy. It was the result of my first serious attempt to actually document a module with pod6
07:14 moritz_ I liked TheDamian's first solution to that, which would let me reference parts of the program upto a certain character or regex match
07:15 mberends moritz_: as a signnature, would it be okay if a *Pod6* parser stopped at sub {...} ?
07:15 moritz_ something like :upto<)>
07:15 plobsing left #perl6
07:15 moritz_ mberends: yes
07:17 mberends well there's an idea, TheDamian's Perl 5 parser for Pod6 obviously goes quite far.  It would be a good project to port that to Perl 6 anyway. tadzik, are you listening?
07:17 tadzik yes
07:17 plobsing joined #perl6
07:17 moritz_ it implements a very old S26 spec
07:18 moritz_ since then many things change, the majority of which is not related to Perl 6 integration at all
07:19 mberends oh, I thought little had changed in the last 2 years, I must have overlooked them.
07:20 moritz_ it's a pity that the S26 development was mostly on the mailing list, and only occasional snapshots in the repo
07:22 moritz_ mberends: Perl6::perldoc is from 2007. Even if not much change in the last two years, it would still be 3 years out of date
07:22 tadzik Four. We're this old (:
07:23 mberends when nothing changes, age does not matter
07:24 nymacro joined #perl6
07:26 moritz_ my point is that even if it didn'T change much since 2009, it still changed a lot between 2007 and 2009
07:27 MaoDa left #perl6
07:28 colomon joined #perl6
07:29 moritz_ tadzik: I think you need to decide between the current spec and proposal (tightly coupled into rakudo), and some imaginary pod6-like document-only format. Whatever your decision is, stick to it
07:30 moritz_ tadzik: even if your decision turns out to be "wrong", we will learn a lot from the implementation, and likely much of the code can be reused if the other direction is taken at some point
07:31 tadzik moritz_: my "formal" decision was always the parser married to Rakudo
07:31 moritz_ tadzik: ok.
07:31 tadzik bbs
07:36 Mowah joined #perl6
08:12 mberends left #perl6
08:22 chin_up left #perl6
08:29 dakkar joined #perl6
08:32 ponbiki left #perl6
08:32 ponbiki joined #perl6
08:35 araujo left #perl6
08:49 snearch joined #perl6
09:16 flussence I want to say, as a lowly user, that I'm not a big fan of POD. It feels far more verbose than other markup I've used (besides XMLy things)
09:20 moritz_ that surprises me
09:20 moritz_ for writing code documentation, I find it nearly perfect
09:21 moritz_ it's easy to do code blocks and paragraphs
09:21 moritz_ additional inline markup is usually 3 characters (B<...>, I<...> etc.)
09:22 moritz_ one thing I do find very verbose are lists
09:22 moritz_ =over
09:22 moritz_ =item
09:22 moritz_ =item
09:23 moritz_ =what's the end marker again?
09:23 flussence =back
09:24 moritz_ ah, right
09:24 am0c^ joined #perl6
09:24 moritz_ flussence: which parts do you find overly verbose?
09:25 am0c left #perl6
09:25 flussence I think my main gripe is the amount of vertical screen space it needs. More of a problem in p5 than p6 though
09:25 yves joined #perl6
09:26 moritz_ right
09:26 moritz_ that's partially because of the boundaries between code and docs
09:26 tadzik no =over and =back in Pod 6
09:26 moritz_ and partially because you need a newline after ^=
09:26 tadzik just =item =item =item
09:31 am0c^ left #perl6
09:32 Mowah left #perl6
09:39 Mowah joined #perl6
09:41 orafu left #perl6
09:41 orafu joined #perl6
09:49 woosley left #perl6
09:51 birdwindupbird joined #perl6
10:12 birdwindupbird How can someone participate into perl6 development?
10:13 moritz_ that depends on their motivation and skillset
10:13 moritz_ there are lots of things that need doing
10:13 moritz_ writing modules
10:13 moritz_ compielrs
10:13 moritz_ *compilers
10:13 moritz_ documentation
10:13 moritz_ blog posts
10:13 moritz_ design websites
10:13 moritz_ administrate servers
10:13 moritz_ organize conferences
10:13 moritz_ raise funds
10:14 moritz_ help other people with Perl 6 problems
10:14 moritz_ rewview code, documentation and specification for correctness
10:14 moritz_ etc.
10:14 moritz_ birdwindupbird: anything that interests you particularly?
10:21 bbkr_ or just use P6 code for everyday tasks and bughunt :)
10:23 birdwindupbird moritz_: I am interesting in programming with p6 or for p6. May be someone can suggest particular programming task?
10:23 birdwindupbird moritz_: Or where such tasks are listed
10:24 moritz_ birdwindupbird: for example you could add Perl 6 solutions to http://rosettacode.org/wiki/Welcome_to_Rosetta_Code
10:26 moritz_ http://rosettacode.org/wiki/Reports:Tasks_not_implemented_in_Perl_6 in particular
10:28 flussence .oO( looking for a base85 module on cpan and seeing MIME::Base85's source - biggest wtf moment I've had this week )
10:48 arnsholt flussence: Whoa. That's certainly different =)
11:06 tadzik birdwindupbird: are you a Perl 5 programmer?
11:07 birdwindupbird tadzik: A little bit of that.
11:08 tadzik birdwindupbird: there is a list of Most Wanted modules somewhere, you may want to start with that
11:08 tadzik http://perl6.org/getting-started/involved
11:09 birdwindupbird On github i saw such list. It contains just 1 entry. May be there is another?
11:10 birdwindupbird Yeath. I saw and this link too. But may be some one can help to pick particular task.
11:18 Mowah left #perl6
11:28 agentzh left #perl6
11:29 dakkar left #perl6
11:29 chitragupt left #perl6
11:29 frettled_ left #perl6
11:29 PerlJam left #perl6
11:29 ascent_ left #perl6
11:30 chitragupt joined #perl6
11:30 PerlJam joined #perl6
11:32 moritz_ birdwindupbird: please port the ExtUtils::Command module from Perl 5 to Perl 6
11:32 tyatpi_ joined #perl6
11:34 dakkar joined #perl6
11:34 frettled_ joined #perl6
11:34 ascent_ joined #perl6
11:36 * moritz_ has a very bad feeling telling a volunteer what to do, but if you ask for it...
11:45 birdwindupbird moritz_: Why bad feeling? Is asking for such thing seems no good?
11:46 moritz_ birdwindupbird: it's just unusual. Many programmers do what they want, even if you tell them it's a bad idea :-)
11:46 moritz_ birdwindupbird: it's a saying here that the Perl 6 project management is "herding cats" :-)
11:51 tzhs joined #perl6
11:53 Patterner left #perl6
11:54 Psyche^ joined #perl6
11:54 Psyche^ is now known as Patterner
11:57 birdwindupbird moritz_:  I just can't find what i could do. And that's why I ask may be such a dumb question. In hope some peeple suggest something. "Herding cats". Never seen this before. But I silently laugh while imagine how it could be.
11:58 moritz_ just imagine a shepard trying to get 40 cats to stay together, and move in the same direction :-)
12:01 kostja_osipov joined #perl6
12:02 kostja_osipov moritz_: hi
12:02 birdwindupbird moritz_: :-)
12:02 kostja_osipov left #perl6
12:02 kostja_osipov joined #perl6
12:03 moritz_ hi Kovensky
12:03 moritz_ erm, kostja_osipov :-)
12:03 Mowah joined #perl6
12:03 Kovensky hi anyway :>
12:03 kostja_osipov moritz_: query
12:21 MayDaniel joined #perl6
12:24 moritz_ Util: (backlog) @array.keys and ^@array only coincide for arrays that aren't shaped (see S09)
12:27 benabik left #perl6
12:32 snearch left #perl6
12:33 ponbiki left #perl6
12:36 ponbiki joined #perl6
12:37 MayDaniel left #perl6
12:49 bluescreen10 joined #perl6
12:54 bluescreen10 left #perl6
13:01 tyatpi_ left #perl6
13:02 sftp joined #perl6
13:09 bluescreen10 joined #perl6
13:10 Holy_Cow joined #perl6
13:18 Axius joined #perl6
13:18 Axius left #perl6
13:22 avarus_ joined #perl6
13:22 avarus_ .
13:22 avarus_ hi
13:22 lateau joined #perl6
13:23 moritz_ hello avarus_
13:23 avarus_ rakudo.org doesn't work for me, anyone a link to download perl6?
13:23 avarus_ rakudo.org returns 0 bytes and closes the connection
13:23 lateau how about github? > avarus_
13:24 moritz_ https://github.com/rakudo/star/downloads/
13:24 avarus_ ah thanks
13:26 avarus_ thanks and bye :)
13:26 avarus_ left #perl6
13:28 [Coke] I just pinged Andy
13:28 [Coke] (via email, as he's not on chat atm)
13:29 flussence gah, not again
13:29 * flussence fixes try.rakudo
13:30 plobsing left #perl6
13:31 Util moritz_: thanks for the S09 pointer
13:31 moritz_ I also find @a.keys to be more self-documenting
13:33 ronoreck left #perl6
13:36 lateau left #perl6
13:36 JimmyZ joined #perl6
13:37 Util moritz_: Me, too (usually). ISTR some RosettaCode solutions where ^@a fit better... Maybe I should double check those :)
13:53 ronoreck joined #perl6
13:53 benabik joined #perl6
13:55 alester joined #perl6
13:56 [Coke] rakudo.org restarted
14:04 shi left #perl6
14:06 ymasory left #perl6
14:06 tadzik hello catherders
14:07 moritz_ hello kitty :-)
14:08 tadzik OL :)
14:08 sorear Alias: pod6 wants to fill the role of doxygen etc in addition to the traditional role of perldoc
14:10 tadzik sorear: ohbtw, you had some questions about my potential GSoC project and Niecza, do you think it can be put together somehow?
14:10 sorear Alias: to have doxygen functionality it needs to parse the code and resolve names - I do not think this is avoidable
14:11 Alias Which is fine when the language has a static grammar
14:11 PerlJam tadzik: "catherders" is way too close to "catherter" to me :)
14:11 tadzik cathearter? :)
14:11 PerlJam er, but spelt correctly
14:11 PerlJam catheter
14:12 tadzik my catherder experience consist maybe of hissing "phh! phh!" and putting cats away, I'm allergic :(
14:12 moritz_ just spell it as two words :-)
14:12 Alias Although doxygen supports C
14:12 Alias So clearly it's not limited to decidable grammars
14:12 Alias Not completely anyway
14:13 tadzik oh I has a GSoC goal: document Rakudo using Pod6
14:14 PerlJam tadzik++ nice
14:14 PerlJam tadzik: but that didn't seem to be in your proposal  :)
14:14 tadzik I wonder where to stick it in my proposal
14:14 tadzik yeah, what I said :)
14:14 moritz_ but please be more specific than "document rakudo" :-)
14:14 tadzik It can be an additional goal every week
14:15 tadzik well, document the settings library
14:15 PerlJam tadzik: a pod5->pod6 translator would be a nice outcome if you can get it.
14:15 tadzik it would be Something, especially the generated thing
14:15 PerlJam tadzik: beware scope-creep though
14:15 tadzik PerlJam: sound like a nice Afterparty project
14:15 wtw left #perl6
14:15 moritz_ PerlJam: that doesn't seem to fit into the proposal at all
14:16 moritz_ a (subset) pod6->pod5 would fit much better
14:16 PerlJam moritz_: I never said it did :)
14:16 * PerlJam has no idea of the impedence differential between tadzik's ambition and his ability.
14:17 JimmyZ left #perl6
14:18 * tadzik blushes, if understood this correctly
14:20 moritz_ PerlJam: did you mean "impendence" or "impedance" or so?
14:21 PerlJam moritz_: the latter  (if only my fingers obeyed my brain perfectly ...)
14:32 dakkar left #perl6
14:32 dakkar joined #perl6
14:34 plobsing joined #perl6
14:35 chin_up joined #perl6
14:39 chin_up left #perl6
14:43 shortcircuit I realize that many of the simplest tasks on RC are already implemented. Perhaps their task descriptions should be copied and used as the basis for an intro-to-programming-using-P6 document.
14:44 shortcircuit (I got the impression that birdwindupbird's block was that the unimplemented tasks on RC require a higher P6 skill level to solve than he currently has)
14:45 shortcircuit Seeing how to do something is one thing, but implementing it (and the learning that goes with that) is obviously another.
14:46 mkramer left #perl6
14:47 _dev0_ left #perl6
14:48 * moritz_ highlights sjn :-)
14:48 sorear what bothers me most about Perl 6 is probably the lack of a nice LALR(1) grammar
14:49 benabik sorear: One of the GSoC tasks I'm going to apply for is a LALR parser for Parrot.
14:49 benabik sorear: It's not a generic Perl6 solution, but it could interface with Rakudo
14:50 sorear benabik: that's not what I meant at all
14:50 moritz_ (we were talking about book projects a few days ago, and maybe one could turn the rosettacode tasks into a kind of cookbook)
14:50 benabik sorear: Ah, the fact that Perl6 can't be parsed LALR(1)?
14:50 sorear benabik: yes
14:51 shortcircuit moritz_: Heh. My principly-desired source of revenue for RC would be language cookbooks. :)
14:51 moritz_ sorear: fwiw I miunderstood you too
14:51 sorear benabik: some people (everyone except Alias and myself) think this is a feature, so I don't have much chance of getting it changed ;)
14:52 PerlJam sorear: I'm sure you could find one other person who doesn't think it's a feature  :)
14:56 ymasory joined #perl6
14:57 spq joined #perl6
14:58 chin_up joined #perl6
15:05 plainhao joined #perl6
15:13 icwiener joined #perl6
15:15 ymasory left #perl6
15:22 kostja_osipov left #perl6
15:25 tzhs left #perl6
15:36 jimmy1980 left #perl6
15:37 jimmy1980 joined #perl6
15:37 ymasory joined #perl6
15:38 chin_up left #perl6
15:44 sirrobert joined #perl6
15:53 justatheory joined #perl6
15:54 bluescreen10 left #perl6
15:56 _twitch left #perl6
16:02 stkowski joined #perl6
16:06 bluescreen10 joined #perl6
16:08 kostja_osipov joined #perl6
16:08 pyrimidine left #perl6
16:12 birdwindupbird left #perl6
16:18 _dev0_ joined #perl6
16:24 ascent_ left #perl6
16:24 [particle] left #perl6
16:24 ascent_ joined #perl6
16:28 mberends joined #perl6
16:29 * mberends must be the third person who doesn't think it's a feature. kthxbai
16:29 mberends left #perl6
16:32 [particle] joined #perl6
16:46 jfried joined #perl6
16:47 * diakopter thinks there can be ahead-of-their-time features
16:59 M_o_C joined #perl6
16:59 M_o_C left #perl6
16:59 M_o_C joined #perl6
17:00 cdarroch joined #perl6
17:00 cdarroch left #perl6
17:00 cdarroch joined #perl6
17:02 dakkar left #perl6
17:11 pmurias joined #perl6
17:11 sorear Where is the code in Rakudo that handles construction of dispatch methods?
17:12 mberends joined #perl6
17:14 sorear hello pmurias, mberends
17:14 mberends good day sorear
17:15 sorear it looks like nqp-nom doesn't even try to handle the intersection between multiple dispatch and multiple inheritance
17:19 bacek left #perl6
17:22 M_o_C left #perl6
17:31 * sorear also needs to support adding multis at runtime
17:32 moritz_ sorear: nqp-nom doesn't do multi inheritance at all, iirc
17:33 bluescreen10 left #perl6
17:37 pmurias sorear: hi
17:37 * pmurias has a really bad day, his sick and has to install/fix a php program
17:38 pmurias s/his/he is
17:39 sorear hi pmurias.
17:40 sorear I wonder how feasable it would be to have two independant classhow-y things
17:41 PerlJam sorear: design-wise, I think that's almost a requirement.
17:41 sorear P6ClassHOW needs to support multi methods, P5ClassHOW needs to support runtime changes of the inheritence graph
17:42 sorear I would also like support for efficiently sharing dispatch caches between related classes
17:42 sorear I am not yet sure if all three goals can be achieved simultaneouslty
17:45 pmurias Perl 6 doesn't allow runtime changing of the inheritence graph?
17:46 bluescreen10 joined #perl6
17:46 sorear pmurias: if it did, it would be impossible to optimize based on type information
17:47 pmurias what sort of optimalisations does type information give us?
17:47 PerlJam disallowing it doesn't seem very perlish
17:47 sorear I haven't actually gotten TimToady to say the i-word - he's allergic to it
17:47 fglock joined #perl6
17:47 tadzik information? :)
17:47 PerlJam but allowing it in the presence of a "use MONKEY_PATCHING"-like pragma sounds about right.
17:48 moritz_ pmurias: compile-time pre-sorting for multi candidates, for one
17:48 sorear pmurias: class X is Str { }; multi foo(Str $x) { }; foo(X.new);
17:48 sorear pmurias: if a later INIT block changes X's parent list, then any predestination of the foo call becomes invalid
17:49 * moritz_ thinks it would be insance to change inheritance of classes at run time
17:49 sorear Perl 5 supports it
17:50 flussence that doesn't mean it's sane :)
17:50 moritz_ adding parents to particular objects via  $thing does roles { is foo } is OK, IMHO
17:50 sorear Perl 5 also allows you to change the class of objects at runtime
17:50 sorear which is insane in Perl 6 for slightly different reason
17:50 sorear s
17:50 jevin left #perl6
17:51 jevin joined #perl6
17:52 sorear moritz_: that still breaks multi predestination
17:53 moritz_ sorear:maybe such objects need a special "dirty" flag that disables such optimizations
17:53 sorear class A {}; class B is A {}; class C is A {}; class D is C {}; multi foo(A $) {}; multi foo(B $) {}; sub bar(D $x) { foo($x) } # if D is augmented to add a B parent, the destination needs to change
17:54 masak joined #perl6
17:54 masak saluton, zebroj!
17:54 sorear MASAK!
17:56 mberends hello |\|\asak
17:56 masak \o/
17:56 pmurias sorear: is multi predestination important?
17:57 moritz_ jnthn seemed to imply it is not so, because cached type checks are cheap
17:57 mathw Hello
17:57 sorear I don't know
17:57 sorear Hi mathw.
17:58 pmurias we always have closed classes
17:58 tadzik hello masak
17:58 mathw masak: zebroj???
17:59 sorear pmurias: we aren't allowed to know if classes are closed until main program CHECK blocks finish, by which point it's too late to do anything with the information
17:59 pmurias we can recompile everything
17:59 masak mathw: 'zebroj' estas la pluralo de 'zebro', kompreneble :)
18:00 sorear oooh, has this become #perl6-eo?
18:00 masak :P
18:00 pmurias once all the crazy BEGIN stuff is done it seems the perfect time to run our hypothetical crazily powerfull optimiser and save the result to disk
18:00 fglock hi
18:01 pmurias fglock: hi
18:01 sorear hello fglock
18:01 moritz_ \o/ it's fglock
18:01 masak fglock! \o/
18:01 fglock I was wondering how to represent self-referencing structures in .perl()
18:01 bluescreen10 left #perl6
18:01 fglock hi all :)
18:01 moritz_ do { my $tmp = thing; use $thing here; }
18:02 fglock heh - yes, makes sense
18:02 sorear fglock: welcome back!
18:03 fglock hi sorear - I was taking a look at Niecza, I saw there is a lisp backend
18:04 pmurias it's in a very early stage
18:04 pmurias i could work on it some more if there is interest
18:04 sorear that's one of pmurias' projects; I need to take a better look at it at some point
18:04 sorear pmurias says it's faster than the C# backend at arithmetic, which interests me
18:05 fglock yes, the lisp backend for perlito was pretty fast
18:06 pmurias sorear: i'm not using CPS for the lisp backend
18:07 sorear pmurias: the C# backend doesn't need CPS either for basic arithmetic
18:07 sorear my $x = 0; $x++ until $x == 20_000_000; does no Perl 6 calls
18:07 masak woot
18:08 Chillance joined #perl6
18:09 sorear interesting, it looks like the cl-backend is using CL dynamic types pretty natively
18:11 pmurias sorear: cl-backend is broken atm as it has no lexicals from outer scopes support and some lexicals crept into CORE
18:15 sorear um, CORE is nothing but lexicals
18:15 pmurias use of an outer lexical when setting up the CORE
18:16 * [Coke] enjoys his webgui desk-topus.
18:17 sorear pmurias: ah... possibly the setup of the Inf and NaN constants?
18:18 pmurias my $char = ...;
18:18 pmurias implementing lexicals properly should take care of that
18:21 M_o_C joined #perl6
18:25 kjeldahl joined #perl6
18:26 wooden joined #perl6
18:26 wooden left #perl6
18:26 wooden joined #perl6
18:32 allbery_b left #perl6
18:33 allbery_b joined #perl6
18:33 allbery_b left #perl6
18:39 noganex left #perl6
18:43 noganex joined #perl6
18:46 pyrimidine joined #perl6
19:00 jaldhar left #perl6
19:00 [Coke] .u sad face
19:00 phenny [Coke]: Sorry, no results for 'sad face'.
19:00 [Coke] .u sad
19:00 phenny U+0635 ARABIC LETTER SAD (ص)
19:02 * tadzik waits for sjohnson's fat face
19:02 allbery_b joined #perl6
19:02 sjohnson ( `ー´)
19:02 tadzik :)
19:02 masak satisfaction. we has it. :)
19:02 masak sjohnson++
19:02 Mowah left #perl6
19:03 sjohnson :3
19:03 * tadzik has an alias he's afraid to fire
19:03 tadzik oh, it's just three lines, forgive me :)
19:03 tadzik ░█▀▀ ░█▀█ ░█ ░█▀▀ ░░█▀▀ ░█▀█ ░█ ░█ ░░░
19:03 tadzik ░█▀▀ ░█▀▀ ░█ ░█ ░░░░█▀▀ ░█▀█ ░█ ░█ ░░░
19:03 tadzik ░▀▀▀ ░▀ ░░░▀ ░▀▀▀ ░░▀ ░░░▀░▀ ░▀ ░▀▀▀ ░
19:03 tadzik I suppose monospace is a prerequisite
19:03 tadzik now I feel bad
19:04 benabik I'm using monospace and it doesn't line up properly for me.  Epic fail fail?
19:04 tadzik maybe a client fail
19:05 benabik Ah.  Monoco isn't as monospace as it says it is.
19:05 sbp that may be because you have no monospace fonts for all the glyphs
19:05 flussence iirc Inconsolata isn't exactly monospace either...
19:05 benabik Andale Mono appears to live up to it's name.
19:06 nymacro left #perl6
19:07 tadzik http://i.imgur.com/Tt8Zx.png
19:08 bacek joined #perl6
19:08 sjohnson tadzik: you using weechat?
19:09 Mowah joined #perl6
19:09 tadzik sjohnson: aye
19:10 sjohnson me too
19:10 sjohnson WeeChat 0.3.4 [compiled on Jan 25 2011 21:59:32]
19:11 [Coke] I assume it failed here due to some wide chars.
19:11 ymasory_ joined #perl6
19:11 tadzik wfm on feather
19:15 bluescreen10 joined #perl6
19:15 ymasory left #perl6
19:16 allbery_b Monaco is monospace but some versions of xft have issues with it.
19:17 allbery_b or something; it's monospace in some programs and slightly off in others, and sometimes updates chaneg the behavior
19:17 M_o_C left #perl6
19:18 benabik allbery_b: I think whatever version of it OS X uses doesn't have monospace glyphs for everything.
19:19 allbery_b The thing is, I copied OSX's Monaco into an Ubuntu VM.  It's not monospaced in Lucid but is in Maverick....
19:19 benabik Oh.  Well, yes, that's probably xft being a pain.
19:19 allbery_b also, on OSX itself you have to watch out for OSX's automatic glyph substitution.  If some glyph isnt in Monaco it will substitute from another font — using the other font's metrics
19:20 allbery_b (in fact, that EPIC FAIL figlet has some other mismatches that make me think that some of the block characters were lifted from a different font)
19:21 jevin left #perl6
19:22 benabik On closer examination, it looks like "▀" isn't the same width as either " " or "░"
19:22 jevin joined #perl6
19:23 allbery_b yeh, I'm thinking it came from a different font because it also has a different top from the full-height block
19:23 allbery_b that is, the tops should be even but here there's what looks like a 2px difference
19:23 benabik Same.
19:24 awoodland joined #perl6
19:24 allbery_b hm, looking even more closely I think the top-half block is correct and the full-height block is both narrower and shorter.
19:25 allbery_b probably that character is being lifted from a different font
19:30 plobsing left #perl6
19:32 bluescreen10 left #perl6
19:33 benabik left #perl6
19:47 bluescreen10 joined #perl6
19:52 * masak thinks about the next step for Yapsi
19:53 masak the ROADMAP suggests either &return or FIRST/LAST phasers.
19:53 masak both sound like fun.
19:58 ymasory_ left #perl6
19:58 bluescreen10 left #perl6
20:03 fglock left #perl6
20:07 plobsing joined #perl6
20:08 Rotwang joined #perl6
20:09 masak it's funny; since I wrote http://strangelyconsistent.org/blog/phasers-are-a-blast-first-and-last I've decided *not* to implement FIRST and LAST as sugar, but as themselves. and I can't really put the finger on why I've changed my mind.
20:09 masak maybe because implementing phasers as sugar in general only gets you so far.
20:10 moritz_ for one it makes debugging easier
20:10 moritz_ because you can signale "hey, I'm in a phaser"
20:12 Mowah left #perl6
20:13 Rotwang left #perl6
20:13 Rotwang joined #perl6
20:14 Rotwang left #perl6
20:14 masak troo
20:15 Rotwang joined #perl6
20:16 masak so my current view of phasers are something like "callbacks on a block".
20:17 masak calling into block actually causes the runtime to do 'given $block { .trigger("ENTER"); .run-actual-code-in-block; .trigger("LEAVE") }'
20:18 masak (although it's a bit more complex than that when exceptions enter the picture)
20:25 mogo_ left #perl6
20:32 [hudnix] left #perl6
20:32 hudnix joined #perl6
20:32 cognominal left #perl6
20:32 ymasory joined #perl6
20:33 pochi left #perl6
20:33 pochi joined #perl6
20:34 Trashlord left #perl6
20:40 Rotwang left #perl6
20:42 noganex left #perl6
20:42 bluescreen10 joined #perl6
20:42 bluescreen10 left #perl6
20:44 ymasory left #perl6
20:45 ymasory joined #perl6
20:46 noganex joined #perl6
20:52 rgrau joined #perl6
20:53 jfried left #perl6
20:53 cognominal joined #perl6
20:56 kjeldahl left #perl6
21:05 ymasory left #perl6
21:05 araujo joined #perl6
21:10 plainhao left #perl6
21:11 frettled_ left #perl6
21:12 Rotwang joined #perl6
21:12 Rotwang left #perl6
21:14 RichiH left #perl6
21:15 frettled joined #perl6
21:17 spq left #perl6
21:21 donaldh joined #perl6
21:23 REPLeffect joined #perl6
21:23 kaare_ left #perl6
21:31 masak S04: "All of these phaser blocks can see any previously declared lexical variables, even if those variables have not been elaborated yet when the closure is invoked (in which case the variables evaluate to an undefined value.)"
21:32 masak that's saying "static lexpad" without really saying it. :)
21:32 masak also, I'm not sure what exactly "elaborated" means here. I've never heard that word in the context of variables.
21:33 Rotwang joined #perl6
21:35 PerlJam masak: probably akin to "initialized"
21:37 dalek book: 6b4bbbe | util++ | src/classes-and-objects.pod:
21:37 dalek book: Fix class of a variable [Issue GH-52]
21:37 dalek book: review: https://github.com/perl6/book/commit/6b4bbbe0eb
21:37 alester left #perl6
21:38 justatheory left #perl6
21:38 diakopter rakudo: say (sub A($k is copy,&x1,&x2,&x3,&x4,&x5){my$B={A(--$k,$B,&x1,&x2,&x3,&x4)};$k>0??$B()!!x4()+x5()})(8,{1},{-1},{-1},{1},{0})
21:38 p6eval rakudo 405afa: OUTPUT«-10␤»
21:38 masak diakopter: is that 'man or boy'?
21:39 masak PerlJam: is there a difference between 'initialized' and 'assigned to at least once'?
21:40 PerlJam depends on how much of a pedant you are  ;)
21:40 masak I'm implementing a Perl 6 implementation :)
21:41 masak PerlJam: if the sentence is really talking about static lexpads -- and I think it is -- then 'have not been elaborated yet' probably means something like 'this would be a Null PMC access in an old enough Rakudo'.
21:41 masak :P
21:42 masak i.e. it's not the variable that hasn't been initialized so much as its containing lexpad.
21:42 * masak <-- that's how much of a pedant
21:42 PerlJam okay then I'm confused.  The lexpad has to have been "initialized" at least as much as necessary to stick a variable name in it.
21:43 masak just to make sure we're not talking past each other: are we now discussing a correct implementation, or Rakudo?
21:43 diakopter masak: yesseir
21:44 diakopter yessir
21:44 masak Yassir.
21:44 PerlJam masak: the former
21:44 masak PerlJam: then yes.
21:44 masak PerlJam: that's where static lexpads are meant to come to the rescue.
21:44 diakopter masak: challenge for you: make it work in niecza
21:45 masak PerlJam: if you somehow manage to get ahold of a variable whose scope has never been incarnated, you'll get the static version instead.
21:45 masak example: sub foo { my $a; our sub bar { say $a } }; bar
21:46 masak std: sub foo { my $a; our sub bar { say $a } }; bar
21:46 p6eval std 4608239: OUTPUT«Potential difficulties:␤  &bar is declared but not used at /tmp/1m2S180yiw line 1:␤------> [32msub foo { my $a; our sub bar[33m⏏[31m { say $a } }; bar[0m␤ok 00:01 121m␤»
21:47 masak hm. that output confuses me.
21:47 masak is it OK or isn't it?
21:47 masak oh well.
21:47 masak 'night, #perl6.
21:47 masak left #perl6
21:47 rdesfo joined #perl6
22:07 awoodland left #perl6
22:15 donaldh left #perl6
22:20 ymasory joined #perl6
22:25 kostja_osipov left #perl6
22:27 rdesfo left #perl6
22:31 Trashlord joined #perl6
22:34 rdesfo joined #perl6
22:38 icwiener_ joined #perl6
22:40 whiteknight joined #perl6
22:40 icwiener left #perl6
22:42 cosimo joined #perl6
22:45 Holy_Cow left #perl6
22:57 pmurias left #perl6
22:58 stkowski left #perl6
22:58 sorear good * #perl6
22:59 cdarroch left #perl6
23:00 sorear phenny: tell masak STD has issues with nested subs; it generates spurious warnings.  However it DID come up ok.
23:00 phenny sorear: I'll pass that on when masak is around.
23:20 Limbic_Region joined #perl6
23:27 justatheory joined #perl6
23:27 awwaiid left #perl6
23:30 rgrau left #perl6
23:32 awwaiid joined #perl6
23:43 jimmy1980 left #perl6
23:46 jimmy1980 joined #perl6
23:46 Chillance left #perl6
23:46 jimmy1980 left #perl6
23:47 jimmy1980 joined #perl6
23:47 jimmy1980 left #perl6
23:47 jimmy1980 joined #perl6
23:47 jimmy1980 left #perl6
23:48 jimmy1980 joined #perl6
23:48 jimmy1980 left #perl6
23:48 jimmy1980 joined #perl6

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

Perl 6 | Reference Documentation | Rakudo