Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2011-06-02

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:00 _jaldhar joined #perl6
00:00 _jaldhar left #perl6
00:10 cotto_work How much of spectest_regression should be expected to pass on master?
00:13 thou left #perl6
00:15 daemon left #perl6
00:18 colomon left #perl6
00:27 mkramer joined #perl6
00:30 spq1 joined #perl6
00:30 spq left #perl6
00:30 mkramer1 left #perl6
00:31 _jaldhar joined #perl6
00:31 _jaldhar left #perl6
00:31 huf left #perl6
00:31 bbkr_ left #perl6
00:31 bbkr_ joined #perl6
00:32 huf joined #perl6
00:35 ruoso joined #perl6
00:35 _jaldhar joined #perl6
00:35 _jaldhar left #perl6
00:36 dalek niecza: 7655770 | sorear++ | lib/ (5 files):
00:36 dalek niecza: Call frames track the sub used to enter them
00:36 dalek niecza: review: https://github.com/sorear/niecza/commit/76557700c5
00:36 dalek niecza: 87a0e66 | sorear++ | src/niecza:
00:36 dalek niecza: Implement &?BLOCK, &?ROUTINE, $?LINE, $?POSITION
00:36 dalek niecza: review: https://github.com/sorear/niecza/commit/87a0e66570
00:43 colomon joined #perl6
00:44 colomon sorear: just realized you added Numeric and Real since the last time I looked at the source.  :)
00:55 dalek niecza: 73294a2 | sorear++ | / (2 files):
00:55 dalek niecza: Allow direct use of $?FILE
00:55 dalek niecza: review: https://github.com/sorear/niecza/commit/73294a2ce9
00:58 _jaldhar joined #perl6
00:58 _jaldhar left #perl6
01:01 noganex_ joined #perl6
01:03 _jaldhar joined #perl6
01:03 _jaldhar left #perl6
01:04 daemon joined #perl6
01:04 noganex left #perl6
01:08 _jaldhar joined #perl6
01:08 _jaldhar left #perl6
01:09 yinyin joined #perl6
01:17 colomon sorear++ # FatRat constructor
01:18 _jaldhar joined #perl6
01:18 _jaldhar left #perl6
01:21 daemon left #perl6
01:24 Chillance left #perl6
01:24 _jaldhar joined #perl6
01:25 _jaldhar left #perl6
01:25 _jaldhar joined #perl6
01:26 _jaldhar left #perl6
01:33 _jaldhar joined #perl6
01:33 _jaldhar left #perl6
01:34 colomon hmmm.... how to get around the absence of lazy lists?
01:35 sorear what.
01:36 colomon are they actually there?
01:36 sorear they used to be.  broken?
01:37 colomon nah, I probably tested for them in a stupid fashion.  let me see if I can whip up something quickly.
01:37 sorear did it involve map or grep?
01:37 colomon might have
01:37 _jaldhar joined #perl6
01:37 _jaldhar left #perl6
01:38 colomon ah, yup, a simple gather / take test works fine
01:39 silent_h_ joined #perl6
01:39 sorear niecza: .say for (map * ^ 2, 0..*)[^10]
01:39 p6eval niecza v6-29-g73294a2: OUTPUT«Unhandled exception: Junctions NYI␤  at /home/p6eval/niecza/lib/CORE.setting line 507 (CORE die @ 2) ␤  at /home/p6eval/niecza/lib/CORE.setting line 1374 (CORE infix:<^> @ 2) ␤  at /tmp/tZFUuzy9lf line 1 (MAIN C1_ANON @ 1) ␤  at  line 0 (KERNEL map @ 2) ␤  at
01:39 p6eval ../home/p6eval/niecza/li…
01:39 sorear niecza: .say for (map * ** 2, 0..*)[^10]
01:39 p6eval niecza v6-29-g73294a2: OUTPUT«0␤1␤4␤9␤16␤25␤36␤49␤64␤81␤»
01:40 sorear but.
01:40 colomon beauty, eh?
01:40 sorear niecza: (map &say, 0..*)[^10]
01:40 sorear hmm
01:40 p6eval niecza v6-29-g73294a2: OUTPUT«(timeout)»
01:40 sorear odd
01:41 colomon maybe that was what I saw, something involving infinite ranges.
01:44 sorear actually that was a bad test
01:44 sorear &say has infinite .count because it's slurpy
01:44 sorear niecza: (map *.&say, 0..*)[^10]
01:44 p6eval niecza v6-29-g73294a2: OUTPUT«0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤»
01:44 sorear niecza: (map *.&say, 0..30)[^10]
01:44 p6eval niecza v6-29-g73294a2: OUTPUT«0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤»
01:45 sorear niecza: my @arr = 0..30; (map *.&say, @arr)[^10]
01:45 p6eval niecza v6-29-g73294a2: OUTPUT«0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤11␤12␤13␤14␤15␤1​6␤17␤18␤19␤20␤21␤22␤23␤24␤25␤26␤27␤28␤29␤30␤»
01:45 sorear niecza's map-like functions will process a list eagerly if it contains no iterators
01:46 colomon ah, drat, no sub-signatures?
01:48 ymasory left #perl6
01:48 ymasory joined #perl6
01:50 woosley joined #perl6
01:51 ymasory left #perl6
01:51 sorear colomon: what are sub-signatures good for and how do they work?
01:51 * sorear doesn't understand them
01:52 colomon I don't understand them fully, but at TimToady's suggestion I was using them for Haskellian pattern-matching.
01:52 colomon give me a moment...
01:53 colomon sorear: end of this blog post: http://justrakudoit.wordpre​ss.com/2011/04/26/more-pi/
01:54 colomon it's not a show-stopper, I've just reverted to the earlier version
01:54 envi_laptop joined #perl6
01:54 ymasory joined #perl6
01:54 ymasory left #perl6
01:54 colomon (The endless pi project halted because I needed FatRat to make it work.  Now I'm seeing if I can get it going again.)
02:02 silug left #perl6
02:02 silug joined #perl6
02:03 colomon hmmm... need floor
02:03 colomon I think I can probably figure out how to do that...
02:04 daemon joined #perl6
02:04 colomon oh, can just write it as a normal sub, I think.
02:04 LordBrain joined #perl6
02:05 silent_h_ left #perl6
02:05 _jaldhar joined #perl6
02:05 _jaldhar left #perl6
02:07 colomon niecza: say 10 div 2
02:07 p6eval niecza v6-29-g73294a2: OUTPUT«5␤»
02:08 LordBrain hmm my xchat font doesnt know that character
02:09 colomon after the 5?  that's a unicode newline symbol
02:09 LordBrain 2424
02:09 LordBrain yeah
02:09 colomon sorear: bless doesn't work?
02:10 LordBrain well, say i want to actually code in perl6 right now,  which implementation should i use?
02:10 _jaldhar joined #perl6
02:10 _jaldhar left #perl6
02:10 colomon LordBrain: Rakudo is by far the most complete.
02:10 LordBrain ok, that's the one i downloaded
02:11 colomon LordBrain: Niecza is coming along nicely (I'm experimenting with it at the moment) and for what it can do, is typically faster.  sometimes a lot faster.
02:12 colomon niecza: class A { has $.a; }; say A.new(a => 10).perl
02:12 p6eval niecza v6-29-g73294a2: OUTPUT«A.new(...)␤»
02:13 colomon niecza: class A { has $.a; }; say A.new(a => 10).a
02:13 p6eval niecza v6-29-g73294a2: OUTPUT«10␤»
02:14 colomon niecza: class A { has $.a; method new($a) { self.bless(*, :$a); }; }; say A.new(10).a
02:14 p6eval niecza v6-29-g73294a2: OUTPUT«Unhandled exception: Unable to resolve method bless in class A␤  at /tmp/ZpbY4lOsGO line 1 (MAIN A.new @ 3) ␤  at /tmp/ZpbY4lOsGO line 1 (MAIN mainline @ 2) ␤  at /home/p6eval/niecza/lib/CORE.setting line 1513 (CORE C683_ANON @ 2) ␤  at
02:14 p6eval ../home/p6eval/niecza/lib/CORE.setting line 151…
02:14 LordBrain since perl6 has a compatibility mode, i guess any implementation basically has to include perl5 as part of it...
02:20 colomon LordBrain: as far as know, no current perl6 actually has the perl5 compatibility mode
02:20 LordBrain ah
02:20 LordBrain that's an interesting fact
02:20 colomon I missed an "I" in there, but you figured it out, I'm sure.
02:22 LordBrain one could implement it using the actual perl5 implementation i suppose... make it a dependency heh..
02:22 colomon I don't think anyone's figured out a way to do it other than include an entire perl5 executable in with perl 6... yeah, that.
02:24 LordBrain perhaps in practice it wont ever really be implemented
02:25 LordBrain strictly speaking... probably backward compatibility doesn't necessarily mean being able to run any perl5 program without modification...
02:26 LordBrain perhaps a good approach is to build a translator to translate perl5 to perl6, and then use it on the fly
02:27 LordBrain in practice, probably people will prefer to keep perl5 around ... i dont know..
02:27 Eevee left #perl6
02:29 colomon I think it's quite likely perl5 has at least another decade in it, regardless of what perl6 does.
02:31 LordBrain perl6 sounds awesome tho.  I love haskell, and whenever i hear of new languages being hyped, I always look for good lazy list support from the ground up...
02:31 LordBrain and almost none have it
02:33 LordBrain that seems like a feature to have in mind while building a language implementation, so that it can be really efficiently optimized and such.  Most languages seem to have it as an after thought and then not well optimized.
02:33 Eevee joined #perl6
02:33 LordBrain not that i am super knowledgeable on this, but that is my impression.
02:36 colomon sorear: endless pi program seems to be functional in niecza!
02:36 colomon sorear: I'll try to blog about it tomorrow.
02:36 silug left #perl6
02:40 DarthGandalf left #perl6
02:44 DarthGandalf joined #perl6
02:49 [particle] left #perl6
02:50 [particle] joined #perl6
02:55 colomon LordBrain: I think we're still trying to figure out the best ways to optimize lazy lists in p6.  But they're definitely an important part of the overall scheme of things.
02:55 colomon Actually, the program I've been working on tonight is a port of a Haskell script that relies on them.  :)
02:57 sorear "LordBrain" sounds familiar
02:59 LordBrain so does "sorear"
02:59 LordBrain but that could be power of suggestion at work
02:59 sorear 2007, #haskell
02:59 LordBrain yes likely
03:00 LordBrain i didn't realize i made such an impression
03:00 colomon sorear: can generate 100 digits of pi in 5.821 seconds using regular mono and a not terribly efficient pi-generating script.  :)
03:00 colomon afk # bed
03:00 sorear LordBrain: my memory is _weird_
03:01 sorear I got the dates and places from log grepping
03:01 LordBrain probably all memories are unique
03:01 TimToady my memories are lazy...
03:01 LordBrain oh that's cheating then
03:01 LordBrain lol
03:02 LordBrain i love haskell, but i havent done much noteworthy with it.. I contributed to yi.. that's about it.
03:03 LordBrain and that was years ago
03:06 sorear I contributed to yi years ago too
03:07 DarthGandalf left #perl6
03:08 sorear TimToady: hi
03:08 sorear TimToady: do you have any comment on the Sts() thing?  I wonder if I should start filing bugs against "specs" for things I want clarified
03:09 TimToady well, you can, or you can just fix the specs, forgiveness and all that...  :)
03:09 sorear heh.
03:10 TimToady I'll continue to be rather busy, currently help tchrist with a redo of the Camel...
03:10 sorear that tends to work best if the problem is obvious
03:10 TimToady *helping
03:10 sorear wasn't there some handwave about Sxx being the new Camel?
03:11 TimToady this is for 5.14
03:11 TimToady and whatever TheDamian and I do for p6 is likely not to have a Camel on it
03:12 TimToady maybe a Sopwith Camel...
03:12 TimToady which is kinda like a butterfly...
03:15 _jaldhar joined #perl6
03:15 _jaldhar left #perl6
03:16 alester joined #perl6
03:17 pmichaud sorear: I've been thinking that we could either file issues against specs in github, or use rt, or send messages to p6c, or ....
03:18 nymacro joined #perl6
03:19 DarthGandalf joined #perl6
03:21 tokuhirom left #perl6
03:21 tokuhirom joined #perl6
03:23 pmichaud (same for any issues with roast -- we could file github issues, messages to p6c, rt tickets, etc.  Whatever works best.)
03:24 Su-Shee_ joined #perl6
03:24 _jaldhar joined #perl6
03:24 _jaldhar left #perl6
03:24 Su-Shee left #perl6
03:25 sorear pmichaud: ok
03:25 pmichaud and $forgiveness > $permission always holds here, as well.  :)
03:25 tokuhirom left #perl6
03:25 _jaldhar joined #perl6
03:25 _jaldhar left #perl6
03:26 pmichaud anyway, anywhere you choose to discuss/file tickets, I'll hang out and contribute my thoughts as appropriate
03:26 tokuhirom joined #perl6
03:28 LordBrain what are the spectests? are those provided as part of the specification?
03:28 pmichaud TimToady: if you get a chance to comment on http://irclog.perlgeek.de/​perl6/2011-05-29#i_3820864  that would be very welcome.
03:29 pmichaud LordBrain: they're the official encoding of the specification
03:30 pmichaud See the second paragraph of "Project Plan" in Synopsis 1.
03:30 pmichaud "This document does not attempt to summarize all these subprojects--see http://perl6.org for such information. What we can say here is that, unlike how it was with Perl 5, none of these projects is designed to be the Official Perl. Perl 6 is anything that passes the official test suite. ...
03:31 tokuhirom left #perl6
03:31 LordBrain cool
03:31 LordBrain i'm actually running the test suite... it's forever
03:31 tokuhirom joined #perl6
03:32 pmichaud yes, it can take a long time depending on your machine's capabilities.
03:32 pmichaud on the machine I had a couple of months ago, it would regularly take around 30 mins.
03:32 pmichaud (my new machine does it in less than 4.5 minutes)
03:37 TimToady I don't think we can use a Whatever value as a sentinal/marker; the * is recognized at compile time and is translated into some attribute
03:38 TimToady so 1,2,3,* doesn't have a literal Whatever at the end
03:39 TimToady as for the 'last if' case inside ...*, I think that's just bogusly marked as infinite
03:40 mtk left #perl6
03:40 TimToady pmichaud: ^^^
03:45 pmichaud TimToady: loking
03:45 pmichaud *looking
03:46 pmichaud S02 has:      1,*         # means 1,*  :)
03:47 pmichaud would that get recognized at compile time to mean something else?
03:47 TimToady that'd really be 1 xx * I think
03:47 sorear wait, wait, what?
03:47 pmichaud S02 has:
03:47 pmichaud 'a' xx *    # means 'a' xx Inf
03:47 pmichaud 1,*         # means 1,*  :)
03:48 pmichaud which seems to imply they're different.
03:49 mtk joined #perl6
03:49 TimToady but there's also S03:4310
03:49 sorear rakudo: say 1 === 1e0
03:49 pmichaud right
03:50 p6eval rakudo 048573: OUTPUT«Bool::False␤»
03:50 pmichaud that's true for dwimmy hyperoperators -- is it true for all cases of ,* ?
03:50 TimToady which I take to mean that if an infinite list runs out of values, it replciates
03:50 sorear this seems to contradict S03:3298
03:50 pmichaud finite list.
03:50 pmichaud infinite lists presumably don't run out of values :-)
03:51 pmichaud sorear: S03:3298?
03:51 pmichaud (in my S03, S03:3298 is talking about eq and ==
03:51 TimToady I think the S02 thing was intended to indicate the , doesn't treat * as a curry-the-other-args
03:52 pmichaud but is it no longer a parcel with two items?
03:52 TimToady you can always pass ,Whatever to get that
03:53 pmichaud we're saying that   ,* is a flag meaning "this parcel is conceptually infinite"
03:53 TimToady so we could say that any syntactic list ending with ,* is intended to replicate the final arg
03:53 pmichaud but not actually an element in the parcel
03:53 TimToady that's how I'm leaning
03:53 pmichaud I'm not sure I like the "any syntactic list" part
03:53 pmichaud @abc[1,2,3,5,*]
03:53 pmichaud I don't think we really mean "repeat the last subscript" here.
03:54 TimToady what does it mean?
03:54 pmichaud I'd prefer it to mean "autotrim at the first non-existent element"
03:54 pmichaud e.g., if I have    @a[foo(),*]
03:54 pmichaud then I can slice @a and autotrim at the first element of foo() that goes beyond the end of the array
03:54 pmichaud that seems more consistent and useful than "repeat the last element infinitely", at least in this case
03:55 pmichaud I agree that repeat the last element makes more sense in the hyperoperator case
03:55 pmichaud similarly, if I'm creating an infinite sequence, the ",*" is meaning "make the sequence look infinite" and not "repeat the last element forever"
03:55 TimToady well, maybe ,* is only a "mark infinite" flag, and we need something else to replicate the final element
03:55 pmichaud that's my preference at this point.
03:56 TimToady not sure ** is available though
03:56 pmichaud it certainly feels like we want some sort of orthogonal capability there.
03:56 pmichaud maybe some variation of xx ?
03:56 TimToady some variant of ... more likely
03:57 hudnix left #perl6
03:57 TimToady 1,2,3,4,5, {$_} ... *
03:57 pmichaud yeah, that works
03:57 pmichaud as does   @foo(), {$_} ... *
03:57 pmichaud sorry, @foo
03:57 pmichaud or foo()
03:58 TimToady given how of this isn't wanted, that might be huffmanly short enough
03:58 TimToady the default hyperdwim of repeating the whole thing is more likely what people want
03:58 pmichaud so, to recap:  ,* marks a parcel as having "infinite" or "whateverish" ness
03:58 TimToady or they want an explicit 42 xx *
03:59 TimToady in addition to xx*, ...*
03:59 pmichaud for the hyperdwim it might be possible that an infinite parcel on the right means repeat the last element
03:59 pmichaud so then   @array, *   still has the repeat-the-last-element meaning in that case
04:00 TimToady seems a bit special-casey
04:00 pmichaud agreed
04:00 pmichaud and not really consistent with "whatever" anyway.
04:01 TimToady having just read through all the perldeltas of recent years, I'm rather oversensitive to special cases at the moment...
04:01 pmichaud perhaps could be a method on lists, though
04:01 pmichaud @array.repeatlast
04:01 pmichaud (huffmanize as appropriate)
04:01 TimToady sure
04:02 pmichaud okay, this works for me, I think.
04:02 _jaldhar joined #perl6
04:02 TimToady possibly a final () could force finite
04:02 _jaldhar left #perl6
04:02 TimToady foo() ... *, ();
04:02 pmichaud we should have autotrim behavior in rakudo subscripts shortly.
04:03 TimToady \ö/
04:03 pmichaud I had pretty much everything else working except for those final *'s appearing
04:04 pmichaud another question, how smart should ... be?
04:04 pmichaud i.e., given
04:04 pmichaud 1,3,5 ... $a
04:05 pmichaud ... *could* be smart enough to figure out that since this is an arithmetic sequence, that it will terminate if $a is odd and therefore be treated as finite
04:05 TimToady I think it should be treated as finite in any case, since that's not a *
04:05 TimToady (syntactically)
04:06 pmichaud okay
04:06 pmichaud wfm
04:06 pmichaud I have three levels of "finitness" defined atm -- "known infinite", "known finite", and "Mu"
04:06 _jaldhar joined #perl6
04:06 _jaldhar left #perl6
04:07 TimToady we're not going to get all the corner cases anyway, so something simple but overridable is the ticket, I think
04:07 pmichaud works for me
04:07 TimToady I will, of course, change my mind again later... :P
04:07 pmichaud in the above case...   it's treated as "not known infinite"   (which isn't necessarily the same as "known finite")
04:08 pmichaud now that ,* is resolved we'll be able to try out some examples in code and see what happens.
04:09 TimToady maybe we can just say a not-known list is free to calculate the first <mumble> elements and then go all lazy
04:09 pmichaud (well, ,* is provisionally resolved until I find something else that doesn't work with it :-)
04:09 pmichaud I think we say something like that already.
04:09 TimToady I also note that ,* means something else in an lvalue
04:10 pmichaud yes, it does
04:10 pmichaud that's no problem either -- it actually fits more consistently with the meaning of ,* in the rvalue sense
04:10 pmichaud i.e., it means "ignore leftover elements"  iirc
04:10 sorear pmichaud: once you finish figuring out what this ,* stuff is all about I'd like the condensed version :)
04:10 sorear ITYM lvalue
04:10 TimToady and, in fact, any lazy lists is free to batch up values, at least until it runs into some kind of recursive dependency
04:11 pmichaud sorear: sure thing, no problem.  it'll actually be pretty obvious from the code
04:11 satyavvd joined #perl6
04:11 _jaldhar joined #perl6
04:11 _jaldhar left #perl6
04:13 pmichaud as a temporary cheat I may go ahead and have rakudo parcels store the final * to indicate "infinite".
04:13 pmichaud In the nom branch we're re-working Parcels anyway, so it won't be necessary.
04:13 pmichaud (When a Parcel stores the final *, it won't produce it in a Capture/List, which is the cheat part of this)
04:14 pmichaud but, ultimately it will be syntactic
04:14 pmichaud TimToady++  # thanks for fast reponses on this one
04:16 kst left #perl6
04:17 kst joined #perl6
04:19 tokuhirom left #perl6
04:19 tokuhirom joined #perl6
04:22 envi_laptop left #perl6
04:35 alester left #perl6
04:45 sorear huh.  I never noticed the bit about Einstein index sum notation in S09 before
04:49 sorear rakudo: Junction.^methods(:local).Str.say
04:49 p6eval rakudo 048573: OUTPUT«new item perl Bool ACCEPTS eigenstates  Str postcircumfix:<( )>␤»
04:50 sorear rakudo: Junction.^parents.Str.say
04:50 p6eval rakudo 048573: OUTPUT«Mu()␤»
04:50 ymasory joined #perl6
04:54 silug joined #perl6
04:55 ymasory left #perl6
04:57 birdwindupbird joined #perl6
05:12 szabgab hi
05:12 szabgab anyone might know why moritz did not upload the new .exe of Rakudo?
05:14 szabgab the one I built earlier was missing a file
05:16 wamba joined #perl6
05:18 LordBrain left #perl6
05:19 sorear szabgab: moritz tried, but github wasn't working that day and didn't take the upload
05:20 sorear szabgab: all part of my evil scheme to take over the world, of coutse
05:23 kaare__ joined #perl6
05:24 silug left #perl6
05:32 LordBrain joined #perl6
05:37 szabgab sorear: then maybe you could do it?
05:37 szabgab right now if someone downloads the .exe and does not have Strawberry installed will get a missing .dll error
05:38 sorear I haven't built Rakudo in almost a year
05:42 dalek niecza: 63d2925 | sorear++ | src/ (2 files):
05:42 dalek niecza: inlined blocks should handle leave
05:42 dalek niecza: review: https://github.com/sorear/niecza/commit/63d2925cad
05:42 dalek niecza: fede716 | sorear++ | / (3 files):
05:42 dalek niecza: Add Junction type, constructors, .perl
05:42 dalek niecza: review: https://github.com/sorear/niecza/commit/fede716544
05:42 * sorear tries sleep
05:43 mberends joined #perl6
05:45 mberends \o/ I haz a round tuit for making tests for zavolaj
06:07 kst left #perl6
06:07 kst joined #perl6
06:09 koban` joined #perl6
06:13 mberends oops, two of the 16 new zavolaj tests pass on i386 and fail on amd64 (linux)
06:13 tadzik mberends: good morning!
06:14 mberends hi tadzik!  I hope you are preparing for your exams!
06:16 mberends heh, the 2 test failures were the 'bomblets' that unenexpectedly
06:16 tadzik yeah, the little exams so far. Once every day, except for friday, when I get two :)
06:17 mberends unexpectedly passed on i386
06:17 tadzik and a Java project little deadline
06:17 mberends ah, Java. Hmm, time for a cuppa coffee :)
06:17 kaare__ left #perl6
06:18 tadzik yeah, my BattleShip game is almost ready :)
06:18 mberends :)
06:21 sorear hello mberends
06:22 mberends hi sorear.  I managed to write a bigint +, - and *, but / is still eluding me :)
06:23 mberends I looked at the subquadratic algorithms and decided noooooo...
06:26 mberends ok, zavolaj test passes raised from 1 to 17 on Linux i386 and amd64 :)
06:29 mberends but Zavolaj (or Parrot) also fails 9 other tests mainly due to not properly handling certain data types as parameters or return values. C double is ok, C float is not. :(
06:31 tadzik is Num double or float or what?
06:32 mberends double, but there does not seem to be any coercion to/from double in Parrot.
06:34 daniel-s joined #perl6
06:34 mberends ah, I have just thought of a test for that theory: the C ilogbf(float) function
06:36 daniel-s left #perl6
06:36 * tadzik travels to the Uni
06:41 mberends Parrot++, another Zavolaj test passes. C float parameters go in ok, only the return values are scrambled (eg got: '-0' expected: 42)
06:47 mberends nah, float fail after all: is ilogbf(7.9),2; got: '-76', expected: '2' :(
06:53 jfried joined #perl6
06:57 amkrankruleuen left #perl6
07:02 amkrankruleuen joined #perl6
07:03 pamera joined #perl6
07:08 amkrankruleuen left #perl6
07:12 bpalmer joined #perl6
07:13 woosley left #perl6
07:14 amkrankruleuen joined #perl6
07:27 mj41 joined #perl6
07:30 envi_laptop joined #perl6
07:37 silug joined #perl6
07:38 wamba left #perl6
07:39 Tedd1 joined #perl6
07:39 tadam joined #perl6
07:48 molaf joined #perl6
07:50 tadam left #perl6
07:51 tadam joined #perl6
08:06 tewk left #perl6
08:06 tewk joined #perl6
08:09 BaggioKwok joined #perl6
08:10 BaggioKwok left #perl6
08:12 hanekomu joined #perl6
08:18 Su-Shee_ is now known as Su-Shee
08:20 Axius joined #perl6
08:21 dakkar joined #perl6
08:22 Axius left #perl6
08:26 jfried left #perl6
08:28 dalek niecza: 69b8427 | sorear++ | / (3 files):
08:28 dalek niecza: Implement autothreading of +
08:28 dalek niecza: review: https://github.com/sorear/niecza/commit/69b8427eb3
08:29 Mowah joined #perl6
08:33 yegor joined #perl6
08:34 dalek niecza: ba7c5c3 | sorear++ | / (2 files):
08:34 dalek niecza: Fix .perl of nested junctions
08:34 dalek niecza: review: https://github.com/sorear/niecza/commit/ba7c5c36bd
08:35 donri joined #perl6
08:36 sorear wow, (0|1)+1 is only 12 times slower than 1+1
08:38 mathw what about (0|1|2)+1?
08:38 sorear I'll get back to you on that
08:39 sorear I just deleted all my compiled libraries to test a change to recursive compilation ;)
08:42 dalek niecza: bcadf31 | sorear++ | src/NieczaCompiler.pm6:
08:42 dalek niecza: Dis-count recursive compilation time towards parse time
08:42 dalek niecza: review: https://github.com/sorear/niecza/commit/bcadf31185
08:43 yegor left #perl6
08:45 sorear this time, 1+1 is .419 us, (0|1)+1 is 4.50us, (0|1|2)+1 is 5.18us
08:45 sorear mathw:
08:47 mberends sorear: may we assume you are running all those threads sequentially in 1 CPU core?
08:48 sorear mberends: very funny
08:49 mathw nice
08:50 LordBrain left #perl6
09:09 envi_laptop left #perl6
09:09 agentzh joined #perl6
09:21 woosley joined #perl6
09:24 Trashlord joined #perl6
09:24 bpalmer left #perl6
09:32 dalek niecza: 26af360 | sorear++ | / (2 files):
09:32 dalek niecza: Make the rest of the inlined math ops autothread
09:32 dalek niecza: review: https://github.com/sorear/niecza/commit/26af36040a
09:32 dalek niecza: a1db38b | sorear++ | lib/Builtins.cs:
09:32 dalek niecza: All inline-call builtins now junction-aware
09:32 dalek niecza: review: https://github.com/sorear/niecza/commit/a1db38bafd
09:32 sorear I am starting to think I should be generating code for the binder subs on these
09:38 amkrankruleuen left #perl6
09:39 amkrankruleuen joined #perl6
09:43 tadam left #perl6
09:45 wamba joined #perl6
09:46 yinyin left #perl6
09:49 Mowah_ joined #perl6
09:51 woosley left #perl6
09:53 yinyin joined #perl6
10:02 wamba left #perl6
10:04 jnthn o/
10:04 silug left #perl6
10:04 moritz \o
10:05 silug joined #perl6
10:06 wamba joined #perl6
10:07 szabgab moritz: hi
10:08 szabgab I see the exe has not been uploaded to github
10:08 _jaldhar joined #perl6
10:08 _jaldhar left #perl6
10:10 moritz hugme: add szabgab to star
10:10 * hugme hugs szabgab. Welcome to star!
10:11 moritz szabgab: sorry, interenet connection was unreliable last night
10:22 MayDaniel joined #perl6
10:35 szabgab moritz: no problem and thanks for the hug
10:35 szabgab I'll try to push it now
10:36 bacek joined #perl6
10:38 szabgab oh it is not in the repository so I don't use 'git' to push it
10:38 dalek rakudo/nom: e99be78 | jnthn++ | src/ops/perl6.ops:
10:38 dalek rakudo/nom: Add a missing #include...not sure how we got away with that.
10:38 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e99be78530
10:38 szabgab is there a command line tool to upload files to the 'download' directory or only the browser based?
10:39 flussence github has a "hub" wrapper around git, that might do it
10:42 mberends I thought the git: prefix meant using ssh at a lower level, so scp might work
10:42 mberends or sftp
10:43 flussence I'm pretty sure github uses a locked down ssh that runs git-shell on the other end, but you could try...
10:45 szabgab moritz: file uploaded with new name
10:45 szabgab shall I delete the old one ?
10:45 silug left #perl6
10:45 szabgab the one that is missing a file
10:46 silug joined #perl6
10:48 MayDaniel left #perl6
10:56 moritz yes
10:59 masak joined #perl6
10:59 masak greetings, zebras.
11:02 mberends o/ masak
11:04 jnthn masak! \o/
11:04 silug left #perl6
11:06 silug joined #perl6
11:07 amkrankruleuen left #perl6
11:07 masak mberends! jnthn! \o/
11:08 amkrankruleuen joined #perl6
11:08 masak I really like the lazy attributes of Moose. do we have something similar in Perl 6?
11:10 masak more specifically, if I want to say "don't initialize this attribute until it's acceessed for the first time; and when it is, initialize it by calling this submethod and sticking the result in the attribute", which can still be readonly and it still works. \o/
11:10 f00li5h left #perl6
11:13 flussence you mean something like (hypothetical) "has $.dbh is lazy({ ... })"? :)
11:13 mberends masak: sounds like a write-once cache.  It may look syntactically different, but how about implementing it as a method with a state variable inside?
11:15 masak mberends: that's not a bad idea; thanks!
11:15 masak as far as I can see, that'd be equivalent.
11:16 masak method my_lazy_attr { state $ = self._init_my_lazy_attr() }
11:17 masak std: sub foo {}; state $ = foo();
11:17 p6eval std 4b1b100: OUTPUT«ok 00:01 115m␤»
11:17 mberends perhaps //= instead of = for once-only assignment
11:18 masak ah; troo.
11:18 masak method my_lazy_attr { state $ //= self._init_my_lazy_attr() }
11:19 flussence .oO(that looks much nicer than when I tried doing it in php a long time ago...)
11:20 masak mberends: waitwait, doesn't the initialization of 'state' vars happen at START time, that is "at first ever execution", so that it doesn't really matter whether we do = or //= ?
11:21 flussence rakudo: sub x { state $ = warn 'hi!'; }; x; x;
11:21 p6eval rakudo 048573: OUTPUT«===SORRY!===␤"state" not yet implemented at line 22, near "= warn 'hi"␤»
11:21 flussence :/
11:21 flussence niecza: sub x { state $ = warn 'hi!'; }; x; x; # c'mon...
11:21 p6eval niecza v6-36-ga1db38b: OUTPUT«[31m===[0mSORRY![31m===[0m␤␤Non-simple variables NYI at /tmp/PLokQUXtVs line 1:␤------> [32msub x { state $[33m⏏[31m = warn 'hi!'; }; x; x; # c'mon...[0m␤␤Unhandled exception: Check failed␤␤  at /home/p6eval/niecza/boot/lib/CORE.setting line 469 (CORE die @ 2)
11:21 p6eval ..␤  at /home/p…
11:21 szabgab moritz: I have a readme file and a configuration file for the Windows exe builiding of R*  should I just create a directory called win32 in the root directory of star? and put the files there?
11:21 flussence :(
11:21 flussence niecza: sub x { state $bloop = warn 'hi!'; }; x; x; # c'mon...
11:21 p6eval niecza v6-36-ga1db38b: OUTPUT«hi!␤»
11:22 flussence there's your answer
11:22 amkrankruleuen left #perl6
11:22 flussence niecza++
11:23 masak indeed.
11:23 amkrankruleuen joined #perl6
11:23 flussence .oO(or should that be ±, for not knowing "$"?)
11:28 silug left #perl6
11:28 mtk left #perl6
11:32 mberends masak: afaiu, state is like C static, and can normally be re-assigned during every method execution.
11:33 amkrankruleuen left #perl6
11:34 amkrankruleuen joined #perl6
11:35 masak mberends: S03:4828
11:36 mtk joined #perl6
11:36 mberends ah, I was in S04
11:39 mberends masak: would START make the proposed method non-lazy?
11:41 agentzh left #perl6
11:42 mberends masak: then a lazy way would be a private attribute and still //= in a method
11:42 satyavvd left #perl6
11:43 jnthn std: class Foo { has $!x = START blah() }; sub blah() { }
11:43 p6eval std 4b1b100: OUTPUT«ok 00:01 118m␤»
11:43 jnthn I wonder if that works.
11:43 jnthn I think the START phaser remembers the value.
11:45 masak jnthn: that'd be even nicer. with 'has $.x', it'd be like having an accessor method.
11:45 jnthn masak: Oh, I fear it'd still be too early though
11:45 jnthn masak: e.g. it'd only run once ever but not be delayed. d'oh.
11:45 masak oh, ok.
11:46 masak well, the method is fine.
11:50 pernatiy joined #perl6
11:52 jaldhar joined #perl6
11:52 jaldhar left #perl6
11:54 jaldhar joined #perl6
11:54 jaldhar left #perl6
11:56 Chillance joined #perl6
11:58 jaldhar joined #perl6
11:59 jaldhar left #perl6
11:59 pmichaud good morning, #perl6
12:00 masak morning, pmichaud
12:00 mberends hello pmichaud
12:01 frettled Good a.m.!
12:01 masak std: quote qX
12:01 p6eval std 4b1b100: OUTPUT«[31m===[0mSORRY![31m===[0m␤Undeclared routines:␤        'qX' used at line 1␤    'quote' used at line 1␤Check failed␤FAILED 00:01 112m␤»
12:02 masak TimToady: S03:4940 says 'quote' is a declarator. is it?
12:02 jnthn o/ pmichaud
12:02 mberends pmichaud: for your copious free time, there are some failing test cases pushed (together with your patch) in zavolaj.
12:03 mberends more tests are en route
12:04 jaldhar joined #perl6
12:05 jaldhar left #perl6
12:06 kaare__ joined #perl6
12:06 dalek rakudo/nom: 7316a1e | jnthn++ | .gitignore:
12:06 dalek rakudo/nom: Update .gitignore.
12:06 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7316a1e130
12:06 dalek rakudo/nom: 245c622 | jnthn++ | src/Perl6/SymbolTable.pm:
12:06 dalek rakudo/nom: Creation of container descriptors, plus enable us to associate a parameter with one also.
12:06 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/245c6226ca
12:06 dalek rakudo/nom: 6ab6b89 | jnthn++ | src/ (2 files):
12:06 dalek rakudo/nom: Add container_descriptor slot to Parameter.
12:06 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6ab6b897e2
12:06 dalek rakudo/nom: 75fd418 | jnthn++ | src/ (7 files):
12:06 dalek rakudo/nom: Start switching us over to the new container model. This gets the binder starting to use it, and updates a couple of places that used the old descalarref/deobjectref ops. Not quite right everywhere yet, but seems to work. Also toss the ops related to the old model.
12:06 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/75fd418d8b
12:12 masak New Container Model!
12:13 masak ncm!
12:13 pmichaud the new one is going to be pretty nice :-)
12:13 pmichaud (jnthn and I worked out a lot of details yesterday)
12:14 jnthn pmichaud: You'll like the next push :)
12:14 pmichaud yes, the last push leaves me wanting more :)
12:15 jnthn pmichaud: There's bits in the binder that'll need twiddling once we have array and hash.
12:16 pmichaud jnthn: yes, of course
12:17 jnthn I've XXX'd 'em. :)
12:17 dalek rakudo/nom: 6d959f5 | jnthn++ | src/ (2 files):
12:17 dalek rakudo/nom: Remove leftover mentions of the old container types from ops and binder.
12:17 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6d959f54a8
12:17 dalek rakudo/nom: 0354aaf | jnthn++ | / (5 files):
12:17 dalek rakudo/nom: Toss 3 PMCs and a build tool related to the old container model.
12:17 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0354aafc57
12:18 jnthn pmichaud: I'm slightly bothered by the fact that I wrote the new container stuff, switched the binder over to it, and it worked first time...feels like I musta done something wrong somewhere. :)
12:18 jnthn Maybe the coffee was just strong enough today :)
12:19 woosley joined #perl6
12:19 takadonet morning all
12:19 jnthn We're now down to just 2 dynpmcs in nom. :)
12:19 jnthn o/ takadonet
12:19 takadonet looks like the nom branch is getting lots of love lately :)
12:20 Garda joined #perl6
12:20 tadzik hello #perl6
12:20 jnthn takadonet: Yes. My tuit supply is doing very well. :)
12:20 jnthn And pmichaud++ is digging in to it also :)
12:21 takadonet is the nom branch buildable for non developer yet?
12:21 jnthn pmichaud: My plan from here: go and twiddle with the NQP ops to make them container aware. Then put scalar variables back and look at binding and assignment stuff.
12:21 jnthn takadonet: Buildable, probably. Interesting? Not yet.
12:21 pmichaud jnthn: that's the plan to follow :-)
12:22 takadonet jnthn: well I might just build it on and off again on my desktop
12:22 pmichaud my tuit supply for the day is uncertain
12:22 masak hi tadzik
12:23 bluescreen10 joined #perl6
12:24 * tadzik after a "horrifying" exam
12:24 masak why the quotes?
12:25 tadzik everyone is so horrified that I'm afraid I may have done something wrong. I had no problems at all, finished in half time. Everyone is angry about the lack of time and depressed about what have they done
12:25 tadzik That makes me feel that I don't know that I was wrong :)
12:26 tadzik now only a Java project, 2 exams tomorrow and then weekend: I'll have time to write the intel assembly project :)
12:29 JimmyZ joined #perl6
12:30 kaare__ left #perl6
12:32 * JimmyZ couldn't build nom, Cannot fetch object from non-existant serialization context
12:33 wknight8111 joined #perl6
12:33 jnthn JimmyZ: Means you have outdated PBCs around.
12:33 pmichaud I think I'll use whatever tuits I have for today on (a) nom build system and (b) zavolaj
12:33 jnthn JimmyZ: If you have a Perl6 directory, nuke it.
12:34 jnthn (note: not src/Perl6; you need that one ;))
12:34 jnthn pmichaud: +1
12:34 pmichaud also, what's the prevailing opinion on  "perl6" -> "rakudo" in nom?
12:34 masak rakudo: sub foo { next; say "OH NOES!" }; for 1..10 { .say; foo; say "OH NOES II!" }
12:34 p6eval rakudo 048573: OUTPUT«1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤»
12:35 JimmyZ jnthn: thanks,  works now
12:35 jnthn pmichaud: I don't really see the point. People are used to typing "perl6"
12:35 jnthn pmichaud: We could do it as both.
12:35 masak buubot_backup: eval: sub foo { next; say "OH NOES!" } for (1..10) { say; foo; say "OH NOES II!" }
12:35 buubot_backup masak: ERROR: syntax error at (eval 28) line 1, near "say "OH NOES!"" syntax error at (eval 28) line 1, near "say "OH NOES II!""
12:35 masak buubot_backup: eval: sub foo { next; print "OH NOES!\n" } for (1..10) { print $_, "\n"; foo; print "OH NOES II!\n" }
12:35 buubot_backup masak: 1 2 3 4 5 6 7 8 9 10
12:36 mberends +1 on perl6 to rakudo rename, and can we aim for a 'perlbrew switch' type facility at the end of the road please?
12:36 pmichaud ENOSAYCANYOUSEE?
12:36 masak :P
12:36 jnthn pmichaud: I think it'll mostly annoy people if they have to change the way they invoke it.
12:36 masak buubot_backup: eval: use warnings; sub foo { next; print "OH NOES!\n" } for (1..10) { print $_, "\n"; foo; print "OH NOES II!\n" }
12:36 buubot_backup masak: Exiting subroutine via next at (eval 28) line 1. Exiting subroutine via next at (eval 28) line 1. Exiting subroutine via next at (eval 28) line 1. Exiting subroutine via next at (eval 28) line 1. Exiting subroutine via next at (eval 28) line 1. Exiting subroutine via next at (eval 28) line 1. Exiting subroutine via next at (eval 28) line 1. Exiting subroutine via next at (eval 28) line 1. Exiting subroutine via
12:36 jnthn pmichaud: I agree eventually there should be a selection thingy or an option.
12:37 mberends jnthn, pmichaud: have you used 'perlbrew switch'? it rocks!
12:37 masak I tentatively agree that it's more "social" of rakudo to call its binary "rakudo".
12:38 JimmyZ jnthn: by the way, we are expecting your talk subject.
12:38 jnthn Maybe more "social", but I"m more interesting in doing what meets the typical user's expectaions, and that's that they install a Perl 6 compiler and have a perl6
12:38 mberends we have to make (name)space for niecza etc
12:38 masak we talked about this at the Vught hackathon, and I was firmly on the side of having it be 'perl6'. probably for the reason jnthn just stated.
12:39 jnthn I'd be fine with niecza also being able to install itself as perl6 too, and we put the extra burden on people who have reason/need for multiple Perl 6 compilers installed locally.
12:40 mberends I currently do that manually with symlinks
12:40 jnthn JimmyZ: Oh, yes, I should get to that :)
12:40 JimmyZ jnthn: thanks again, hehe
12:41 JimmyZ mv perl6 rakudo; ln -s perl6 rakudo :)
12:42 Garda is there any documentation that anyone here knows of for perl6 and using IO::Socket::INET ?
12:42 tadzik notmuch, but you can peek at the existing code
12:43 moritz Garda: there's the spec, and ther's LWP::Simple and an IRC bot by TiMBuS
12:44 Garda moritz, LWP::Simple, is that a library for connecting to web servers?
12:45 jaldhar joined #perl6
12:45 moritz Garda: yes
12:45 moritz Garda: see http://modules.perl6.org/
12:49 mberends .oO( Thursday afternoon is market time, and fresh hot stroopwafel time :)
12:49 masak ooh
12:49 tadzik ooh
12:49 mberends wish you were all here :)
12:49 moritz oooh
12:49 * moritz will have asparagus today. Ha.
12:50 mberends Ha.
12:56 nymacro left #perl6
12:58 Holy_Cow joined #perl6
12:58 Holy_Cow left #perl6
13:02 nymacro joined #perl6
13:07 Garda so, I just copied what was in the /lib folder of the module I downloaded, into where rakudo looks for modules
13:07 Garda is that all I need to do
13:07 Garda what are the .t files?
13:08 masak test files.
13:08 Garda perl6 seems not to complain when I "use LWP::Simple"
13:08 masak and no, copying lib/ folder contents here and there doesn't sound like a long-term solution to me.
13:10 tadzik use a module installer, or at least ufo
13:10 masak here it's probably more a matter of setting PERL6LIB
13:10 masak but yes, a module installer would put things in the right place for you.
13:11 masak I'm not sure how ufo would help here.
13:11 tadzik it's smaller and faster, and still does the job
13:13 masak it does the job of creating a Makefile, not of making sure .pm files are in a path where Perl 6 will find them.
13:17 tadzik I think neither does module installer
13:22 dalek nqp: 67c0a4c | jonathan++ | src/ops/nqp.ops:
13:22 dalek nqp: Teach many NQP ops about the existence of containers (just relies on the standard 6model container API).
13:22 dalek nqp: review: https://github.com/perl6/nqp/commit/67c0a4c1c4
13:22 dalek nqp: f054311 | jonathan++ | src/ops/nqp.ops:
13:22 dalek nqp: Make sure we don't treat container type objects as if they're actual living containers.
13:22 dalek nqp: review: https://github.com/perl6/nqp/commit/f054311452
13:24 dalek rakudo/nom: 577f4b8 | jnthn++ | src/ (2 files):
13:24 dalek rakudo/nom: Toss perl6_get_[how|what|who] now that the standard ops are container-aware.
13:24 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/577f4b8ca3
13:35 koban` left #perl6
13:35 dalek rakudo/nom: 2454910 | jnthn++ | src/CORE.setting/IO.pm:
13:35 dalek rakudo/nom: Toss now-undeed decontainerize op now that repr_unbox_str is container aware.
13:35 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/24549100b2
13:35 dalek rakudo/nom: a74c87b | jnthn++ | src/Perl6/Metamodel/MultipleInheritance.pm:
13:35 dalek rakudo/nom: Toss another couple of workarounds that we don't need any more.
13:35 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a74c87bf67
13:37 envi joined #perl6
13:39 silug joined #perl6
13:48 drbean left #perl6
14:01 chitragupt joined #perl6
14:02 bluescreen10 left #perl6
14:08 hudnix joined #perl6
14:11 Garda is moritz around?
14:11 moritz he is
14:11 Garda hey
14:11 Garda I'm looking at this:
14:11 Garda https://github.com/cosimo/perl6-lwp-​simple/blob/master/lib/LWP/Simple.pm
14:11 Garda in the get method, there's a comment about too many redirects
14:12 Garda is it possible to just create an "our $redirects"
14:12 Garda then every time get is called from within get to increment it just before it calls itself?
14:12 moritz it is, but that would be shared between multiple instances of that class
14:12 moritz which is not the desired behavior
14:12 moritz rather somethiing like
14:13 moritz has $.redirects_left = 5;
14:13 moritz and then for each redirect, $!redirects_left is decremented by one
14:13 moritz and if it's zero, the redirect isn't followed
14:14 xinming joined #perl6
14:17 xinming_ left #perl6
14:19 hercynium joined #perl6
14:33 Garda http://pastebin.ca/2073719
14:33 Garda lines 1, 6 and 50
14:34 Garda or should there be a parameter or something where the person using the library says how many redirects they want?
14:35 moritz Garda: the user can initialize redirects_left on object construction
14:35 moritz LWP::Simple.new(redirects_left => 3, ...)
14:36 PerlJam good morning
14:36 PerlJam redirects_left makes me wonder about redirects_right  :)
14:36 moritz Garda: but the code shoudl only abort if redirects_left is 0 AND there's a redirect
14:36 moritz Garda: if no redirects are left, and the response is not a redirect, everything is fine
14:37 tadzik also, shouldn't they be reset at the end of the method
14:37 moritz probably
14:40 tadzik I have an impression that nom startup cost has increased
14:40 tadzik hello world is now around 0.4 secs
14:40 Eevee left #perl6
14:41 jnthn tadzik: Oh? Hm.
14:41 jnthn tadzik: How long was it before?
14:41 jnthn tadzik: I don't expect us to win on start time until I properly implement the serialization stuff, though.
14:43 moritz fwiw nom startup time is around 0.27s here
14:44 moritz (and segfault gone, \o/)
14:45 JimmyZ left #perl6
14:45 JimmyZ joined #perl6
14:46 tadzik jnthn: 0.25 iirc
14:46 tadzik I was happy about it like yesterday ;)
14:47 alester joined #perl6
14:48 Garda lines 1, 5-10, 53, 60-61
14:48 Garda http://pastebin.ca/2073721
14:49 Garda I think I should also reset at lines 44 and 65
14:49 jnthn tadzik: oddness.
14:49 tadzik maybe entropy ;)
14:49 PerlJam Garda: FWIW, I'd use an attribute called $.max_redirects to initialize a $redirects_remaining parameter to .get
14:52 PerlJam Garda: or ... in your implementation, what happens when you make 2 different calls to $obj.get (with different URLs) and each redirects 5 times?
14:52 moritz or a dynamic variable
14:52 * moritz afk
14:52 thou joined #perl6
14:58 kst left #perl6
14:59 kst joined #perl6
14:59 Garda left #perl6
15:00 mkramer left #perl6
15:03 Eevee joined #perl6
15:13 barika left #perl6
15:15 barika joined #perl6
15:19 ymasory joined #perl6
15:19 snearch joined #perl6
15:20 pyrimidine joined #perl6
15:27 yinyin left #perl6
15:31 kst left #perl6
15:32 kst joined #perl6
15:41 kst left #perl6
15:41 kst joined #perl6
15:42 nymacro left #perl6
15:43 mj41 left #perl6
15:44 s1n left #perl6
15:45 jpr5 left #perl6
15:45 s1n joined #perl6
15:49 [hercynium] joined #perl6
15:49 [hercynium] left #perl6
15:49 [hercynium] joined #perl6
15:51 hercynium left #perl6
15:51 hercynium joined #perl6
15:51 hercynium left #perl6
15:51 hercynium joined #perl6
15:52 kst left #perl6
15:53 kst joined #perl6
15:53 am0c joined #perl6
15:53 [hercynium] left #perl6
15:54 x3nU joined #perl6
15:54 icwiener joined #perl6
15:54 * am0c hugs hugme
15:55 * am0c (nothing happened)
15:55 x3nU hello
15:56 TimToady howdee doo
15:57 jnthn o/ TimToady
15:59 drbean joined #perl6
15:59 JimmyZ left #perl6
16:00 am0c o/
16:00 tadzik o/
16:03 pernatiy left #perl6
16:04 am0c heh
16:12 woosley left #perl6
16:18 woosley joined #perl6
16:19 awoodland joined #perl6
16:23 jlaire left #perl6
16:25 dalek nqp: 165e737 | jonathan++ | src/ (8 files):
16:25 dalek nqp: Add clone to REPR API.
16:25 dalek nqp: review: https://github.com/perl6/nqp/commit/165e7371f6
16:27 dalek rakudo/nom: a41d7e2 | jnthn++ | src/binder/sixmodelobject.h:
16:27 dalek rakudo/nom: Follow clone REPR addition.
16:27 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a41d7e2d38
16:27 dalek rakudo/nom: e3daad7 | jnthn++ | src/ (3 files):
16:27 dalek rakudo/nom: Some additions to lexpad support to help us more efficiently handler scalar containers.
16:27 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e3daad74a0
16:27 dalek rakudo/nom: 80f907c | jnthn++ | src/Perl6/ (2 files):
16:27 dalek rakudo/nom: First cut at getting very basic lexical variable declaration support back in place.
16:27 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/80f907c786
16:27 dalek rakudo/nom: 4a8e16a | jnthn++ | src/Perl6/SymbolTable.pm:
16:27 dalek rakudo/nom: Support \$a (for is parcel) again.
16:27 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4a8e16a942
16:27 dalek rakudo/nom: 9a10c1d | jnthn++ | src/ops/perl6.ops:
16:27 dalek rakudo/nom: Add ops for doing checked/unchecked storage.
16:27 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9a10c1d1be
16:27 dalek rakudo/nom: e28a3d2 | jnthn++ | / (2 files):
16:27 dalek rakudo/nom: First cut of assignment operator. Currently fails due to missing container descriptor link (so can't check rw flag).
16:27 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e28a3d2104
16:29 mj41 joined #perl6
16:29 * TimToady can see it now, every time I start rakudo: "I see that rakudo is not your default perl6; would you like to make it so?"
16:30 tadzik :P
16:30 tadzik we need this paperclip
16:32 jnthn :P
16:35 TimToady I think when you invoke "perl6" it should just invoke a different one each time, then pick the best one :)
16:36 colomon it should run both and compare the answers.  ;)
16:36 colomon right?
16:36 jnthn In our fearless multi-core world, it could just invoke all of them together...and give you ther esults from the one that finishes first. ;)
16:36 colomon perl6: say "Right!"
16:36 TimToady if you have three, they can vote
16:36 p6eval pugs, rakudo 048573, niecza v6-36-ga1db38b: OUTPUT«Right!␤»
16:37 TimToady we have to use up those multiple cores somehow...
16:38 TimToady or those multiple independent processors, if we're flying an airplane...
16:39 TimToady with a big red light in the cockpit that indicates "All Perl 6 implementations agree that you should die now."
16:46 woosley left #perl6
16:46 mberends lol
16:48 dalek rakudo/nom: 39d527d | jnthn++ | src/Perl6/SymbolTable.pm:
16:48 dalek rakudo/nom: Stash container descriptor in the container; scalar assignment now works.
16:48 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/39d527d025
16:51 jnthn pmichaud: progress ^
16:51 jnthn :)
16:52 tadzik whoa, whoa
16:53 TimToady we are all spellbound...er...spellassigned...
16:53 jnthn :)
16:53 colomon spellchecked
16:53 jnthn Will do binding soon :)
16:53 jnthn Yes, binding will be cheaper than in master. :)
16:53 jnthn And corrector. :)
16:53 tadzik speaking of spells, I'll prefer casting ;)
16:54 tadzik jnthn: nqp doesn't build for me
16:54 jnthn tadzik: oh noes!
16:54 tadzik http://wklej.org/id/539921/
16:54 colomon cheaper and corrector!  \o/
16:54 tadzik make realclean, git clean -fdx, no changes
16:54 tadzik colomon: it sounds like a pair of gangsters from a film from the sixties
16:54 tadzik like Bonnie and Clyde
16:55 moritz KnowHOWREPR.c:92: error: conflicting types for ‘clone’
16:55 moritz /usr/include/bits/sched.h:80: note: previous declaration of ‘clone’ was here
16:55 moritz ah, tadzik++ was faster
16:56 jnthn huh, a static declaration of something in a .c file doesn't take precedence over an imported one from elsewhere?
16:56 apejens left #perl6
16:56 jnthn lousy language!
16:57 moritz indeed. Just one global namespace
16:57 apejens joined #perl6
16:57 tadzik nqp-rx: class A { method b { say("ok"); } }; my $foo := A.new(); my $b := "b"; $foo.$b()
16:57 * jnthn should learn C some day... :)
16:58 birdwindupbird left #perl6
17:00 dalek nqp: f338bd8 | jonathan++ | src/6model/reprs/ (6 files):
17:00 dalek nqp: Avoid name clash on UNIX-y platforms; should fix build breakage reported by tadzik++ and moritz++.
17:00 dalek nqp: review: https://github.com/perl6/nqp/commit/f338bd87c4
17:01 tadzik jnthn: works, thonks
17:01 moritz jnthn: he, I would have suggested the same name :-)
17:01 jnthn :)
17:01 jnthn It's static anyway, I coulda called it monkey_with_memory.
17:01 jnthn :)
17:01 tadzik please do :P
17:01 dakkar left #perl6
17:02 PerlJam where do you get monkeys without memory?
17:02 PerlJam and what good are they if they immediately forget everything?
17:02 cdarroch joined #perl6
17:02 cdarroch left #perl6
17:02 cdarroch joined #perl6
17:04 tadzik use MONKEY_FORGETTING;
17:04 tadzik okay, that's funny
17:05 tadzik zsh: segmentation fault  ./perl6 -e 'my $a = 4'
17:05 tadzik jnthn: http://wklej.org/id/539936/
17:05 mkramer1 joined #perl6
17:05 * moritz guesses nom must follow the rename too
17:06 jnthn No, should be invisible
17:06 jnthn tadzik: Does a clean help?
17:06 jnthn I wonder if I have a missing makefile dep...
17:07 jnthn Two!
17:07 * jnthn e mycket dålight makefilehacker
17:07 buubot_backup left #perl6
17:08 tadzik clean not, trying realclean
17:08 tadzik clean seems to be fakeclean these days
17:08 awoodland left #perl6
17:08 jnthn tadzik: clean may need, er, cleaning up. :)
17:08 tadzik jnthn: still segfaulting
17:09 tadzik after realclean
17:09 jnthn tadzik: :(
17:09 dalek rakudo/nom: b0d8d2a | jnthn++ | build/Makefile.in:
17:09 dalek rakudo/nom: A couple of missing dependencies.
17:09 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b0d8d2aa74
17:09 jnthn tadzik: gdb?
17:10 tadzik jnthn: as pasted
17:10 tadzik valgrind says similar things
17:11 jnthn oh, sorry, I missed the link...
17:11 jnthn oh crap
17:11 jnthn jnthn--
17:12 sjohnson jnthn++ # don't be hard on yourself :)
17:12 tadzik just what I wanted to do
17:12 * tadzik pats jnthn with a couple of ++'s
17:14 snearch_ joined #perl6
17:15 tadzik oh my, it's boiling in here, and it's not even a calendar summer
17:15 snearch_ left #perl6
17:16 jnthn Yeah, I'm not so impressed with the weather here...
17:16 jnthn Hot.
17:16 awoodland joined #perl6
17:17 sjohnson tadzik: where are ya from?
17:17 tadzik sjohnson: Poland
17:17 sjohnson oh cool
17:17 tadzik no, it's hot
17:17 sjohnson heh
17:17 tadzik turns the problem is my room having windows for the west. The sleeping room is quite cool
17:17 tadzik I must figure out some sheets to cover the windows during the day
17:18 tadzik ah, nothing like placing feet in cold water
17:20 dalek rakudo/nom: d60952c | jnthn++ | src/pmc/perl6lexinfo.pmc:
17:20 dalek rakudo/nom: Fix mark bug that could cause segfaults; reported by tadzik++.
17:20 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d60952c911
17:22 jnthn Time for a break/walk. Back in a bit.
17:24 tadzik hello world is 0.24 again. Entropy, must be
17:24 tadzik also, my $a = 4; say $a now works in nom
17:25 colomon wait, assignment in nom?!?!!
17:25 tadzik aye
17:25 tadzik for like 5 minutes already :)
17:25 tadzik ./perl6 -e 'my $a = "Hello world!"; say $a'  0,24s user 0,06s system 97% cpu 0,308 total
17:26 tadzik $a.say is fine too. Nice :)
17:26 PerlJam How does one build nom?
17:27 tadzik git checkout nom in rakudo
17:27 tadzik then as usual. You need the new nqp installed
17:27 PerlJam or, if I have an up-to-date parrot and an up-to-date nqp installed, should "perl Configure.pl" work?
17:27 PerlJam (i'm assuming yes)
17:28 tadzik yes
17:29 buubot_backup joined #perl6
17:29 PerlJam weird.
17:29 tadzik is it?
17:29 PerlJam somehow my nqp was borked.
17:29 kst left #perl6
17:30 PerlJam ie. I removed it (even though I just built it a few minutes ago) and re-installed and now all seems to be well
17:30 jfried joined #perl6
17:32 Eevee_ joined #perl6
17:32 kst joined #perl6
17:35 Eevee left #perl6
17:36 Eevee_ is now known as Eevee
17:41 kaare__ joined #perl6
17:44 mkramer1 left #perl6
17:52 impious joined #perl6
17:53 impious left #perl6
17:57 MayDaniel joined #perl6
17:58 * colomon now has a hotel room reserved for YAPC::NA
18:07 jnthn PerlJam: Configure.pl will happily take a --parrot-config=... but nqp shoulda been installed also. :)
18:10 felher p6eval: sub foo(--> Int) { return "not a integer"; } ; say foo();
18:10 tadzik use "perl6:"
18:10 colomon jnthn: nom's not building for me at the moment?
18:10 colomon Cannot fetch object from non-existant serialization context 1306794126.34028
18:10 colomon current instr.: '' pc -1 ((unknown file):-1)
18:10 felher tadzik: thnx :)
18:10 colomon that's after realclean
18:11 tadzik colomon: toss Perl6 directory
18:11 jnthn What tadzik said
18:11 jnthn Normally works
18:11 felher perl6: sub foo(--> Int) { return "not a integer"; } ; say foo();
18:11 p6eval rakudo 048573: OUTPUT«not a integer␤»
18:11 p6eval ..pugs: OUTPUT«*** ␤    Unexpected "-->"␤    expecting formal parameter or ")"␤    at /tmp/AyDhNvP75o line 1, column 9␤»
18:11 p6eval ..niecza v6-36-ga1db38b: OUTPUT«[31m===[0mSORRY![31m===[0m␤␤Return type constraints NYI at /tmp/5lx2xCKnBs line 1:␤------> [32msub foo(--> Int[33m⏏[31m) { return "not a integer"; } ; say foo([0m␤␤Unhandled exception: Check failed␤␤  at /home/p6eval/niecza/boot/lib/CORE.setting line 469
18:11 p6eval ..(CORE die @ 2) ␤  a…
18:11 tadzik tee hee ;)
18:11 tadzik tescotrip *
18:11 tadzik &
18:13 silent_h_ joined #perl6
18:13 am0c left #perl6
18:15 colomon tadzik++ # tossing Perl6 worked -- doesn't that imply realclean needs to do more?
18:15 jnthn colomon: No, that directory ain't created any more.
18:25 silug left #perl6
18:26 Tedd1^ joined #perl6
18:27 Tedd1 left #perl6
18:27 am0c joined #perl6
18:39 sorear good * #perl6
18:39 masak o/ sorear
18:39 tadzik hello sorear and masak
18:40 molaf left #perl6
18:45 envi left #perl6
18:55 snearch left #perl6
18:55 wamba left #perl6
18:59 MayDaniel left #perl6
19:06 pamera left #perl6
19:09 _jaldhar joined #perl6
19:09 _jaldhar left #perl6
19:10 _jaldhar joined #perl6
19:10 _jaldhar left #perl6
19:12 jaldhar left #perl6
19:14 _jaldhar joined #perl6
19:15 mj41 left #perl6
19:19 birdwindupbird joined #perl6
19:21 silent_h_ left #perl6
19:22 _jaldhar left #perl6
19:25 dual left #perl6
19:34 infiniteloop joined #perl6
19:34 dual joined #perl6
19:35 infiniteloop hi all
19:35 masak hi infiniteloop
19:35 infiniteloop perl6: my $a;
19:36 p6eval pugs, rakudo 048573, niecza v6-36-ga1db38b:  ( no output )
19:36 infiniteloop sorry just found out about the bots :)
19:36 infiniteloop couldn't resist
19:36 infiniteloop hi masak
19:37 sorear hi infiniteloop
19:37 moritz no problem, the bots are there to be used :-)
19:37 infiniteloop thanks
19:37 infiniteloop just getting into perl6 and parrot
19:37 masak perl6: say rand
19:37 p6eval pugs: OUTPUT«0.3661245903619855␤»
19:37 p6eval ..niecza v6-36-ga1db38b: OUTPUT«0.42614545367013␤»
19:37 p6eval ..rakudo 048573: OUTPUT«0.899015809948654␤»
19:38 masak perl6: say rand.chars
19:38 p6eval rakudo 048573: OUTPUT«17␤»
19:38 p6eval ..pugs: OUTPUT«0.11607607957349997␤»
19:38 p6eval ..niecza v6-36-ga1db38b: OUTPUT«16␤»
19:38 masak pugs-- :P
19:39 flussence pugs: say rand.Str; # just wondering... :)
19:39 p6eval pugs: OUTPUT«*** No such method in class Scalar: "&Str"␤    at /tmp/a_gfDXbryq line 1, column 5-13␤»
19:41 jnthn perl6: loop { } # ;-)
19:41 flussence oh wow, vanilla rakudo runs the spectest in about 10-15% less time now than last time I counted a few weeks ago. Did I miss something big?
19:41 p6eval pugs, rakudo 048573, niecza v6-36-ga1db38b: OUTPUT«(timeout)»
19:42 jnthn flussence: pmichaud++ has done some performance improvements :)
19:42 sorear perl6: my $x = -10_000_000; 1 while $x++; say "alive"
19:42 p6eval pugs, rakudo 048573, niecza v6-36-ga1db38b: OUTPUT«(timeout)»
19:43 tadzik flussence: yeah, the comeback of pmichaud :)
19:43 sorear perl6: my $x = -1_000_000; 1 while $x++; say "alive"
19:43 p6eval pugs, rakudo 048573: OUTPUT«(timeout)»
19:43 p6eval ..niecza v6-36-ga1db38b: OUTPUT«alive␤»
19:44 sorear perl6: say 5.^methods(:local).Str
19:44 p6eval pugs: OUTPUT«*** No such subroutine: "&Str"␤    at /tmp/jiAz5rSTDk line 1, column 5 - line 2, column 1␤»
19:44 p6eval ..rakudo 048573: OUTPUT«perl pred succ WHICH Str Bridge Int Rat Num sign gcd base ACCEPTS Real Bool Complex reals isNaN abs exp ln sqrt roots floor ceiling truncate round cis unpolar rand sin asin cos acos tan atan sec asec cosec acosec cotan acotan sinh asinh cosh acosh tanh atanh sech asech
19:44 p6eval ..cosech acose…
19:44 p6eval ..niecza v6-36-ga1db38b: OUTPUT«Unhandled exception: Unable to resolve method methods in class ClassHOW␤  at /tmp/WUpEM27yhL line 1 (MAIN mainline @ 2) ␤  at /home/p6eval/niecza/lib/CORE.setting line 1555 (CORE C709_ANON @ 2) ␤  at /home/p6eval/niecza/lib/CORE.setting line 1556 (CORE module-CORE @
19:44 p6eval ..53) ␤  at /home…
19:44 sorear perl6: say 2; ENTER { say 1 }
19:44 p6eval niecza v6-36-ga1db38b: OUTPUT«[31m===[0mSORRY![31m===[0m␤␤Action method statement_prefix:ENTER not yet implemented at /tmp/_IrVhb7vz8 line 1 (EOF):␤------> [32msay 2; ENTER { say 1 }[33m⏏[31m<EOL>[0m␤␤Unhandled exception: Unable to resolve method statement_level in class Str␤  at
19:44 p6eval ../home/p6eval/niecza/src…
19:44 p6eval ..pugs: OUTPUT«1␤2␤»
19:44 p6eval ..rakudo 048573: OUTPUT«===SORRY!===␤ENTER phaser not yet implemented at line 22, near ""␤»
19:45 sorear there, three tiny bits of code to show off three implementations
19:45 am0c left #perl6
19:49 infiniteloop pointme: mubot
19:50 * sorear wonders if infiniteloop will talk about anything.
19:50 infiniteloop sorry,  just read the blog about bots here
19:51 moritz pointme is gone, I think
19:51 masak oh! that explains why you tried pointme (who's no longer among us).
19:51 infiniteloop ah
19:52 flussence .oO( #perl6 is now point-less )
19:52 infiniteloop man these have to be the coolest irc bots ...
19:52 sorear and @pointless is *long* since gone
19:53 moritz phenny: tell infiniteloop that many of them are quite useful
19:53 phenny moritz: I'll pass that on when infiniteloop is around.
19:53 sorear the bots are designed to be useful for channel regulars.
19:53 masak rakudo: .say for 7, { $_ %% 2 ?? $_ / 2 !! 3 * $_ + 1 } ... 1
19:54 p6eval rakudo 048573: OUTPUT«7␤22␤11␤34␤17␤52␤26␤​13␤40␤20␤10␤5␤16␤8␤4␤2␤1␤»
19:54 * flussence feels slightly nerdier for recognising that sequence
19:54 wamba joined #perl6
19:55 infiniteloop masak:  what is this sequence ? pardon my ignorance
19:55 phenny infiniteloop: 19:53Z <moritz> tell infiniteloop that many of them are quite useful
19:55 masak infiniteloop: it has many names. I think "Collatz sequence" is the more common one.
19:56 masak there's an XKCD episode about it: http://xkcd.com/710/
19:56 infiniteloop thanks, learnt something new
19:56 sorear masak: hey
19:57 sorear masak: yapsi. 2011.06.
19:57 masak sorear: this weekend, hopefully.
19:57 sorear masak: should it target niecza HEAD or v6?
19:57 masak sorear: hm. either is fine by me, offhand.
19:58 masak v6 sounds like it could be easier for people.
19:58 sorear has anything happened since 2011.05?
19:58 masak nope.
19:58 masak if I have time, I might make some tweaks for Tardis.
19:58 sorear how is Tardis doing?
19:58 masak I'll let you know my plans if that happens.
19:59 sorear muahahaha
19:59 masak moritz had this idea about event-sourcing Tardis.
19:59 masak I think it's a great idea and would like to try it.
19:59 MayDaniel joined #perl6
20:01 mj41 joined #perl6
20:01 wamba left #perl6
20:04 kaare__ left #perl6
20:09 Tene masak: I like that idea.
20:10 colomon "event-sourcing"?
20:11 moritz colomon: storing all changes to a variable instead of the actual value
20:11 dalek niecza: 19150c0 | sorear++ | lib/Kernel.cs:
20:11 dalek niecza: Implement junctional collapse in Bool contexts
20:11 dalek niecza: review: https://github.com/sorear/niecza/commit/19150c06ca
20:11 dalek niecza: e7765e2 | sorear++ | test2.pl:
20:11 dalek niecza: Start testing junctions
20:11 dalek niecza: review: https://github.com/sorear/niecza/commit/e7765e2b3c
20:11 moritz colomon: or more general, using events instead of state as the authorotative source of information
20:12 colomon ah
20:14 masak it's not just a matter of storing deltas.
20:14 masak you also store the *type* of change that happened.
20:15 jevin left #perl6
20:16 masak current state is just a left fold of the history of events. :) and it seems a particularly good fit with a time-traveling debugger, where we want to navigate back and forth in that history.
20:18 frettled masak: how's today's blog post coming along?
20:23 masak frettled: huh. I had completely forgotten about it! :)
20:24 masak frettled: will do it right away.
20:29 frettled \o/
20:30 wknight8111 left #perl6
20:31 tadam joined #perl6
20:33 dalek niecza: 006d0a2 | sorear++ | lib/ (2 files):
20:33 dalek niecza: INVOKE is now spelled postcircumfix:<( )>
20:33 dalek niecza: review: https://github.com/sorear/niecza/commit/006d0a23d1
20:42 mberends left #perl6
20:49 saaki left #perl6
20:50 ymasory left #perl6
20:53 silug joined #perl6
20:55 masak blog post! http://strangelyconsistent​.org/blog/june-2-variables
20:56 sbp rakudo: my $name = "Syromercunius"; say "Nice to meet you, ", $name, ".";
20:56 p6eval rakudo 048573: OUTPUT«Nice to meet you, Syromercunius.␤»
20:57 tadzik "saunas" sound tempting
20:57 sbp if you want to say you took a sauna, you have to say you saunaed. always looked like the strangest of words to me
20:57 sbp subtlety is kind of bad too
21:00 masak I'd like to see a DVD menu that said "Subtleties" instead of "Subtitles". people who noticed would do a double take. :)
21:00 sbp yeah, especially because directors' commentaries are never subtle!
21:01 sbp "Famous actress looked great in this scene, which was amazing because she spent most of the night horking her guts out and was pretty hungover before her lift-me-up just before we started shooting."
21:01 Mowah left #perl6
21:01 tadam left #perl6
21:02 masak that's... not a director I would work for again.
21:02 Trashlord left #perl6
21:02 sbp at least he's understanding
21:04 dalek rakudo/nom: 55acc95 | jnthn++ | src/Perl6/Grammar.pm:
21:04 dalek rakudo/nom: Fix type checking of scalars.
21:04 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/55acc95aa7
21:04 dalek rakudo/nom: 8de34b1 | jnthn++ | src/Perl6/ (2 files):
21:04 dalek rakudo/nom: Default scalars to Any or, if declared, the type object.
21:04 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8de34b11f0
21:04 dalek rakudo/nom: cf0abf0 | jnthn++ | src/ (4 files):
21:04 dalek rakudo/nom: First, basic cut at binding. So far, just supports binding to lexical variables. Cheap and gets the type checking right, though very incomplete. Also stub in ::=, though it's not really dealt with at all yet.
21:04 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/cf0abf0d46
21:05 tadzik wow
21:06 jnthn Actually it uses the same mechanism as binds in NQP, pretty much.
21:06 pochi left #perl6
21:06 sorear jnthn: I'd like to make the argument that 'my $x = 1; my $y ::= $x; $x = 2; say $y' should b1 1
21:06 sorear be 1
21:07 tadzik ooc, couldn't we just make '=' binding in nqp and dismiss :=?
21:07 PerlJam tadzik: then it wouldn't be Perl 6, would it?
21:07 masak tadzik: yes, but why?
21:07 tadzik PerlJam: it's not Perl6 anyway
21:07 PerlJam NQP is still a subset of Perl 6
21:07 masak tadzik: that'd confuse people more than the way things are now, I think.
21:07 tadzik masak: for the ease of use, I'd say
21:07 tadzik oh, well, right
21:08 jnthn sorear: And were it := it'd be 2?
21:08 sorear jnthn: yes
21:08 tadzik it would be quite weird for '=' to be assignment in Perl 6, and binding in Nqp
21:08 jnthn sorear: Yeah, that's what i'd expect
21:08 jnthn sorear: That is, 1 for ::=, 2 for :=
21:08 jnthn sorear: I didn't make it that way yet but it's what I'll implement.
21:08 sorear ...
21:08 sorear I was expecting a fight.
21:08 * PerlJam punches sorear
21:08 PerlJam happy now?  :)
21:08 jnthn :P
21:08 * masak hugs PerlJam
21:08 sorear yes.
21:09 pochi joined #perl6
21:09 jnthn sorear: Well, ::= is basically same semantics as signature binding.
21:09 masak 'night, #perl6.
21:09 masak left #perl6
21:09 sorear perl6: my $y = 1; sub foo($x) { $y = 2; say $x }; foo($y)
21:09 p6eval pugs, rakudo 048573: OUTPUT«2␤»
21:09 p6eval ..niecza v6-38-ge7765e2: OUTPUT«1␤»
21:09 birdwindupbird left #perl6
21:10 jnthn hmm
21:10 sorear rakudo's current behavior is that ::= bindings can change out from under you.  I don't like that.
21:10 jnthn sorear: oh, you'll be happy
21:10 jnthn sorear: Here's nom:
21:10 jnthn > my $y = 1; sub foo(Mu $x) { $y = 2; say $x }; foo($y)
21:10 jnthn 1
21:10 jnthn :)
21:10 tadzik nom has subs?
21:11 jnthn tadzik: Sure, it had them before it had Str and Int literals.
21:11 tadzik oh yes it has. Cool
21:11 tadzik still, nom does not have ^D in REPL :P
21:12 jnthn I've...no idea how you implement that. :P
21:12 infiniteloop left #perl6
21:12 jnthn Patches welcome from anybody who does. :)
21:12 tadzik Rakudo has it.
21:12 jnthn Oh, OK
21:12 jnthn tadzik: Any reason it's not in HLL::Compiler's repl handling?
21:12 sorear ^D makes $*IN.get return undef
21:13 jnthn oh, I see
21:13 sorear so just use while $*IN.get -> $line { ... }
21:16 tadzik jnthn: I have no eye deer
21:17 jnthn :P
21:17 tadzik jnthn: does HLL::Compiler live in nqp or Parrot?
21:19 jnthn tadzik: nqp nowadays
21:22 tadzik hmm
21:22 tadzik oh, tomorrow
21:22 jnthn yes, soon it will be ;)
21:23 dalek niecza: 954a701 | sorear++ | / (3 files):
21:23 dalek niecza: Unhandled methods autothread junctions
21:23 dalek niecza: review: https://github.com/sorear/niecza/commit/954a701813
21:23 sorear now for the hard(?) part
21:23 tadzik g'night o/
21:24 sorear autothreading of subs
21:25 orphu joined #perl6
21:30 cdarroch left #perl6
21:38 MayDaniel left #perl6
21:38 y3llow_ joined #perl6
21:39 pothos_ joined #perl6
21:40 y3llow left #perl6
21:40 pothos left #perl6
21:40 y3llow_ is now known as y3llow
21:40 pothos_ is now known as pothos
21:49 Patterner left #perl6
21:51 Psyche^ joined #perl6
21:51 Psyche^ is now known as Patterner
21:52 silug left #perl6
21:59 alester left #perl6
22:00 spq1 left #perl6
22:06 dalek rakudo/nom: d185019 | jnthn++ | src/ops/perl6.ops:
22:06 dalek rakudo/nom: Remove a now-unused op; clean up some old code that caused a load of warnings.
22:06 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d185019117
22:06 dalek rakudo/nom: e953941 | jnthn++ | src/binder/bind.c:
22:06 dalek rakudo/nom: Optimize the case of |$ in a signature - don't need to build and bind anything.
22:06 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e95394166a
22:06 dalek rakudo/nom: c3eac78 | jnthn++ | src/Perl6/SymbolTable.pm:
22:06 dalek rakudo/nom: Make | quant set its flag.
22:06 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c3eac789bb
22:06 dalek rakudo/nom: b67fa73 | jnthn++ | src/Perl6/Actions.pm:
22:06 dalek rakudo/nom: Fix anonymous parameters.
22:06 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b67fa73d04
22:14 sorear |$ doesn't need to bind?
22:14 sorear oh, just foo(|$) ?
22:14 sorear discarding the capture?
22:15 * sorear pings jnthn
22:15 jnthn sorear: Yes, that case.
22:15 gfldex left #perl6
22:16 sorear jnthn: when do you use that?
22:16 jnthn sorear: It's useful in a proto where you really don't care about what args you have
22:17 sorear mm.
22:17 benabik Accept anything, but ignore it?
22:17 sorear well it's not *really* ignored
22:17 jnthn benabik: Yeah. If you're multi-dispatching then something else is going to pay attention.
22:17 sorear it's still in callframe.args
22:17 jnthn Sure, the args are still around.
22:17 dalek rakudo/nom: 308072e | jnthn++ | src/CORE.setting/operators.pm:
22:17 dalek rakudo/nom: Get a few very basic ops in place, mostly to check we can.
22:17 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/308072ec14
22:17 dalek rakudo/nom: 07cc4ac | jnthn++ | NOMMAP.markdown:
22:17 dalek rakudo/nom: Update/flesh out nommap for next few days a bit more.
22:17 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/07cc4ac6e4
22:17 benabik sorear: But it's not getting bound to any variables.
22:17 gfldex joined #perl6
22:17 PZt left #perl6
22:18 jnthn I expect to inline the dispatcher entry in most cases anyway, but until I implement that this is a simple and cheap way to write the protos.
22:18 sorear clever choice of syntax, though
22:18 jnthn And it's useful in other cases.
22:18 jnthn Like, when you want to do something before/after you enter the multi-dispatch but it's unrelated to the args.
22:18 sorear niecza has a trait "is rawcall" which causes the binder to bail out before scanning arguments
22:18 sorear it never occurred to me that I could write that |$
22:19 PZt joined #perl6
22:20 * sorear also needs a way to write "give me all the positional arguments, WITHOUT flattening, preferably as a Parcel"
22:20 sorear right now that's written \|$x, which is not *quite* right
22:20 jnthn |$x and then in the body look at .list?
22:20 jnthn er, $x.list I mean
22:21 jnthn Or does .list flatten?
22:21 jnthn Hm
22:21 sorear doesn't .list return a List, anyway?
22:21 jnthn This problem sounds familiar.
22:21 jnthn Yeah
22:21 jnthn .list won'd do what you want.
22:21 jnthn *won't
22:22 jnthn +$c and a C-style loop over the things in the capture would though :)
22:22 sorear the archetypical case is &infix:<~>("[", 1..5, "]")
22:22 gfldex left #perl6
22:22 sorear we expect 1..5 to be stringified as a unit, not turned into a list
22:23 sorear STD treats ~ as being :assoc<list>
22:23 jnthn Guess if you have immutable strings that can be cheaper.
22:23 sorear I think what I want is related to **@foo
22:23 sorear but Slicels are still poorly understood at best
22:24 gfldex joined #perl6
22:24 jnthn That may work, yes...if only somebody worked Slicels out. :)
22:24 sorear or are those called LoL now
22:24 jnthn I can't keep up wiht the naming
22:25 jnthn There's a .tree method also, IIRC, that is in this area...
22:25 jnthn Or maybe I just dreamed that...
22:25 ymasory joined #perl6
22:25 sorear glad I'm not the only confused one.
22:25 sorear I dreamed .tree too
22:25 jnthn oh, no, it's in S02
22:26 * sorear checks out nom
22:26 jnthn sorear: Actually S02 is quite helpful in that section
22:26 sorear I can use Rakudo/{master,nom} without instaling it into /usr/local, right?
22:27 jnthn It talks about **@foo, .tree and LoL in the same paragraph just about :)
22:27 jnthn Yeah, they don't need installing.
22:27 * sorear thinks that maybe just maybe it'll build in 96 Mwords this time
22:28 sorear Parrot version 3.4.0 required (currently 2.8.0)
22:28 sorear has it really been that long?
22:29 jnthn wow :)
22:29 jnthn OK, time for some rest for me...I should do $dayjob tomorrow.
22:30 sorear sleep well
22:30 jnthn I've managed to pretty much ignore it for the last two days, though one of them being a national holiday helped ;-)
22:30 jnthn night o/
22:30 sorear Why do you have a national holiday?
22:30 jnthn sorear: Sweden calls today Accension Day and says it's a day off. :-)
22:39 ymasory left #perl6
22:43 donri left #perl6
22:54 mj41 left #perl6
22:54 hercynium left #perl6
22:56 icwiener left #perl6
22:59 Trashlord joined #perl6
23:02 mtk left #perl6
23:03 stepnem left #perl6
23:07 stepnem joined #perl6
23:12 mtk joined #perl6
23:14 impiou1 joined #perl6
23:14 impiou1 left #perl6
23:14 dalek niecza: ca8129d | sorear++ | lib/ (4 files):
23:14 dalek niecza: Refactor Binder to include MakeChild functions
23:14 dalek niecza: review: https://github.com/sorear/niecza/commit/ca8129dceb
23:22 hanekomu left #perl6
23:22 sorear who do I blame for the fact that Rakudo is currently only using 40 Mwords to build?
23:25 sorear spoke too soon... almost at 70 now
23:26 sorear 80.
23:28 sorear \o/ core.pm finished using only 80
23:37 whiteknight joined #perl6
23:41 sorear o/ whiteknight
23:41 whiteknight hello sorear
23:42 sorear um
23:42 sorear Linked: perl6
23:42 sorear /home/stefan/dl/rakudo-ng/​parrot_install/bin/parrot  perl6.pbc  --target=pir --output=Test.pir Test.pm
23:42 sorear make: *** [Test.pir] Segmentation fault (core dumped)
23:43 * sorear blows away /usr/local/*/parrot
23:56 jfried left #perl6

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

Perl 6 | Reference Documentation | Rakudo