»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! Set by sorear on 4 February 2011. |
|||
00:01
cosimo joined,
st-17217 joined
00:06
plobsing joined,
silent_h_ joined
00:13
rgrau joined
00:22
silent_h_ left
00:26
Holy_Cow joined
00:27
Holy_Cow left
|
|||
sorear | good # *perl6 | 00:29 | |
oops! I forgot to post on #phasers. otoh I didn't do anything interesting. | |||
00:39
nymacro left
00:46
plobsing left
00:48
st-17217 left
|
|||
sorear | tadzik: hi, I'd like to talk about how I plan to structure POD in Niecza | 00:53 | |
pmichaud: STD's monolithicness bothers me in general (I agree with most of Alias' points) | 00:54 | ||
'$capture.list.values[0]' | 00:58 | ||
what do you think this is, COBOL? :( | |||
...what. | 01:00 | ||
Array.values is specced? Why? | |||
01:01
noganex joined
01:23
icwiener left
|
|||
sorear | pmichaud et al: Is there a list of Things TPF Wants to See from GSoc? | 01:27 | |
01:49
nymacro joined
01:51
woosley joined
01:55
whiteknight left
|
|||
[Coke] | I think you might be giving TPF more organization credit than warranted. ;) | 02:13 | |
02:22
mkramer joined
02:24
ymasory joined
02:25
am0c joined
02:41
nymacro left
|
|||
Util | sorear: | 02:46 | |
1. I suspect that Array.values is specced for the sake of completion, and for the parallel with .keys. | |||
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? | |||
For that matter, Array.keys could have been omitted, since we always have ^@array or 0..@array.end. | |||
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
03:00
mogo_ joined
03:02
ymasory left
03:03
[particle] left
03:05
justatheory joined
03:28
s1n joined,
arlinius joined
03:34
plobsing joined
03:40
ymasory joined
|
|||
sorear | [Coke]: I want useful things to do this summer... | 03:55 | |
04:00
[particle] joined
04:04
[particle]1 joined
04:06
[particle] left
|
|||
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:07 | |
sorear hates the organization of S32 | 04:08 | ||
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:11 | ||
If I spent a weekend making S32 usefully organized, would anyone mind? | 04:13 | ||
mberends | +1 | 04:15 | |
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. | |||
fortunately the Roast hierachy does not replicate the lopsidedness, a reorganization would align the specs and the tests better. | 04:17 | ||
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 | ||
04:20
[particle]1 left
|
|||
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:26 | |
04:28
[particle] joined
04:34
_dev0_ joined
04:41
am0c joined
|
|||
sorear | mberends: my excuses are @schoolwork and... the more I have to do, the less efficiently I use time :/ | 04:42 | |
mberends: most of the hard work for making MMD work is already done | 04:43 | ||
04:53
kaare_ joined
|
|||
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. www.google-melange.com/gsoc/events/...e/gsoc2011 | 04:54 | |
04:56
jevin joined
04:58
_twitch joined
04:59
MaoDa joined
05:07
donri joined
|
|||
tadzik | sorear: around? | 05:12 | |
mberends: that sounds quite sane, will think about it | 05:16 | ||
mberends | :) | ||
tadzik | my laptop fell /o\ | 05:17 | |
battery fell out but it seems to be alright | |||
mberends | were trying to look at the smileys from another angle ? ;) | ||
tadzik | ;) | ||
it has this horrible black dots all around the dipslay | 05:22 | ||
sorear | tadzik: yes | 05:24 | |
mberends: Apr08 is Real Soon Now... | |||
05:25
justatheory left
|
|||
mberends | aye, but we have enough days to make about 10% of the decisions each day... | 05:26 | |
sorear | if it were just my work, I'd happily wait, but, don't I need time for back-and-forth? | 05:27 | |
...that could be clearer | |||
mberends | commute & | 05:32 | |
tadzik | sorear: so what about niecza and pod? | 05:36 | |
sorear | tadzik: the first thing is that S29 lags current thinking | 05:38 | |
masak still hasn't gotten around to rewriting it, but on IRC we decided to replace the current #= rules with something more like haddock | |||
there will be 2 kinds of doc comments | 05:39 | ||
#| FOO connects to the next declarator, #= FOO connects to the preceding declarator | |||
the following implementation suggests itself: | |||
05:39
mberends joined
|
|||
sorear | - There are 'documentation declarand' objects with a .doc attribute (possibly a role on the existing nom/ctmo classes) | 05:40 | |
- There are two new compiler dynamics, $*NEXTDOC and $*PREVDOC, localized in comp_unit | |||
mberends | (mobile internet is my new friend :) | ||
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 | |
- $*PREVDOC points to a documentation declarand | |||
- new rule: <.document> 1. creates a documentation declarand 2. affixes $*NEXTDOC to it 3. clears $*NEXTDOC 4. sets $*PREVDOC | |||
END | 05:42 | ||
tadzik | don't you want 3 to go before 2? | 05:43 | |
sorear | no | ||
<.document> is used when parsing stuff like "sub foo" | |||
it needs to use the #| stuff, and that can't work if it's already cleared | 05:44 | ||
tadzik | oh, I read that as the seclarator block | 05:45 | |
05:45
MaoDa left,
MaoDa joined
|
|||
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:46 | |
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 | |||
tadzik | with a newline I think | 05:48 | |
05:51
MaoDa is now known as DaMao,
DaMao is now known as MaoDa
|
|||
tadzik | I think that's crytifying the language a bit, the #| and #= | 05:54 | |
OTOH, no one is forced to use more then one | 05:55 | ||
sorear | what bothers me more is the extent to which analyzing Perl 6 depends on a full STD-like parser. | 06:05 | |
06:09
cosimo left
06:10
starcoder joined,
rgrau left
|
|||
sorear out | 06:15 | ||
06:20
chin_up joined
06:24
mberends left
06:26
JimmyZ joined
06:29
mberends joined
06:37
JimmyZ left
|
|||
moritz_ | good morning | 06:41 | |
06:44
am0c left
06:46
agentzh joined
|
|||
tadzik | good morning moritz_ | 06:47 | |
06:47
am0c joined
|
|||
Alias | You have to run your pod6 documentation through a compiler? | 06:55 | |
*docs* | |||
while (1) { } | |||
er | |||
BEGIN { while(1) { } } | |||
*docs* | |||
06:56
shi joined
|
|||
Alias | MACRO(kaboom) | 06:56 | |
*docs* | |||
? | |||
(typo causing parse to fail) | |||
*docs* | |||
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 | ||
svn.ali.as/cpan/users/adamk/talks/S...%20PPI.ppt | 06:58 | ||
06:58
wtw joined
|
|||
moritz_ | congratulations to your talk then | 06:58 | |
Alias | There go, the first third or so of that would be relevant | ||
moritz_ | I would be happier it weren't so | ||
Alias | I concur | ||
moritz_ | but we didn't find alternatives that did what we wanted | ||
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 | |
Many of the rest of theoretical or avoidable | |||
07:03
bacek joined
|
|||
Alias | But the deps one causes trouble for making websites like search.cpan | 07:04 | |
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:05 | |
moritz_ | then propose one | 07:06 | |
Alias | Requiring Perl 6 isn't the problem | ||
moritz_ | there are many people that want that | ||
mberends | having studied S26 closely, I think that can be done by simply throwing out the parts that fly too high. | ||
Alias | Requiring a language to do pod parsing is just fine | ||
It's requiring compilation of the code mixed into the docs that is the problem | |||
If you can carve out the pod6 grammer such that it parses while skipping the code parts, you'll be golden | 07:07 | ||
Or otherwise null out the generation or execution of code | |||
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? | ||
oohh... interesting | |||
mberends | moritz_: I cannot say yes with absolute certainty, but that sounds like static parsing which is okay. | 07:09 | |
moritz_ | method foo(&callback = sub { arbitrary Perl 6 code here }, ...) { ... } | 07:10 | |
mberends | oh, no | ||
moritz_ | a version that worked most of the time would be fine by me too | 07:11 | |
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. | ||
I have refrained from proposing radical S26 surgery for that reason. | |||
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:13 | |
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:14 | ||
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
|
|||
moritz_ | mberends: yes | 07:15 | |
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
|
|||
moritz_ | it implements a very old S26 spec | 07:17 | |
since then many things change, the majority of which is not related to Perl 6 integration at all | 07:18 | ||
mberends | oh, I thought little had changed in the last 2 years, I must have overlooked them. | 07:19 | |
moritz_ | it's a pity that the S26 development was mostly on the mailing list, and only occasional snapshots in the repo | 07:20 | |
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 (: | ||
mberends | when nothing changes, age does not matter | 07:23 | |
07:24
nymacro joined
|
|||
moritz_ | my point is that even if it didn'T change much since 2009, it still changed a lot between 2007 and 2009 | 07:26 | |
07:27
MaoDa left
07:28
colomon joined
|
|||
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:29 | |
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:30 | ||
tadzik | moritz_: my "formal" decision was always the parser married to Rakudo | 07:31 | |
moritz_ | tadzik: ok. | ||
tadzik | bbs | ||
07:36
Mowah joined
08:12
mberends left
08:22
chin_up left
08:29
dakkar joined
08:32
ponbiki joined
08:49
snearch joined
|
|||
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:16 | |
moritz_ | that surprises me | 09:20 | |
for writing code documentation, I find it nearly perfect | |||
it's easy to do code blocks and paragraphs | 09:21 | ||
additional inline markup is usually 3 characters (B<...>, I<...> etc.) | |||
one thing I do find very verbose are lists | 09:22 | ||
=over | |||
=item | |||
=what's the end marker again? | 09:23 | ||
flussence | =back | ||
moritz_ | ah, right | 09:24 | |
09:24
am0c^ joined
|
|||
moritz_ | flussence: which parts do you find overly verbose? | 09:24 | |
09:25
am0c left
|
|||
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 | |
09:25
yves joined
|
|||
moritz_ | right | 09:26 | |
that's partially because of the boundaries between code and docs | |||
tadzik | no =over and =back in Pod 6 | ||
moritz_ | and partially because you need a newline after ^= | ||
tadzik | just =item =item =item | ||
09:31
am0c^ left
09:32
Mowah left
09:39
Mowah joined
09:41
orafu joined
09:49
woosley left
09:51
birdwindupbird joined
|
|||
birdwindupbird | How can someone participate into perl6 development? | 10:12 | |
moritz_ | that depends on their motivation and skillset | 10:13 | |
there are lots of things that need doing | |||
writing modules | |||
compielrs | |||
*compilers | |||
documentation | |||
blog posts | |||
design websites | |||
administrate servers | |||
organize conferences | |||
raise funds | |||
help other people with Perl 6 problems | 10:14 | ||
rewview code, documentation and specification for correctness | |||
etc. | |||
birdwindupbird: anything that interests you particularly? | |||
bbkr_ | or just use P6 code for everyday tasks and bughunt :) | 10:21 | |
birdwindupbird | moritz_: I am interesting in programming with p6 or for p6. May be someone can suggest particular programming task? | 10:23 | |
moritz_: Or where such tasks are listed | |||
moritz_ | birdwindupbird: for example you could add Perl 6 solutions to rosettacode.org/wiki/Welcome_to_Rosetta_Code | 10:24 | |
rosettacode.org/wiki/Reports:Tasks_..._in_Perl_6 in particular | 10:26 | ||
flussence | .oO( looking for a base85 module on cpan and seeing MIME::Base85's source - biggest wtf moment I've had this week ) |
10:28 | |
arnsholt | flussence: Whoa. That's certainly different =) | 10:48 | |
tadzik | birdwindupbird: are you a Perl 5 programmer? | 11:06 | |
birdwindupbird | tadzik: A little bit of that. | 11:07 | |
tadzik | birdwindupbird: there is a list of Most Wanted modules somewhere, you may want to start with that | 11:08 | |
perl6.org/getting-started/involved | |||
birdwindupbird | On github i saw such list. It contains just 1 entry. May be there is another? | 11:09 | |
Yeath. I saw and this link too. But may be some one can help to pick particular task. | 11:10 | ||
11:18
Mowah left
11:28
agentzh left
11:29
dakkar left
11:30
chitragupt joined,
PerlJam joined
|
|||
moritz_ | birdwindupbird: please port the ExtUtils::Command module from Perl 5 to Perl 6 | 11:32 | |
11:32
tyatpi_ joined
11:34
dakkar joined,
frettled_ joined,
ascent_ joined
|
|||
moritz_ has a very bad feeling telling a volunteer what to do, but if you ask for it... | 11:36 | ||
birdwindupbird | moritz_: Why bad feeling? Is asking for such thing seems no good? | 11:45 | |
moritz_ | birdwindupbird: it's just unusual. Many programmers do what they want, even if you tell them it's a bad idea :-) | 11:46 | |
birdwindupbird: it's a saying here that the Perl 6 project management is "herding cats" :-) | |||
11:51
tzhs joined
11:54
Psyche^ joined,
Psyche^ is now known as Patterner
|
|||
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:57 | |
moritz_ | just imagine a shepard trying to get 40 cats to stay together, and move in the same direction :-) | 11:58 | |
12:01
kostja_osipov joined
|
|||
kostja_osipov | moritz_: hi | 12:02 | |
birdwindupbird | moritz_: :-) | ||
12:02
kostja_osipov left,
kostja_osipov joined
|
|||
moritz_ | hi Kovensky | 12:03 | |
erm, kostja_osipov :-) | |||
12:03
Mowah joined
|
|||
Kovensky | hi anyway :> | 12:03 | |
kostja_osipov | moritz_: query | ||
12:21
MayDaniel joined
|
|||
moritz_ | Util: (backlog) @array.keys and ^@array only coincide for arrays that aren't shaped (see S09) | 12:24 | |
12:32
snearch left
12:33
ponbiki left
12:36
ponbiki joined
12:37
MayDaniel left
12:49
bluescreen10 joined
12:54
bluescreen10 left
13:01
tyatpi_ left
13:02
sftp joined
13:09
bluescreen10 joined
13:10
Holy_Cow joined
13:18
Axius joined,
Axius left
13:22
avarus_ joined
|
|||
avarus_ | . | 13:22 | |
hi | |||
13:22
lateau joined
|
|||
moritz_ | hello avarus_ | 13:23 | |
avarus_ | rakudo.org doesn't work for me, anyone a link to download perl6? | ||
rakudo.org returns 0 bytes and closes the connection | |||
lateau | how about github? > avarus_ | ||
moritz_ | github.com/rakudo/star/downloads/ | 13:24 | |
avarus_ | ah thanks | ||
thanks and bye :) | 13:26 | ||
13:26
avarus_ left
|
|||
[Coke] | I just pinged Andy | 13:28 | |
(via email, as he's not on chat atm) | |||
flussence | gah, not again | 13:29 | |
flussence fixes try.rakudo | |||
13:30
plobsing left
|
|||
Util | moritz_: thanks for the S09 pointer | 13:31 | |
moritz_ | I also find @a.keys to be more self-documenting | ||
13:36
lateau left,
JimmyZ joined
|
|||
Util | moritz_: Me, too (usually). ISTR some RosettaCode solutions where ^@a fit better... Maybe I should double check those :) | 13:37 | |
13:53
ronoreck joined,
benabik joined
13:55
alester joined
|
|||
[Coke] | rakudo.org restarted | 13:56 | |
14:04
shi left
14:06
ymasory left
|
|||
tadzik | hello catherders | 14:06 | |
moritz_ | hello kitty :-) | 14:07 | |
tadzik | OL :) | 14:08 | |
sorear | Alias: pod6 wants to fill the role of doxygen etc in addition to the traditional role of perldoc | ||
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 | ||
Alias | Which is fine when the language has a static grammar | 14:11 | |
PerlJam | tadzik: "catherders" is way too close to "catherter" to me :) | ||
tadzik | cathearter? :) | ||
PerlJam | er, but spelt correctly | ||
catheter | |||
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 :-) | ||
Alias | Although doxygen supports C | ||
So clearly it's not limited to decidable grammars | |||
Not completely anyway | |||
tadzik | oh I has a GSoC goal: document Rakudo using Pod6 | 14:13 | |
PerlJam | tadzik++ nice | 14:14 | |
tadzik: but that didn't seem to be in your proposal :) | |||
tadzik | I wonder where to stick it in my proposal | ||
yeah, what I said :) | |||
moritz_ | but please be more specific than "document rakudo" :-) | ||
tadzik | It can be an additional goal every week | ||
well, document the settings library | 14:15 | ||
PerlJam | tadzik: a pod5->pod6 translator would be a nice outcome if you can get it. | ||
tadzik | it would be Something, especially the generated thing | ||
PerlJam | tadzik: beware scope-creep though | ||
tadzik | PerlJam: sound like a nice Afterparty project | ||
14:15
wtw left
|
|||
moritz_ | PerlJam: that doesn't seem to fit into the proposal at all | 14:15 | |
a (subset) pod6->pod5 would fit much better | 14:16 | ||
PerlJam | moritz_: I never said it did :) | ||
PerlJam has no idea of the impedence differential between tadzik's ambition and his ability. | |||
14:17
JimmyZ left
|
|||
tadzik blushes, if understood this correctly | 14:18 | ||
moritz_ | PerlJam: did you mean "impendence" or "impedance" or so? | 14:20 | |
PerlJam | moritz_: the latter (if only my fingers obeyed my brain perfectly ...) | 14:21 | |
14:32
dakkar left,
dakkar joined
14:34
plobsing joined
14:35
chin_up joined
14:39
chin_up left
|
|||
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:43 | |
(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:44 | ||
Seeing how to do something is one thing, but implementing it (and the learning that goes with that) is obviously another. | 14:45 | ||
14:46
mkramer left
14:47
_dev0_ left
|
|||
moritz_ highlights sjn :-) | 14:48 | ||
sorear | what bothers me most about Perl 6 is probably the lack of a nice LALR(1) grammar | ||
benabik | sorear: One of the GSoC tasks I'm going to apply for is a LALR parser for Parrot. | 14:49 | |
sorear: It's not a generic Perl6 solution, but it could interface with Rakudo | |||
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) | ||
benabik | sorear: Ah, the fact that Perl6 can't be parsed LALR(1)? | ||
sorear | benabik: yes | ||
shortcircuit | moritz_: Heh. My principly-desired source of revenue for RC would be language cookbooks. :) | 14:51 | |
moritz_ | sorear: fwiw I miunderstood you too | ||
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 ;) | ||
PerlJam | sorear: I'm sure you could find one other person who doesn't think it's a feature :) | 14:52 | |
14:56
ymasory joined
14:57
spq joined
14:58
chin_up joined
15:05
plainhao joined
15:13
icwiener joined
15:15
ymasory left
15:22
kostja_osipov left
15:25
tzhs left
15:37
jimmy1980 joined,
ymasory joined
15:38
chin_up left
15:44
sirrobert joined
15:53
justatheory joined
15:54
bluescreen10 left
15:56
_twitch left
16:02
stkowski joined
16:06
bluescreen10 joined
16:08
kostja_osipov joined
16:12
birdwindupbird left
16:18
_dev0_ joined
16:24
ascent_ left,
[particle] left,
ascent_ joined
16:28
mberends joined
|
|||
mberends must be the third person who doesn't think it's a feature. kthxbai | 16:29 | ||
16:29
mberends left
16:32
[particle] joined
16:46
jfried joined
|
|||
diakopter thinks there can be ahead-of-their-time features | 16:47 | ||
16:59
M_o_C joined,
M_o_C left,
M_o_C joined
17:00
cdarroch joined,
cdarroch left,
cdarroch joined
17:02
dakkar left
17:11
pmurias joined
|
|||
sorear | Where is the code in Rakudo that handles construction of dispatch methods? | 17:11 | |
17:12
mberends joined
|
|||
sorear | hello pmurias, mberends | 17:14 | |
mberends | good day sorear | ||
sorear | it looks like nqp-nom doesn't even try to handle the intersection between multiple dispatch and multiple inheritance | 17:15 | |
17:19
bacek left
17:22
M_o_C left
|
|||
sorear also needs to support adding multis at runtime | 17:31 | ||
moritz_ | sorear: nqp-nom doesn't do multi inheritance at all, iirc | 17:32 | |
17:33
bluescreen10 left
|
|||
pmurias | sorear: hi | 17:37 | |
pmurias has a really bad day, his sick and has to install/fix a php program | |||
s/his/he is | 17:38 | ||
sorear | hi pmurias. | 17:39 | |
I wonder how feasable it would be to have two independant classhow-y things | 17:40 | ||
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 | ||
I would also like support for efficiently sharing dispatch caches between related classes | 17:42 | ||
I am not yet sure if all three goals can be achieved simultaneouslty | |||
pmurias | Perl 6 doesn't allow runtime changing of the inheritence graph? | 17:45 | |
17:46
bluescreen10 joined
|
|||
sorear | pmurias: if it did, it would be impossible to optimize based on type information | 17:46 | |
pmurias | what sort of optimalisations does type information give us? | 17:47 | |
PerlJam | disallowing it doesn't seem very perlish | ||
sorear | I haven't actually gotten TimToady to say the i-word - he's allergic to it | ||
17:47
fglock joined
|
|||
tadzik | information? :) | 17:47 | |
PerlJam | but allowing it in the presence of a "use MONKEY_PATCHING"-like pragma sounds about right. | ||
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); | ||
pmurias: if a later INIT block changes X's parent list, then any predestination of the foo call becomes invalid | |||
moritz_ thinks it would be insance to change inheritance of classes at run time | 17:49 | ||
sorear | Perl 5 supports it | ||
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 | ||
sorear | Perl 5 also allows you to change the class of objects at runtime | ||
which is insane in Perl 6 for slightly different reason | |||
s | |||
17:50
jevin left
17:51
jevin joined
|
|||
sorear | moritz_: that still breaks multi predestination | 17:52 | |
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
|
|||
masak | saluton, zebroj! | 17:54 | |
sorear | MASAK! | ||
mberends | hello |\|\asak | 17:56 | |
masak | \o/ | ||
pmurias | sorear: is multi predestination important? | ||
moritz_ | jnthn seemed to imply it is not so, because cached type checks are cheap | 17:57 | |
mathw | Hello | ||
sorear | I don't know | ||
Hi mathw. | |||
pmurias | we always have closed classes | 17:58 | |
tadzik | hello masak | ||
mathw | masak: zebroj??? | ||
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 | ||
masak | mathw: 'zebroj' estas la pluralo de 'zebro', kompreneble :) | ||
sorear | oooh, has this become #perl6-eo? | 18:00 | |
masak | :P | ||
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 | ||
fglock | hi | ||
pmurias | fglock: hi | 18:01 | |
sorear | hello fglock | ||
moritz_ | \o/ it's fglock | ||
masak | fglock! \o/ | ||
fglock | I was wondering how to represent self-referencing structures in .perl() | ||
18:01
bluescreen10 left
|
|||
fglock | hi all :) | 18:01 | |
moritz_ | do { my $tmp = thing; use $thing here; } | ||
fglock | heh - yes, makes sense | 18:02 | |
sorear | fglock: welcome back! | ||
fglock | hi sorear - I was taking a look at Niecza, I saw there is a lisp backend | 18:03 | |
pmurias | it's in a very early stage | 18:04 | |
i could work on it some more if there is interest | |||
sorear | that's one of pmurias' projects; I need to take a better look at it at some point | ||
pmurias says it's faster than the C# backend at arithmetic, which interests me | |||
fglock | yes, the lisp backend for perlito was pretty fast | 18:05 | |
pmurias | sorear: i'm not using CPS for the lisp backend | 18:06 | |
sorear | pmurias: the C# backend doesn't need CPS either for basic arithmetic | 18:07 | |
my $x = 0; $x++ until $x == 20_000_000; does no Perl 6 calls | |||
masak | woot | ||
18:08
Chillance joined
|
|||
sorear | interesting, it looks like the cl-backend is using CL dynamic types pretty natively | 18:09 | |
pmurias | sorear: cl-backend is broken atm as it has no lexicals from outer scopes support and some lexicals crept into CORE | 18:11 | |
sorear | um, CORE is nothing but lexicals | 18:15 | |
pmurias | use of an outer lexical when setting up the CORE | ||
[Coke] enjoys his webgui desk-topus. | 18:16 | ||
sorear | pmurias: ah... possibly the setup of the Inf and NaN constants? | 18:17 | |
pmurias | my $char = ...; | 18:18 | |
implementing lexicals properly should take care of that | |||
18:21
M_o_C joined
18:25
kjeldahl joined
18:26
wooden joined,
wooden left,
wooden joined
18:33
allbery_b joined,
allbery_b left
18:39
noganex left
18:43
noganex joined
18:46
pyrimidine joined
|
|||
[Coke] | .u sad face | 19:00 | |
phenny | [Coke]: Sorry, no results for 'sad face'. | ||
[Coke] | .u sad | ||
phenny | U+0635 ARABIC LETTER SAD (ص) | ||
tadzik waits for sjohnson's fat face | 19:02 | ||
19:02
allbery_b joined
|
|||
sjohnson | ( `ー´) | 19:02 | |
tadzik | :) | ||
masak | satisfaction. we has it. :) | ||
sjohnson++ | |||
19:02
Mowah left
|
|||
sjohnson | :3 | 19:03 | |
tadzik has an alias he's afraid to fire | |||
oh, it's just three lines, forgive me :) | |||
░█▀▀ ░█▀█ ░█ ░█▀▀ ░░█▀▀ ░█▀█ ░█ ░█ ░░░ | |||
░█▀▀ ░█▀▀ ░█ ░█ ░░░░█▀▀ ░█▀█ ░█ ░█ ░░░ | |||
░▀▀▀ ░▀ ░░░▀ ░▀▀▀ ░░▀ ░░░▀░▀ ░▀ ░▀▀▀ ░ | |||
I suppose monospace is a prerequisite | |||
now I feel bad | |||
benabik | I'm using monospace and it doesn't line up properly for me. Epic fail fail? | 19:04 | |
tadzik | maybe a client fail | ||
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 | ||
flussence | iirc Inconsolata isn't exactly monospace either... | ||
benabik | Andale Mono appears to live up to it's name. | ||
19:06
nymacro left
|
|||
tadzik | i.imgur.com/Tt8Zx.png | 19:07 | |
19:08
bacek joined
|
|||
sjohnson | tadzik: you using weechat? | 19:08 | |
19:09
Mowah joined
|
|||
tadzik | sjohnson: aye | 19:09 | |
sjohnson | me too | 19:10 | |
WeeChat 0.3.4 [compiled on Jan 25 2011 21:59:32] | |||
[Coke] | I assume it failed here due to some wide chars. | 19:11 | |
19:11
ymasory_ joined
|
|||
tadzik | wfm on feather | 19:11 | |
19:15
bluescreen10 joined,
ymasory left
|
|||
allbery_b | Monaco is monospace but some versions of xft have issues with it. | 19:16 | |
or something; it's monospace in some programs and slightly off in others, and sometimes updates chaneg the behavior | 19:17 | ||
19:17
M_o_C left
|
|||
benabik | allbery_b: I think whatever version of it OS X uses doesn't have monospace glyphs for everything. | 19:18 | |
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. | ||
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 | ||
(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:20 | ||
19:21
jevin left
|
|||
benabik | On closer examination, it looks like "▀" isn't the same width as either " " or "░" | 19:22 | |
19:22
jevin joined
|
|||
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 | |
that is, the tops should be even but here there's what looks like a 2px difference | |||
benabik | Same. | ||
19:24
awoodland joined
|
|||
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:24 | |
probably that character is being lifted from a different font | 19:25 | ||
19:30
plobsing left
19:32
bluescreen10 left
19:33
benabik left
19:47
bluescreen10 joined
|
|||
masak thinks about the next step for Yapsi | 19:52 | ||
the ROADMAP suggests either &return or FIRST/LAST phasers. | 19:53 | ||
both sound like fun. | |||
19:58
ymasory_ left,
bluescreen10 left
20:03
fglock left
20:07
plobsing joined
20:08
Rotwang joined
|
|||
masak | it's funny; since I wrote strangelyconsistent.org/blog/phaser...t-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 | |
maybe because implementing phasers as sugar in general only gets you so far. | |||
moritz_ | for one it makes debugging easier | 20:10 | |
because you can signale "hey, I'm in a phaser" | |||
20:12
Mowah left
20:13
Rotwang left,
Rotwang joined
20:14
Rotwang left
|
|||
masak | troo | 20:14 | |
20:15
Rotwang joined
|
|||
masak | so my current view of phasers are something like "callbacks on a block". | 20:16 | |
calling into block actually causes the runtime to do 'given $block { .trigger("ENTER"); .run-actual-code-in-block; .trigger("LEAVE") }' | 20:17 | ||
(although it's a bit more complex than that when exceptions enter the picture) | 20:18 | ||
20:25
mogo_ left
20:32
hudnix joined,
ymasory joined
20:33
pochi joined
20:40
Rotwang left
20:42
noganex left,
bluescreen10 joined,
bluescreen10 left
20:44
ymasory left
20:45
ymasory joined
20:46
noganex joined
20:52
rgrau joined
20:53
jfried left,
cognominal joined
20:56
kjeldahl left
21:05
ymasory left,
araujo joined
21:10
plainhao left
21:11
frettled_ left
21:12
Rotwang joined,
Rotwang left
21:15
frettled joined
21:17
spq left
21:21
donaldh joined
21:23
REPLeffect joined,
kaare_ left
|
|||
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:31 | |
that's saying "static lexpad" without really saying it. :) | 21:32 | ||
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
|
|||
PerlJam | masak: probably akin to "initialized" | 21:35 | |
dalek | ok: 6b4bbbe | util++ | src/classes-and-objects.pod: Fix class of a variable [Issue GH-52] |
21:37 | |
21:37
alester left
21:38
justatheory left
|
|||
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» | ||
masak | diakopter: is that 'man or boy'? | ||
PerlJam: is there a difference between 'initialized' and 'assigned to at least once'? | 21:39 | ||
PerlJam | depends on how much of a pedant you are ;) | 21:40 | |
masak | I'm implementing a Perl 6 implementation :) | ||
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 | ||
:P | |||
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 | |||
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. | ||
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 | ||
yessir | 21:44 | ||
masak | Yassir. | ||
PerlJam | masak: the former | ||
masak | PerlJam: then yes. | ||
PerlJam: that's where static lexpads are meant to come to the rescue. | |||
diakopter | masak: challenge for you: make it work in niecza | ||
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 | |
example: sub foo { my $a; our sub bar { say $a } }; bar | |||
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:------> sub foo { my $a; our sub bar⏏ { say $a } }; barok 00:01 121m» | ||
masak | hm. that output confuses me. | 21:47 | |
is it OK or isn't it? | |||
oh well. | |||
'night, #perl6. | |||
21:47
masak left,
rdesfo joined
22:07
awoodland left
22:15
donaldh left
22:20
ymasory joined
22:25
kostja_osipov left
22:27
rdesfo left
22:31
Trashlord joined
22:34
rdesfo joined
22:38
icwiener_ joined
22:40
whiteknight joined,
icwiener left
22:42
cosimo joined
22:45
Holy_Cow left
22:57
pmurias left
22:58
stkowski left
|
|||
sorear | good * #perl6 | 22:58 | |
22:59
cdarroch left
|
|||
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
23:27
justatheory joined
23:30
rgrau left
23:32
awwaiid joined
23:43
jimmy1980 left
23:46
jimmy1980 joined,
Chillance left,
jimmy1980 left
23:47
jimmy1980 joined,
jimmy1980 left,
jimmy1980 joined,
jimmy1980 left
23:48
jimmy1980 joined,
jimmy1980 left,
jimmy1980 joined
|