»ö« 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 } }; bar␤ok 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