Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2013-05-17

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:02 berekuk joined #perl6
00:11 grondilu adu: http://bellard.org/jslinux/  <-- that's impressive
00:11 adu grondilu: yeah, I heard it uses llvm2js combined with clang
00:12 adu or something like that
00:16 grondilu does that mean they compiled a kernel into javascript code?
00:19 adu grondilu: I guess so
00:19 gfldex no, it's a x86 emulator
00:19 gfldex it's fairly basic on the hardware side, it got a ramdisk and serial ports
00:19 gfldex and in that it runs a linux kernel
00:20 adu here it is: http://bellard.org/jslinux/tech.html
00:20 gfldex that bellard fellow did a lot of cool stuff
00:20 gfldex https://en.wikipedia.org/wiki/Fabrice_Bellard
00:32 raiph_ joined #perl6
00:52 tomaw joined #perl6
00:52 yeltzooo joined #perl6
00:52 sitaktif1 joined #perl6
00:52 rafl joined #perl6
00:52 simcop2387 joined #perl6
00:52 dbr joined #perl6
00:52 mathw joined #perl6
00:52 arnsholt joined #perl6
00:52 pnu_ joined #perl6
00:52 rom1504 joined #perl6
00:52 krunen joined #perl6
00:52 groky joined #perl6
00:52 cosimo joined #perl6
00:52 bakedb_ joined #perl6
00:52 sergot_ joined #perl6
00:52 drbean joined #perl6
00:52 awwaiid joined #perl6
00:52 TimToady joined #perl6
00:52 Yappo_________ joined #perl6
00:52 mattp_ joined #perl6
00:52 diakopter joined #perl6
00:52 stevan__ joined #perl6
00:52 tokuhirom_ joined #perl6
00:52 takesako_____ joined #perl6
00:52 pjcj_ joined #perl6
00:52 cotto joined #perl6
00:52 markov joined #perl6
00:52 silug____ joined #perl6
00:52 BinGOs joined #perl6
00:52 rjbs joined #perl6
00:52 cibs joined #perl6
00:52 baest joined #perl6
00:52 avar joined #perl6
00:52 Maddingue joined #perl6
00:52 mj41 joined #perl6
00:52 sciurius_ joined #perl6
00:52 masak joined #perl6
00:52 woolfy joined #perl6
00:52 camelia joined #perl6
00:52 sivoais joined #perl6
00:52 anocelot joined #perl6
00:52 sorear joined #perl6
00:52 hugme joined #perl6
00:52 dayangkun joined #perl6
00:52 sftp joined #perl6
00:52 sjohnson joined #perl6
00:52 cooper joined #perl6
00:52 telex joined #perl6
00:52 moritz joined #perl6
00:52 bruges joined #perl6
00:52 prammer_ joined #perl6
00:52 Ulti joined #perl6
00:52 dalek joined #perl6
00:52 lue joined #perl6
00:52 Pleiades` joined #perl6
00:52 Gothmog_ joined #perl6
00:52 Hor|zon joined #perl6
00:52 geekosaur joined #perl6
00:52 Celelibi joined #perl6
00:52 jnthn joined #perl6
00:52 scottp_ joined #perl6
00:52 broquaint joined #perl6
00:52 nwc10 joined #perl6
00:52 renormalist joined #perl6
00:52 eiro joined #perl6
00:52 itz_ joined #perl6
00:52 colomon joined #perl6
00:52 Util joined #perl6
00:52 PerlJam joined #perl6
00:52 Vlavv joined #perl6
00:52 gtodd joined #perl6
00:52 frdmn joined #perl6
00:52 vaelxon joined #perl6
00:52 grondilu joined #perl6
00:52 DarthGandalf joined #perl6
00:52 xenoterracide joined #perl6
00:52 eternaleye joined #perl6
00:52 araujo joined #perl6
00:52 pochi joined #perl6
00:52 robinsmidsrod joined #perl6
00:52 bbkr joined #perl6
00:52 lizmat joined #perl6
00:52 smash joined #perl6
00:52 odoacre_ joined #perl6
00:52 atrodo joined #perl6
00:52 nebuchadnezzar joined #perl6
00:52 mls joined #perl6
00:52 pmichaud joined #perl6
00:52 Rix joined #perl6
00:52 Patterner joined #perl6
00:52 erkan joined #perl6
00:52 xinming joined #perl6
00:52 _jaldhar_ joined #perl6
00:52 ivan`` joined #perl6
00:52 mikemol joined #perl6
00:52 cognominal joined #perl6
00:52 FROGGS joined #perl6
00:52 SmokeMachine joined #perl6
00:52 Guest12382 joined #perl6
00:52 bloonix joined #perl6
00:52 breinbaas joined #perl6
00:52 betterwo1ld joined #perl6
00:52 Timbus joined #perl6
00:52 yakshavr joined #perl6
00:52 [Coke] joined #perl6
00:52 adu joined #perl6
00:52 chayin_ joined #perl6
00:52 konundra joined #perl6
00:52 skids joined #perl6
00:52 jerome__ joined #perl6
00:52 xilo joined #perl6
00:52 gdey joined #perl6
00:52 [particle] joined #perl6
00:52 lustlife joined #perl6
00:52 ehouse joined #perl6
00:52 jlaire_ joined #perl6
00:52 Tene_ joined #perl6
00:52 gfldex_ joined #perl6
00:52 kbenson1 joined #perl6
00:52 nyuszika7h joined #perl6
00:52 shachaf joined #perl6
00:52 raiph joined #perl6
00:52 _daniel-s__ joined #perl6
00:52 PZt joined #perl6
00:52 ironcamel joined #perl6
00:52 yoleaux joined #perl6
00:52 Juerd joined #perl6
00:52 felher joined #perl6
00:52 p5eval joined #perl6
00:52 crazedpsyc joined #perl6
00:52 charsbar_______1 joined #perl6
00:52 lee_ joined #perl6
00:52 timotimo joined #perl6
00:52 Grrrr joined #perl6
00:52 jtpalmer_ joined #perl6
00:52 Nom- joined #perl6
00:52 Bucciarati joined #perl6
00:52 LordVorp joined #perl6
00:52 dpk joined #perl6
00:52 yves_ joined #perl6
00:52 patspam joined #perl6
00:52 wtw joined #perl6
00:53 clkao_ joined #perl6
00:53 rhr joined #perl6
00:53 fgomez joined #perl6
00:53 lichtkind joined #perl6
00:53 mtk joined #perl6
00:53 prevost joined #perl6
00:53 djanatyn joined #perl6
00:53 szbalint_ joined #perl6
00:53 bonsaikitten joined #perl6
00:53 preflex joined #perl6
00:53 LoRe_ joined #perl6
00:53 huf joined #perl6
00:53 ggoebel joined #perl6
00:53 jercos joined #perl6
00:53 sjn joined #perl6
00:53 BooK joined #perl6
00:53 GlitchMr joined #perl6
00:53 cxreg joined #perl6
00:53 Kelder joined #perl6
00:53 snarkyboojum_ joined #perl6
00:53 kst joined #perl6
00:53 integral joined #perl6
00:53 genehack_ joined #perl6
00:53 hlin_ joined #perl6
00:53 ingy joined #perl6
00:53 kshannon joined #perl6
00:53 Khisanth joined #perl6
00:53 salv0 joined #perl6
00:53 lestrrat joined #perl6
00:53 ilbot6 joined #perl6
00:53 yx joined #perl6
00:53 jferrero joined #perl6
00:53 snuffles joined #perl6
00:53 larks joined #perl6
00:53 hoelzro joined #perl6
00:53 labster joined #perl6
00:53 MrMeek joined #perl6
00:53 ponbiki joined #perl6
00:53 SHODAN joined #perl6
00:53 revdiablo joined #perl6
00:53 flussence joined #perl6
00:53 `patch` joined #perl6
00:53 espent joined #perl6
00:53 s1n joined #perl6
00:53 __sri joined #perl6
00:53 jfried joined #perl6
00:53 sdgvf_ joined #perl6
00:54 lichtkind joined #perl6
00:55 raiph joined #perl6
00:58 sivoais_ joined #perl6
01:00 FROGGS_ joined #perl6
01:01 sivoais joined #perl6
01:05 anuby joined #perl6
01:10 kurahaupo joined #perl6
01:15 gyptr joined #perl6
01:17 RtC3A joined #perl6
01:21 dalek rakudo-star-daily: 7d2f3be | coke++ | log/ (5 files):
01:21 dalek rakudo-star-daily: today (automated commit)
01:21 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/7d2f3be21f
01:33 berekuk joined #perl6
01:38 gdey_ joined #perl6
01:38 [Coke] .ask arnsholt can you get zavolaj passing its tests so we can cut a star a release? I see you've got some other commits in htere.
01:38 yoleaux [Coke]: I'll pass your message to arnsholt.
01:39 [Coke] .ask perlpilot can you get Grammar-Profiler-Simple passing its tests so we can cut a star release?
01:39 yoleaux [Coke]: I'll pass your message to perlpilot.
01:41 [Coke] .ask cosimo can you get perl6-lwp-simple passing its tests so we can cut a star release? looks like some sub signatures have changed.
01:41 yoleaux [Coke]: I'll pass your message to cosimo.
02:08 colomon n: say Set ~~ Cool
02:08 camelia niecza v24-51-g009f999: OUTPUT«False␤»
02:08 colomon that's awkward
02:08 colomon r: say Set ~~ Cool
02:08 camelia rakudo 570d1d: OUTPUT«False␤»
02:08 colomon rn: say Hash ~~ Cool
02:08 camelia niecza v24-51-g009f999: OUTPUT«False␤»
02:08 camelia ..rakudo 570d1d: OUTPUT«True␤»
02:16 bonsaikitten joined #perl6
02:25 labster r: my \foo;
02:25 camelia rakudo 570d1d: OUTPUT«===SORRY!===␤Method 'ast' not found for invocant of class 'NQPMu'␤»
02:25 labster r: my \foo = 1;
02:25 camelia rakudo 570d1d:  ( no output )
02:25 labster huh.
02:32 sorear You found a bug!
02:33 diakopter heh, it's in RT
02:34 diakopter at least, I recall summoning masakbot for that a few months ago
02:35 colomon rn: sub foo(*@a) { say @a.perl; }; foo(1, set <a  b c>);
02:35 camelia rakudo 570d1d: OUTPUT«Array.new(1, "a", "b", "c")␤»
02:35 camelia ..niecza v24-51-g009f999: OUTPUT«(1, Set.new("a", "b", "c")).list␤»
02:35 sorear ok
02:55 jaldhar joined #perl6
03:05 preflex_ joined #perl6
03:11 dayangkun joined #perl6
03:24 census joined #perl6
03:42 prevost joined #perl6
04:24 utWU8 joined #perl6
04:25 Psyche^ joined #perl6
04:36 adu joined #perl6
04:37 SOSBk joined #perl6
04:50 dmol joined #perl6
04:56 kmbhR joined #perl6
04:59 moritz \o
05:00 bamboo joined #perl6
05:08 DKykm joined #perl6
05:08 SamuraiJack joined #perl6
06:01 FROGGS joined #perl6
06:11 sqirrel joined #perl6
06:18 eternaleye joined #perl6
06:27 dayangkun joined #perl6
06:31 konundra joined #perl6
06:43 domidumont joined #perl6
06:44 eternaleye joined #perl6
07:00 kaleem joined #perl6
07:13 domidumont joined #perl6
07:22 eternaleye joined #perl6
07:31 eEyBv joined #perl6
07:31 labster o/
07:31 sorear o/ labster
07:32 FROGGS o/
07:32 labster good $localtime, sorear && FROGGS
07:33 FROGGS hi
07:35 GzkXv joined #perl6
07:39 felipe joined #perl6
07:41 eternaleye joined #perl6
07:53 lizmat morning #perl6!
07:53 FROGGS morning lizmat
07:54 lizmat .tell jnthn that the spectest worked out ok, so that his patches fixed the autoviv pb on typed hashes
07:54 yoleaux lizmat: I'll pass your message to jnthn.
07:54 FROGGS cool
07:56 jnthn Cool, somebody PR or push it :)
07:56 yoleaux 07:54Z <lizmat> jnthn: that the spectest worked out ok, so that his patches fixed the autoviv pb on typed hashes
07:57 eternaleye joined #perl6
08:12 daxim joined #perl6
08:15 sorear lizmat! :D
08:17 berekuk joined #perl6
08:23 fhelmberger joined #perl6
08:32 sqirrel joined #perl6
08:34 * lizmat can't do a pull request without getting other stuff along   :-(
08:36 lizmat fwiw, these are the changes: https://gist.github.com/lizmat/5597773
08:37 * lizmat wishes she had a commit bit  :-)
08:37 FROGGS you could clone to another location :/
08:40 sorear lizmat: branches!
08:41 lizmat sorear: yes, branches.  The problem is that if I branch now, it includes a number of other fixes that I made which are in the pull request for nom
08:42 berekuk joined #perl6
08:42 lizmat I polluted my version of nom
08:43 lizmat see pull request #138 (nom) and #139 (dotkvshoulddie).  #139 contains stuff that shouldn't be in there
08:43 FROGGS what if you checkout the revision right before adding your commits, and then create a new branch? does that work?
08:44 lizmat no, because there are other peoples fixes in it after that
08:44 araujo joined #perl6
08:45 lizmat so I should probably checkout just before my first commit, branch and then start cherry picking ?
08:45 lizmat or clone again   :-(
08:45 lizmat maybe I'll just do that
08:46 FROGGS might be less headaches
08:47 FROGGS jnthn: I watched a video from you about optimization last night, this is the result: https://gist.github.com/FROGGS/d830a84c4bb9f6b2fe07
08:47 FROGGS I hope there is no thinko, and I hope it is worth committing
08:48 moritz there is a thinko
08:48 moritz you return the result of the cmp
08:48 moritz not the sorted list
08:50 FROGGS ahh, yes
08:56 labster well, I thought that I had figured out how to fix Rakudo to let assigning Nil to a container yield the empty container type, but it's not working unless I call infix:<=> directly.
08:57 moritz also the (Mu, Mu) special case is wrong; there could be call as   sort(&comparator, $single-item) which shouldn't do a comparison at all, just return $single-item
08:57 tgt joined #perl6
08:58 moritz labster: the last time I approached that topic, the problem was that   my $x = Nil;  should produce Any (the default), not Mu (the container type)
08:58 moritz labster: and it needs a special case in C
08:58 labster my Cool $f = 3; $f = Nil #`($f set to Nil) ; infix:<=>($f, Nil) # $f set to Cool
08:58 moritz labster: see branch nil-assign
09:01 labster Okay, I was approaching it through infix<=> in operations.pm
09:04 lizmat grrr..  I can't seem to fork rakudo again without dropping my current fork, which would invalidate all my pull requests presumably  :-(
09:05 FROGGS hmmm
09:05 moritz just use a different branch, not a different fork
09:05 lizmat I'll just add it to my current pull request #138 then
09:05 lizmat moritz: see pull request #139
09:05 lizmat it contains #138 basically
09:07 lizmat ok, will branch from 2a04f23dbcbe42dd8e62a0e352d116fc0464be15, this will miss a few commits from you wrt to constant folding
09:07 moritz no problem, a merge won't remove them
09:07 lizmat but that shouldn't matter for the pull request then, should it?
09:08 moritz correct
09:10 labster moritz: so a naive approach like this in operators.pm won't work?  https://gist.github.com/labster/5597934
09:10 pecastro joined #perl6
09:15 sorear lizmat: make a new branch, switch to it, git reset --hard origin/master
09:15 moritz labster: correct
09:16 berekuk joined #perl6
09:16 sorear sleep&
09:16 lizmat gnight sorear!
09:17 labster Yeah, if I'm not going to make any progress tonight, sleep sounds good
09:17 labster good night
09:22 lizmat finally: https://github.com/rakudo/rakudo/pull/141
09:27 lizmat rn: my $s=Stash.new; say $s.WHAT
09:27 camelia rakudo 570d1d: OUTPUT«(Hash)␤»
09:27 camelia ..niecza v24-51-g009f999: OUTPUT«(Stash)␤»
09:27 lizmat this means I can't use Stash as a parameter constraint  :-(
09:28 lizmat r: sub S (Stash $s) { say $s }; S(Stash.new)   # rakudobug?
09:28 camelia rakudo 570d1d: OUTPUT«Nominal type check failed for parameter '$s'; expected Stash but got Hash instead␤  in sub S at /tmp/ep3aQw5kNa:1␤  in block  at /tmp/ep3aQw5kNa:1␤␤»
09:28 moritz yes, Stash.new should produces a Stash, not a Hash
09:29 * lizmat submist rakudobug
09:31 araujo joined #perl6
09:32 daxim stumbit.  it's spelt stumbit.
09:32 lizmat yes, I know, I'm studip
09:33 lizmat dyslexists, untie!
09:33 daxim http://perlmonks.org/?node_id=25195
09:34 FROGGS I'd like to commit this to nqp today: any objections? https://gist.github.com/FROGGS/5598019
09:35 mathw o/
09:36 FROGGS \o
09:36 lizmat hmmm…. that's new at the bottom of every PerlMonks page: "Built with the Perl programming language."
09:37 lizmat that should help the Tiobe index :-)
09:38 daxim http://perlmonks.org/?node_id=1023745
09:41 * moritz is still pondering whether to add the same to the irclog pages
09:43 * lizmat thinks "Powered by ilbit.  Provided by Moritz Lenz.  Built with the Perl programming language.  Please direct…. " would look good
09:44 lizmat .tell sorear "git reset --hard orgin/master" gave "fatal: ambiguous argument 'origin/master': unknown revision or path not in the working tree."
09:44 yoleaux lizmat: I'll pass your message to sorear.
09:45 donaldh joined #perl6
09:45 moritz lizmat: what does 'git remote' say?
09:45 moritz lizmat: oh, on rakudo you have to say origin/nom, not origin/master
09:45 moritz we have no master branch :-)
09:45 lizmat I was just testing that  :-)
09:46 lizmat indeed: HEAD is now at f1f965b Merge remote-tracking branch 'upstream/nom' into nom
09:46 lizmat ok, learned some more git fu today
09:47 lizmat moritz++  :-)
09:48 lizmat (for adding "Built with the Perl programming language")  ;-)
10:03 araujo joined #perl6
10:05 LoRe joined #perl6
10:06 lizmat http://blogs.perl.org/users/enkidu/2013/05/porting-tests-to-perl-6.html   # suggestions anyone?
10:12 daxim he asks too much, likely unwittingly
10:14 lizmat well, fwiw, I've had mberends ask me the same question a few months back
10:15 lizmat and I've been thinking about it, but apart from creating some meta Test language from which Perl 5 / 6 tests can be generated
10:15 lizmat I don't really see a solution
10:36 lizmat r: my %h{Any}; my %i=%h.new; say %h.WHAT; say %i.WHAT  # did we agree that this was a rakudobug?
10:36 camelia rakudo 570d1d: OUTPUT«(Hash+{TypedHash})␤(Hash)␤»
10:41 FROGGS moritz / jnthn: <FROGGS> I'd like to commit this to nqp today: any objections? https://gist.github.com/FROGGS/5598019
10:43 moritz FROGGS: I don't have much time for reviews today, sorry
10:44 lizmat r: my %h{Any}; my %i=%h.clone; say %h.WHAT; say %i.WHAT  # it also goes wrong for .clone, I assume because it uses .new
10:44 camelia rakudo 570d1d: OUTPUT«(Hash+{TypedHash})␤(Hash)␤»
10:44 * lizmat submits rakudobug
11:00 mathw lizmat: in theory, with the ability to call a Perl 5 module from Perl 6 you could run a Perl 6 test suite against the Perl 5 implementation to ensure the test suite matches the Perl 5 one, before then running it against the Perl 6 module. Except the interface to the module wouldn't be the same, so you'd need to shim it a bit...
11:01 lizmat well, yes, that's the problem, I think: you can create a Test.pm API that would work in both Perl 5 and Perl 6, but you'd still have code inbetween that is either Perl 5 or Perl 6 and would not run both
11:02 lizmat I guess you could write something with fudging, as fudging takes out lines of code, and not tests
11:02 lizmat as I found out yesterday  ;-)
11:27 sqirrel joined #perl6
11:29 kaleem joined #perl6
11:56 moritz fwiw ilbot6 has been running for several days in a row
11:56 kaleem joined #perl6
11:56 moritz and its memory usage is increasing steadily, but slowly
11:57 FROGGS moritz: and still fits on a cd?
11:57 moritz FROGGS: no
11:57 moritz now at 1G
11:58 FROGGS I hope it is only NativeCalls fault, and nothing else
12:00 lizmat moritz: and it started at ?
12:01 moritz lizmat: dunno, but a few days ago it was 600MB
12:01 lizmat so nothing a restart at 8am wouldn't fix  :-)
12:02 Juerd Let's bikeshed about the timezone
12:02 * moritz sheds some bikes
12:03 lizmat 8am CEST
12:03 lizmat it;s usually quietest on #perl6, I think
12:23 rindolf joined #perl6
12:23 mtk joined #perl6
12:28 mtk joined #perl6
12:30 lizmat how do I convert a Pair into a list of its parts?
12:31 lizmat r: my $a= (a => 1); say $a.list.elems  # creates a 1 element list with a pair
12:31 camelia rakudo 570d1d: OUTPUT«1␤»
12:32 gudahtt joined #perl6
12:34 lizmat r: my $a= (a => 1); say $a.kv.list.elems   # by first taking the .kv
12:34 camelia rakudo 570d1d: OUTPUT«2␤»
12:34 lizmat :-)
12:42 konundra joined #perl6
12:43 sdo joined #perl6
12:43 sdo hello
12:43 FROGGS hi
12:43 lizmat hi sdo!
12:44 sdo I have little troble but nothing serious
12:44 sdo I installed Perl6 on Mac OS X a year ago
12:45 dalek rakudo/jvm-support: 07e5a3f | tadzik++ | tools/build/Makefile-JVM.in:
12:45 dalek rakudo/jvm-support: Fix parallel build
12:45 dalek rakudo/jvm-support: review: https://github.com/rakudo/rakudo/commit/07e5a3fb04
12:45 lizmat that's a long time in Perl 6 years
12:46 [Coke] definitely time to upgrade. what's the trouble, sdo?
12:48 tadzik hah, now clean 'make -j4' on jvm is just over 2 minutes here
12:48 tadzik how awesome is that
12:50 lizmat pretty awesome, I guess ?
12:50 tadzik awesome by my standards :)
12:52 * [Coke] sees that vanillaperl is up for grabs.
12:53 * [Coke] hurls http://blogs.perl.org/users/enkidu/2013/05/porting-tests-to-perl-6.html?utm_source=feedly for commentors.
12:54 tgt joined #perl6
12:56 lizmat [Coke]: there has been some discussion about that at http://irclog.perlgeek.de/perl6/2013-05-17#i_7081381
13:00 * [Coke] reads more schwernage and is saddened by the state of the onion.
13:01 tadzik yeah
13:02 dalek nqp: c3cdeb6 | (Tobias Leich)++ | src/QRegex/P (2 files):
13:02 dalek nqp: enable regex special characters as delimiters
13:02 dalek nqp:
13:02 dalek nqp: Special chars like quantifiers or control characters can be used
13:02 dalek nqp: as delimiters. If they are used as delims they cant be used for
13:02 dalek nqp: their original meaning, of course.
13:02 dalek nqp: review: https://github.com/perl6/nqp/commit/c3cdeb6e37
13:03 lizmat FROGGS++
13:04 FROGGS lizmat: you pushed failing tests to roast, which pull request is connected with it? 138?
13:05 lizmat FROGGS: I think I fudged these last night
13:05 lizmat the failing tests were indeed for 138 and/or 139
13:05 FROGGS hmmm, still fails here
13:05 FROGGS t/spec/S32-hash/exists-adverb.rakudo                    (Wstat: 0 Tests: 44 Failed: 8)
13:05 FROGGS Failed tests:  6-13
13:06 FROGGS # 138 {}:delete and {}:exists up to spec
13:06 lizmat ok, I'll fudge those as well then
13:09 FROGGS or you wait a bit and I'll test your pr
13:10 dalek roast: 86f678d | (Elizabeth Mattijsen)++ | S32-hash/exists-adverb.t:
13:10 dalek roast: Some more fudges needed while waiting for pull request #138
13:10 dalek roast:
13:10 dalek roast: Spotted by FROGGS++
13:10 dalek roast: review: https://github.com/perl6/roast/commit/86f678dabf
13:11 lizmat FROGGS: actually, if you could pull #141
13:11 lizmat those are jnthn's fixed from last night
13:11 cognominal http://www.johndcook.com/blog/2013/05/16/extreme-syntax/
13:11 lizmat *fies
13:11 lizmat *fixes (sigh)
13:11 PacoAir joined #perl6
13:11 bluescreen10 joined #perl6
13:12 dalek rakudo/nom: 93e96b4 | (Elizabeth Mattijsen)++ | src/ (2 files):
13:12 dalek rakudo/nom: Fix for autoviv Typed hash problem
13:12 dalek rakudo/nom:
13:12 dalek rakudo/nom: As suggested by jnthn.  I think there is a ticket for this, but do not know
13:12 dalek rakudo/nom: its number.
13:12 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/93e96b44e1
13:12 dalek rakudo/nom: 7c7a709 | (Tobias Leich)++ | src/ (2 files):
13:12 dalek rakudo/nom: Merge pull request #141 from lizmat/fixautovivtypedhash
13:12 dalek rakudo/nom:
13:12 dalek rakudo/nom: Fix for autoviv Typed hash problem
13:12 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7c7a709d39
13:12 cognominal it points to a book that talks about (lisp) macros   "Let Over Lambda"
13:12 cognominal that may interest masak
13:13 FROGGS masak will read everything that stays still long enough :P
13:14 cognominal it seems that macros are the forte of this book
13:15 cognominal part of it is online http://letoverlambda.com/index.cl/toc
13:19 tadzik speaking of reading everything, guess what I found at $company library yesterday
13:19 prevost joined #perl6
13:19 tadzik a shiny dragonbook, 2ed, waiting to be borrowed
13:19 tadzik I did. I borrowed it hard.
13:20 FROGGS I dont have time for reading right now :/
13:20 FROGGS all I want to read atm are grammars and action-hooks
13:21 cognominal and the acronym is : LoL
13:24 mathw dragonbook?
13:25 tadzik mathw: http://www.amazon.com/Compilers-Principles-Techniques-Tools-Edition/dp/0321486811/
13:26 * colomon wonders if his old copy is 1st or 2nd ed.
13:27 colomon looks like 1st reprinted with corrections?
13:27 colomon 1988
13:28 dalek rakudo/nom: 86cf85a | (Tobias Leich)++ | t (2 files):
13:28 dalek rakudo/nom: pull in nqp's delim-fix, fixes RT #117415
13:28 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/86cf85a372
13:28 tadzik does it have a chapter about GC?
13:28 cognominal colomon, if you bought it you would remember the price, over $100
13:29 cognominal ho, now a bargain, at $76
13:30 dalek roast: 8387137 | (Tobias Leich)++ | S05-metasyntax/delimiters.t:
13:30 tadzik heh, I usually frown at books that are over 30 PLN :)
13:30 dalek roast: new test file for regex-delims, RT #117415
13:30 dalek roast: review: https://github.com/perl6/roast/commit/83871378dd
13:30 tadzik (circa $10)
13:39 colomon cognominal: no memory whatsoever of what it cost me.  I think I bought it for the compilers class I dropped out of on the first day.  (probably foolishly, but they were very insistent that I didn't have the proper prerequisites for the class.)
13:40 mathw tadzik: aah, good book
13:41 daxim tadzik, should I exchange € → P⃫L⃫N⃫ before I leave?  what are the chances of getting around in warsaw with just €?
13:42 lizmat or relatedly: what are the chances of getting by with plastic ?
13:42 tadzik daxim: having bare € might be tricky, some stores accept it, some not
13:42 lizmat afk for a few hours
13:42 tadzik getting by with plastic should be quite possible
13:42 lizmat also for parking?
13:43 tadzik hmm, probably not
13:43 woosley1 joined #perl6
13:44 tadzik I'm usually getting by without cash, it only doesn't work when I'm ordering food to work
13:44 tadzik but I don't drive or whatnot
13:45 dalek niecza: 5c908dc | (Tobias Leich)++ | t/spectest.data:
13:45 dalek niecza: new test file for regex-delimiters
13:45 dalek niecza: review: https://github.com/sorear/niecza/commit/5c908dc0c7
13:48 colomon r: say 9*11, 10*10
13:48 camelia rakudo 570d1d: OUTPUT«99100␤»
13:48 [Coke] nifty todoing there.
13:48 [Coke] rpn: https://gist.github.com/coke/5599132
13:49 camelia niecza v24-51-g009f999: OUTPUT«1..23␤ok 1 - ^ as delimiter in match and substitution␤ok 2 - ° as delimiter in match and substitution␤ok 3 - ! as delimiter in match and substitution␤ok 4 - " as delimiter in match and substitution␤ok 5 - § as delimiter in match and substitution␤ok 6 - $ a…
13:49 camelia ..pugs: OUTPUT«pugs: *** Unsafe function 'use' called under safe mode␤    at /tmp/su7ElI6oDZ line 1, column 1␤»
13:49 camelia ..rakudo 570d1d: OUTPUT«1..23␤not ok 1 - ^ as delimiter in match and substitution␤ok 2 - ° as delimiter in match and substitution␤ok 3 - ! as delimiter in match and substitution␤not ok 4 - " as delimiter in match and substitution␤ok 5 - § as delimiter in match and substitution␤not ok 6 - …
13:50 FROGGS rakudo should be fine in 20 minutes
13:51 PerlJam A little late here, but did you guys read the comments to that Extreme Syntax post?  Specifically http://www.johndcook.com/blog/2013/05/16/extreme-syntax/comment-page-1/#comment-125932
13:51 PerlJam “Lisp” is a family of languages whereas Perl is a language
13:52 PerlJam That's already not true, but also not well-known I  think
13:52 PerlJam (Perl too is a family of languages with at least 4 variants that I can think of without try too hard)
13:52 [Coke] pug: r: "b" ~~ m/b/
13:52 PerlJam s/try/trying/
13:52 [Coke] r: r: "b" ~~ m/b/
13:52 camelia rakudo 570d1d: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Two terms in a rowâ�¤at /tmp/YBtMqRUzSh:1â�¤------> [32mr[33mâ��[31m: "b" ~~ m/b/[0mâ�¤    expecting any of:â�¤        argument listâ�¤        postfixâ�¤        infix stopperâ�¤        infix or meta-infixâ�¤        statement endâ�¤        statement m…
13:52 [Coke] r: "b" ~~ m/b/
13:52 camelia rakudo 570d1d:  ( no output )
13:52 [Coke] r: say "b" ~~ m/b/
13:53 camelia rakudo 570d1d: OUTPUT«「b」␤␤»
13:53 [Coke] ... shouldn't that have to be m/'b'/  ?
13:53 FROGGS why?
13:53 jnthn no
13:53 FROGGS you can quote it, but you dont have to
13:53 jnthn It's only non-alphanums that have to be quoted
13:54 PerlJam [Coke]: no.  S05:111
13:54 FROGGS [Coke]: it has no special meaning, so it can be like it is
13:55 FROGGS r: "a" ~~ m-a-
13:55 camelia rakudo 570d1d:  ( no output )
13:55 FROGGS r: "a" ~~ m-a-g
13:55 camelia rakudo 570d1d: OUTPUT«[31m===[0mSORRY![31m===[0m�Unsupported use of /g; in Perl 6 please use :g�at /tmp/j27NclDWPn:1�------> [32m"a" ~~ m-a-g[33m�[31m<EOL>[0m�»
13:55 skids joined #perl6
13:55 [Coke] hokay.
13:55 FROGGS weird, I'd expected it to parse it as a sub
13:56 FROGGS I guess that is actually a bug (and I think there already is a ticket)
13:56 FROGGS r: sub m-a-g { }
13:56 camelia rakudo 570d1d:  ( no output )
13:56 FROGGS yeah
14:02 tgt joined #perl6
14:06 * nwc10 is curious if anyone knows the Eclipse Memory Analyzer enough to experiment on Rakudo JVM. It will probably help Rakudo on parrot too
14:07 FROGGS nwc10: you might wanna bug donaldh: http://irclog.perlgeek.de/search.pl?channel=perl6&amp;nick=&amp;q=eclipse
14:08 nwc10 I don't feel I know him well enough to "bug" him.
14:10 nwc10 also, I have no good idea how "hard" this is. If there is "excess" memory use from a lot of similar little objects that are retained on many many nodes of the tree, then it's probably not going to stand out on any simple view of "where did all the RAM go?"
14:10 nwc10 but a one or two line fix somewhere will prune many of them
14:10 nwc10 pm's hunch being that some things are being kept about that are never needed again, but because they are still referenced, the GC (correctly) can't free them.
14:11 FROGGS .tell donaldh you might find this interesting: http://irclog.perlgeek.de/perl6/2013-05-17#i_7082019
14:11 yoleaux FROGGS: I'll pass your message to donaldh.
14:12 donaldh hi o/
14:12 yoleaux 16 May 2013 18:44Z <jnthn> donaldh: the runner seems to work fine on Windows
14:12 yoleaux 14:11Z <FROGGS> donaldh: you might find this interesting: http://irclog.perlgeek.de/perl6/2013-05-17#i_7082019
14:12 FROGGS nwc10: I mot sure though that this is the right time for these kind of optimizations, maybe it is cleverer to wait until rakudo has landed?
14:12 FROGGS donaldh: o/ *g*
14:12 * donaldh noticed flashing IRC icon
14:13 nwc10 FROGGS: jnthn accidentally made NQP on JVM about 15% faster.
14:13 nwc10 so there is potential for quick clean wins, if you can find them
14:13 nwc10 *but*, yes
14:13 FROGGS ya, you are right
14:13 nwc10 effort better spent on "make it work" ahead of "make it work fast"
14:13 donaldh nwc10: sounds great - do you have more details ?
14:14 FROGGS I've watched his "optimizing rakudo" video last night and was keen to find something to improve :/
14:14 jnthn Note that anything that makes things faster reduces build times which in turn lets me make thigns work faster :)
14:14 nwc10 donaldh: no. Really not. sorry
14:14 FROGGS VERYBODY HURRY!!!
14:14 nwc10 donaldh: you'd have to ask pmichaud what his hunch was about where th memory went
14:14 tadzik video/
14:14 FROGGS MAKE THINGS FASTER FOR FASTER JNTHN!
14:14 jnthn Anyways, decommute :)
14:14 FROGGS :o)
14:14 jnthn o/
14:14 nwc10 the big slow "spendy" thing is compiling the setting
14:15 FROGGS tadzik: https://www.youtube.com/watch?v=hyfAxxdYAP8
14:15 nwc10 so if you know enough of the Java toolchain to be able to get stats on that, it's really "does anything jump out as obviously slow?"
14:15 FROGGS "Jonathon Worthington: Optimizing Rakudo Perl 6 " - March 2012
14:15 donaldh nwc10: yep. I tried using the JVM hprof cli commands last night but they barfed so need to use more sophisticated tools :-)
14:15 nwc10 "bigger hammer!"
14:16 * [Coke] hits the video... and realizes he's never heard jnthn speak.
14:16 FROGGS I did, last YAPC::EU
14:16 FROGGS it was about Rakudo::Debugger, and it was impressive to see the open mouths of the attendees
14:17 donaldh Also tried the profiler in jvisualvm but that seemed to give up too. I think because the generated backing classes for P6 objects are generated in memory and jvisualvm cannot find them to optimize them.
14:17 FROGGS (mine included)
14:17 * [Coke] 's american brain cringes internally at all the british pronounciations!
14:17 nwc10 you'd better get used to it :-)
14:18 diakopter I've found jvisualvm quite useful sometimes
14:18 nwc10 anyway, don't worry. Even the US is going to get outnumbered by Hinglish and then Chinglish. :-(
14:18 [Coke] maybe if he sang the presentation it woudl come out in an american accent.
14:18 donaldh diakopter: Yep. Fastest way to gather profiling stats.
14:19 donaldh I will spend my evening hacking calories trying to unblock using jvisualvm
14:20 nwc10 donaldh: cool. We will owe you beer (or acceptable substitute)
14:20 [Coke] donaldh++ #yay, I don't have to beat my head against the wall.:)
14:20 [Coke] we need a BEER.md file. where to send people beer credits.
14:21 FROGGS true
14:22 FROGGS r: say "abc" ~~ m*a* # there you go
14:22 camelia rakudo 86cf85: OUTPUT«「a」␤␤»
14:24 [Coke] r: say "abc" ~~ müaü;
14:24 camelia rakudo 86cf85: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Undeclared routine:â�¤    m\xFCa\xFC used at line 1â�¤â�¤Â»
14:24 FROGGS [Coke]: alnum are not allowed
14:24 FROGGS alnums*
14:25 FROGGS r: say "ü" ~~ /\w/
14:25 camelia rakudo 86cf85: OUTPUT«「ü」␤␤»
14:25 FROGGS r: say "abc" ~~ m「a」;
14:25 camelia rakudo 86cf85: OUTPUT«「a」␤␤»
14:26 [Coke] r: say "abc" ~~ m“a”;
14:26 camelia rakudo 86cf85: OUTPUT«â�€â�€â�€[â�€â�€â�€3â�€â�€â�€1â�€â�€â�€mâ�€â�€â�€=â�€â�€â�€=â�€â�€â�€=â�€â�€â�€â�€â�€â�€[â�€â�€â�€0â�€â�€â�€mâ�€â�€â�€Sâ�€â�€â�€Oâ�€â�€â�€Râ�€â�€â�€Râ�€â�€â�€Yâ�€â�€â�€!â�€â�€â�€â�€â�€â�€[â�€â�€â�€3â�€â�€â�€1â�€â�€â�€mâ�€â�€â�€=â�€â�€â�€=â�€â�€â�€=â�€â�€â�€â�€â�€â�€[â�€â�€â�€0â�€â�€â�€mâ�€â�€â�€â�¤â�€â�€â�€Uâ�€â�€â�€nâ�€â�€â�€râ�€â�€â�€eâ�€â�€â�€câ�€â�€â�€oâ�€â�€â�€gâ�€â�€â�€nâ�€â�€â�€iâ�€â�€â�€zâ
14:27 [Coke] r: say "abc" ~~ m¢b¢;
14:27 camelia rakudo 86cf85: OUTPUT«「b」␤␤»
14:27 dalek v5: 06121a6 | (Tobias Leich)++ | STATUS.md:
14:27 dalek v5: status update after nqp-fix (delimiters)
14:27 dalek v5: review: https://github.com/rakudo-p5/v5/commit/06121a6290
14:27 FROGGS r: say "abc" ~~ m“a“;
14:27 camelia rakudo 86cf85: OUTPUT«「a」␤␤»
14:27 FROGGS so it doesnt know the pair
14:27 FROGGS r: say "abc" ~~ m␤b␤;
14:27 camelia rakudo 86cf85: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Alphanumeric character is not allowed as a delimiterâ�¤at /tmp/TPDzDFyqnN:2â�¤------> [32m<BOL>[33mâ��[31mb[0mâ�¤    expecting any of:â�¤        postfixâ�¤        infix stopperâ�¤        infix or meta-infixâ�¤        prefix or termâ�¤        prefix…
14:28 FROGGS r: say "abc" ~~ m«b»;
14:28 camelia rakudo 86cf85: OUTPUT«「b」␤␤»
14:28 FROGGS r: say "abc" ~~ m\\b\\;
14:28 camelia rakudo 86cf85: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Null regex not allowedâ�¤at /tmp/blN4tUtaSB:1â�¤------> [32msay "abc" ~~ m\[33mâ��[31m\b\\;[0mâ�¤Two terms in a rowâ�¤at /tmp/blN4tUtaSB:1â�¤------> [32msay "abc" ~~ m\\[33mâ��[31mb\\;[0mâ�¤    expecting any of:â�¤        postfixâ�¤        infix …
14:28 FROGGS r: say "abc" ~~ m\b\;
14:28 camelia rakudo 86cf85: OUTPUT«「b」␤␤»
14:28 FROGGS O.o
14:29 FROGGS well, I think I'm happy with it
14:29 FROGGS[mobile] joined #perl6
14:37 xilo joined #perl6
14:42 TimToady std: say "abc" ~~ m“a”;
14:42 camelia std 9906f18: OUTPUT«ok 00:00 43m␤»
14:42 TimToady n: say "abc" ~~ m“a”;
14:42 camelia niecza v24-51-g009f999: OUTPUT«「a」␤␤»
14:46 donaldh mmph, the latest Eclipse TPTP tools are over two years old and the project is archived. I don't have much hope of it working with Java 7 features.
14:48 nwc10 that's a bit of a bummer
14:49 donaldh It's worth a try tho. But jvisualvm first.
14:52 Timbus joined #perl6
14:53 geekosaur joined #perl6
14:59 FROGGS joined #perl6
15:01 FROGGS .u “”
15:01 yoleaux U+201C LEFT DOUBLE QUOTATION MARK [Pi] (“)
15:01 yoleaux U+201D RIGHT DOUBLE QUOTATION MARK [Pf] (”)
15:07 census joined #perl6
15:09 kbenson joined #perl6
15:13 FROGGS $ perl6 -e 'say "abc" ~~ m“a”;'
15:13 FROGGS 「a」
15:13 FROGGS # locally++
15:21 bluescreen10 joined #perl6
15:25 [Coke] FROGGS++
15:27 [Coke] r: say (16*60+14) / 28
15:27 camelia rakudo 86cf85: OUTPUT«34.785714␤»
15:30 btyler joined #perl6
15:32 FROGGS std has about 125 pairs more :/
15:40 Chillance joined #perl6
15:44 domidumont joined #perl6
15:47 FROGGS okay, confirmed, all pairs nqp has has std too
15:50 FROGGS I hope it has no performance impact ó.ò
15:57 prevost joined #perl6
16:00 tgt joined #perl6
16:24 SmokeMachine joined #perl6
16:30 dalek nqp: a0808a0 | (Tobias Leich)++ | src/HLL/Grammar.nqp:
16:30 dalek nqp: add brackets from STD
16:30 dalek nqp:
16:30 dalek nqp: This only adds brackets, none is removed.
16:30 dalek nqp: review: https://github.com/perl6/nqp/commit/a0808a00af
16:32 dalek rakudo/nom: 9c5650b | (Tobias Leich)++ | tools/build/NQP_REVISION:
16:32 dalek rakudo/nom: add more brackets (starters+stoppers)
16:32 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9c5650b952
16:32 nwc10 why does dalek report "nqp" but "rakudo/nom"? Hard coded to strip "/master" ?
16:32 tgt joined #perl6
16:34 dalek roast: 930f470 | (Tobias Leich)++ | S02-lexical-conventions/unicode.t:
16:34 dalek roast: fudge for rakudo, rakudo has now all brackets STD has
16:34 dalek roast: review: https://github.com/perl6/roast/commit/930f470009
16:34 FROGGS nwc10: master is the default branch
16:34 FROGGS branch name*
16:36 timotimo "unfudge"*?
16:36 domidumont joined #perl6
16:37 FROGGS hmmm, maybe, yeah
16:44 masak hello hello #perl6 from a *train*! \o/
16:45 FROGGS masak! \o/
16:45 PerlJam masak: Would you code Perl in a train?  Would you code Perl in the rain?  Would you code Perl on a bus?  Would you code Perl without much fuss?
16:46 tgt joined #perl6
16:47 ajr joined #perl6
16:51 zby_home joined #perl6
16:53 nwc10 FROGGS: master is the default default, as I understand it, and I found a way to get the actual default, but offhand I forget it, and I don't know how robust or "official" it is
16:58 [Coke] eh. I don't mind rakudo/nom, reminds us we're odd.
16:59 nwc10 Perl 5 was odd first :-)
16:59 masak PerlJam: I love you.
16:59 [Coke] oooook. someone broke pug's run streak.
16:59 nwc10 masak: this train has beer? :-)
17:00 masak nwc10: no, but I'm tired enough to feel a little drunk. :)
17:00 * masak just learned that there's a connection between dual numbers and the Pauli exclusion principle o.O
17:00 nwc10 do you have to remember to get off? Or does this train terminate in Sweden?
17:01 [Coke] TERMINAAAATE!
17:01 masak the "remember" one.
17:01 masak if I forget, I end up in Denmark.
17:02 nwc10 that was the alternative I was imagining
17:02 nwc10 different expensive beer.
17:02 masak cheaper'n Sweden, tho'
17:02 FROGGS [Coke]: but it wasnt me, was it?
17:11 masak hm, running low on battery. be back in about 2.5 hours.
17:12 nwc10 have fun.
17:13 nwc10 the right sort
17:15 tadzik http://act.yapc.eu/plpw2013/news/1019 PLPW status update
17:29 prevost joined #perl6
17:30 nwc10 sorry if this is a bit of an RTFM question, but given this:
17:30 nwc10 nr: my int $i = 0; for 0..4 { $i = $i + 1 }; say $i
17:30 camelia rakudo 9c5650: OUTPUT«5␤»
17:30 camelia ..niecza v24-51-g009f999: OUTPUT«[31m===[0mSORRY![31m===[0m��Malformed my at /tmp/MLXQzKHb9g line 1:�------> [32mmy[33m�[31m int $i = 0; for 0..4 { $i = $i + 1 }; s[0m��Parse failed��»
17:31 nwc10 why is this an error?
17:31 nwc10 r: my int $i = 0; for 0..4 { ++$i }; say $i
17:31 camelia rakudo 9c5650: OUTPUT«Cannot modify an immutable value␤  in sub prefix:<++> at src/gen/CORE.setting:3272␤  in sub prefix:<++> at src/gen/CORE.setting:1756␤  in block  at /tmp/iUpj87v31Z:1␤␤»
17:31 nwc10 why does ++ consider $i to be immutable, but = not?
17:31 FROGGS nr: my Int $i = 0; for 0..4 { $i = $i + 1 }; say $i
17:31 camelia rakudo 9c5650, niecza v24-51-g009f999: OUTPUT«5␤»
17:31 FROGGS r: my Int $i = 0; for 0..4 { ++$i }; say $i
17:31 camelia rakudo 9c5650: OUTPUT«5␤»
17:32 nwc10 ah, OK, that's half the answer. "You meant to use Int"
17:32 FROGGS nwc10: native types are a bit special
17:32 flussence native ints have no container, or something like that
17:32 nwc10 yes. but that seems just a bit *too* special.
17:33 nwc10 I guess then I'm curious if the answer is something like "if we made this work, then it means this other part of the design becomes less consistent, because ..."
17:34 FROGGS http://feather.perl6.nl/syn/S02.html#Native_types
17:34 flussence well let's make it work, and see who complains :)
17:34 flussence r: multi sub prefix:<++>(int $i is rw) { $i = $i + 1; return $i }; my int $a = 4; ++$a
17:34 camelia rakudo 9c5650:  ( no output )
17:34 flussence r: multi sub prefix:<++>(int $i is rw) { $i = $i + 1; return $i }; my int $a = 4; say ++$a
17:34 camelia rakudo 9c5650: OUTPUT«5␤»
17:34 flussence r: multi sub prefix:<++>(int $i is rw) { $i = $i + 1; return $i }; my int $a = 4; say ++$a; say $a
17:34 camelia rakudo 9c5650: OUTPUT«5␤4␤»
17:34 flussence there's a problem there.
17:34 flussence r: multi sub prefix:<++>(Int $i is rw) { $i = $i + 1; return $i }; my Int $a = 4; say ++$a; say $a
17:35 camelia rakudo 9c5650: OUTPUT«Ambiguous call to 'prefix:<++>'; these signatures all match:␤:(Int:D \a)␤:(Int $i is rw)␤  in sub prefix:<++> at src/gen/CORE.setting:1756␤  in block  at /tmp/LrSJydqDpk:1␤␤»
17:35 flussence r: multi sub prefix:<@@>(Int $i is rw) { $i = $i + 1; return $i }; my Int $a = 4; say @@$a; say $a
17:35 camelia rakudo 9c5650: OUTPUT«5␤5␤»
17:36 nwc10 the problem being that the int $i is boxed in some way on the way into the sub implmenting ++, and so the sub doesn't change the original?
17:36 flussence yep
17:37 nwc10 and there isn't a signature that can circumvent that?
17:38 flussence I think there's no fix that wouldn't also violate the "everything is immutable by default" rule
17:41 btyler joined #perl6
17:41 flussence r: macro prefix:<++>(int $i) { $i = $i + 1 }; my int $a = 4; say ++$a; say $a
17:41 camelia rakudo 9c5650: OUTPUT«[31m===[0mSORRY![31m===[0m�Cannot unbox argument to '$i' as a native int�at /tmp/Kz800FrRt_:1�------> �»
17:42 flussence hm, I just get a NPMCA there in the repl.
17:42 nwc10 NPMCA?
17:42 flussence > macro prefix:<++>(int $i) { $i = $i + 1 }; my int $a = 4; say ++$a; say $a
17:42 flussence Null PMC access in get_string()
17:43 nwc10 anyway, it's sort of starting to make sense in my head. native types don't have reference semantics on their (possibly implicit) container because they don't *have* a container
17:43 nwc10 they are passed by value to subroutines
17:43 nwc10 ana. NPMCA sounds LTA. :-(
17:50 timotimo flussence: don't you need to return a quasi from a macro so that it works? or is that a golf for the bad error?
17:51 flussence I tried a few things, they all gave me the NPMCA locally
17:51 saxx joined #perl6
17:51 flussence my rakudo's not that old but I'm updating it now just in case
17:52 timotimo r: macro prefix:<++>($a) { quasi { {{{ $a }}} = {{{ $a }}} + 1; } }; my int $a = 4; say ++$a; say $a;
17:52 camelia rakudo 9c5650: OUTPUT«Cannot modify an immutable value␤  in any  at /tmp/TkvvtzUkRT:1␤  in block  at /tmp/TkvvtzUkRT:1␤␤»
17:52 timotimo r: macro prefix:<++>($a) { quasi { {{{ $a }}} = {{{ $a }}} + 1; } }; my Int $a = 4; say ++$a; say $a;
17:52 camelia rakudo 9c5650: OUTPUT«5␤5␤»
17:56 SamuraiJack joined #perl6
17:58 [Coke] I really wish I'd been logging run times on the roast build/runs for rakudo.
17:59 lizmat [Coke]: wrt to pugs smoke, something I did ?
17:59 TimToady the compiler has to know about native variables in order to modify them; currently it knows only how to this via unboxing, but there eventually needs to be a mechanism to know about native containers (aka "pointers") like C does
18:00 dalek perl6-roast-data: f831797 | coke++ | / (4 files):
18:00 dalek perl6-roast-data: today (automated commit)
18:00 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/f831797f36
18:00 TimToady *do this
18:00 [Coke] I don't expect people to necessarily track pugs when roasting, it's ok, lizmat.
18:01 lizmat I tried to fudge it as far as I understand how pugs works, though
18:01 lizmat so I would like to learn from any fudging mistakes I made
18:01 TimToady so that there's some way to do the box-increment-unbox without actually doing the boxing and unboxing
18:02 [Coke] pugs : S09-hashes/objecthash.pugs aborted 2 test(s)
18:03 [Coke] I can't
18:03 [Coke] worked outside the harness for me, though.
18:03 TimToady but that requires a static type engine such as C has if we want to program Perl 6 in the C subset (or the C subset that the JVM allows :)
18:06 timotimo how can i install modules with niecza (from source if panda won't run)
18:07 colomon timotimo:
18:07 colomon errr.... little fast on the trigger there.
18:08 lizmat [Coke]: should that be visible in the roast-commit?
18:08 colomon timotimo: there isn't exactly an automatic way of doing it at the moment, so far as I know.
18:09 colomon timotimo: trying to improve that is on my to-do list, but distressingly far down it at the moment.
18:09 lizmat [Coke]: something weird going on with the plan there…   maybe we should just forget about a plan in S09-hashes/objecthash.t
18:09 lizmat if you change the plan to 29, you will get errors on rakudo, for some reason
18:10 lizmat hmmmm….. could it be that fudging acts on number of lines, and that the non-test lines cause a problem?
18:10 timotimo colomon: so, do i have to copy the lib folders together into some place or other?
18:11 colomon timotimo: usually when I'm working with a module in Niecza I just directly specify its path on the command line using -I
18:11 colomon but that's not exactly "installing"
18:12 lizmat [Coke]: I think I know a way around it...
18:13 colomon n: say $*CUSTOM-LIB
18:13 camelia niecza v24-51-g009f999: OUTPUT«/home/p6eval/.config/niecza␤»
18:13 timotimo hm. my solution to GRAPH from masakism won't run on niecza :(
18:14 colomon timotimo: I'm not sure niecza is doing anything useful at all with library include paths at the moment.
18:14 [Coke] lizmat: if I run it by hand, I get 29 tests, which is the plan.
18:14 * lizmat is counting
18:15 [Coke] colomon: good work on niecza; only 17 failures.
18:15 timotimo well, at least it doesn't complain about the library missing when i copy the lib folder to my project dir and do -Ilib
18:15 timotimo but it seems like it doesn't do autoviv properly in this case here
18:15 timotimo rn: my %neighbour; push %neighbour<A>, "B"; say %neighbour;
18:15 camelia rakudo 9c5650: OUTPUT«("A" => ["B"]).hash␤»
18:15 camelia ..niecza v24-51-g009f999: OUTPUT«Unhandled exception: Unable to resolve method push in type Any␤  at <unknown> line 0 (ExitRunloop @ 0) ␤  at /tmp/vbVk8glKBQ line 1 (mainline @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4331 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting li…
18:16 timotimo indeed.
18:16 xilo joined #perl6
18:16 lizmat timotimo: a pb with autoviv of objecthashes was fixed this morning in rakudo
18:16 timotimo lizmat: i'm experiencing trouble on nicecza, my code runs prefectly with rakudo :)
18:16 timotimo (albeit pretty slow)
18:17 lizmat [Coke]: I've added 2 dummy tests, and that seems to fix the pb
18:17 colomon [Coke]: ooo, positive encouragement.  ;)
18:17 colomon timotimo: no object hashes in niecza yet.
18:17 tgt joined #perl6
18:18 dalek roast: f69337d | (Elizabeth Mattijsen)++ | S09-hashes/objecthash.t:
18:18 dalek roast: Some more fudging
18:18 dalek roast:
18:18 dalek roast: Specifcally by making 2 skipped non-test lines tests
18:18 dalek roast: review: https://github.com/perl6/roast/commit/f69337dba1
18:18 [Coke] colomon: I'm sneaky that way.
18:18 kaare_ joined #perl6
18:19 timotimo colomon: so, a hash with string keys and list values won't be possible?
18:19 colomon timotimo: oh, that should work.  string keys are the key
18:20 lizmat colomon: having a list, object, type, whetever as a key
18:20 timotimo great, with "manual autovivification" i made my little test suite pass
18:20 timotimo hm, but the other use case doesn't work. i should obviously improve my test suite.
18:21 colomon test suite ++
18:21 timotimo i suppose Rakudo::Debugger won't work on niecza? ;)
18:21 timotimo what with it being implemented in nqp and such ...
18:24 timotimo rn: my @x-names = ("A".."Z")[^5]; say @x-names;
18:24 camelia rakudo 9c5650, niecza v24-51-g009f999: OUTPUT«A B C D E␤»
18:25 timotimo rn: my @x-names = ("A".."Z")[^5]; my @y-names = ("0".."9")[^4]; say @x-names X~ @y-names;
18:25 camelia rakudo 9c5650, niecza v24-51-g009f999: OUTPUT«A0 A1 A2 A3 B0 B1 B2 B3 C0 C1 C2 C3 D0 D1 D2 D3 E0 E1 E2 E3␤»
18:26 timotimo rn: my @x-names = ("A".."Z")[^20]; my @y-names = ("0".."9")[^20]; say @x-names X~ @y-names;
18:26 camelia niecza v24-51-g009f999: OUTPUT«Use of uninitialized value in string context␤  at /home/p6eval/niecza/lib/CORE.setting line 1355 (warn @ 5) ␤  at /home/p6eval/niecza/lib/CORE.setting line 266 (Mu.Str @ 15) ␤  at <unknown> line 0 (ExitRunloop @ 0) ␤  at /home/p6eval/niecza/lib/CORE.settin…
18:26 camelia ..rakudo 9c5650: OUTPUT«A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 G0 G1 G2 G3 G4 G5 G6 G7 G8 G9 H0 H1 H2 H3 H4 H5 H6 H7 H8 H9 I0 I1 I2 I3 I4 I5 I6 I7 I…
18:26 timotimo ah, interesting
18:26 timotimo rn: (1, 2, 3, 4)[^10].perl.say;
18:26 camelia rakudo 9c5650: OUTPUT«(1, 2, 3, 4)␤»
18:26 camelia ..niecza v24-51-g009f999: OUTPUT«(1, 2, 3, 4, Any, Any, Any, Any, Any, Any)␤»
18:26 timotimo that would explain it.
18:26 timotimo is rakudo behaving to spec?
18:26 lizmat feels to me that it doesn't
18:28 timotimo you've spent a lot of time slogging through the whole spec recently, haven't you?
18:28 timotimo i guess i'll search for the place where it's specced
18:33 timotimo oh, look, i have found a mention of (). wasn't that deprecated from the spec? anyway, the sentence is Since method calls are performed directly on any object, Nil can respond to certain method calls. Nil.defined returns False (whereas ().defined returns True). and it's from S02
18:33 lizmat timotimo: I was familiarising myself with Perl 6, anno 2013.  It was at least 8 years ago since I last looked at Apocalypses
18:33 lizmat I haven't seen them all yet
18:34 timotimo OK
18:34 timotimo i can't find the place where the behavior of slices that are bigger than the array itself are specced
18:35 lizmat I think they're only specced in the context of Z and X and the like
18:35 timotimo oh? i'll have a look there then
18:36 lizmat the smaller ones need to be repeated, in some contexts
18:36 lizmat rn: (1, 2, 3, 4)[*].perl.say;
18:36 camelia rakudo 9c5650, niecza v24-51-g009f999: OUTPUT«(1, 2, 3, 4)␤»
18:36 timotimo AFAIK that just means that the length of the list is passed to the closure inside [] and that becomes the result
18:37 timotimo huh, wait, what?
18:37 timotimo rn: my @a = 1, 2, 3; @a[*].perl.say
18:37 camelia rakudo 9c5650, niecza v24-51-g009f999: OUTPUT«(1, 2, 3)␤»
18:37 timotimo i thought that would have to return only one element?
18:38 timotimo rn: my @a = 1, 2, 3; @a[3].perl.say
18:38 camelia rakudo 9c5650, niecza v24-51-g009f999: OUTPUT«Any␤»
18:40 TimToady S09:218 talks about auto-truncating ranges
18:44 lizmat so from that I gather that niecza is right in the (0..4)[^10] case ?
18:45 TimToady no
18:45 TimToady rakudo is
18:46 lizmat "when used as an rvalue, the range is truncated as necessary to map only valid locations"
18:47 lizmat rn: (1, 2, 3, 4)[4..9].perl.say;
18:47 camelia niecza v24-51-g009f999: OUTPUT«(Any, Any, Any, Any, Any, Any)␤»
18:47 camelia ..rakudo 9c5650: OUTPUT«()␤»
18:48 TimToady that's an rvalue, so rakudo is truncating
18:48 lizmat in this case, they're both wrong as they don't die?  "legal for a range or sequence iterator to extend beyond the end of an array as long as its min value is a valid subscript"
18:49 TimToady arguably 1 off the end is still kinda legal for talking about arrays
18:49 TimToady as a degerate case producing 0 values
18:49 lizmat rn: (1, 2, 3, 4)[5..9].perl.say;
18:49 camelia niecza v24-51-g009f999: OUTPUT«(Any, Any, Any, Any, Any)␤»
18:49 camelia ..rakudo 9c5650: OUTPUT«()␤»
18:49 TimToady my spelling is degerate...
18:49 lizmat rn: (1, 2, 3, 4)[9].perl.say;
18:49 camelia niecza v24-51-g009f999: OUTPUT«Any␤»
18:49 camelia ..rakudo 9c5650: OUTPUT«Nil␤»
18:49 lizmat rn: (1, 2, 3, 4)[9..10].perl.say;
18:49 camelia niecza v24-51-g009f999: OUTPUT«(Any, Any)␤»
18:49 camelia ..rakudo 9c5650: OUTPUT«()␤»
18:52 berekuk joined #perl6
18:52 TimToady also, if it's easier for rakudo to ignore whether the left arg is within the array, then maybe it'd be better to spec it that way anyway
18:52 TimToady there are probably use cases for both approaches
18:53 dmol joined #perl6
18:54 rindolf joined #perl6
18:55 nwc10 TimToady: so, if I understand you correctly, you would like it for Perl 6 to have a means to be able to implement ++ on native types such as int?
18:55 lizmat rn: my @a=<a b c>; splice @a, 10, 0, <d e f>; say @a
18:55 camelia niecza v24-51-g009f999: OUTPUT«a b c (Any) (Any) (Any) (Any) (Any) (Any) (Any) d e f␤»
18:55 camelia ..rakudo 9c5650: OUTPUT«use of uninitialized value of type Any in string context  in block  at /tmp/joTcmj_VyG:1␤␤use of uninitialized value of type Any in string context  in block  at /tmp/joTcmj_VyG:1␤␤use of uninitialized value of type Any in string context  in block  at /tmp/joTcmj_Vy…
18:55 ggoebel joined #perl6
18:56 TimToady nwc10: why not?  incrementing native ints is, like, really, really fast in C
18:57 nwc10 yes, sorry if I wasn't clear. I didn't mean "why not?" I more meant "but there's got to be a concept added, doesn't there, to get this to work? As one needs to have a signature that behaves somewhat like a C++ &, to force reference semantics"
18:57 lizmat TimToady: if you're changing the spec there, there is something similar about splice in S32/Containers:812
18:57 TimToady the native part of Perl 6 has to understand the difference between lvalues and rvalues much as C does
18:57 TimToady lizmat: maybe, but I can be argued into keeping it like it is too :)
18:58 nwc10 I think that it would be useful to have, as demonstrably I was expecting it to work, and was a bit confused as to why not. Until it was (sort of) explained that there's no way to do it currently
18:58 lizmat but then we have a rakudobug right now
18:59 lizmat and a niecza bug as well, actually
18:59 TimToady r: my $b = Buf.new: 65..70; say $b.splice(3,3)
18:59 camelia rakudo 9c5650: OUTPUT«No such method 'splice' for invocant of type 'Buf'␤  in block  at /tmp/khuL1ICFZA:1␤␤»
18:59 TimToady there's a NYI fer ya
19:00 lizmat yeah, but for Iteratives it works and doesn't complain when doing things after the last index
19:01 TimToady r: my $b = Buf.new: 65..70; say $b.push: 71; say $b
19:01 camelia rakudo 9c5650: OUTPUT«Cannot call 'push'; none of these signatures match:␤:(Any:U \SELF: *@values, Mu *%_)␤  in method push at src/gen/CORE.setting:1441␤  in block  at /tmp/Ot4rFoKi2S:1␤␤»
19:11 gdey joined #perl6
19:13 lizmat TimToady: do you agree that %b= %a{ slce }:delete:p is a good way of slicing out elements of a hash into another hash?
19:14 lizmat *slice
19:15 PerlJam lizmat: I don't know what TimToady thinks, but that looks good to me :)
19:15 lizmat I was thinking to at least add tests for that already
19:16 lizmat todo tests  :-)
19:16 TimToady I don't see any reason why it shouldn't work the way you expect
19:17 lizmat I'll take that as a +1 on writing todo tests  :-)
19:18 PerlJam What does %hash{@slice}:delete return currently?  Just keys?
19:18 lizmat just the values
19:18 PerlJam Hmm.
19:18 lizmat just as in p5
19:19 PerlJam so %hash{@slice}:p:delete would be broken
19:20 lizmat yes
19:20 TimToady adverbs aren't ordered
19:20 TimToady just as named args aren't ordered
19:21 PerlJam ah.  good to know
19:21 lizmat they are in the implementation, unfortunately
19:21 lizmat by virtue of some being more constraint than others
19:21 lizmat r: my %h=a=>1,b=>2; say %h<a>:delete:p; say %h
19:21 camelia rakudo 9c5650: OUTPUT«1␤("b" => 2).hash␤»
19:21 PerlJam sounds like something that needs tests if they don't exist already
19:21 lizmat r: my %h=a=>1,b=>2; say %h<a>:p:delete; say %h
19:21 camelia rakudo 9c5650: OUTPUT«1␤("b" => 2).hash␤»
19:22 TimToady semantically you have to *do* them in an order, but the syntax shouldn't care
19:22 lizmat actually, this would only be true after pull request #138 has been merged
19:28 Util timotimo: Roast:S02-types/array.t says "# RT #76676\n#?niecza todo\n{\n is ~<a b>.[^10], 'a b', 'Range subscript as rvalues clip to existing elems';\n}"
19:28 * Util chimes in late; airport connectivity intermittent.
19:29 * masak is home
19:30 FROGGS masak: so what are we gonna do today?
19:30 masak FROGGS: open a beer, write some emails, sleep. :)
19:30 FROGGS bah :P
19:31 masak this evening concludes a successful $workweek.
19:31 * FROGGS has no beer at home ;/
19:31 FROGGS :/
19:31 FROGGS well, that's something
19:31 masak tomorrow I'll be back with a vengeance, mapping out PLPW and YAPC::NA talks :>
19:31 * masak taught Git today
19:31 FROGGS ya, I have to start to prepare too some day
19:31 masak it's a happy thing to spread the Git message.
19:31 FROGGS did they get it?
19:32 * lizmat has hers prepared already, only need to adapt to last minute developments  :-)
19:32 raiph joined #perl6
19:32 masak FROGGS: the atmosphere in the room was such that it seemed they got it.
19:32 masak FROGGS: also, at this point, our material is polished to the point where it tends to get across with a high success rate ;)
19:33 FROGGS good, git is not the easiest to start with... I think it might make sense to do a bit svn before git
19:33 lizmat to me that feels like saying: it is good to learn programming with BASIC
19:33 masak yeah, kinda.
19:33 FROGGS why not?
19:34 masak learning svn first will probably both help and confuse; one more than the other, depending on circumstances.
19:34 FROGGS depends on the audience
19:34 * lizmat didn't learn programming with BASIC, but with TUTOR  :-)
19:34 * masak looks up TUTOR
19:34 * [Coke] downgrades his copy of ack on feather to 1.96 to avoid the -a muscle memory problem.
19:34 lizmat http://en.wikipedia.org/wiki/TUTOR_(programming_language)
19:34 FROGGS just to show what a repository is... but maybe mixing the commands is really a bit confusing
19:37 masak FROGGS: I assure you that it's possible to teach Git from first principles with good results.
19:37 masak FROGGS: in fact, as one who learned SVK, I think I may have had an easier time with Git than those who went straight from a centralized version control system.
19:38 FROGGS hmmm, k
19:38 masak in some sense, Git is a file system protocol with an extra (history) dimension built in.
19:39 masak lizmat: TUTOR/PLATO seems awesome.
19:39 masak lizmat: nowadays we'd call that a DSL. :)
19:39 lizmat it was…  it was like the Internet is now, but back in 1977 (for me at least).
19:39 lizmat and in one way, it was even better than now
19:39 lizmat on IRC, you only see lines once they're completed
19:40 masak ah, so like Google Wave. :)
19:40 lizmat on TERM-talk on PLATO, you could actually see the other person type, and make corrections
19:40 lizmat it was much closer to a real conversation that way
19:41 lizmat masak: probably, but then in 1977  :-)
19:42 masak aye.
19:43 PacoAir joined #perl6
19:49 flussence my major git gripe for the day: *nothing* tells you when you're missing submodules. It should mention it in git-status at least.
19:49 donaldh_ joined #perl6
19:51 flussence r: say (^5 xx *)[^20]
19:51 camelia rakudo 9c5650: OUTPUT«0 1 2 3 4 0 1 2 3 4 0 1 2 3 4 0 1 2 3 4␤»
19:51 timotimo flussence: indeed. many makefiles or cmake files i've seen will complain loudly if submodules are missing
19:52 flussence n: say (^5 xx *)[^20]
19:52 FROGGS what I hate is adding commits to a detached head, even if it is pretty easy to resolve
19:52 camelia niecza v24-51-g009f999: OUTPUT«0..^5 0..^5 0..^5 0..^5 0..^5 0..^5 0..^5 0..^5 0..^5 0..^5 0..^5 0..^5 0..^5 0..^5 0..^5 0..^5 0..^5 0..^5 0..^5 0..^5␤»
19:52 btyler joined #perl6
19:52 flussence .oO( there needs to be a "difficulty" option in git-config )
19:53 timotimo :D
19:53 FROGGS it is a fixed value set to HIGH
19:57 [Coke] star - no new modules passing tests. :(
19:57 dalek rakudo-star-daily: 50094a1 | coke++ | log/ (5 files):
19:57 dalek rakudo-star-daily: today (automated commit)
19:57 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/50094a18fc
19:59 FROGGS std: use v5; grep({ 1 } 2)
19:59 camelia std 9906f18: OUTPUT«[31m===[0mSORRY![31m===[0m�Confused at /tmp/25oypeywTP line 1:�------> [32muse v5; grep({ 1 }[33m�[31m 2)[0m�Parse failed�FAILED 00:01 53m�»
19:59 FROGGS std: use v5; grep { 1 } 2
19:59 camelia std 9906f18: OUTPUT«ok 00:01 52m␤»
20:00 spider-mario joined #perl6
20:01 donaldh_ omg, I've just hit the Java tracing mother lode
20:01 donaldh_ this should enable some rakudo on JVM profiling.
20:01 nwc10 it filled your disk faster than you could kill it?
20:02 donaldh_ https://kenai.com/projects/btrace/pages/UserGuide
20:02 [Coke] were you able to do it with jvisualvm?
20:02 donaldh_ nope, jvsualvm refuses to give me anything. still trying to figure out why.
20:02 [Coke] ah.
20:03 donaldh_ Eclipse TPTP might work, but it is not supported on MacOS so I've bombed out.
20:03 [Coke] you have some sample output you can show us?
20:04 donaldh_ are you sure you want?
20:05 donaldh_ is there an upper limit on gist size?
20:05 lizmat RAM?
20:07 FROGGS donaldh: there will be a max post size, yes
20:08 * donaldh_ Caveat: this was started from within jvisualvm after the perl6 CORE.setting compilation had started. Some data missed
20:08 donaldh_ https://gist.github.com/donaldh/c58c548d1595f2de9aa7
20:09 donaldh_ The gist is truncated at 3446 lines.
20:09 timotimo vim syntax highlighting for this file has reached the point where i can no longer use vim to edit.
20:09 donaldh_ I have >10,000 lines.
20:10 donaldh_ So BTrace successfully instruments all the generated classes, which is good.
20:10 donaldh_ BTrace also lets you write java programs, so I can write some code to roll up the data as it is collected.
20:14 colomon joined #perl6
20:14 bruges joined #perl6
20:22 donaldh_ afk
20:31 nwc10 masak: are you sure that it was a good idea getting off in Sweden? http://www.bbc.co.uk/news/entertainment-arts-22442276
20:36 dalek roast: bf0e68e | (Elizabeth Mattijsen)++ | S32-hash/delete-adverb.t:
20:36 dalek roast: Added tests for combined :p:delete adverbial pair usage
20:36 dalek roast: review: https://github.com/perl6/roast/commit/bf0e68e015
20:36 masak nwc10: modulo some minor annoyances at the train station, I'm blissfully unaffected.
20:37 lizmat that brand new train station provided minor annoyances?
20:37 masak nwc10: last year I was sucked in at the last minute, after successfully avoiding the whole thing. Sweden won, and I was deeply unmoved.
20:37 masak lizmat: in the form of what I assume was Sweden's song this year, yes. and a disco ball.
20:38 lizmat yikes, too bad Anouk wasn't performing  :-)
20:38 masak Anouk Teeuwe?
20:38 lizmat yup
20:38 * sorear is hoping to leave San Diego before the olympics move in, if that's really happening...
20:38 yoleaux 09:44Z <lizmat> sorear: "git reset --hard orgin/master" gave "fatal: ambiguous argument 'origin/master': unknown revision or path not in the working tree."
20:38 lizmat crazy Dutch rock chick
20:39 * masak changes his Spotify plans for the evening
20:39 lizmat sorear!  good morning, I realize it had to be origin/nom
20:39 sorear good morning lizmat
20:40 japhb_ joined #perl6
20:44 masak sorear! \o/
20:45 donaldh_ joined #perl6
20:48 lizmat masak: and c.s: is there a way to find out *which* keys matched with this smart match? my %h=a=>1,b=>2,c=>3; <a e> ~~ %h
20:49 masak lizmat: no, and generally, smartmatching is only meant to give you a True or False answer. if you want more, you want your own construct, probably.
20:50 lizmat I was afread so…
20:50 masak lizmat: only regexp matching gives more information for successes, AFAIK.
20:50 masak lizmat: though TimToady's full-fledged OKness proposal seemed to point in a direction where successes and failures were annotated with various information.
20:50 lizmat but that would mean first building a string
20:51 masak I don't like the idea of doing it all the time, though. because it would have a performance penalty, too.
20:51 masak better to special-case it with a sub or method of one's own making.
20:51 lizmat r: my %h=a=>1,b=>2,c=>3; my $b= <a e> ~~ %h; say $b.WHAT
20:51 camelia rakudo 9c5650: OUTPUT«(Bool)␤»
20:51 lizmat will do, just wanted to make sure I wasn't reinventing any wheels
20:52 masak lizmat: I'm also put in mind of people's expectations of junctions. after becoming comfortable with junctions helping them in boolean situations, they also want the answer to the question "but *what* matched?" -- which you're Not Meant To Ask.
20:52 donaldh joined #perl6
20:52 masak I haven't decided whether this is a Design Flaw or just Unreasonable Expectations. ;)
20:53 lizmat <a e> ~~ %h:whatmatched   ?
20:54 lizmat only half kidding here  :-)
20:54 lizmat as long as it is internally a hyper and not a race...
20:58 sorear yo masak
21:00 jnthn *sigh* another hour worth of train delays
21:00 jnthn sweden--
21:00 masak sorry.
21:01 tadzik :D
21:01 * lizmat blame the ESC
21:01 lizmat *blames
21:01 tadzik it reminds me of how Norwegians supposedly consider Polish health care superior to theirs
21:02 tadzik I concluded that if Scandinavians can't do something right, then probably nobody can
21:05 masak sounds about right.
21:05 masak sorear: I just learned how 2x2 real matrices help generalize from complex numbers to dual numbers and split-complex numbers. that's pretty cool.
21:06 sorear <3 finitely generated algebras
21:12 masak :)
21:28 * donaldh has no idea what you are talking about :-/
21:29 masak donaldh: can I take a shot at explaining?
21:30 FROGGS welcome to #perl6 :P
21:30 masak donaldh: I'd like to try. :)
21:30 lizmat where you learn something else every day!
21:30 sorear masak: Have you encountered the norm and trace maps yet?
21:30 masak sorear: no.
21:30 masak well, "norm" sounds familiar.
21:30 masak as does "trace".
21:30 donaldh Please give it a try. Tho I warn you that my braincells are weak tonight.
21:31 masak donaldh: how familiar are you with complex numbers?
21:31 masak donaldh: do you know why they were discovered?
21:31 masak (I need to know where to start explaining.)
21:31 sorear masak: http://www.math.uconn.edu/~kconrad/blurbs/galoistheory/tracenorm.pdf
21:32 sorear neatly generalizes the absolute value of a complex number
21:32 masak ooh
21:32 donaldh I understand complex numbers, but not sure if I ever knew why they were discovered.
21:32 araujo joined #perl6
21:33 masak donaldh: they were discovered because some polynomials with x^3 in them didn't have three zeroes, as expected/predicted.
21:33 masak donaldh: if you add i = sqrt(-1), suddenly everything makes much more sense.
21:34 donaldh yep. which always felt like an indirect why to me.
21:35 donaldh I have a book called 50 mathematical ideas which covers imaginary numbers.
21:35 donaldh I really should keep reading it :-)
21:35 masak donaldh: the neat thing is that it handles not just x^3, but any x^N. suddenly such polynomials have N roots. (sometimes roots coincide.) this is known as "The Fundamental Theorem of Algebra": an N-ary polynomial has N roots.
21:36 masak so you don't need anything "beyond" i. i explains everything. which is rather huge.
21:36 * donaldh 's mind was blown at infinity.
21:36 sorear complex numbers are necessary because they are the smallest field which contains the rationals and is both algebraically closed and closed under limits
21:36 masak yeah. complex numbers are surprisingly consistent.
21:37 masak it's almost like they "want" to exist.
21:37 sorear also, quantum mechanics requires them.
21:37 masak or at least a field that is isomorphic to them.
21:38 masak donaldh: anyway. getting to the point. the decision that i = sqrt(-1) is still somewhat arbitrary.
21:38 donaldh yep.
21:38 masak donaldh: there are two other likely candidates that would also work, namely, i * i = 0 or i * i = 1. these yield two other fields: the dual numbers and the split-complex numbers, respectively.
21:39 masak donaldh: what I realized today is that there's a way to represent complex numbers as (some) 2 x 2 matrices. and if you consider *all* 2 x 2 real matrices, these three fields (complex, dual, split-complex) are all the fields you need.
21:40 sorear a algebra over a field is a vector space equipped with multiplication
21:41 sorear a unital, associative algebra is one that is a ring
21:41 sorear a finite dimensional algebra is finite dimensional as a vector space, it has a finite basis
21:41 donaldh mind blown
21:42 sorear how many 2-dimensional unital, associative algebras are there over the real numbers?
21:42 masak 3?
21:42 sorear we can always pick one basis element to be <1>
21:42 sorear call the other basis element i
21:42 sorear the algebra is defined by i^2 = A + Bi
21:43 sorear I think the answer is 3, yeah
21:43 masak me too.
21:43 masak donaldh: not only that, but (for example) dual numbers have applications in applied mathematics and quantum physics, too.
21:44 masak so they're not just theoretical constructs. they're actually usable.
21:44 masak I'm a little surprised we don't hear about them more often.
21:44 lizmat r: my %h{Any}; %h{Any}=1; my @a= %h{ grep { $_ ~~ Any }, %h.keys} ; say @a.perl   # this works
21:44 camelia rakudo 9c5650: OUTPUT«Array.new(1)␤»
21:44 sorear let j = C + Di; if D!=0, then (1,j) is an equally valid basis with jj = CC+DDA + (2CD+DDB)i
21:45 lizmat r: my %h{Any}; %h{Any}=1; my @a= %h{ grep { $_ ~~ Any }, %h.keys}:p ; say @a.perl  # this doesn't, rakudobu?
21:45 camelia rakudo 9c5650: OUTPUT«use of uninitialized value of type Any in string context  in block  at /tmp/rPos9pIFaI:1␤␤Array.new()␤»
21:46 lizmat r: my %h{Any}; %h{Any}=1; my @a= %h{Any}:p ; say @a.perl  # this doesn't, rakudobu?
21:46 camelia rakudo 9c5650: OUTPUT«Array.new(Any => 1)␤»
21:46 lizmat that one actually works
21:46 [Coke] uconn, my home state school!
21:46 donaldh that's _the_ bit which has always amazed me. Theoretical mathematical construct that was, for want of a better term, conjured out of thin air is the foundation of applied maths, quantum mechanics and more.
21:47 masak donaldh: I guess it's because mathematicians tend to find "systems" which are internally consistent and make sense.
21:47 sorear since D!=0, we can pick C = -DB/2, leaving jj = DDBB/4 + DDA
21:47 masak donaldh: and the world basically has to run on systems like those.
21:48 sorear or jj = DD(A + BB/4); DD is a positive nonzero arbitrary number, so we can always force jj = {1,0,-1}
21:48 masak donaldh: but really, I'm amazed by it too, and I don't really know why.
21:48 masak sorear: QED, it seems.
21:49 donaldh I suppose it only seems arbitrary or conjured because we have difficulty visualising its origins. Whereas real numbers are easy to visualise.
21:50 donaldh But real numbers were conjured up in much the same way.
21:50 sorear real numbers aren't all that easy to visualize
21:51 sorear it's easy to visualize something deceptively similar to the real numbers, but your intuitions will all apart when you get to stuff like Banach-Tarski
21:51 * donaldh turns to google
21:52 sorear there seems to be an unwritten rule in fundamental physics that all functions that are used are constrained to be complex-analytic
21:52 sorear non-analytic field configurations aren't even considered
21:52 sorear which is really extremely constraining
21:53 moritz but also seems to work pretty well for explaining real-world stuff
21:53 masak also, to be fair, holomorphic functions are probably the prettiest thing I've ever encountered in mathematics.
21:54 masak something about them just makes a whole lotta sense. more than it "should" if complex numbers were just some thing that humans invented.
21:54 lizmat r: my %h{Any}; %h{Any}=1; say (%h{Any}:p).perl; my @a=Any; say @a.perl; say (%h{@a}:p).perl
21:54 camelia rakudo 9c5650: OUTPUT«Any => 1␤Array.new(Any)␤use of uninitialized value of type Any in string context  in block  at /tmp/2ouUnJ18av:1␤␤((),)␤»
21:55 lizmat it looks like doing a slice out of an object hash with Any as a key, is not returning the right thing  :-(
21:55 lizmat it works with a scalar:
21:56 lizmat r: my %h{Any}; %h{Any}=1; say (%h{Any}:p).perl; my @a=Any; say @a.perl; say (%h{@a[0]}:p).perl
21:56 camelia rakudo 9c5650: OUTPUT«Any => 1␤Array.new(Any)␤Any => 1␤»
21:56 donaldh on a more mundane note, the organic scottish heather honey beer I'm drinking is rather nice.
21:56 lizmat masak: rakudobug ?
21:56 lizmat (if you agree, I will make it a rakudobug)
21:56 donaldh what more could this beer be?
21:58 sorear moritz: OT: what do you think of GUTs?  I have trouble imagining a coincidence in the way that the fermion content and gauge charges of the SM+right handed neutrinos are reproduced by breaking a representation of Spin(10)
22:00 moritz sorear: I'm really not up-to-date with the current set of GUTs (more)
22:00 masak lizmat: looking, trying to understand with my feeble $work-addled mind.
22:01 masak lizmat: yes, that looks buggy.
22:01 FROGGS donaldh: the sheepshagger I had once was okay, but I prefer german beer :o)
22:01 moritz sorear: but last time I looked, I was thorougly disappointed by the lack of scientific rigor that came with most of them
22:01 lizmat still golfing down
22:01 lizmat r: my %h{Any}; %h{Any}=1; say %h{Any}:exists
22:01 camelia rakudo 9c5650: OUTPUT«use of uninitialized value of type Any in string context  in block  at /tmp/6PK2DrIS7m:1␤␤False␤»
22:01 moritz (ie most were not experimentally falsifiable, or didn't offer a much simpler explanation for existing data than previous theories)
22:02 lizmat masak: I think that's the problem
22:02 masak lizmat: agreed.
22:02 lizmat r: my %h{Any}; %h{Any}=1; say %h{Any}; say %h{Any}:exists
22:02 camelia rakudo 9c5650: OUTPUT«1␤use of uninitialized value of type Any in string context  in block  at /tmp/30nteXxcOh:1␤␤False␤»
22:02 * lizmat submits rakudobug
22:02 masak yeah, that's self-contradictory.
22:02 masak lizmat++
22:07 moritz I'm pretty sure that role TypedHash should provide its own method exists
22:07 dick_tracy joined #perl6
22:08 moritz something like   multil method exists($?CLASS:D: Mu $key) { nextwith($key.WHICH) }
22:09 jnthn yes, sounds right.
22:09 moritz (and same for method delete)
22:10 moritz second attempt at sleeping&
22:10 lizmat moritz: working on just that
22:11 lizmat this is my proposed addition to TypedHash: method exists(TKey \key) { self.exists(key.WHICH) }
22:11 lizmat (making now)
22:12 masak 'night, #perl6
22:12 lizmat goodnight masak!
22:14 donaldh FROGGS: I enjoy a german beer but I suspect I am culturally predisposed to the beers I grew up with.
22:15 donaldh haha. I need to feed this profiling data into d3 so that I can v i s u a l i s e it :-)
22:17 lizmat moritz: not so oddly enough, my solution gets into an infinite loop  :-)
22:18 lizmat trying your solution now
22:22 donaldh awww, OOM
22:24 xilo joined #perl6
22:26 lizmat .tell moritz: your solution worked, and indeed :delete has a similar issue
22:26 yoleaux lizmat: What kind of a name is "moritz:"?!
22:26 lizmat .tell moritz your solution worked, and indeed :delete has a similar issue
22:26 yoleaux lizmat: I'll pass your message to moritz.
22:26 pecastro joined #perl6
22:39 tgt joined #perl6
22:43 jnthn donaldh: I'm going to look at using annotations to hold the massive amount of info currently set up through the getCodeRefs stuff.
22:43 jnthn donaldh: Hopefully will deal with some of the startup time stuff...
22:43 donaldh jnthn: oh
22:44 donaldh that sounds promising
22:44 jnthn Been through the ASM docs and it seems like it can work.
22:45 * lizmat wonders why "~~foo" couldn't be a synonym for "$_ ~~ foo"
22:46 lizmat and on that thought: goodnight #perl6!
22:46 diakopter o/
22:46 jnthn 'night, lizmat
22:46 dalek nqp/rak-jvm-support: 9756183 | jnthn++ | src/vm/jvm/QAST/Compiler.nqp:
22:46 dalek nqp/rak-jvm-support: Fix a thinko.
22:46 dalek nqp/rak-jvm-support: review: https://github.com/perl6/nqp/commit/975618317e
22:49 donaldh jnthn: not very scientific evidence suggests increasing heap will give 15% performance gain when compiling CORE.setting
22:50 donaldh I used -Xxm2048m but would need to experiment to find out what's actually needed.
22:50 cognominal in S06, the name fixity (probably borrowed from haskell) is used. This is the only use of the word in the synopses. Should that be replaced by "arity, precedence"?
22:51 jnthn donaldh: Sounds like the usual GC memory overhead / throughput trade-off.
22:52 labster joined #perl6
22:55 donaldh jnthn: yep.
23:06 jnthn ugh, tired. Will continue hacking this annotation thing tomorrow.
23:07 jnthn 'night o/
23:18 konundra joined #perl6
23:20 [Coke] r: use Test; is(5*14, 25, "http://www.youtube.com/watch?v=omyUncKI7oU&amp;feature=endscreen&amp;NR=1");
23:20 camelia rakudo 9c5650: OUTPUT«not ok 1 - http://www.youtube.com/watch?v=omyUncKI7oU&amp;feature=endscreen&amp;NR=1␤#      got: '70'␤# expected: '25'␤»
23:20 donaldh 'night
23:22 kbenson joined #perl6
23:26 skids joined #perl6
23:27 cognominal joined #perl6
23:43 lue r: BEGIN { temp COMPILING::<$?FOO> = 1; }; say COMPILING::<$?FOO>; BEGIN { COMPILING::<$?FOO> = 42; }; # I had a feeling S02:3079 was wrong (as a bonus, $?FOO doesn't work in the first place, at least on rakudo (must be COMPILING::<$?FOO>))
23:43 camelia rakudo 9c5650: OUTPUT«42␤»
23:50 sdo joined #perl6
23:50 sdo hello
23:51 sdo I had trouble with installing Perl 6 Rakudo... Now I took Rakudo star and it seems compiling without a stitch... Thanx
23:52 tgt joined #perl6
23:59 [Coke] sdo++

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

Perl 6 | Reference Documentation | Rakudo