Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2012-02-28

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 sorear TimToady: I like the way LALR parsers can always tell you the exact location of the error and the set of expected symbols.
00:00 sorear hello and welcome, Araq
00:00 Araq thanks
00:00 att joined #perl6
00:00 Araq unfortunately I have to sleep soon
00:00 * sorear dives into backlog for more on Araq
00:01 Araq maybe I'll come up with another good question before that though :-)
00:02 TimToady sometimes good questions have good answers...sometimes the best answer is "huh...hmm..."  :)
00:03 havenn joined #perl6
00:04 jferrero joined #perl6
00:05 sorear Araq: I'm back - that didn't take long
00:08 `patch` has anyone started work on Str.normalize and the normalization forms?
00:11 Araq so if I have operators * and + and then introduce *+ as an operator the longest match rule disambiguates *+ right?
00:11 TimToady correct
00:12 Araq what if I don't have a *+ operator? is *+ parsed as two tokens or is it an error?
00:12 TimToady well, it would either be a place where those two tokens make sense in that order, or it'd be an error
00:13 TimToady perl6: say 2 *+ 5
00:13 p6eval pugs b927740, rakudo 3ca6e5, niecza v14-97-gacd7da0: OUTPUT«10␤»
00:14 TimToady perl6: sub infix:<*+> ($a,$b) { $a * $b + $b }; say 2 *+ 5
00:14 p6eval niecza v14-97-gacd7da0: OUTPUT«15␤»
00:14 p6eval ..pugs b927740, rakudo 3ca6e5: OUTPUT«10␤»
00:14 TimToady pugs is a bit behind the times
00:14 Araq how do sigils and prefix operators get disambiguated?
00:15 TimToady sigils are consider part of the term, for the most part
00:15 TimToady EXPR never sees them as prefixes
00:16 TimToady note that the LTM knows it's looking at both terms and prefixes in the same alternation
00:16 TimToady so it's not really terribly important which way things are classified
00:17 RandomMonkey joined #perl6
00:17 TimToady the only difference between a term and a prefix is what they expect after them
00:18 Araq I can't follow. Do you mean they are basically only differentiated in the semantic checking phase?
00:19 TimToady the 'termish' rule will look for a sequence of prefixes followed by a single term followed by a sequence of postfixes
00:19 TimToady so a prefix keeps looking for prefixes and terms, while a term will start looking for postfixes
00:20 TimToady EXPR mostly only cares about "termish" vs "infixish"
00:20 Araq ok so !ident and $ident are the same
00:20 Araq (where ! is a prefix operator and $ is a sigil)
00:20 TimToady don't understand the questoion
00:20 TimToady don't understand 'the same'
00:20 Araq I mean syntactically there are the same
00:21 Araq I mean the parser treats ! like $
00:21 TimToady the EXPR method could expect to see either of those at 'termish' time
00:21 Araq yeah that's what I mean
00:21 TimToady but ! is prefix:<!>, while $ is the <sigil> part of <variable>
00:22 TimToady but they all get |'d together into a single alternation, as far as LTM is concerned
00:22 Araq hm ok, but what if I have an operator $ ?
00:22 Araq or is that not allowed?
00:23 TimToady if it's ambiguous, one or the other will go first; the PEG rules are pretty detailed
00:23 Araq perl6: sub infix:<$>($a) { $a; }
00:23 p6eval niecza v14-97-gacd7da0: OUTPUT«Potential difficulties:â�¤  &infix:<$> is declared but not used at /tmp/Eq4gTqbDHL line 1:â�¤------> [32msub infix:<$>[33mâ��[31m($a) { $a; }[0mâ�¤â�¤Â»
00:23 p6eval ..pugs b927740, rakudo 3ca6e5:  ( no output )
00:24 Araq perl6: $4
00:24 p6eval pugs b927740, rakudo 3ca6e5, niecza v14-97-gacd7da0:  ( no output )
00:24 TimToady no state
00:25 Araq should have used 'prefix'?
00:25 Araq perl6: sub prefix:<$>($a) { $a; }
00:25 TimToady definitions don't carry over
00:25 p6eval rakudo 3ca6e5: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&a' called (line 1)␤»
00:25 p6eval ..niecza v14-97-gacd7da0: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Undeclared routine:â�¤     'a' used at line 1â�¤â�¤Potential difficulties:â�¤  $a is declared but not used at /tmp/XzoGhOX3Le line 1:â�¤------> [32msub prefix:<$>([33mâ��[31m$a) { $a; }[0mâ�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/…
00:25 p6eval ..pugs b927740:  ( no output )
00:25 Araq perl6: sub prefix:<$>($a) { return $a; }  $5;
00:25 p6eval niecza v14-97-gacd7da0: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Strange text after block (missing comma, semicolon, comment marker?) at /tmp/6aEmsQTN4E line 1:â�¤------> [32msub prefix:<$>($a) { return $a; }[33mâ��[31m  $5;[0mâ�¤Other potential difficulties:â�¤  $a is declared but not used a…
00:25 p6eval ..pugs b927740: OUTPUT«*** No such subroutine: "&a"␤    at /tmp/6iVFbMDWFF line 1, column 29-31␤»
00:25 p6eval ..rakudo 3ca6e5: OUTPUT«===SORRY!===␤Confused␤at /tmp/RF7x2Vb3AI:1␤»
00:25 TimToady obviously it's preferring your operator there :)
00:27 TimToady perl6: sub prefix:<$>($a) { ::('$a') }; say $5
00:27 p6eval pugs b927740: OUTPUT«pugs: Internal error:␤    Invalid sigil ":$"␤Please file a bug report.␤»
00:27 p6eval ..niecza v14-97-gacd7da0: OUTPUT«Potential difficulties:â�¤  $a is declared but not used at /tmp/YRhvM5xNvj line 1:â�¤------> [32msub prefix:<$>([33mâ��[31m$a) { ::('$a') }; say $5[0mâ�¤â�¤5â�¤Â»
00:27 p6eval ..rakudo 3ca6e5: OUTPUT«5␤»
00:27 TimToady there you go
00:28 Araq lots of fun ahead of me :-)
00:28 Araq but ugh, it's too late already
00:28 Araq thanks for the answers
00:28 Araq good night
00:28 TimToady rest well
00:29 Araq left #perl6
00:29 TimToady somehow I don't think Araq lives in the Cocos Islands  :)
01:07 jaldhar joined #perl6
01:12 scott_ joined #perl6
01:13 tokuhirom joined #perl6
01:22 aloha joined #perl6
01:26 sorear so, what should I put in the announcement about pmurias' P5 stuff?
01:26 sorear it seems he has missed the submission deadline for documentation
01:26 sorear and I don't understand it well enough to write up anything
01:28 colomon P5 made progress?
01:29 colomon the art of the vague
01:29 sorear sounds good
01:41 dalek niecza: f52f360 | sorear++ | docs/announce.v15:
01:41 dalek niecza: Add an announce.v15 draft
01:41 dalek niecza: review: https://github.com/sorear/niecza/commit/f52f360c59
01:42 wolfman2000 joined #perl6
01:43 rafl joined #perl6
01:46 havenn joined #perl6
01:49 TimToady looks good
01:54 colomon +1
01:56 lichtkind good night
01:58 kmwallio joined #perl6
02:14 dalek niecza: 39faf4e | sorear++ | FETCH_URL:
02:14 dalek niecza: Update bootstrap to v15
02:14 dalek niecza: review: https://github.com/sorear/niecza/commit/39faf4ea7f
02:29 baest joined #perl6
02:40 ascent_ joined #perl6
02:41 sorear who is Miroslav Silovic?
02:57 dalek roast: 28ef8dc | coke++ | / (43 files):
02:57 dalek roast: pugs fudges
02:57 dalek roast: review: https://github.com/perl6/roast/commit/28ef8dc7de
02:57 dalek Pugs.hs: 725cddd | coke++ | t/spectest.data:
02:57 dalek Pugs.hs: run fudged tests
02:57 dalek Pugs.hs: review: https://github.com/perl6/Pugs.hs/commit/725cddd948
03:00 woosley joined #perl6
03:01 [Coke] "pugs"  ,      5497,     6,  2174,   583,  8259, 23561
03:01 [Coke] pugs (27.07%); if nothing else changes by the run tomorrow.
03:02 colomon :)
03:12 dalek Pugs.hs: 8d195b3 | coke++ | t/spectest.data:
03:12 dalek Pugs.hs: run tests
03:12 dalek Pugs.hs: review: https://github.com/perl6/Pugs.hs/commit/8d195b3dde
03:14 xinming joined #perl6
03:19 orafu joined #perl6
03:32 xinming joined #perl6
03:41 baest joined #perl6
03:59 havenn joined #perl6
04:08 am0c joined #perl6
04:11 Psyche^ joined #perl6
04:33 havenn joined #perl6
04:42 kaleem joined #perl6
05:09 birdwindupbird joined #perl6
05:11 mucker joined #perl6
05:22 am0c_ joined #perl6
05:29 lestrrat joined #perl6
05:35 noam joined #perl6
05:36 kaleem joined #perl6
05:45 am0c_ joined #perl6
05:56 havenn joined #perl6
06:04 birdwind1pbird joined #perl6
06:10 TimToady http://rosettacode.org/wiki/Arithmetic-geometric_mean#Perl_6
06:13 * TimToady wonders if we should have a fixed-point target for ... to aim at
06:21 sorear just so long as nobody confuses it with Haskell's fix, which takes fixed points in an entirely different way
06:27 * geekosaur has to admit that was how he read it initially
06:27 geekosaur (and tried to apply it to the ... operator.)
06:29 samlh joined #perl6
06:34 Alias joined #perl6
06:45 moritz o/
06:51 sorear /o moritz
07:04 noam joined #perl6
07:09 samlh Yay: https://gist.github.com/1930305
07:10 samlh still need to figure out a way to hook up seeking and pausing
07:12 moritz cool
07:12 moritz samlh++
07:13 samlh moritz: been a long time lurker, probably time to get out of the woodwork
07:14 sorear o/ samlh
07:14 moritz samlh: welcome in the unlurk-world :-)
07:15 moritz s/in/to/
07:17 samlh sorear: \o
07:17 samlh sorear: thanks for a nice implementation :)
07:18 samlh moritz: my final goal is a (lossless) mp3 splitter gui, I'll see how it goes
07:19 samlh sorear: btw, run and qx apparently don't run on windows (no big deal)
07:20 noam_ joined #perl6
07:20 sorear samlh: for run that's known, but qx *should* work
07:21 sorear if you're having qx issues on Windows bring it up with colomon++
07:21 samlh sorear: ok, thanks
07:21 moritz sorear++ # niecza v15
07:22 sorear samlh: btw, you should be able to use .CLR::System::IDisposable::Dispose now instead of .dispose-hack
07:22 sorear (not that it's any shorter or faster *sigh* but at least it's less special-casey)
07:25 samlh ah, cool
07:25 samlh qx error https://gist.github.com/1930380
07:28 moritz phenny: tell colomon about https://gist.github.com/1930380 (qx on windows errors out, samlh++ discovered it)
07:28 phenny moritz: I'll pass that on when colomon is around.
07:57 kaleem joined #perl6
08:07 noam joined #perl6
08:16 plobsing joined #perl6
08:34 mj41 joined #perl6
08:37 havenn joined #perl6
08:39 sisar joined #perl6
08:39 sisar moritz: there ?
08:39 phenny sisar: 27 Feb 17:50Z <moritz> tell sisar I've turned our session into two commits, https://github.com/rakudo/rakudo/commit/d696855f41 and https://github.com/perl6/roast/commit/52f6db64fc
08:40 moritz sisar: yes
08:41 sisar so i took up line 47 in Hash.pm
08:42 moritz ok
08:42 sisar the method is STORE but 'is hidden_from_backtrace' will that be a problem somehow?
08:43 moritz no, not a problem
08:43 sisar (to introduce an exception there)
08:43 sisar ok
08:43 moritz it just means that the backtrace doesn't list it by default, but the calling location
08:43 moritz nom: sub f() { my %h = 1 }; f();
08:43 p6eval nom 3ca6e5: OUTPUT«Odd number of elements found where hash expected␤  in method STORE at src/gen/CORE.setting:5546␤  in sub f at /tmp/qjBIod6o9T:1␤  in block <anon> at /tmp/qjBIod6o9T:1␤␤»
08:43 moritz uhm, and it doesn't even work :(
08:44 sisar you were expecting 'in method STORE' to be missing from the error?
08:44 moritz right
08:46 sisar anything else i need to lookout for or is this a straight forward exception with only 'message' as the only method ?
08:46 moritz it's straight forward
08:47 sisar i named my clas as X::Hash::Store , or should i use caps: STORE ?
08:47 moritz just remember to add the stub for the exception
08:48 * sisar will remember
08:48 moritz sisar: I'd suggest X::Hash::OddNumber
08:48 moritz or X::Hash::Store::OddNumber
08:49 sisar ok, will use X::Hash::Store::OddNumber
08:49 * moritz looks forward to seeing a first patch from sisar++
08:51 sisar .oO ( i went by the name of fasad earlier, ergo, I already have a rakudo commit :p)
08:51 sisar fasad++
08:52 sisar moritz: you missed the anouncement of my nick change
08:53 moritz sisar: or simply forgot. ETOOMANYNICKSAROUNDHERE :-)
08:54 fhelmberger_ joined #perl6
08:58 havenn joined #perl6
09:07 dalek niecza: d19c478 | (Solomon Foster)++ | lib/Builtins.cs:
09:07 dalek niecza: Try to be a little more careful about array boundaries, in hopes of curing the Windows qx issue.
09:07 dalek niecza: review: https://github.com/sorear/niecza/commit/d19c4781ea
09:09 colomon samlh: I just pushed a patch which may fix the qx issue.  My Windows box is at the shop for repairs, so I can't test it.  BTW, are you using mono or .NET?
09:09 phenny colomon: 07:28Z <moritz> tell colomon about https://gist.github.com/1930380 (qx on windows errors out, samlh++ discovered it)
09:09 moritz colomon++
09:10 colomon samlh: btw, run still won't work -- I will port the qx code to run once we've got qx working properly.
09:13 samlh colomon: .net
09:13 samlh colomon: thanks for the fix! I just need to get a compilation env up now :)
09:15 samlh btw, I've been testing https://github.com/sorear/niecza/issues/59 - the original bug is gone, just have to comment out a dispose call
09:15 samlh colomon: have any ideas?
09:17 sorear samlh: interesting - probably some subtle difference in reflection behavior
09:19 sorear samlh: could you gist a run of sierpinski after 'set NIECZA_CLR_TRACE=1' or however that's spelled now?
09:19 sorear (produces 4278 lines of output here; I only *really* care about the ones with Dispose in them)
09:20 sorear although it looks like more context is needed than just what "grep" gives
09:26 * colomon heads back to bed...
09:30 jnthn morning
09:30 samlh sorear: gist updated https://gist.github.com/1931425
09:39 thou joined #perl6
09:40 sisar moritz: i have access to the rakudo/nqp dir only, can you give me full access to rakudo
09:40 sisar (commit access)
09:41 moritz sisar: I'm sorry, we don't hand out commit bits for rakudo so freely :/
09:41 moritz sisar: you'll have to make a pull request
09:41 sisar moritz: ok, will do
09:42 moritz sisar: after a few good patches, you can submit a CLA ("Contributor's License Agreement"), and then the rakudo devs will decide over giving out a commit bit
09:42 sisar ok
09:42 sisar can i make a pull request from my terminal ?
09:43 moritz sisar: not with the git built-ins, but some clever folks have written extensions that allow that: http://www.splitbrain.org/blog/2011-06/19-automate_github_pull_requests
09:43 dakkar joined #perl6
09:47 sisar moritz: if i understand it correctly, that extension is for branch oweners to manage pull requests, not for contributors to make a pull request
09:47 moritz oh :/
09:47 moritz then I should read more careful in future
09:48 sisar moritz: np. i'll fork on github :)
09:48 * sorear -> sleep
09:48 proller_ joined #perl6
09:48 proller joined #perl6
09:49 * samlh -> sleep too
09:50 moritz oh, http://defunkt.io/hub/ can do command line pull requests
09:55 noam joined #perl6
10:01 sisar moritz: https://github.com/rakudo/rakudo/pull/59
10:02 moritz \o/
10:02 dalek rakudo/nom: fc96b6d | (Siddhant Saraf)++ | src/core/Exceptions.pm:
10:02 dalek rakudo/nom: add class X::Hash::Store::OddNumber
10:02 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/fc96b6d60d
10:02 dalek rakudo/nom: 584be63 | (Siddhant Saraf)++ | src/core/Hash.pm:
10:02 dalek rakudo/nom: passing an odd number of elements while hash creation now throws X::Hash::Store::Oddnumber
10:02 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/584be63917
10:02 dalek rakudo/nom: 83b15cd | moritz++ | src/core/ (2 files):
10:02 dalek rakudo/nom: Merge pull request #59 from Siddhant/nom
10:02 dalek rakudo/nom:
10:02 dalek rakudo/nom: typed exception X::Hash::Store::OddNumber
10:02 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/83b15cd1ac
10:03 sisar i'll write a test soon
10:03 sisar for now, afk
10:03 sisar moritz++
10:03 moritz sisar++
10:03 grondilu joined #perl6
10:05 dalek star: 419a68c | jnthn++ | Makefile:
10:05 dalek star: Bump version numbers.
10:05 dalek star: review: https://github.com/rakudo/star/commit/419a68c34c
10:05 dalek star: 0a79ced | jnthn++ | skel/docs/announce/2012.02:
10:05 dalek star: Add first draft of 2012.02 announce.
10:05 dalek star: review: https://github.com/rakudo/star/commit/0a79ced6f2
10:05 dalek star: f41027b | jnthn++ | skel/README:
10:05 dalek star: README version number bump.
10:05 dalek star: review: https://github.com/rakudo/star/commit/f41027b6e9
10:05 grondilu I removed the constraints in my sha256 implementation and it's *way* faster.  About 15 seconds against 5 minutes!   I guess constraints are much too slow.  http://s0.barwen.ch/~grondilu/Crypto.pm6
10:05 phenny grondilu: 27 Feb 18:49Z <TimToady> tell grondilu if you remove the unnecessary 'where' constraints, your sha256 runs 20 times faster
10:05 phenny grondilu: 27 Feb 18:51Z <TimToady> tell grondilu if you really want them, change them to 'where ^33' and it still runs 15 times faster
10:06 grondilu TimToady: indeed I had noticed that yesterday as well.
10:06 jnthn Review and tweaks welcome, as are suggestions of any extra modules that should go into the Star release.
10:06 * moritz reviews
10:06 lestrrat joined #perl6
10:06 jnthn Away for ~15 mins
10:06 grondilu I also had a few perl6 idioms :)
10:07 moritz grondilu: if you want to optimize for rakudo, you can use native ints for the loop variables
10:08 moritz but then it won't run in neicza anymore
10:08 moritz *niecza
10:08 moritz and you ahve to write $i = $i + 16 instead of $i += 16 for now
10:09 moritz jnthn: star release announcement looks good
10:09 grondilu I noticed I can't use the module with the 'use' mechanism for some reason.  It's not implemented or something?
10:10 moritz grondilu: what's the error you get?
10:10 moritz grondilu: you'll need to export some subs for it to be useful
10:11 grondilu by export you mean 'our sub ....', right?
10:12 moritz no, I mean 'sub foo($x) is export {  }
10:12 grondilu oh, my bad
10:13 grondilu but shouldn't I be able to use the function with fully qualified name even if it is not exported? i.e.: perl6 -e 'use MyPackage; MyPackage::foo();'
10:13 moritz well
10:14 moritz in your case, everything is inside the module Crypto
10:14 moritz so it would be
10:14 moritz use Crypto; Crypto::util::bytesToWords(@bytes)
10:15 grondilu anyway I tried stuffs like that several times and it never worked.
10:16 moritz works here
10:16 moritz ./perl6 -e 'use Crypto; say Crypto::sha256::hex "blurb";'
10:16 moritz (wait, wait, wait)
10:16 moritz 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824
10:16 moritz f0ac34ce3cbd715bafcae72f96bd914151c12e8d478bbb645d94d55cf54a1a14
10:17 moritz the first one is from the say sha256::hex "hello"; within the module
10:18 * moritz hopes grondilu++ can reproduce his success
10:20 grondilu oh it does work indeed.  I don't understand what was going wrong.
10:21 moritz maybe a typo
10:21 dalek star: bc1338d | tadzik++ | skel/docs/announce/2012.02:
10:21 dalek star: Fix a typo in the release announcement
10:21 dalek star: review: https://github.com/rakudo/star/commit/bc1338d261
10:24 jnthn tadzik: Nice catch :)
10:25 tadzik it's one of those moments, "there's something in that sentence..." when you stare and stare subconsciously :)
10:29 jnthn I'll do the release late afternoon or early evening to allow time for any shiny extra modules to get added to the list. :)
10:33 daxim joined #perl6
10:39 tadzik I'll add benchmark there
10:40 tadzik and maybe IoC
10:43 dalek nqp/bs: aba92d4 | jnthn++ | src/6model/sixmodelobject.h:
10:43 dalek nqp/bs: Stub in SC barriers.
10:43 dalek nqp/bs: review: https://github.com/perl6/nqp/commit/aba92d4853
10:43 dalek nqp/bs: d770a5a | jnthn++ | src/ops/nqp.ops:
10:43 dalek nqp/bs: First crack at scattering SC-related barriers in appropriate places in nqp.ops.
10:43 dalek nqp/bs: review: https://github.com/perl6/nqp/commit/d770a5ad01
10:43 jnthn tadzik: OK. Please mention in the announce too :)
10:46 tadzik I'll poke it in a while
10:57 * moritz blug: http://perlgeek.de/blog-en/perl-6/2011-02-exceptions.html
11:04 huf joined #perl6
11:05 jnthn moritz++ # nice post
11:05 jnthn moritz: "a special please" => "a special pleasure"
11:06 jnthn moritz++ # for the awesome work too :)
11:06 moritz jnthn: fixed, thanks
11:08 au "a dedicated; type" => "a dedicated type"      or => "a dedicated X::Hash::Store::OddNumber type"?
11:09 au moritz++ # awesome new backtraces
11:09 jnthn oops, missed that stray semi
11:10 ab5tract joined #perl6
11:11 moritz stray colon fixed, au++
11:16 plobsing joined #perl6
11:30 NamelessTee joined #perl6
11:34 dalek roast: 8c63c26 | moritz++ | S03-operators/eqv.t:
11:34 dalek roast: fix rakudo fudge in eqv.t
11:34 dalek roast:
11:34 dalek roast: Rakudo does not like argumentless todo() calls
11:34 dalek roast: review: https://github.com/perl6/roast/commit/8c63c26741
11:39 PacoAir joined #perl6
11:42 xinming joined #perl6
12:00 dalek nqp/bs: f9eb249 | jnthn++ | src/pmc/serializationcontext.pmc:
12:00 dalek nqp/bs: Add slots in the SC for holding object repossession info.
12:00 dalek nqp/bs: review: https://github.com/perl6/nqp/commit/f9eb24924b
12:00 dalek nqp/bs: c11251c | jnthn++ | src/ops/nqp.ops:
12:00 dalek nqp/bs: Implement support for maintaining a stack of currently compiling SCs.
12:00 dalek nqp/bs: review: https://github.com/perl6/nqp/commit/c11251c185
12:00 dalek nqp/bs: 10d5a9c | jnthn++ | src/HLL/World.pm:
12:00 dalek nqp/bs: Push/pop SC to the compiling stack.
12:00 dalek nqp/bs: review: https://github.com/perl6/nqp/commit/10d5a9c495
12:00 dalek nqp/bs: e4937be | jnthn++ | src/ (2 files):
12:00 dalek nqp/bs: First cut at the barrier applicability logic, which just emits a debug message for now.
12:00 dalek nqp/bs: review: https://github.com/perl6/nqp/commit/e4937be88d
12:00 dalek nqp/bs: 93cbec9 | jnthn++ | src/Regex.pir:
12:00 dalek nqp/bs: Regex library needs to push the SC it builds onto the compiling stack while doing so, to prevent spurious repossession; clears up all but two instances in the build of the barrier triggering (which it never should in the NQP build).
12:00 dalek nqp/bs: review: https://github.com/perl6/nqp/commit/93cbec96c6
12:08 sftp joined #perl6
12:21 pernatiy joined #perl6
12:25 bluescreen10 joined #perl6
12:28 frettled joined #perl6
12:30 agentzh joined #perl6
12:36 benabik joined #perl6
12:42 noam joined #perl6
12:45 bluescreen10 joined #perl6
12:52 pernatiy joined #perl6
12:57 dakkar_ joined #perl6
13:00 dalek roast: b92c4a8 | moritz++ | S12-introspection/parents.t:
13:00 dalek roast: rewrite parents.t to not use infix:<eqv> with Mu as argument
13:00 dalek roast: review: https://github.com/perl6/roast/commit/b92c4a84ee
13:05 noam joined #perl6
13:09 nwc10 joined #perl6
13:09 nwc10 moritz: is the IRC logger written in Perl 6 yet? :-)
13:09 moritz nwc10: no
13:10 moritz nwc10: though rakudo supports sockets and enough NCI for database access now, so it would be entirely possible
13:10 nwc10 it would seem like interesting dogfood. Can't say that I'm volunteering, though.
13:11 nwc10 so, currently "Ain't broken, and a bunch of other stuff is more important" seems like a a valid state of affairs.
13:11 jnthn o/ nwc10
13:11 nwc10 hi jnthn
13:12 * nwc10 isn't dead yet, but does now have a cough
13:12 jnthn GPW next week?
13:12 nwc10 assuming that I'm not dead, or faking death convincingly
13:12 moritz nwc10: it is a tempting idea though
13:12 nwc10 bother. I've distracted you from fixing other things :-/
13:13 moritz also I'm now logging perl 5's #onionsketch
13:13 dakkar joined #perl6
13:13 nwc10 I know. That's why I went to have a look
13:13 jnthn .oO( was moritz tempted to re-write the irclogger or fake death convincingly? )
13:13 moritz so it would be a double win to provide some infrastructure for Perl 5 with a tool written in p6 :-)
13:13 nwc10 wanted to know if Perl 6 was doing the logging for something Perl 5
13:13 nwc10 (snap-ish)
13:19 nwc10 left #perl6
13:20 Tedd1 joined #perl6
13:20 dakkar joined #perl6
13:21 ifaria joined #perl6
13:30 dakkar joined #perl6
13:35 simcop2387 joined #perl6
13:50 overrosy joined #perl6
13:53 kaleem joined #perl6
14:16 plobsing joined #perl6
14:28 fsergot hi o/
14:28 mucker joined #perl6
14:29 jnthn o/ fsergot
14:30 tokuhirom joined #perl6
14:30 Trashlord joined #perl6
14:31 gfldex build under cygwin is failing
14:31 gfldex it's not copying cygparrot4_1_0.dll into install
14:31 moritz :(
14:31 benabik ...  Wasn't that fixed not that long ago?
14:32 moritz so I thought too
14:34 dalek rakudo/nom: 137b16b | moritz++ | src/core/Mu.pm:
14:34 dalek rakudo/nom: make infix:<eqv> autothread as per current spec
14:34 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/137b16b655
14:34 JimmyZ_ joined #perl6
14:34 benabik Yeah 25967be seems like it should install the parrot DLL on Cygwin
14:34 dalek roast: 6e10cfa | moritz++ | S03-operators/eqv.t:
14:34 dalek roast: unfudge now passing eqv autothreading tests for rakudo
14:34 dalek roast: review: https://github.com/perl6/roast/commit/6e10cfadbe
14:35 JimmyZ_ which is failing? parrot or nqp ?
14:36 gfldex parrot
14:36 * gfldex is still investigating
14:39 plobsing joined #perl6
14:43 gfldex cygparrot4_1_0.dll is not in MANIFEST* and i think it should
14:43 gfldex or should it not?
14:44 benabik Hm.  My MANIFEST.generated has cygparrot4.1.0.dll instead of 4_1_0...
14:45 gfldex i got that too
14:45 benabik Looks like that may have been a mistake in the release.  It used to have 4_0_0.
14:46 benabik (Or a bug in the tools.  Investigating.)
14:47 benabik Bug in the tools.  Our update version script does s/4.0.0/4.1.0/.  I'll fix manually and then open a bug for the script.
14:47 benabik gfldex++
14:49 skids joined #perl6
14:51 gfldex there is more while building nqp: del .\\libdyncall_s.a
14:51 gfldex make[2]: del: Command not found
14:52 benabik I expected dalek to comment, but I pushed the fix for Parrot in 33a524f.
14:53 JimmyZ_ gfldex: sorry, that's my fault
14:55 JimmyZ_ gfldex: vi 3rdparty\dyncall\buildsys\gmake\os\windows.gmake
14:55 JimmyZ_ gfldex: rm the "RM= del"
14:56 JimmyZ_ gfldex:  I had emailed to dyncall author to fix these windows issues
15:10 JimmyZ_ gfldex: here is the patch
15:11 JimmyZ_ gfldex: https://gist.github.com/1933005
15:11 gfldex i fixed it by hand, it's building now
15:11 JimmyZ_ moritz: this should fix gfldex's problem, hopes it goes into nqp
15:12 [Coke] perl6: sub matchcheck(*@) { 1 }; say "alive";
15:13 p6eval pugs b927740: OUTPUT«*** ␤    Unexpected "*@)"␤    expecting parameter name or ")"␤    at /tmp/7gspqhVBcN line 1, column 16␤»
15:13 p6eval ..niecza v15-2-gd19c478: OUTPUT«Potential difficulties:â�¤  &matchcheck is declared but not used at /tmp/r3EGKDIJTD line 1:â�¤------> [32msub matchcheck[33mâ��[31m(*@) { 1 }; say "alive";[0mâ�¤â�¤aliveâ�¤Â»
15:13 p6eval ..rakudo 137b16: OUTPUT«alive␤»
15:13 [Coke] perl6: sub matchcheck(*@a) { 1 }; say "alive";
15:13 p6eval pugs b927740, rakudo 137b16: OUTPUT«alive␤»
15:13 p6eval ..niecza v15-2-gd19c478: OUTPUT«Potential difficulties:â�¤  @a is declared but not used at /tmp/vX1xivqWAW line 1:â�¤------> [32msub matchcheck(*[33mâ��[31m@a) { 1 }; say "alive";[0mâ�¤  &matchcheck is declared but not used at /tmp/vX1xivqWAW line 1:â�¤------> [32msub matchcheck[33mâ��[31m(*@a…
15:15 [Coke] hey, that's worth about 200 tests right there.
15:16 dalek nqp/bs: 608ee61 | jnthn++ | src/ (3 files):
15:16 dalek nqp/bs: Initial implementation of object/STable repossession; not really possible to test until the serializer is updated.
15:16 dalek nqp/bs: review: https://github.com/perl6/nqp/commit/608ee61536
15:16 dalek nqp/bs: d3c7cd7 | jnthn++ | src/6model/serialization. (2 files):
15:16 dalek nqp/bs: Initial preparations for repossessions table in serialization.
15:16 dalek nqp/bs: review: https://github.com/perl6/nqp/commit/d3c7cd719b
15:16 dalek nqp/bs: d83bff9 | jnthn++ | src/6model/serialization_context.c:
15:16 dalek nqp/bs: Use LSB to signify object vs. STable repossession.
15:16 dalek nqp/bs: review: https://github.com/perl6/nqp/commit/d83bff96e1
15:16 dalek nqp/bs: 3de6217 | jnthn++ | src/6model/serialization.c:
15:16 dalek nqp/bs: Implement serialization of repossessions info.
15:16 dalek nqp/bs: review: https://github.com/perl6/nqp/commit/3de6217c0e
15:16 dalek nqp/bs: cff103f | jnthn++ | src/6model/serialization.c:
15:16 dalek nqp/bs: Implement deserialization time handling of the repossessions. Seems to vaguely work out.
15:16 dalek nqp/bs: review: https://github.com/perl6/nqp/commit/cff103ff78
15:16 dalek nqp/bs: f6c39dc | jnthn++ | src/6model/serialization.c:
15:16 dalek nqp/bs: Clear REPR_data pointer after freeing the data, just in case.
15:16 dalek nqp/bs: review: https://github.com/perl6/nqp/commit/f6c39dcca3
15:16 dalek nqp/bs: 06304cb | jnthn++ | src/ops/nqp.ops:
15:16 dalek nqp/bs: Temporarily disable triggering of SC barrier on setting boolification protocol.
15:16 dalek nqp/bs: review: https://github.com/perl6/nqp/commit/06304cb962
15:16 dalek rakudo/bs: 5d20c5a | jnthn++ | / (2 files):
15:16 dalek rakudo/bs: Add missing Stash class in CORE.setting (we stubbed it in BOOTSTRAP, but never finished it up).
15:16 dalek rakudo/bs: review: https://github.com/rakudo/rakudo/commit/5d20c5a7c4
15:16 birdwind1pbird joined #perl6
15:19 felher moritz++ # for blog-post and hacking :)
15:23 BooK joined #perl6
15:23 pjcj joined #perl6
15:23 Maddingue joined #perl6
15:23 cognominal joined #perl6
15:23 cotto joined #perl6
15:23 wolverian joined #perl6
15:23 daemon joined #perl6
15:24 dju joined #perl6
15:25 drbean joined #perl6
15:44 Psyche^ joined #perl6
15:49 birdwind1pbird joined #perl6
15:50 att joined #perl6
15:51 dalek nqp/bs: 1a15a9a | jnthn++ | src/ (2 files):
15:51 dalek nqp/bs: Have deserialization handle republication of Parrot v-table handlers, so we catch mixin cases also. With this, CORE.setting now seems to load...but then nothing happens afterwards. :/
15:51 dalek nqp/bs: review: https://github.com/perl6/nqp/commit/1a15a9a1b1
15:53 grondilu joined #perl6
15:53 grondilu perl6: my %h = foo => 'bar'
15:53 p6eval niecza v15-2-gd19c478: OUTPUT«Potential difficulties:â�¤  %h is declared but not used at /tmp/kbFei3V9sM line 1:â�¤------> [32mmy [33mâ��[31m%h = foo => 'bar'[0mâ�¤â�¤Â»
15:53 p6eval ..pugs b927740, rakudo 137b16:  ( no output )
15:54 grondilu nom: say my %h = foo => 'bar'
15:54 p6eval nom 137b16: OUTPUT«("foo" => "bar").hash␤»
15:55 grondilu perl6: module Foo { our %h = foo => "bar" }; say %Foo::h;
15:56 p6eval rakudo 137b16: OUTPUT«Method 'STORE' not found for invocant of class 'Any'␤  in <anon> at /tmp/a23QZ65PK_:1␤  in block <anon> at /tmp/a23QZ65PK_:1␤␤»
15:56 p6eval ..niecza v15-2-gd19c478: OUTPUT«{"foo" => "bar"}␤»
15:56 p6eval ..pugs b927740: OUTPUT«␤»
15:56 grondilu rakudo is wrong here, right?
15:57 benabik nom: my %h = foo => 'bar'; say %h
15:57 p6eval nom 137b16: OUTPUT«("foo" => "bar").hash␤»
15:58 benabik nom: our %h = foo => 'bar'; say %h
15:58 p6eval nom 137b16: OUTPUT«Method 'STORE' not found for invocant of class 'Any'␤  in block <anon> at /tmp/lgBZwGby7l:1␤␤»
15:58 benabik Looks like a bug in our.
15:59 jnthn Already ticketed.
16:00 grondilu ok
16:07 jnthn rakudo/bs now runs perl6 -e "say('hello world')"
16:10 havenn joined #perl6
16:14 pernatiy joined #perl6
16:15 jnthn Many of t/00-parrot and t/01-sanity pass also
16:27 libreofficer Hello folks!
16:28 libreofficer jnthn, I still try to understand metaops
16:29 libreofficer what means @values.gimme(1) ? Is this a list with one element?
16:32 jnthn It means "make sure the list we're currently considering has at least 1 reified element"
16:32 libreofficer oh, at least
16:32 jnthn Lists in Perl 6 are lazy. .gimme(n) forces it to evaluate (or ensure it already did evaluate) up to n items
16:32 jnthn well
16:32 jnthn potentially it may do more
16:33 libreofficer I see
16:34 jnthn It returns the number of available elements.
16:35 eiro gimme is like take in the other langages
16:35 jnthn Which other languages? :)
16:36 libreofficer so, 'take' in p6 is something like push in stack?
16:37 TimToady it's more like a yield, but you can see it as a push on some anonymous array attached to the gather
16:38 dalek rakudo/bs: f5f15e5 | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.pm:
16:38 dalek rakudo/bs: Pun configuration needs to be per-run.
16:38 dalek rakudo/bs: review: https://github.com/rakudo/rakudo/commit/f5f15e57a5
16:38 dalek rakudo/bs: 5ab8eea | jnthn++ | tools/build/Makefile.in:
16:38 dalek rakudo/bs: Turn the optimizer down to analysis only - some transform busts things. Will figure out with one later.
16:38 dalek rakudo/bs: review: https://github.com/rakudo/rakudo/commit/5ab8eea24a
16:38 TimToady libreofficer: gimme doesn't return anything except the number of elements actually available
16:38 TimToady munch is more like take
16:38 gfldex somebody build a jnthn compatible bicycle: http://thereifixedit.files.wordpress.com/2012/02/white-trash-repairs-drunk-driving-meet-drunk-biking1.jpg
16:38 dalek roast: 39b3eb7 | (Siddhant Saraf)++ | S32-exceptions/misc.t:
16:38 dalek roast: add test for X::Hash::Store::Oddnumber
16:38 dalek roast: review: https://github.com/perl6/roast/commit/39b3eb7865
16:39 TimToady (like take in FP languages, to make jnthn happy :)
16:40 sisar joined #perl6
16:40 jnthn gfldex: Only if they fill the basket with *good* beer, though :)
16:40 libreofficer I see. I don't write on FP langs too much, but I almost understand
16:40 gfldex jnthn: you can fill it with any beer you want
16:40 jnthn \o/
16:40 TimToady Haskell take is more like .shift(5), if shift took arguments
16:40 * jnthn packs it full of Yeti
16:41 libreofficer two more questions: :infinite, @values.infinite, and that 'triangle' in metaops funcs - what they does?
16:42 jnthn triangle produces all the intermediate results
16:42 jnthn nom: say [+] 1..10
16:42 p6eval nom 137b16: OUTPUT«55␤»
16:42 jnthn nom: say [\+] 1..10
16:42 p6eval nom 137b16: OUTPUT«1 3 6 10 15 21 28 36 45 55␤»
16:42 sisar moritz: please review my commit to misc.t
16:42 TimToady I have no idea what you're referring to by 'infinite'; that word doesn't occur in P6 that I know of
16:43 TimToady is this pmichaud++'s list attribute that says it knows something is infinite?
16:43 jnthn iirc, .infinite is a way of asking an array if it is potentially infinite in length. Evidently, that's not the spec name for it. ;-)
16:43 jnthn TimToady: .infinite is just the accessor for that, yet.
16:43 jnthn *yes
16:44 TimToady afaik there is no spec name for it yet because someone hasn't rewritten S07 yet then :)
16:44 jnthn ah :)
16:44 * jnthn dreams of pmichaud tuits
16:44 TimToady libreofficer: yes .infinite is supposed to tell you if it knows the list is infinite
16:45 TimToady nom: my @foo = 1..*; say @foo.infinite
16:45 p6eval nom 137b16: OUTPUT«True␤»
16:45 TimToady niecza: my @foo = 1..*; say @foo.infinite;  # I suspect this fails
16:45 p6eval niecza v15-2-gd19c478: OUTPUT«(timeout)»
16:46 libreofficer ok, what about ':infinite' ? It looks like this: GATHER({...}, :infinite(@values.infinite))
16:46 TimToady and @foo ~~ :infinite is just a handy way to write the method call in a smartmatch
16:46 jnthn It's just passing on the infiniteness information to the thingy that makes a GATHER
16:47 jnthn s/makes a GATHER/implements gather/
16:47 jnthn GATHER is what a gather desugars to, iirc.
16:47 jnthn Ouch, my hands are demanding a keyboard break... Back in a bit.
16:49 alester joined #perl6
16:49 gfldex i should not have mentioned beer :->
16:49 TimToady my hands usually demand I break my keyboard, but I ignore 'em
16:50 libreofficer nom: say [+] 1..10
16:50 p6eval nom 137b16: OUTPUT«55␤»
16:50 TimToady New scientific study indicates Balmer Peak comes from anesthetic effects on sore hands!
16:51 TimToady nom: say [*] 1..10
16:51 p6eval nom 137b16: OUTPUT«3628800␤»
16:51 retup_work joined #perl6
16:52 libreofficer jnthn, so, as I understand, METAOP_REDUCE only use this anonymous array to gather values, and then return it. And we need to rewrite it like iteration.
16:54 TimToady perl6: say ([\+] 1..*)[10]
16:54 p6eval rakudo 137b16, niecza v15-2-gd19c478: OUTPUT«66␤»
16:54 p6eval ..pugs b927740: OUTPUT«pugs: out of memory (requested 1048576 bytes)␤»
16:54 TimToady perl6: say ([\+] 1..1000000000)[10]
16:54 p6eval rakudo 137b16, niecza v15-2-gd19c478: OUTPUT«66␤»
16:54 p6eval ..pugs b927740: OUTPUT«pugs: out of memory (requested 1048576 bytes)␤»
16:55 TimToady looks like [\op] is already properly lazy
16:55 TimToady (excepting pugs)
16:57 libreofficer I want to try optimize metaops (but for begin I need to fully understand it)
16:58 TimToady have fun!
16:59 marmalade joined #perl6
17:04 TimToady moritz: someone should come up with a whois bot that tells you all the old aliases that came from the same address (which might or might not have helped with the fasad->sisar transition)
17:05 TimToady would also help spot known troublemakers (though one should give them the benefit of the doubt, since the reason for changing names *might* be in the repentant category)
17:06 MayDaniel joined #perl6
17:06 TimToady 'course it wouldn't help if people change name at the same time they change address
17:08 TimToady hmm, you could make the names clickable in the irclog with known/guessed info  :)
17:08 libreofficer two technical details. perl6 docs locates only on perlcabal.org? There is no some mans/downloadable files. And second - how to run perl6 code faster? My machine run scripts with some annoying delay
17:11 TimToady github.com/perl6/specs
17:12 TimToady and which implementation are you using?
17:12 TimToady niecza compiles slower but runs up to 20 times faster than rakudo
17:12 TimToady (though rakudo is likely to go much faster in the future)
17:13 TimToady and it really depends on what you're doing; some things they do at about the same speed
17:14 libreofficer I use rakudo from debian repos
17:14 TimToady that seems likely to be fairly ancient
17:14 thou joined #perl6
17:14 libreofficer I also cloned rakudo and compile it, but not runs it yet
17:14 TimToady most of us just use the latest from github
17:14 libreofficer debian wheezy
17:15 libreofficer oh, its old too, really
17:16 TimToady I just do a git pull --rebase every day and recompile; the test suite keeps it fairly stable
17:16 TimToady I also track niecza, and go back and forth to see what works well in which
17:21 TimToady sigh, my pugs broke because it hardwires libffi.so.5, and my system upgraded itself to 6
17:22 jnthn Rakudo's startup time should be improving soon also.
17:22 benabik jnthn: Any initial results on that, or waiting until you unbreak more stuff?
17:22 TimToady he just got to "Hello, world!"
17:23 jnthn It certainly *feels* faster. I should do something more scientific, but want to unbust some more bits first.
17:23 benabik TimToady: In other words, he's gotten it running code!  It's exciting!
17:23 benabik jnthn: Very cool.  Didn't mean to put pressure, just curious an excited.
17:23 jnthn Well, the most exciting thing about it doing "Hello, world!" is it means that it successfully deserialized CORE.setting and at least some of the stuff in it was usable.:)
17:23 moritz sisar: test commit looks good.
17:24 jnthn It also passes a bunch of sanity tests.
17:24 sorear good * #perl6
17:24 TimToady whoops, gotta go sign a bunch of refi papers &
17:24 jnthn Many of the fails look like the same underlying issue, which is just a NYI in the serializer.
17:24 jnthn o/ sorear
17:25 sisar moritz: :-)
17:26 dalek nqp: 4ff8545 | moritz++ | 3rdparty/dyncall/ (2 files):
17:26 dalek nqp: windows fix by JimmyZ
17:26 dalek nqp: review: https://github.com/perl6/nqp/commit/4ff8545638
17:29 sisar moritz: src/core/ has both Exception.pm and Exceptions.pm, which is kinda confusing
17:29 mishin_ joined #perl6
17:35 moritz sisar: sorry about that
17:36 moritz mostly hysterical raisins
17:37 moritz I should join them into one at some point
17:38 plobsing joined #perl6
17:40 fglock joined #perl6
17:41 fglock o/
17:41 [Coke] rant: it should be a TAP error to have two identically described tests.
17:45 moritz rant: it should be TAP error to post two identical lines in two different channels :-)
17:47 jnthn rant: it should be a TAP error to rant
17:47 jnthn oh, wait...
17:47 sisar moritz: also, most (or maybe none) files in src/core/ do not have beginning comments to describe a files's purpose, so i can't just open a file & understand what's it for :-|
17:48 moritz sisar: it's usually quite easy. Int.pm implements the 'Int' class and operations that work on Int
17:48 moritz sisar: fairly intuitive, isn't it?
17:49 sisar Only the names, give ssome hint... well you said it already :)
17:50 skipper joined #perl6
17:51 sisar moritz: can you explain line 220 in control.pm. How do i trigger it ?
17:54 moritz nom: sub f { gather { take $_ for 1..3; return } }; my @a := f; .say for @f
17:54 p6eval nom 137b16: OUTPUT«===SORRY!===␤Variable @f is not declared␤at /tmp/U8mSjxAla_:1␤»
17:54 moritz nom: sub f { gather { take $_ for 1..3; return } }; my @a := f; .say for @a
17:54 p6eval nom 137b16: OUTPUT«Attempt to return from exhausted Routine␤  in sub EXHAUST at src/gen/CORE.setting:520␤  in block <anon> at src/gen/CORE.setting:347␤  in block <anon> at /tmp/XJAo6k6kfy:1␤␤»
17:54 moritz sisar: this sub returns a lazy list. At the time the return() is run, the subroutine has already returned
17:57 sisar hmm
17:57 * sisar sleeps zzz...
17:59 kmwallio joined #perl6
18:02 phoenix1789 joined #perl6
18:04 Chillance joined #perl6
18:09 dalek rakudo/nom: e959358 | moritz++ | / (3 files):
18:09 dalek rakudo/nom: move contents of src/core/Exceptions.pm into Exception.pm
18:09 dalek rakudo/nom:
18:09 dalek rakudo/nom: No functional changes
18:09 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e959358405
18:12 skipper joined #perl6
18:18 dalek nqp/bs: 20ef680 | jnthn++ | src/ops/nqp.ops:
18:18 dalek nqp/bs: Comment out debug code - don't need it for now.
18:18 dalek nqp/bs: review: https://github.com/perl6/nqp/commit/20ef680fb8
18:18 dalek nqp/bs: cce66db | jnthn++ | src/6model/serialization.c:
18:18 dalek nqp/bs: Start chasing chains of outer contexts, serializing along the chain rather than just the immediate one. No deserialization of the chaining just yet.
18:18 dalek nqp/bs: review: https://github.com/perl6/nqp/commit/cce66dbaec
18:18 dalek nqp/bs: 3f742fc | jnthn++ | src/6model/serialization.c:
18:18 dalek nqp/bs: Serialization/deserialization of lexpads with natively typed lexicals.
18:18 dalek nqp/bs: review: https://github.com/perl6/nqp/commit/3f742fcb99
18:18 dalek nqp/bs: 3a2f19c | jnthn++ | src/6model/serialization.c:
18:18 dalek nqp/bs: Fix a comment.
18:18 dalek nqp/bs: review: https://github.com/perl6/nqp/commit/3a2f19c2f3
18:18 dalek nqp/bs: 629c0b0 | jnthn++ | src/6model/serialization.c:
18:18 dalek nqp/bs: Fixup of outer context chains on deserialization. Unbusts attribute accessor generation, which means that Rakudo's error reporting now works again and various sanity tests now pass again.
18:18 dalek nqp/bs: review: https://github.com/perl6/nqp/commit/629c0b0184
18:20 jnthn dinner &
18:42 moritz jnthn: fwiw at some point the bs brach in nqp needs to be updated in a similar way as rakudo/master in connection to the take_recont merge
18:43 moritz jnthn: that would make it easier for people to switch between nom and bs, because then they can use the same parrot for both
18:46 MayDaniel joined #perl6
18:46 birdwindupbird joined #perl6
18:48 sorear samlh: still here?
19:02 att joined #perl6
19:09 pernatiy joined #perl6
19:10 Teratogen joined #perl6
19:15 jnthn moritz: Now that rakudo/bs is close to being somewhere interesting, yeah, I should look into that.
19:16 sorear phenny: tell samlh I am curious what version of Mono.Cairo.dll you have
19:16 phenny sorear: I'll pass that on when samlh is around.
19:18 Khisanth joined #perl6
19:28 MayDaniel joined #perl6
19:46 kaare_ joined #perl6
19:49 tadzik 'evening
19:53 pyrimidine left #perl6
19:56 Tene grue: /join #phasers
19:56 Tene Oops
19:56 jnthn hi tadzik
19:56 Tene Typing is hard.
19:56 jnthn Your command has been eaten by a grue.
19:57 fglock `/leave
19:57 fglock left #perl6
19:57 tadzik yeah, typins' hard
19:57 tadzik * typing's
20:03 tadzik ./perl6 -e 'say 1'  0.25s user 0.09s system 97% cpu 0.346 total
20:03 tadzik not bad!
20:04 jnthn tadzik: That's in the bs branch?
20:04 tadzik aye
20:04 jnthn tadzik: What is it for you normally?
20:04 tadzik I guess around 1 second
20:05 jnthn OK, so it's about 25% of what it was.
20:05 tadzik more-less-ish
20:06 tadzik I may rebuild the non-bs nom, I'll probably have to do some hacking on it before GPW anyway
20:06 jnthn Yeah, bs still has a couple of serious issues.
20:06 jnthn (Not unexpected ones, just things I didn't get to doing yet.)
20:08 tadzik jnthn++
20:08 tadzik awesome to see such progress
20:13 masak evenin', #perl6
20:13 sorear masak!
20:14 jnthn bon soir, masak
20:14 masak sorear++ # release
20:14 masak jnthn++ # I haven't backlogged yet, but I see "25% of what it was" above, and that sounds... promising :)
20:14 sorear colomon++ # most of the cool features in v15
20:14 tokuhirom joined #perl6
20:15 sorear sounds like bs will greatly increase my startup time parity challenges :| :D
20:15 drbean joined #perl6
20:15 TimToady niecza: say [1, 0.70710678118654746] eqv [0.85355339059327373, 0.8408964152537145]
20:15 p6eval niecza v15-2-gd19c478: OUTPUT«True␤»
20:15 TimToady ^^^
20:16 TimToady er, sorear ^^^
20:16 sorear What are the last two numbers?
20:16 sorear (is it sad that I can instantly recognize sqrt(1/2) ?)
20:16 TimToady the 2nd iteration from http://rosettacode.org/wiki/Arithmetic-geometric_mean#Perl_6
20:17 TimToady which doesn't work if I change the all >>==<< to an eqv
20:17 masak sorear: no, it's not sad. was gonna say that it's completely normal, but I guess it isn't... :)
20:17 TimToady niecza: say [1, 0.70710678118654746] eqv [0.85355339059327373, 0.8408964152537145, 42]
20:17 p6eval niecza v15-2-gd19c478: OUTPUT«False␤»
20:17 masak sorear: anyway, I recognized it too. I consider it one of the constants that one "should" recognize.
20:18 TimToady I suspect niecza is comparing lengths rather than values of the arrays
20:18 * masak submits nieczaissue
20:19 TimToady niecza: say [1, 0.70710678118654746] ~~ [0.85355339059327373, 0.8408964152537145]
20:19 p6eval niecza v15-2-gd19c478: OUTPUT«False␤»
20:19 TimToady well, that works
20:20 TimToady but eqv is rather more in the spirit of things
20:20 benabik left #perl6
20:20 TimToady incidentally, rakudo fails on the line before that
20:21 benabik joined #perl6
20:21 TimToady if the masakbot is looking for fuel
20:22 * TimToady wonders if Boeing named their first jetliner after that number...
20:22 jnthn my @new := [ 0.5 * [+](@old), sqrt [*](@old) ]; # that line?
20:23 jnthn nom: my @new = 1,2,3; say [+](@new)
20:23 p6eval nom e95935: OUTPUT«6␤»
20:23 TimToady yeah, I get No applicable candidates found to dispatch to for 'Numeric'. when I run the program
20:24 TimToady maybe it's elsewhere
20:25 jnthn Hm. I know we fixed the reduction parsing thingy not so long ago but long ago enough that I suspect you've a new enough nom.
20:25 TimToady fresh built today
20:25 jnthn OK
20:25 jnthn Then my first guess at why it didn't work ain't it :)
20:26 TimToady okay, it's the 'last' that's doing it, apparently throwing away the partial sequence
20:26 TimToady so the [*-1] fails
20:27 TimToady if I comment the last and change *-1 to [5] it works
20:27 TimToady oh, wait, no
20:27 TimToady wrong impl
20:27 TimToady but different error
20:28 TimToady now it gets: Nominal type check failed for parameter '@old'; expected Positional but got Num instead
20:28 TimToady I wonder if it's flattening the @new return value into the sequence
20:29 TimToady which is arguably correct...
20:29 TimToady yes
20:29 TimToady if I change the return value to [@new] it works
20:30 TimToady and still works in niecza
20:30 TimToady however, if I uncomment the last it still has the No applicable error
20:31 TimToady works if the subscript is [3] rather than [*-1], so the problem doesn't seem to be a null return
20:31 TimToady so last is probably working right
20:31 TimToady more like *-1 is not getting a valid *
20:32 TimToady changing that to [10] returns Nil, so the last is correctly terminating
20:33 jnthn nom: say (1, 3 ... 9)[*-1]
20:33 p6eval nom e95935: OUTPUT«9␤»
20:33 jnthn nom: say (1, 3 ... 9)[*-2]
20:33 p6eval nom e95935: OUTPUT«7␤»
20:33 TimToady ah, it's returning Inf for the length
20:34 TimToady because it 'knows' it's ... *
20:34 TimToady and doesn't know there's a last
20:34 TimToady yes, works if I change it to ... 100
20:35 TimToady that's...an interesting failure mode
20:37 TimToady actually, works with ... 0 too, since that never matches +[$a,$g]
20:38 plobsing joined #perl6
20:38 TimToady though ... False might be a faster test
20:39 MayDaniel joined #perl6
20:40 * TimToady wonders if [*-1] should be specced to use the reified length if Inf
20:41 TimToady since no one in their right mind will want to find the last element of an infinite list, except maybe a mathematician
20:43 TimToady nom: say [].^methods
20:43 p6eval nom e95935: OUTPUT«new bind_pos delete flattens REIFY STORE_AT_POS STORE PARAMETERIZE_TYPE at_pos perl new Bool Int end fmt flat list flattens tree Capture Parcel at_pos eager elems exists gimme infinite iterator munch pick pop push roll reverse rotate shift unshift splice sort classify…
20:44 TimToady offhand I don't see a method to get the reified length
20:44 TimToady nom: say List.^methods
20:44 p6eval nom e95935: OUTPUT«new Bool Int end fmt flat list flattens tree Capture Parcel at_pos eager elems exists gimme infinite iterator munch pick pop push roll reverse rotate shift unshift splice sort classify categorize uniq REIFY STORE_AT_POS FLATTENABLE_LIST FLATTENABLE_HASH keys values pa…
20:44 jnthn That'd be equivalent to reifying it I guess
20:45 tadzik jnthn: ./perl6 -e 'say 1'  1.05s user 0.16s system 94% cpu 1.288 total
20:45 TimToady I don't want to reify it, just find how much of it real already
20:45 TimToady esp if it's infinite
20:45 tadzik that's nom, so yeah, bs is about 1/4 of the startup time
20:45 tadzik (at the current state)
20:45 broquaint joined #perl6
20:46 TimToady nom: say [1,2,3..*].gimme(*)
20:46 jnthn nom: my @x = 1, 3 ... *; say @x[3]; say @x.gimme(*)
20:46 p6eval nom e95935: OUTPUT«2␤»
20:46 p6eval nom e95935: OUTPUT«7␤4␤»
20:47 jnthn Ah, we both had the same idea :)
20:47 TimToady so I'd argue that the number fed to a subscript for [*-1] should be that number, not Inf
20:48 TimToady .elems can still return Inf, i guess
20:48 havenn joined #perl6
20:49 masak maybe I'm just being needlessly conservative, but I think it sounds like a confusing feature.
20:50 masak not all lazy lists are infinite.
20:50 masak what if I *want* it to find the end and give me the last item?
20:50 TimToady true; I guess what I really want is the ... to trap the 'last' and unmark the .infinite
20:51 y3llow_ joined #perl6
20:51 pothos_ joined #perl6
20:51 TimToady niecza is producing the correct result because it does not yet support .infinite
20:52 TimToady well, and it's not flattening the @new into the ... list
20:54 y3llow joined #perl6
20:55 pothos joined #perl6
20:56 y3llow joined #perl6
20:56 masak +1 on trapping 'last' and unmarking .infinite -- that's only fair/sane/correct in this case.
20:57 TimToady okay, http://rosettacode.org/wiki/Arithmetic-geometric_mean#Perl_6 now works with both niecza and rakudo (working around current issues)
20:58 pothos joined #perl6
20:58 TimToady will switch to eqv and * when those issues are resolved
20:58 y3llow joined #perl6
20:58 TimToady for now uses ~~ and 0
20:59 TimToady oh, and scalar variables to avoid flattening
21:00 TimToady I think it's a nieczabug that @new doesn't flatten into the sequence's list context
21:01 TimToady we have use cases that rely on 1, 1, -> $a, $b { ...; $new-a, $new-b } ... *
21:01 y3llow joined #perl6
21:01 pothos joined #perl6
21:03 y3llow joined #perl6
21:03 TimToady in fact, one could write the agm program in that form, except that niecza would bind the returned capture all to the next $a, I suspect
21:04 dalek rakudo/bs: 038e84c | jnthn++ | src/Perl6/World.pm:
21:04 dalek rakudo/bs: Remvoe todo that's no longer todo.
21:04 dalek rakudo/bs: review: https://github.com/rakudo/rakudo/commit/038e84c5c3
21:04 dalek rakudo/bs: 662c70a | jnthn++ | src/ (3 files):
21:04 dalek rakudo/bs: Update lexical fixup handling for bs; earlier I just commented it out out. This gets us passing all 00-parrot and all of 01-sanity apart from the final test which requires Test.pm, which we can't quite build yet.
21:04 dalek rakudo/bs: review: https://github.com/rakudo/rakudo/commit/662c70a5fb
21:04 pothos joined #perl6
21:05 TimToady niecza: my @x := 1,10, -> $a, $b { $a+1, $b+1 } ... *; say @x[5]
21:05 p6eval niecza v15-2-gd19c478: OUTPUT«3 3␤»
21:05 TimToady nom: my @x := 1,10, -> $a, $b { $a+1, $b+1 } ... *; say @x[5]
21:05 p6eval nom e95935: OUTPUT«5 14␤»
21:05 TimToady sorear: ^^ nieczabug
21:06 y3llow_ joined #perl6
21:07 pothos_ joined #perl6
21:07 TimToady in fact, behavior specced at S03:1886
21:08 TimToady nap &
21:08 att joined #perl6
21:16 samlh joined #perl6
21:18 broquaint joined #perl6
21:18 drbean joined #perl6
21:18 tokuhirom joined #perl6
21:18 Khisanth joined #perl6
21:18 Teratogen joined #perl6
21:18 pernatiy joined #perl6
21:18 Chillance joined #perl6
21:18 marmalade joined #perl6
21:18 alester joined #perl6
21:18 Patterner joined #perl6
21:18 dju joined #perl6
21:18 wolverian joined #perl6
21:18 cognominal joined #perl6
21:18 Maddingue joined #perl6
21:18 pjcj joined #perl6
21:18 skids joined #perl6
21:18 Trashlord joined #perl6
21:18 overrosy joined #perl6
21:18 simcop2387 joined #perl6
21:18 Tedd1 joined #perl6
21:18 noam joined #perl6
21:18 sftp joined #perl6
21:18 huf joined #perl6
21:18 baest joined #perl6
21:18 ascent_ joined #perl6
21:18 rafl joined #perl6
21:18 aloha joined #perl6
21:18 jaldhar joined #perl6
21:18 jferrero joined #perl6
21:18 hundskatt joined #perl6
21:18 bacek joined #perl6
21:18 ggoebel joined #perl6
21:18 eiro joined #perl6
21:18 fsergot joined #perl6
21:18 slavik1 joined #perl6
21:18 bbkr joined #perl6
21:18 takesako joined #perl6
21:18 s1n joined #perl6
21:18 odoacre joined #perl6
21:18 geekosaur joined #perl6
21:18 SHODAN joined #perl6
21:18 libreofficer joined #perl6
21:18 chra joined #perl6
21:18 zamolxes joined #perl6
21:18 rhr joined #perl6
21:18 clkao joined #perl6
21:18 phenny joined #perl6
21:18 nsh joined #perl6
21:18 BooK_ joined #perl6
21:18 buubot_backup joined #perl6
21:18 felher joined #perl6
21:18 revdiablo joined #perl6
21:18 silug joined #perl6
21:18 arnsholt joined #perl6
21:18 dalek joined #perl6
21:18 HarryS joined #perl6
21:18 diakopter joined #perl6
21:18 p6eval joined #perl6
21:18 tokuhirom3 joined #perl6
21:18 snarkyboojum joined #perl6
21:18 robinsmidsrod joined #perl6
21:18 mikemol joined #perl6
21:18 jfried joined #perl6
21:18 fhelmberger joined #perl6
21:18 timotimo joined #perl6
21:18 Lorn joined #perl6
21:18 BinGOs joined #perl6
21:18 x3nU joined #perl6
21:18 integral joined #perl6
21:18 Gothmog_ joined #perl6
21:18 zb joined #perl6
21:18 tomaw joined #perl6
21:18 cosimo joined #perl6
21:18 sivoais joined #perl6
21:18 Helios- joined #perl6
21:18 ilogger2 joined #perl6
21:18 kshannon joined #perl6
21:18 nebuchadnezzar joined #perl6
21:18 perimosocordiae joined #perl6
21:18 etneg joined #perl6
21:18 au joined #perl6
21:18 literal joined #perl6
21:18 pochi joined #perl6
21:18 Juerd joined #perl6
21:18 PerlJam joined #perl6
21:18 masak joined #perl6
21:18 Util joined #perl6
21:18 [particle] joined #perl6
21:18 stepnem joined #perl6
21:18 jlaire joined #perl6
21:18 sudokode joined #perl6
21:18 prammer joined #perl6
21:18 pomysl joined #perl6
21:18 rsimoes joined #perl6
21:18 djanatyn joined #perl6
21:18 tty234 joined #perl6
21:18 betterworld joined #perl6
21:18 rsimoes1 joined #perl6
21:18 domidumont joined #perl6
21:18 yves joined #perl6
21:18 yeltzooo joined #perl6
21:18 Yappoko____ joined #perl6
21:18 karamorf joined #perl6
21:18 mattp_ joined #perl6
21:18 szbalint joined #perl6
21:18 szabgab joined #perl6
21:18 moritz joined #perl6
21:18 kst joined #perl6
21:18 Woodi joined #perl6
21:18 krunen joined #perl6
21:18 sirhc joined #perl6
21:18 DarthGandalf joined #perl6
21:18 hillu joined #perl6
21:18 avar joined #perl6
21:18 felipe joined #perl6
21:18 sjn joined #perl6
21:18 `10 joined #perl6
21:18 flussence joined #perl6
21:18 imarcusthis joined #perl6
21:18 Grrrr joined #perl6
21:18 ingy joined #perl6
21:18 jrockway joined #perl6
21:18 zostay joined #perl6
21:18 renormalist joined #perl6
21:18 sunnavy joined #perl6
21:18 cj joined #perl6
21:18 Timbus joined #perl6
21:18 cxreg joined #perl6
21:18 kcwu joined #perl6
21:18 y3llow joined #perl6
21:20 * [Coke] wonders if we should be putting rosetta code offerings in roast.
21:20 [Coke] (preferably in some way that doesn't require manual syncing)
21:20 [Coke] jnthn++ # such bs.
21:21 pothos joined #perl6
21:21 y3llow joined #perl6
21:21 dalek nqp/bs: a1249b9 | jnthn++ | src/6model/serialization.c:
21:21 dalek nqp/bs: For now, just treat Coroutine like Sub. Gets us able to compile Test.pm and - after copying it elsewhere because of some PROCESS bug that screws up module location - we can run spectests again. Many pass, quite a bit of fail, but hopefully a few common root causes for most of them.
21:21 dalek nqp/bs: review: https://github.com/perl6/nqp/commit/a1249b98ba
21:22 masak nom: sub infix:<*+> ($a,$b) { $a * $b + $b }; say 2 *+ 5
21:22 p6eval nom e95935: OUTPUT«10␤»
21:22 * masak submits rakudobug
21:23 moritz nom: sub infix:<*+> ($a,$b) { $a * $b + $b }; say infix:<*+>(2, 5)
21:23 jnthn wtf
21:23 p6eval nom e95935: OUTPUT«15␤»
21:23 y3llow joined #perl6
21:24 felher hm. Does nom think its 2 *(+5)?
21:24 pothos joined #perl6
21:24 masak aye.
21:24 masak niecza gets it right.
21:24 jnthn yeah but...even the cheating LTM that Rakudo's parser depends on is meant to get *that* case right.
21:24 masak that's why I'm submitting it as a bug :)
21:25 jnthn Well, I dobut I'm gonna hunt down a bug in a load of code I plan to eliminate as soon as I get the tuits. :)
21:25 jnthn Hopefully the new LTM engine gets it righter.
21:26 y3llow joined #perl6
21:26 masak well, RT is a catalogue of things that are currently wrong, and makes no allowances for hope. ;)
21:27 pothos joined #perl6
21:28 jnthn I wasn't disagreeing with the ticket. :)
21:28 jnthn Just saying I won't jump on it right away. :)
21:28 y3llow joined #perl6
21:30 masak nodnod.
21:30 pothos joined #perl6
21:30 dalek rakudo/bs: 7c6ebd7 | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.pm:
21:30 dalek rakudo/bs: Fix PROCESS handling. Now all 00-parrot and 01-sanity pass and we can run the spectests with the build produced right off.
21:30 dalek rakudo/bs: review: https://github.com/rakudo/rakudo/commit/7c6ebd7256
21:34 jnthn Yesterday:
21:34 jnthn 22:05 <jnthn> Wonder if I can get Rakudo passing most of them spectests again with the bs. :)
21:34 jnthn 22:06 <masak> sounds like a challenge :)
21:34 jnthn Depends how you pick "most", but: challenge achieved. :)
21:34 timotimo "the bs"? :)
21:34 cognominal bs is no bs.
21:35 jnthn timotimo: "Bounded Serialization"
21:35 jnthn timotimo: A Rakudo branch I've been workong on.
21:35 havenn joined #perl6
21:35 jnthn timotimo: It cuts hundreds of megs off compiling CORE.setting, quarters startup time and will enable various missing features, extra optimizations, etc.
21:37 prammer 'for' lop  =>  'for' loop  # http://perlgeek.de/blog-en/perl-6/2011-02-exceptions.html
21:39 jnthn OK, gonna take a break, and when I come back I'll cut this month's R* release.
21:39 jnthn masak: When you did the Rakudo release did you cut an NQP release tarball also?
21:39 jnthn https://github.com/downloads/perl6/nqp/nqp-2012.02.tar.gz
21:39 jnthn gives 404 error
21:40 masak huh :/
21:40 masak jnthn: I did not. it's not in nqp's docs/release_guide.pod
21:40 jnthn :/
21:41 jnthn Release guide fail.
21:41 masak feel free to do it now. I would, but I'm a bit tied up.
21:41 jnthn Sure, I do it after le break. :)
21:46 masak rant: it should be a TAP error to read the backlog and then make fun of emergent memes in it.
21:48 mj41 joined #perl6
21:50 masak moritz++ # http://perlgeek.de/blog-en/perl-6/2011-02-exceptions.html
21:50 [Coke] rant: all y'all. :P
22:00 jaymibbs joined #perl6
22:00 preflex_ joined #perl6
22:13 araujo :)
22:17 * jnthn is back
22:25 havenn joined #perl6
22:27 Araq joined #perl6
22:27 masak Araq! \o/
22:28 Araq how would templating systems or preprocessors work without source code filters?
22:28 Araq (hi masak :-) )
22:28 masak your question invites all manner of cheeky/witty responses, but I'll go this route instead:
22:28 masak what do you mean?
22:29 Araq well I heard perl6 has no source code filters anymore
22:29 masak Perl 6 rejects the notion of Perl 5 source filters.
22:29 masak since the latter qualify as multi-pass parsing.
22:30 masak and Perl 6 excplicitly parses source in a single pass.
22:30 snearch joined #perl6
22:31 masak thus, the kinds of templating systems or preprocessors you're thinking of cannot be Perl 6, since Perl 6 is single-pass. :)
22:32 Araq ok so something like http://www.csse.monash.edu.au/~damian/papers/HTML/Perligata.html is simply not supported anymore?
22:33 masak not through Perl 5-style source filters, no.
22:34 masak basically, we hope that our gift of general, extensible, hookable parsing will more than make up for that.
22:34 timotimo jnthn: sounds great!
22:35 timotimo the bs branch i mean
22:35 Araq ok, now the cheeky/witty responses please
22:35 timotimo quarter of startup time is good. last time i checked, startup time was horrible ;)
22:35 benabik bs always _sounds_ great.
22:36 Araq I can't image what's funny about my question, but english is not my mother tongue ;-)
22:37 masak Araq: how would they work? "very well."
22:38 Araq oh alright :-)
22:38 jnthn wtf, the Rakudo * makefile freezes while trying to check out Config-INI
22:38 masak Araq: I wasn't able to tell, fwiw, that English is not your mother tongue. now that I know, I still think it's more than adequate.
22:50 dalek star: 7a3322c | jnthn++ | skel/Configure.pl:
22:50 dalek star: Update versions in Configure.pl (grr, gotta automate this stuff more...)
22:50 dalek star: review: https://github.com/rakudo/star/commit/7a3322c7a9
23:04 dalek star: 60ba95e | jnthn++ | skel/tools/build/Makefile.in:
23:04 dalek star: Dammit, forgot to update this too. :-/
23:04 dalek star: review: https://github.com/rakudo/star/commit/60ba95e9eb
23:05 Araq README: "This is the 2011.07 release of Rakudo Star."
23:05 Araq nope ;-)
23:05 masak Araq++
23:06 geekosaur someone needs to write a script to catch that, isn't this like the second or third time someone has caught that before release?
23:06 geekosaur (and at least once nobody caught it)
23:06 jnthn Yes, this is waht I bloody mean. there's fo fscking automatio.
23:06 jnthn *no
23:06 XooX joined #perl6
23:06 jnthn Which is why I'm still cutting this stupid release rather thatn doing something more fun.
23:06 masak XooX: welcome.
23:06 * masak hugs jnthn
23:07 XooX left #perl6
23:07 jnthn Not to mention I have to do it under Linux 'cus the script to cut one doesn't work on Windows. :(
23:10 masak yeah. much as I dislike using Windows, having a Linux-only script sounds too monocultural.
23:10 geekosaur (obviously it should be written in perl 6)
23:11 jnthn Indeed.
23:12 masak yeah, because a build script is where you'd want to battle with bootstrapping problems.</sarcasm>
23:14 geekosaur :)
23:15 jnthn fwiw, 2012.02 uses 2.2GB of RAM to build CORE.setting. In the bs branch it peaks around 1.3GB.
23:15 jnthn nom: say 1.3/2.2
23:15 p6eval nom e95935: OUTPUT«0.590909090909091␤»
23:15 Araq good night guys
23:16 jnthn 'night, Araq
23:16 Araq left #perl6
23:17 jnthn (That's on 64-bit...)
23:18 jnthn Which, yes, is still way to high. But it's a move in the right direction.
23:19 jnthn At least, I has a release tarball
23:20 havenn joined #perl6
23:22 masak 'night, #perl6
23:23 felher o/
23:25 alvis joined #perl6
23:26 jnthn http://rakudo.org/2012/02/28/rakudo-star-2012-02-released/ # it's out
23:37 whiteknight joined #perl6
23:54 felher jnthn++ :)
23:59 lestrrat joined #perl6
23:59 havenn joined #perl6

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

Perl 6 | Reference Documentation | Rakudo