Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-02-11

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:03 dalek rakudo/native-ref: 91a6de6 | jnthn++ | src/vm/moar/Perl6/Ops.nqp:
00:03 dalek rakudo/native-ref: Make unboxing account for native refs.
00:03 dalek rakudo/native-ref:
00:03 dalek rakudo/native-ref: This also improves code size, in turning a two-op sequence into a
00:03 dalek rakudo/native-ref: single op.
00:03 dalek rakudo/native-ref: review: https://github.com/rakudo/rakudo/commit/91a6de670b
00:03 dalek rakudo/native-ref: ecbcb52 | jnthn++ | src/core/ (2 files):
00:03 dalek rakudo/native-ref: Set up $PROCESS::FATAL sooner.
00:03 dalek rakudo/native-ref:
00:03 dalek rakudo/native-ref: Otherwise, if we fail(...) early enough while loading CORE.setting,
00:03 dalek rakudo/native-ref: the dynamic variable $*FATAL is looked up by fail, which isn't found,
00:03 dalek rakudo/native-ref: so it calls fail(...), which looks up $*FATAL, which...
00:03 dalek rakudo/native-ref: review: https://github.com/rakudo/rakudo/commit/ecbcb52d5a
00:05 dalek rakudo/native-ref: b541633 | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.nqp:
00:05 dalek rakudo/native-ref: Fix native ref interacation of :D in multis.
00:05 dalek rakudo/native-ref:
00:05 dalek rakudo/native-ref: Native refs always point to a concrete value, since natives can't be
00:05 dalek rakudo/native-ref: undefined.
00:05 dalek rakudo/native-ref: review: https://github.com/rakudo/rakudo/commit/b54163330b
00:05 dalek rakudo/native-ref: 69ea078 | jnthn++ | src/core/Range.pm:
00:05 dalek rakudo/native-ref: Fix some num/int sloppy in Range hot-path.
00:05 dalek rakudo/native-ref: review: https://github.com/rakudo/rakudo/commit/69ea078819
00:06 TimToady looks like that beer helped
00:06 jnthn ooh, damn, I forgot to grab one!
00:06 japhb The mere *thought* of beer kickstarted him
00:07 jnthn This works for horrible reasons, but...
00:07 jnthn > my int $a = 0; $a++; say $a;
00:07 jnthn 1
00:07 japhb \o/
00:07 raiph :)
00:07 TimToady it's going through 5000 meta-levels on each ++?
00:07 jnthn Not quite that bad
00:09 jnthn There's no "is rw" on natives yet, so I can't write the int candidate. So for now it falls back to the Int candidate, which in accessing the native ref leads to the value being boxed, and then we add 1, creating another boxed Int, and then we store it back through the native ref, causing an unboxing.
00:09 TimToady er...progress...
00:09 TimToady and clever sad-path code :)
00:10 jnthn Well, I figured if we're not going to make native and non-native code mix horribly, we have to be somewhat smart on the sad path.
00:10 * jnthn passes all the sanity tests
00:10 jnthn Got one more unpushed patch which does the switch
00:11 jnthn spectest looks less than good, though I kinda expected that.
00:15 raydiak nice jnthn++
00:15 * raydiak has never had his sanity formally tested and would prefer to keep it that way
00:17 TimToady m: sub foo(int:U $x) { $x }; foo(Int)
00:17 camelia rakudo-moar f53a94: OUTPUT«(signal SEGV)»
00:17 TimToady kewl!
00:18 TimToady m: rand(42)
00:18 camelia rakudo-moar f53a94: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/Ep063anGcN�Unsupported use of rand(N); in Perl 6 please use N.rand for Num or (^N).pick for Int result�at /tmp/Ep063anGcN:1�------> [32mrand[33m�[31m(42)[0m�»
00:18 * TimToady wonders if it's worth trying to s/N/42/ there...
00:18 dalek rakudo/native-ref: 098ed27 | jnthn++ | src/Perl6/ (2 files):
00:18 dalek rakudo/native-ref: Code-gen native lexical/attr access as ref-taking.
00:18 dalek rakudo/native-ref:
00:18 dalek rakudo/native-ref: This makes a number of things work that never have before (of note, ++
00:18 dalek rakudo/native-ref: on a native variable). However, various things need updating to know
00:18 dalek rakudo/native-ref: about native refs (so there are quite some spectest regressions), and
00:18 dalek rakudo/native-ref: the many, many possible code-gen optimizations are not yet in place,
00:18 dalek rakudo/native-ref: let alone any of the cleverer VM-level ones.
00:18 dalek rakudo/native-ref: review: https://github.com/rakudo/rakudo/commit/098ed27aa2
00:18 jnthn Well, that's at least the end of the beginning... :)
00:19 TimToady exposition -> development -> recapitulation
00:19 jnthn Ugh, get the SEGV in my branch too
00:19 avuserow_ joined #perl6
00:20 TimToady m: sub foo(int:U $x) { $x };
00:20 camelia rakudo-moar f53a94: ( no output )
00:21 TimToady m: sub foo(int:U $x) { $x }; foo(1)
00:21 camelia rakudo-moar f53a94: ( no output )
00:21 jnthn m: sub foo(int $x) { $x }; foo(Int)
00:21 camelia rakudo-moar f53a94: OUTPUT«(signal SEGV)»
00:21 masak TimToady: re worth replacing: probably not. or are you planning to do it for literal things only? it feels like the risk of something needing parens would be nontrivial...
00:21 * jnthn wonders what's to blame...
00:21 jnthn m: my int $x = Int;
00:21 camelia rakudo-moar f53a94: OUTPUT«Cannot unbox a type object␤  in block <unit> at /tmp/ILlhXl0Hz5:1␤␤»
00:21 skids joined #perl6
00:22 TimToady masak: I'd probably do it for only digits or a simple var, but it's marginal
00:22 TimToady and probably not worth the bloat
00:23 masak agreed.
00:23 masak it's pretty clear as it is.
00:24 masak I wonder if there isn't an "uncanny valley" effect there as well.
00:24 masak like, if you make the error messages *too* helpful, they will come off as not being helpful enough somehow.
00:24 TimToady "Here, this code's wrong, let me refactor it for you..."
00:25 jnthn TimToady: Fixed the SEGV; thanks.
00:25 jnthn Though should really give it a spectest, except it's fixed in a branch, so... :)
00:26 TimToady m: say 0777;
00:26 camelia rakudo-moar f53a94: OUTPUT«Potential difficulties:â�¤    Leading 0 does not indicate octal in Perl 6; please use 0o777 if you mean thatâ�¤    at /tmp/svaR6uJL1R:1â�¤    ------> [32msay 0777[33mâ��[31m;[0mâ�¤777â�¤Â»
00:26 * jnthn pokes masakbot to submit an RT :P
00:26 TimToady there's a place we do the rewrite
00:28 * masak bot submits an RT
00:29 * raydiak saw an idea once where someone wanted to be able to answer "Did you mean ..." with "y" and have the source file modified and the updated version executed
00:30 masak m: class A { method foo(int $x) { $x } }; A.new.foo(Int)
00:30 camelia rakudo-moar f53a94: OUTPUT«(signal SEGV)»
00:31 masak m: sub foo(int $x) { say "haha!" }; foo(Int)
00:31 camelia rakudo-moar f53a94: OUTPUT«(signal SEGV)»
00:31 masak m: my int $x = Int; say "alive"
00:31 camelia rakudo-moar f53a94: OUTPUT«Cannot unbox a type object␤  in block <unit> at /tmp/NEZ6_sYpTa:1␤␤»
00:32 jnthn masak: That's what it reports locally now I've fixed it.
00:32 jnthn (Instead of the SEGVs)
00:35 masak jnthn: https://rt.perl.org/Ticket/Display.html?id=123789
00:38 b2gills radiak: that would be great in an IDE when you try to run the code
00:39 jnthn masak++
00:43 raydiak b2gills: yeah it was certainly an interesting idea if nothing else...probably not for core, but I hadn't thought about trying to do it in an IDE
00:45 b2gills If an IDE could hook into the parser it would be awesome ( imagine how much better the highlighter will be )
00:46 TimToady would currently need to have some incremental abilities to avoid being too slow
01:05 yeahnoob joined #perl6
01:08 vendethiel joined #perl6
01:11 dj_goku avuserow_: thanks (enum example)
01:21 locsmif left #perl6
01:28 BenGoldberg joined #perl6
01:30 adu joined #perl6
01:30 dayangkun joined #perl6
01:33 jnthn Sleep time; 'night o/
01:33 masak 'night, jnthn
01:34 masak dream of RT tickets magically resolving themselves while you sleep ;)
01:52 masak 'night, #perl6
01:52 telex joined #perl6
02:01 hahainternet nn masak
02:06 vendethiel joined #perl6
02:13 Pleiades` joined #perl6
02:20 dduncan joined #perl6
02:20 dduncan left #perl6
02:25 dduncan joined #perl6
02:25 dduncan left #perl6
02:29 _dolmen_ joined #perl6
02:34 TimToady http://rosettacode.org/wiki/Textonyms#Perl_6  <-- .trans is still pretty darn slow
02:36 yeahnoob joined #perl6
02:49 dduncan joined #perl6
02:50 ninjazach joined #perl6
02:58 vendethiel joined #perl6
02:58 hagiri joined #perl6
02:59 BenGoldberg joined #perl6
03:02 BenGoldberg joined #perl6
03:11 noganex_ joined #perl6
03:15 colomon joined #perl6
03:18 Patterner joined #perl6
03:18 colomon_ joined #perl6
03:21 vendethiel joined #perl6
03:29 zmisc joined #perl6
03:32 Nashukray joined #perl6
03:36 _dolmen_ joined #perl6
03:41 dduncan left #perl6
03:48 hoelzro [Coke]: what do you mean?
03:49 colomon joined #perl6
03:55 Mouq joined #perl6
04:00 Mouq joined #perl6
04:01 nyuszika7h_ joined #perl6
04:08 dduncan joined #perl6
04:08 cibs joined #perl6
04:20 vendethiel joined #perl6
04:20 kurahaupo1 joined #perl6
04:35 yeahnoob joined #perl6
04:35 BenGoldberg joined #perl6
04:42 Bucciarati joined #perl6
04:42 camelia joined #perl6
04:46 kurahaupo1 joined #perl6
04:51 BenGoldberg joined #perl6
04:52 BenGoldberg joined #perl6
05:11 vendethiel joined #perl6
05:28 khisanth_ joined #perl6
05:40 vendethiel joined #perl6
06:14 alini joined #perl6
06:15 bjz joined #perl6
06:17 vendethiel joined #perl6
06:35 xfix joined #perl6
06:35 mr-foobar joined #perl6
06:43 vendethiel joined #perl6
06:44 rindolf joined #perl6
06:45 bjz joined #perl6
07:01 nyuszika7h joined #perl6
07:09 diana_olhovik joined #perl6
07:12 vendethiel joined #perl6
07:20 rindolf joined #perl6
07:29 Rounin joined #perl6
07:31 espadrine joined #perl6
07:32 darutoko joined #perl6
07:32 gfldex joined #perl6
07:35 wicope joined #perl6
07:39 kaare__ joined #perl6
07:42 brrt joined #perl6
07:47 vendethiel joined #perl6
07:51 coffee` joined #perl6
07:54 FROGGS joined #perl6
08:00 FROGGS "so it calls fail(...), which looks up $*FATAL, which..." :D
08:01 * FROGGS hears TimToady saying "you can say that again" in his head
08:01 _mg_ joined #perl6
08:07 pmurias joined #perl6
08:07 pmurias [Coke]: yes, do you get any failures?
08:08 moritz \o
08:09 prime joined #perl6
08:16 ven o/, #perl6
08:18 Mr0rris0 joined #perl6
08:21 brrt \o ven, #perl6
08:30 vendethiel joined #perl6
08:31 salv0 joined #perl6
08:33 zakharyas joined #perl6
08:36 kaleem joined #perl6
08:37 colomon joined #perl6
08:53 alini joined #perl6
09:15 jnthn morning o/
09:15 FROGGS morning jnthn
09:15 kaleem joined #perl6
09:21 dakkar joined #perl6
09:31 Ugator joined #perl6
09:35 vendethiel joined #perl6
09:35 lizmat .botsnack
09:36 lizmat hmmm....
09:36 lizmat timotimo: if you feel like doing next week's P6 Weekly again, that's fine by me
09:36 geekosaur yoleaux lived, once...
09:36 jnthn We be botless
09:36 jnthn o/ lizmat
09:36 andreoss joined #perl6
09:36 * lizmat hopes timotimo will read this in backlog
09:36 lizmat jnthn /o
09:37 jnthn Hope you're feeling at least somewhat better
09:37 lizmat a bit, but not much  :-(
09:37 jnthn Urgh
09:37 lizmat splitting headache
09:37 jnthn :(
09:38 lizmat I fell I can't be trusted with MoarVM internals atm, so lstat and friends are out of the question for now
09:38 lizmat *feel
09:38 lizmat *sigh*
09:38 Kristien joined #perl6
09:39 Kristien hi
09:39 ven o/
09:39 jnthn lizmat: Well, you can always ask for review etc. before committing. I'll be about most of the day doing 6-y stuffs...
09:40 jnthn But yeah, I tend not to write C with a headache either... :)
09:40 jnthn o/ Kristien
09:41 ven .oO( declarative is about being a second-class citizen )
09:51 salv0 joined #perl6
09:53 fhelmberger joined #perl6
09:56 andreoss left #perl6
09:58 telex joined #perl6
09:58 espadrine joined #perl6
09:58 Guest45 joined #perl6
10:00 dalek nqp/native-ref: c6ce3d9 | jnthn++ | src/vm/moar/QAST/QASTCompilerMAST.nqp:
10:00 dalek nqp/native-ref: Elide reference taking when we want a native.
10:00 dalek nqp/native-ref:
10:00 dalek nqp/native-ref: This eliminates a huge number of the unrequired reference-takes.
10:00 dalek nqp/native-ref: review: https://github.com/perl6/nqp/commit/c6ce3d9e31
10:00 * Humbedooh negotiates with yoleaux's captors...
10:00 slavik joined #perl6
10:03 dalek rakudo/native-ref: 4202b86 | jnthn++ | src/core/Range.pm:
10:03 dalek rakudo/native-ref: Revert "Fix some num/int sloppy in Range hot-path"
10:03 dalek rakudo/native-ref:
10:03 dalek rakudo/native-ref: Code-gen improvements mean we can get away with this again.
10:03 dalek rakudo/native-ref: review: https://github.com/rakudo/rakudo/commit/4202b868a7
10:07 lizmat jnthn: I added .close on the Supply
10:08 lizmat that is probably wrong, reading your explanation yesterday
10:08 lizmat I intended it to be a quick way of closing all the taps
10:08 lizmat on a supply
10:08 jnthn lizmat: Ah, OK. Did you have a use-case in mind?
10:09 jnthn lizmat: It feels scarily action-at-distance to me, is all.
10:09 lizmat well, yes...  not sure what I had in mind at the time
10:09 lizmat I guess it should at least be called something like "close-all-taps'
10:10 lizmat if we want to keep it
10:10 jnthn Well, thinking about how I'd do it in Rx...
10:10 jnthn It's not unreasonable to have many taps share a common source, and to want to have an on/off switch at *that* point
10:11 jnthn They have a mechanism called a connectable observable. If we followed the API (not advocating the names), then it's something like:
10:11 jnthn my $sharer = $some-underlying-supply.publish();
10:11 jnthn ...many things tap $sharer
10:11 _mg_ joined #perl6
10:12 jnthn (Perhaps indirectly, etc. $sharer.grep(...).tap(...) etc.)
10:12 jnthn Then $sharer.connect(); # actually taps the underlying supply
10:12 jnthn $sharer.disconnect(); # closes the underlying tap
10:13 jnthn That allows it through a useful mechanism (a distribution point).
10:13 JimmyZ m: my Int $i = 1; ++$i # it's not a bug?
10:13 camelia rakudo-moar f53a94: ( no output )
10:13 jnthn JimmyZ: What's a bug?
10:13 JimmyZ m: my Int $i = 1; ++++$i # it's not a bug?
10:13 camelia rakudo-moar f53a94: OUTPUT«Cannot assign to an immutable value␤  in sub prefix:<++> at src/gen/m-CORE.setting:5522␤  in block <unit> at /tmp/s2OXZ8pYtJ:1␤␤»
10:13 jnthn JimmyZ: Uh, what do you think might be a bug, I meant? :)
10:14 jnthn std: my Int $i = 1; ++++$i
10:14 camelia std f9b7f55: OUTPUT«ok 00:00 136m␤»
10:14 jnthn Hm, doesn't fall under the "won't parse that" rules :)
10:14 jnthn JimmyZ: Well, ++ at the moment returns the value, not the container with the thing that got ++'d.
10:14 JimmyZ /MoarVM/install/bin/perl6 -e 'my int $i =0; say ++++$i'
10:14 JimmyZ 2
10:15 JimmyZ /MoarVM/install/bin/perl6 -e 'my int $i =0; say +++++$i'
10:15 JimmyZ Cannot assign to an immutable value
10:15 jnthn I wouldn't read much into that.
10:15 JimmyZ native-ref branch
10:15 jnthn Yes
10:15 jnthn That branch is getting return value decontainerization REALLY wrong for native refs at the moment.
10:17 JimmyZ I thought 2 is right anser
10:18 jnthn Well, if we want it to be, we can have it that way
10:18 jnthn But the inconsistency is 'cus the native-ref stuff is still a work in progress
10:18 jnthn As you'll no doubt have noticed if you've tried spectesting it :)
10:19 [ptc] m: say "θ".ord()
10:19 camelia rakudo-moar f53a94: OUTPUT«952␤»
10:19 JimmyZ yeah, I just don't know which answer is right
10:22 jnthn Well, in terms of "doing what the code says", the exception is correct
10:23 * lizmat defers reading more backlog
10:23 lizmat ( raydiak++ masak++ for nudge )
10:23 lizmat &
10:24 yoleaux joined #perl6
10:26 Humbedooh it returneth <3
10:28 Phagus joined #perl6
10:28 pecastro joined #perl6
10:30 Vlavv_ joined #perl6
10:32 yoleaux Humbedooh: phew, your negotiations saved me! thanks!
10:33 jnthn Humbedooh++ # thanks
10:33 Humbedooh \o/
10:34 Phagus left #perl6
10:34 FROGGS .botsnack
10:34 yoleaux :D
10:34 FROGGS 'love it
10:41 masak good antenoon, #perl6
10:42 jnthn Barely... :P
10:44 abraxxa joined #perl6
10:44 ceronman joined #perl6
10:44 Kristien joined #perl6
10:46 Guest45 joined #perl6
10:50 [ptc] m: sprintf("%x", 'θ'.ord() )
10:50 camelia rakudo-moar f53a94: ( no output )
10:50 [ptc] m: say sprintf("%x", 'θ'.ord() )
10:50 camelia rakudo-moar f53a94: OUTPUT«3b8␤»
10:51 FROGGS m: say 'θ'.fmt('%#x')
10:51 camelia rakudo-moar f53a94: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏θ' (indicated by ⏏)␤  in method Int at src/gen/m-CORE.setting:14615␤  in method Int at src/gen/m-CORE.setting:6785␤␤»
10:51 FROGGS m: say 'θ'.ord.fmt('%#x')
10:51 camelia rakudo-moar f53a94: OUTPUT«0x3b8␤»
10:52 Kristien Speaking of FROGGS, I'm hungry. I should go catch a frog.
10:52 FROGGS ewww
10:52 masak I knew having the French on this channel was a bad idea.
10:52 masak :P
10:52 FROGGS Kristien: I thought you are from .nl?
10:52 Kristien I am.
10:52 masak oh, that qualifies too.
10:52 FROGGS does it :S
10:53 Kristien I want to hunt some day. I have never eaten a frog before.
10:53 FROGGS me neither
10:54 FROGGS I almost got frog legs last year in Lyon, but since I had muscles the day before I ordered something more usual
10:54 Kristien I hope my Perl book arrives today. :<
10:54 FROGGS I put this on my wishlist yesterday: http://www.vintage-basic.net/games.html
10:54 masak Kristien: which Perl book is that?
10:54 DrForr_ The mussels were excellent at Sunday's dinner.
10:54 masak FROGGS: the paper book? it's great.
10:54 Kristien Modern Perl
10:55 FROGGS and I want to port all code snippets from that web site over to Perl 6 :/
10:55 masak Kristien: oh, chromatic's? yes, it's very nice.
10:55 FROGGS though time...
10:55 masak Kristien: but if you want to read it now, it can be downloaded for free online as a PDF.
10:55 vendethiel joined #perl6
10:55 FROGGS masak: aye, and the 'More Basic Computer Games'
10:55 DrForr_ Kristien: It's also available online, though thanks for buying the paper version.
10:55 Kristien I know, I have the PDF but I prefer paper.
10:55 FROGGS me too
10:56 masak I'm sort of halfway at this point.
10:56 FROGGS I don't like to read book-ish things on my laptop or on a pad
10:56 DrForr_ FROGGS: EGADS. I still have my original copy in storage.
10:56 Kristien I actually started learning Perl by reading the first chapter.
10:56 masak I have some use cases for paper and a few use cases for Kindle/iPad.
10:56 FROGGS DrForr_: EGADS?
10:57 [ptc] it would be nice to have something like "θ".hex() which then returns the hex value of the character, much like .ord() returns the codepoint number
10:57 DrForr_ Just hadn't even thought of that book for a long time.
10:57 [ptc] this would save people having to pipe the output of .ord() through sprintf to find out the hex value (which would then be used to construct the char in e.g. vim)
10:57 FROGGS ahh "EGADS"
10:58 [ptc] how hard would it be to implement that?  Should I give it a go and submit a PR?
10:58 moritz [ptc]: the problem is finding a good, unambiguous name
10:58 Kristien m: say 1>>.perl
10:58 camelia rakudo-moar f53a94: OUTPUT«1␤»
10:58 [ptc] or is there something I've missed, which would be much easier?
10:58 moritz [ptc]: for example .hex doesn't sound like the character code is involved
10:58 DrForr_ I also met the author shortly thereafter when he was at a computer club in Lincoln.
10:58 moritz at least to me
10:58 Kristien m: sub p($x) { $x.perl.say }; p 'just like Ruby!'
10:59 camelia rakudo-moar f53a94: OUTPUT«"just like Ruby!"␤»
10:59 moritz m: say 'thingy'.encode
10:59 camelia rakudo-moar f53a94: OUTPUT«utf8:0x<74 68 69 6e 67 79>␤»
10:59 [ptc] moritz: true, but then .ord didn't say much to me either
10:59 moritz [ptc]: yes, that's a weird one, mostly historic
10:59 [ptc] moritz: the docs were saying: returns Unicode codepoint, so I used what was returned and couldn't reproduce the char in vim
10:59 dalek Heuristic branch merge: pushed 54 commits to rakudo/native-ref by jnthn
10:59 Kristien what's the data type of a codepoint?
11:00 moritz Kristien: Int
11:00 Kristien Rust uses a specific codepoint type which can't represent invalid codepoints.
11:00 [ptc] moritz: then spent a while being confused and worked out I should have used hex, which led me to the sprintf solution
11:00 Mouq m: say 'θ'.ord.base(16)
11:00 camelia rakudo-moar f53a94: OUTPUT«3B8␤»
11:00 jnthn (Merge about is just getting latest nom commits, so I can see in spectest what I've actually broken, fwiw.)
11:00 jnthn *above
11:00 [ptc] Mouq: ah, that's a simpler solution!
11:01 [ptc] do we have a document explaining how to type in Unicode into various editors?
11:01 moritz [ptc]: but maybe the real solution would be to have a .charinfo or so which returns an object that has things like Unicode codepoint notation (U+1234), character classes it belongs to, classification etc.
11:01 moritz [ptc]: (various editors) no, but it would be nice to have that
11:01 [ptc] moritz: yes, something like .charinfo sounds like a good, more general, idea
11:02 Kristien useful for APL slang!
11:03 [ptc] moritz: (various editors) I'll try and put something together.  Is there a preferred location for something like that?  Under lib/Language?
11:08 ven masak: hey, hey, stop with that already :P. I don't know anyone who has eaten frog.
11:08 * ven remembers talking with FROGGS++ about that at apw14
11:09 ven masak: I consider reading on comp to be horrible. Reading on phone to be headeach-y, but still a bit better. But a good book is the best, though, eh, it weighs a lot
11:13 jnthn m: (1 .. (10**1000) ).pick(50); say now - INIT now
11:13 camelia rakudo-moar f53a94: OUTPUT«0.1622190␤»
11:14 jnthn Bah, seems I've broken something such that it tries to actually reify that list...
11:28 ilbot3 joined #perl6
11:28 Topic for #perl6 is now »ö« Welcome to Perl 6! | http://perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: http://irc.perl6.org | UTF-8 is our friend!
11:28 masak I can tell at a glance that you're mistaken.
11:28 jnthn Guess I better go debugging again :)
11:31 rindolf joined #perl6
11:34 [ptc] 'I.... see?' ~~ / \w+ <punctuation=-[\w\s]> \s* $<final-word> = [ \w+ . ] /; say $/<punctuation>;
11:34 [ptc] m: 'I.... see?' ~~ / \w+ <punctuation=-[\w\s]> \s* $<final-word> = [ \w+ . ] /; say $/<punctuation>;
11:34 camelia rakudo-moar f53a94: OUTPUT«Nil␤»
11:34 [ptc] hrm, that's supposed to say '....', what am I doing wrong?
11:37 FROGGS m: 'I.... see?' ~~ / \w+ <punctuation=-[\w\s]> \s* $<final-word> = [ \w+ . ] /; say $/;
11:37 camelia rakudo-moar f53a94: OUTPUT«Nil␤»
11:37 FROGGS [ptc]: only if it matches at all
11:38 [ptc] FROGGS: that's an example in the docs, which is supposed to print '....'.
11:38 FROGGS m: 'I.... see?' ~~ / \w+ $<punctuation>=[ <-[\w\s]>+ ] \s* $<final-word> = [ \w+ . ] /; say $/;
11:38 camelia rakudo-moar f53a94: OUTPUT«「I.... see?」␤ punctuation => 「....」␤ final-word => 「see?」␤»
11:38 ven masak: I used to be *no dead trees*. mostly because I couldn't afford (programming) books, though
11:38 [ptc] FROGGS: unfortunately, I don't see how to fix it
11:38 FROGGS m: 'I.... see?' ~~ / \w+ $<punctuation>=[ <-[\w\s]>+ ] \s* $<final-word> = [ \w+ . ] /; say $<punctuation>;
11:38 camelia rakudo-moar f53a94: OUTPUT«「....」␤»
11:39 [ptc] FROGGS: ah, so the $ and trailing > before the = were missing?
11:39 ven masak: but my eyes are pretty unhappy with how I treat them, it seems
11:39 ven (also, I meant french people having eaten frog.)
11:40 FROGGS [ptc]: that was the missing but important bit: <-[\w\s]>+
11:40 FROGGS [ptc]: you just matched one "."
11:40 FROGGS m: 'I.... see?' ~~ / \w+ <punctuation=-[\w\s]> /; say $/; # see?
11:40 camelia rakudo-moar f53a94: OUTPUT«「I.」␤ punctuation => 「.」␤»
11:41 [ptc] FROGGS: thanks for the explanation :-)  That was hard to parse in my head...
11:41 moritz [ptc]: re preferred location, dunno. Your guess is as good as mine :-)
11:42 FROGGS yeah, I trip over that too... it helps to remove rules from the end of your pattern to see how far it gets
11:43 [ptc] moritz: ok :-)
11:44 [ptc] ok, docs updated. Commit forthcoming.  Thanks for the help :-)
11:53 dalek doc: b25fb13 | paultcochrane++ | lib/Language/traps.pod:
11:53 dalek doc: Wrap long =items to improve readability
11:53 dalek doc: review: https://github.com/perl6/doc/commit/b25fb135b1
11:53 dalek doc: 2ffcba1 | paultcochrane++ | lib/Language/variables.pod:
11:53 dalek doc: Correct variable type in sigilless variables example
11:53 dalek doc:
11:53 dalek doc: The variables degrees and θ are actually C<Num>s, not C<Int>s.
11:53 dalek doc: review: https://github.com/perl6/doc/commit/2ffcba18e6
11:53 dalek doc: b5b80b1 | paultcochrane++ | lib/Language/variables.pod:
11:53 dalek doc: Correct variable name in ^ twigil example
11:53 dalek doc: review: https://github.com/perl6/doc/commit/b5b80b12a1
11:53 dalek doc: fa6cd6e | paultcochrane++ | lib/Language/variables.pod:
11:53 dalek doc: Correct regex in C<$/> example
11:53 dalek doc:
11:53 dalek doc: Thanks to FROGGS++ for helping to correct the regex.
11:53 dalek doc: review: https://github.com/perl6/doc/commit/fa6cd6e28e
11:53 dalek doc: 72d0197 | paultcochrane++ | lib/Language/variables.pod:
11:53 dalek doc: Update output in all named attributes example
11:53 dalek doc: review: https://github.com/perl6/doc/commit/72d0197a2c
11:53 dalek doc: 7e7f167 | paultcochrane++ | lib/Language/variables.pod:
11:53 dalek doc: Correct minor typos etc in variables.pod
11:53 dalek doc: review: https://github.com/perl6/doc/commit/7e7f167ca5
11:53 dalek doc: fa2e20b | paultcochrane++ | lib/Language/variables.pod:
11:53 dalek doc: Wrap paragraphs consistently in variables.pod
11:53 dalek doc: review: https://github.com/perl6/doc/commit/fa2e20b00d
12:07 Kristien joined #perl6
12:14 perl6beginner joined #perl6
12:14 perl6beginner hi
12:14 tadzik hello perl6beginner :)
12:14 perl6beginner :)
12:14 perl6beginner how do i subtract two DateTime objects in Perl 6? :)
12:15 Kristien that makes no sense
12:15 perl6beginner to calculate the duration between the two that is
12:15 Kristien you can't
12:15 Kristien you need timezone information to do that
12:16 perl6beginner i have timestamp1 and timestamp2 in the same timezone
12:16 tadzik well, what if you assume both are in the same
12:16 tadzik that sounds like a valid usecase to me
12:16 perl6beginner it is valid since im parsing a log file
12:16 perl6beginner and want to calculate the duration
12:16 Kristien use instants when you want instants
12:16 tadzik m: now.perl.say
12:16 camelia rakudo-moar f53a94: OUTPUT«Instant.new(<2683593538499/1885>)␤»
12:16 perl6beginner https://metacpan.org/pod/DateTim​e#dt-subtract_datetime-datetime   # like
12:17 tadzik m: DateTime.new.Instant.perl.say
12:17 camelia rakudo-moar f53a94: OUTPUT«Must provide arguments to DateTime.new()␤  in method <anon> at src/gen/m-CORE.setting:14623␤  in any find_method_fallback at src/gen/m-Metamodel.nqp:2823␤  in any find_method at src/gen/m-Metamodel.nqp:1001␤  in block <unit> at /tmp/hM0bsZi0se:1␤␤»
12:17 tadzik pff
12:17 tadzik m: DateTime.new(now).Instant.perl.say
12:17 camelia rakudo-moar f53a94: OUTPUT«Instant.new(<1134654685586/797>)␤»
12:17 moritz m: DateTime.now.Instant.perl.say
12:17 camelia rakudo-moar f53a94: OUTPUT«Instant.new(1423657074.0)␤»
12:17 Kristien converting an instant into a datetime makes no sense
12:17 Kristien without a timezone
12:18 Kristien implicity dependency on the system timezone is a recipe for broken APIs
12:19 jnthn This is converting a DateTime into an Instant, though. :)
12:19 Kristien same thing unless datetime contains timezone
12:19 jnthn It does.
12:19 perl6beginner i have a log file that contains the following: 2015-01-28 11:18:24,412 Operation started <newline> 2015-01-28 11:18:25,039 Operation ended <newline>
12:20 Kristien those are really representations of instants and you should convert them to instants as soon as you read them
12:20 perl6beginner i thought date time math was easier in Perl 6
12:20 Kristien log events happened at a point in time and you want to get that point back
12:22 perl6beginner also how do i access DateTime documentation on http://doc.perl6.org ?
12:22 jnthn perl6beginner: Once you have the DateTime objects, do $dt1.Instant - $dt2.Instant
12:22 Kristien ewww
12:22 jnthn You'll get back a Duration
12:22 Kristien time to port nodatime to Perl 6
12:22 perl6beginner r: DateTime.new(now).Instant - DateTime.new(now).Instant
12:22 camelia rakudo-{parrot,moar} f53a94: ( no output )
12:22 perl6beginner r: say DateTime.new(now).Instant - DateTime.new(now).Instant
12:22 camelia rakudo-moar f53a94: OUTPUT«-0.0142907␤»
12:22 camelia ..rakudo-parrot f53a94: OUTPUT«-0.03138785␤»
12:23 perl6beginner cool
12:23 perl6beginner thx :)
12:23 perl6beginner jnthn++
12:23 perl6beginner tadzik++
12:24 perl6beginner now about the documentation of DateTime, where can i access it online? I cannot seem to find it in http://doc.perl6.org or p6doc
12:24 Kristien joined #perl6
12:26 dalek doc: b2a3958 | jnthn++ | WANTED:
12:26 dalek doc: Note Date/DateTime docs are todo
12:26 dalek doc: review: https://github.com/perl6/doc/commit/b2a395814d
12:27 jnthn perl6beginner: It looks like Instant/Duration are documented, but DateTime/Date are still todo. I put them on the WANTED list so we don't forget that.
12:27 moritz perl6beginner: http://design.perl6.org/S32/Temporal.html
12:27 jnthn Ah, and yeah, that's dthe design doc. :)
12:27 moritz jnthn: http://doc.perl6.org/type/Date that one is documented
12:28 jnthn moritz: Oh...
12:28 moritz just not DateTime
12:28 jnthn Why'd I not find that in the search...
12:28 jnthn Oh, it's there
12:28 jnthn fail
12:28 Kristien m: say Time
12:28 camelia rakudo-moar f53a94: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/wudwRsNtJxâ�¤Undeclared name:â�¤    Time used at line 1â�¤â�¤Â»
12:29 dalek doc: ef25a73 | jnthn++ | WANTED:
12:29 dalek doc: We have Date, it's only DateTime/Datish missing.
12:29 dalek doc:
12:29 dalek doc: moritz++ for correcting.
12:29 dalek doc: review: https://github.com/perl6/doc/commit/ef25a73994
12:29 jnthn m: my Int $x; say $x
12:29 camelia rakudo-moar f53a94: OUTPUT«(Int)␤»
12:29 jnthn m: my Int ($x); say $x
12:29 camelia rakudo-moar f53a94: OUTPUT«(Int)␤»
12:29 jnthn m: my Int ($x, $y); say $x
12:29 camelia rakudo-moar f53a94: OUTPUT«(Int)␤»
12:30 jnthn m: my int ($x, $y); $x = 42
12:30 camelia rakudo-moar f53a94: ( no output )
12:30 jnthn m: my int ($x, $y); EVAL ''; say nqp::getlexprimspec('$x')
12:30 camelia rakudo-moar f53a94: OUTPUT«===SORRY!===␤No registered operation handler for 'getlexprimspec'␤»
12:30 jnthn m: my int ($x, $y); EVAL ''; say nqp::lexprimspec('$x')
12:30 Kristien i typed "/my perl" instead of "/join #perl" :(
12:30 camelia rakudo-moar f53a94: OUTPUT«===SORRY!===␤Arg count 1 doesn't equal required operand count 3 for op 'lexprimspec'␤»
12:30 jnthn m: my int ($x, $y); EVAL ''; say nqp::lexprimspec(nqp::ctx(), '$x')
12:30 camelia rakudo-moar f53a94: OUTPUT«0␤»
12:30 jnthn m: my int $x; EVAL ''; say nqp::lexprimspec(nqp::ctx(), '$x')
12:30 camelia rakudo-moar f53a94: OUTPUT«1␤»
12:30 jnthn Aha.
12:31 perl6beginner cool thx
12:32 jnthn lunch &
12:32 Kristien left #perl6
12:32 tadzik oh, it's Design now :)
12:41 vendethiel joined #perl6
12:49 Mouq joined #perl6
13:03 hoelzro o/ #perl6
13:13 masak \o
13:18 jnthn hoelzro/
13:19 timotimo o/
13:19 yoleaux 10 Feb 2015 04:02Z <raiph> timotimo: http://nbviewer.ipython.org/github/zmughal​/zmughal-iperl-notebooks/blob/master/IPerl​-demos/20150209_IPerl_display_demo.ipynb
13:21 bjz joined #perl6
13:22 dalek rakudo/native-ref: ed66bc5 | jnthn++ | src/Perl6/World.nqp:
13:22 dalek rakudo/native-ref: Fix my int ($a, $b).
13:22 dalek rakudo/native-ref:
13:22 dalek rakudo/native-ref: It's never really worked, though it did compile to something valid-ish
13:22 dalek rakudo/native-ref: before native-ref. Now it declares both as natives, as it should.
13:22 dalek rakudo/native-ref: review: https://github.com/rakudo/rakudo/commit/ed66bc5ecc
13:23 MadcapJake joined #perl6
13:28 vendethiel joined #perl6
13:32 hoelzro pmurias: do you have any thoughts on how to implment curlexpad?
13:32 timotimo FRo/GGS
13:39 [Coke] pmurias, hoelzro: yes, I got a bunch of failures running 'make js-test'
13:40 hoelzro [Coke]: ah ha...yeah, that should be clean.
13:40 hoelzro [Coke]: which tests?
13:42 hoelzro interestingly enough, for me, 14-while.t fails, *unless* I run it standalone
13:44 colomon m: say “110”.Int
13:44 camelia rakudo-moar f53a94: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/cMl2ElW3SD�Unsupported use of bare 'say'; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument�at /tmp/cMl2ElW3SD:1�------> [32msay [33m�[31m“110�.Int[0…»
13:44 colomon m: say “110”.Real
13:44 camelia rakudo-moar f53a94: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/UCOBCmOaKf�Unsupported use of bare 'say'; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument�at /tmp/UCOBCmOaKf:1�------> [32msay [33m�[31m“110�.Real[…»
13:45 [Coke] hoelzro, pmurias : https://gist.github.com/coke/256bbd3ba079633a3845
13:45 colomon dang thing
13:45 hoelzro eesh
13:45 hoelzro [Coke]: what's your HEAD?
13:46 muraiki_ joined #perl6
13:46 [Coke] hoelzro: 2a199d1
13:46 [Coke] using the 'js' branch of nqp
13:46 hoelzro hmm
13:46 [Coke] used this config line:
13:46 [Coke] perl Configure.pl --backends=moar,js --gen-moar
13:46 hoelzro [Coke]: you just read my mind =)
13:47 * hoelzro tries that
13:47 [Coke] Happy to provide more output on any of those. node on v0.10.32
13:49 hoelzro [Coke]: this seems silly, but have you tried with a clean clone of nqp on the js branch?
13:50 hoelzro I'm on node 0.10.36, but I can't imagine that small difference changing much
13:50 [Coke] I thought it was clean when I started yesterday. Sure, I'll start fresh.
13:51 hoelzro thanks, just want to be thorough
13:51 [Coke] did a git clean -xdf; rm -rf parrot install MoarVM
13:52 [Coke] re-configging.
13:55 [Coke] doing 'make' instead of 'make -j', just in case.
13:55 colomon say %info<episodeNumber>;
13:55 colomon say +%info<episodeNumber>;
13:55 colomon 109
13:55 colomon 1
13:55 colomon ?????
13:55 * colomon hopes he’s missing something really, really obvious here
13:55 [Coke] "it's .gist, I dont know what it's doing"
13:56 hoelzro [Coke]: using -j *has* tripped me up in the past, but I thought I'd fixed any issues with it
13:56 [Coke] then make js-test (which, btw, still builds a bunch of stuff that 'make' didn't, or it's building again)
13:56 jnthn colomon: Got a cut-down test case?
13:56 [Coke] ... and another very long list of failures, which I will just assume is the same.
13:57 hoelzro [Coke]: how odd..what OS/distribution are you on?
13:57 [Coke] OS X 10.9.5
13:57 pmurias [Coke]: could you nopaste the errors you are getting
13:57 pmurias ?
13:58 [Coke] Sure, I'll pick a random failure...
13:59 pmurias hoelzro: re curlexpad, I'll have to think about is a bit
13:59 colomon jnthn: Oh!  I think it’s an array containing one element
13:59 [Coke] pmurias: https://gist.github.com/coke/f71b4b0f9b7be981959c
13:59 hoelzro pmurias: ok
13:59 jnthn colomon: That'd explain it :)
14:00 colomon jnthn: I was hoping it was something simple like that.  Lesson: I should have .perl ‘d it, or .WHAT’d, or something.
14:00 pmurias hoelzro: it could be possible do it with something like curlexpadthing({'foo': {getter: function() {return foo}, setter: function(val) {foo = val}},...)
14:01 pmurias s/to/to do/
14:03 rindolf joined #perl6
14:05 hoelzro interesting
14:06 hoelzro if I do $assoc<key> in nqp-js, does that resolve to DOLLAR_assoc.key?
14:06 hoelzro I'm wondering how much work would have to occur to get it to call lex.foo.getter()
14:12 [Coke] is the getstdin op defined in js? I see one instance in src/vm/js/old-nqp-runtime-node/ops/fs.js that defines op.getstdin, but not the line I would expect about registering the op.
14:13 pmurias [Coke]: you are getting a test failure from a test that js-test isn't suppost to be running
14:13 pmurias * supposed
14:13 hoelzro 2a199d1 is causing the intermittent 14-while.t failures for me
14:14 * hoelzro gets ready for commute &
14:14 pmurias hoelzro: that has nothing to do with while loops... :(
14:14 pmurias [Coke]: how are you running tests?
14:15 [Coke] "make js-test"
14:15 [Coke] if I run src/vm/js/bin/run_tests, I get the same issue.
14:17 [Coke] t/nqp/{01..18}* doesn't do what you want, I think
14:17 [Coke] ls t/nqp/{01..18}* | wc -l  # 91 files
14:18 pmurias could you nopaste the result of that?
14:18 [Coke] https://gist.github.com/coke/a0c136d3b58fe3999361
14:19 pmurias hmm, it works differently on my machine
14:19 pmurias maybe different version of bash?
14:20 Kristien joined #perl6
14:21 dalek nqp/js: b64a2d2 | (Pawel Murias)++ | src/vm/js/bin/run_tests:
14:21 dalek nqp/js: Try to make run_tests more portable.
14:21 dalek nqp/js: review: https://github.com/perl6/nqp/commit/b64a2d2563
14:22 pmurias [Coke]: does that commit fix your problem?
14:22 tengignick joined #perl6
14:26 [Coke] GNU bash, version 3.2.53(1)-release (x86_64-apple-darwin13)
14:27 [Coke] pmurias: All tests successful.
14:27 [Coke] pmurias++
14:27 [Coke] Excellent.
14:29 pmurias jnthn: what's the difference between ctx and curlexpad?
14:31 jnthn pmurias: Up to you. :)
14:31 jnthn pmurias: On Moar, nothing.
14:31 jnthn (They point to the same thing)
14:31 jnthn On Parrot, the context and lexpad were separate objects
14:32 silug joined #perl6
14:32 jnthn Unless you've a reason to do otherwise, there's no problem with them being aliased to the same underlying thing.
14:33 hoelzro pmurias: I know =/
14:34 tengignick hi! I'm a total noob. I've been reading perl6.org and rakudo.org. "aptitude install rakudo" works on my debian box, but "aptitude install panda" does not. can someone point me at a guide for people like me? Is there something as easy as "cpan"?
14:35 FROGGS tengignick: http://blogs.perl.org/users/ovid/2014/08/tr​y-rakudobrew-and-play-with-concurrency.html
14:35 [Coke] panda is how you get to the cpanish thing.
14:35 masak tengignick: welcome!
14:35 tengignick thanks! :)
14:35 [Coke] if you install rakudo from aptitude, what version do you get?
14:36 [Coke] You may want to get a more recentish version.
14:36 * [Coke] ponders doing a rakudo compiler bundle for macports.
14:36 colomon have we vetted that “copy” works with very large files in rakudo?
14:36 tengignick after apt install rakudo, I get perl6 "This is perl6 version 2012.01 built on parrot 4.0.0 revision 0"
14:37 [Coke] *ugh*
14:37 tengignick heh
14:37 [Coke] that is so old, you will just hurt yourself.
14:37 tengignick alright
14:37 tengignick I'll remove it :-)  Is there a packaged way to get a recent version yet, or should I just git?
14:38 * colomon is wasting his morning trying to do something that should have been a ten minute process....
14:38 [Coke] rakudobrew will hide all the guts from you.
14:38 tengignick ok, good enough for me
14:38 [Coke] if you're comfy with git, I would just git for now.
14:38 pmurias hoelzro: I had that test failure once myself... :( :( :(
14:38 colomon verified: Rakudo-moar’s copy function cannot handle files >2GB
14:39 _mg_ joined #perl6
14:41 hoelzro pmurias: I'm guessing it's something deeper
14:41 hoelzro commute &
14:42 jnthn colomon: HOw does it fail, ooc?
14:42 colomon jnthn: only copies the first 2GB or so, reports that it copied it correctly.
14:43 * colomon is working on a script to import TV programs from the TiVo into Plex
14:45 tengignick This is perl6 version 2015.01-126-gf53a94d built on MoarVM version 2015.01-28-ga910556
14:45 tengignick ooh :-)  better.
14:46 masak colomon: a Perl 6 script?
14:46 colomon masak: yes
14:46 masak ooh
14:46 masak colomon: please submit a rakudobug about >2GB.
14:46 colomon masak: ooo, not actually from the TiVO itself
14:47 colomon masak: I’m using kmttg to get the files off the TiVo and convert them to standard .mpg
14:47 pmurias jnthn: is curlexpad writeable?
14:47 colomon masak: the p6 script’s job is just to read the meta-data and create a Plex-friendly filename
14:47 jnthn colomon: I'm guessing there's something taking a 32-bit number somewhere...
14:48 colomon jnthn: yes, that is the logical conclusion.  :)
14:48 jnthn pmurias: Yeah, I think so
14:48 jnthn colomon: The stat comes back with a 64-bit number
14:48 jnthn So I'm suspecting sendfile.
14:48 colomon does rakudobug@perl.org still work?
14:49 adu joined #perl6
14:50 masak oh yes.
14:51 * [Coke] assumes raukdo copy isn't using the system copy, then.
14:51 colomon bug submitted.
14:51 jnthn [Coke]: Is there even a system copy function on non-Windows?
14:51 jnthn (As in, in the C API)
14:52 jnthn uh, POSIX, sorry.
14:52 jnthn On Windows there's CopyFile
14:53 [Coke] jnthn: whoops, you're right. Maybe system() to cp, then. :)
14:54 mathw POSIX doesn't have one as far as I know
14:54 mathw you have to open some file handles and do it yourself
14:55 colomon system() to cp opens all sorts of filename quoting problems.
14:55 mathw POSIX'll make you a hard link or a symlink
14:56 mathw but that might be surprising if the users are expecting a copy :D
14:56 jnthn Aye :)
14:56 jnthn Too bad I can't ask for a cowlink...
14:57 mathw that'd be nice
14:58 mathw mkdir file-copy && cd file-copy && git init . && mkdir -p src/File && emacs src/File/Copy.pm6
14:58 * colomon solved the problem for himself by just “rename”ing the files, which was really what he had wanted in the first place.
14:58 ninjazach joined #perl6
15:03 _mg_ joined #perl6
15:04 skids joined #perl6
15:05 rgrau joined #perl6
15:15 dalek nqp/js: 7e006ea | (Pawel Murias)++ | src/vm/js/nqp-runtime/deserialization.js:
15:15 dalek nqp/js: Fix bug.
15:15 dalek nqp/js: review: https://github.com/perl6/nqp/commit/7e006ead1d
15:16 dalek nqp/js: 1d4d34c | (Pawel Murias)++ | src/vm/js/ (2 files):
15:16 dalek nqp/js: Stub setmethauthcache as we assume all method caches are authoritative for now.
15:16 dalek nqp/js: review: https://github.com/perl6/nqp/commit/1d4d34c469
15:28 abraxxa1 joined #perl6
15:29 coffee` joined #perl6
15:30 kurahaupo joined #perl6
15:36 tengignick joined #perl6
15:54 Mouq joined #perl6
16:05 molaf joined #perl6
16:13 gfldex joined #perl6
16:23 pmurias hoelzro: re adding a layer of indirection instead of using foo.bar directly, it should be a small change
16:24 jnthn > sub foo(int $x is rw) { $x = 42 }; my int $a = 1; foo($a); say $a
16:24 jnthn 42
16:24 hoelzro ok, cool
16:24 jnthn yays.
16:24 masak \o/
16:25 FROGGS jnthn++
16:25 jnthn Still gotta update the slow-path binder
16:25 * FROGGS wonders how jnthn will look like when he wears a slow-path binder
16:26 dalek nqp/native-ref: 601b400 | jnthn++ | src/vm/moar/QAST/QASTCompilerMAST.nqp:
16:26 dalek nqp/native-ref: Allow binding to lexicalref slot.
16:26 dalek nqp/native-ref:
16:26 dalek nqp/native-ref: Otherwise, the signature binder will never be able to bind a native
16:26 dalek nqp/native-ref: reference into place.
16:26 dalek nqp/native-ref: review: https://github.com/perl6/nqp/commit/601b400be6
16:27 jnthn .oO( binders full of slow-paths )
16:27 FROGGS jnthn: a Binder is also a Schlips :D
16:28 FROGGS would be nice to hear you saying that :o)
16:28 dalek rakudo/native-ref: 5d0f760 | jnthn++ | src/Perl6/Actions.nqp:
16:28 dalek rakudo/native-ref: Add 'is rw' native handling in fast-path binding.
16:28 dalek rakudo/native-ref:
16:28 dalek rakudo/native-ref: Works for both only and multi case, however failures are not reported
16:28 dalek rakudo/native-ref: properly yet due to the slow-path binder (used for error generation)
16:28 dalek rakudo/native-ref: not yet being updated.
16:28 dalek rakudo/native-ref: review: https://github.com/rakudo/rakudo/commit/5d0f7607d1
16:30 jnthn What? Schlips? :P
16:31 FROGGS a tie
16:31 jnthn Yes...it's not too tongue-twisting... :)
16:31 FROGGS but yeah, Schlips... to to confuse with Schnaps though
16:31 FROGGS not to*
16:31 jnthn Just don't get your schlips in your schnaps...
16:31 FROGGS jnthn: not as tongue-twisting as Eichhörnchen, but still :D
16:32 FROGGS *g*
16:32 jnthn Ouch... :P
16:32 * psch never heard Binder for Schlips
16:32 tadzik Eichhörnchen sounds more throat-twisting :P
16:32 psch must be regional
16:33 FROGGS psch: it is not used anymore I think
16:33 FROGGS you'd say that when you were 80+ or so I guess
16:34 psch wikipedia says it used as "Langbinder" in context with uniforms
16:34 psch *is
16:34 dalek nqp/js: 571ff00 | (Pawel Murias)++ | / (3 files):
16:34 dalek nqp/js: Cloning code refs.
16:34 dalek nqp/js: review: https://github.com/perl6/nqp/commit/571ff007c8
16:34 masak is it called a "tie clip" in English?
16:35 pmurias hoelzro: how often does the test 14 fail?
16:35 hoelzro pmurias: more often than not
16:36 psch i'm struggling with multi-dim array marshalling
16:36 psch fwiu, perl6 level «[[1,2],[3,4]]» is an Array which can be turned into a VMArray with p6listitems once, and it's elems are Array again which i also have to p6listitems?
16:37 psch (because multi-dim, even if not particularly idiomatic in java, should probably be supported :) )
16:40 FROGGS masak: no, a Langbinder is just a 'long tie' (the usual tie)
16:40 FROGGS masak: a tie clip is called Krawattennadel over here
16:41 masak ah.
16:51 * [ptc] still finds Streichholzschächtelchen very tongue-tying
16:52 FROGGS ohh, that's a good one
16:53 dalek rakudo/native-ref: 765de1d | jnthn++ | src/core/Int.pm:
16:53 dalek rakudo/native-ref: Implement prefix/postfix ++/-- on native int.
16:53 dalek rakudo/native-ref: review: https://github.com/rakudo/rakudo/commit/765de1d387
16:54 jnthn multi sub prefix:<++>(Num:D \a is rw) {   # XXX
16:54 jnthn So, uh...why the XXX?
16:55 _4d47 joined #perl6
16:55 * jnthn wonders if because of the  instead of $a
16:55 jnthn It's faster with $a these days, I believe
16:57 diana_olhovik_ joined #perl6
16:59 dalek perl6-roast-data: 759b4e5 | coke++ | / (5 files):
16:59 dalek perl6-roast-data: today (automated commit)
16:59 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/759b4e5396
17:01 FROGGS jnthn: wasn't there an issue on parrot? about relying on an optimisation or so...
17:02 FROGGS hmmm, probably not
17:05 dalek rakudo/native-ref: af05fab | jnthn++ | src/core/Num.pm:
17:05 dalek rakudo/native-ref: Implement prefix/postfix ++/-- on native num.
17:05 dalek rakudo/native-ref:
17:05 dalek rakudo/native-ref: Also improve the non-native versions (for Num). Things with a $
17:05 dalek rakudo/native-ref: sigil compile into better assignments than unsigil'd things, and
17:05 dalek rakudo/native-ref: for rw args there's no benefit with \ over $.
17:05 dalek rakudo/native-ref: review: https://github.com/rakudo/rakudo/commit/af05faba74
17:05 jnthn FROGGS: Don't think so...
17:05 jnthn FROGGS: This branch merges post-Feb-relesae anyway.
17:06 FROGGS and it won't get ported to the other VMs anyway soon, right?
17:06 FROGGS but will it actually break anything for perl6-p/-j?
17:07 jnthn I'll port it to -j
17:08 jnthn -j on the inside often looks quite a bit like -m because, unbeknown to anyone watching -j progress at the time, -m guts were being built around the same time as the -j port :)
17:08 FROGGS yeah...
17:08 jnthn Yes, it will very much bust things
17:08 FROGGS though, what's your timeline?
17:09 jnthn I plan to land this branch late-Feb
17:09 FROGGS and then port it to -j, and then tackle other TLAs?
17:09 jnthn I'll do the -j port by then
17:10 FROGGS I see
17:10 spider-mario joined #perl6
17:10 jnthn I suspect I can churn it out in not overly long, now I have the design.
17:10 jnthn It's just...tedious waiting for builds etc.
17:10 FROGGS yeah
17:11 jnthn What I won't do for -j right off is look at exactly how we might optimize it to the degree I'll do on -m
17:11 FROGGS fair enough
17:11 Mouq joined #perl6
17:11 jnthn If I want to make -j faster, spending a day on getting the fast-path bind stuff working on JVM would probably be the best use of time, anyways...
17:12 jnthn But yeah, NFG will be the next TLA I'll be looking at.
17:12 FROGGS I hope I can help by fixing some RT tickets, though, often I run into problem I cannot solve :o(
17:13 FROGGS[mobile] joined #perl6
17:15 dalek nqp/js: 76fa42f | (Pawel Murias)++ | / (2 files):
17:15 dalek nqp/js: Cloning objects.
17:15 dalek nqp/js: review: https://github.com/perl6/nqp/commit/76fa42fcda
17:15 dalek nqp/js: 2a9002a | (Pawel Murias)++ | nqp-js:
17:15 dalek nqp/js: Remove the tmp.js file, that might help hunt down the sometimes failing test 14.
17:15 dalek nqp/js: review: https://github.com/perl6/nqp/commit/2a9002abac
17:16 jnthn The native-ref path from here is approximately: finish up native "is rw" stuff, fix handling of returning natives, get native arrays in place, then various bits of optimization along with -j porting.
17:17 FROGGS[mobile] sounds like you are quite far already
17:17 * Mouq enjoys that we have development at a solid enough point where Rakudo has three major branches being worked concurrently on other than nom
17:17 dalek nqp/js: 962c5ad | (Pawel Murias)++ | src/vm/js/bin/run_tests:
17:17 dalek nqp/js: Make run_tests support options.
17:17 dalek nqp/js: review: https://github.com/perl6/nqp/commit/962c5ad0b5
17:17 jnthn FROGGS[mobile]: Yeah, I'm overall happy with the foundations.
17:18 pmurias hoelzro: src/vm/js/bin/run_tests -v should print out more info to debug the weird failure
17:18 moritz Mouq: which three major branches?
17:18 hoelzro pmurias: cool, thanks!
17:18 moritz Mouq: I'm only aware of native-ref and newio
17:18 hoelzro interestingly enough, I think it only happens when I make js-test
17:18 jnthn I suspect I'll be ready to merge back to master in moar in the next days.
17:18 pmurias make js-test just calls src/vm/js/bin/run_tests
17:19 Mouq moritz: js :P
17:19 FROGGS[mobile] and I am happy that you are happy because seeing that progress is very motivating to get something done
17:19 Mouq moritz: Oh, I suppose that's NQP
17:21 pmurias hoelzro: so if just wrapping stuff in make causes failures that's really crazy
17:22 hoelzro pmurias: it's intermittent, so I'm guessing it just "didn't happen" when I tried run_tests by hand
17:25 moritz Mouq: the nqp/js branch isn't really modifying existing behavior, so its existence can't be a testimony for any stability
17:26 dalek rakudo/nom: 2f7046f | Mouq++ | src/Perl6/Actions.nqp:
17:26 dalek rakudo/nom: Add type info to constant decls. Fixes #114506
17:26 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2f7046f18b
17:26 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=114506
17:26 pmurias the fact the nqp-js isn't getting constantly broken nowdays is a testimony for stability of sorts
17:27 pmurias when dropping rakudo support for parrot why do we plan to keep nqp parrot support?
17:29 jnthn pmurias: s/dropping/suspending/
17:29 pmurias it will still be an official parrot death annoucement
17:30 masak we can't kill Parrot.
17:30 pmurias * announcement
17:30 telex joined #perl6
17:30 moritz pmurias: because some folks like FROGGS[mobile]++ expect to bring rakudo-parrot back
17:31 * moritz is still curious about pmichaud++'s upcoming blog post
17:31 pmurias masak: can't as that it's already dead or that we need to keep it alive?
17:32 masak pmurias: as in, it's not ours to kill.
17:32 masak we're just a downstream client.
17:34 pmurias what are the arguments for bringing rakudo-parrot back after the suspension?
17:35 moritz pmurias: "FROGGS likes parrot"
17:35 * pmurias is suprised that anyone like parrot
17:35 dalek roast: d7d6f66 | Mouq++ | S05-modifier/my.t:
17:35 dalek roast: Refactor S05-modifier/my.t for fudging and test for #121229
17:35 dalek roast: review: https://github.com/perl6/roast/commit/d7d6f66a3e
17:35 dalek roast: e650e93 | Mouq++ | S04-declarations/constant.t:
17:35 dalek roast: Add tests for #114506
17:35 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=121229
17:35 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=114506
17:35 dalek roast: review: https://github.com/perl6/roast/commit/e650e931f0
17:39 vendethiel pmurias: I was very surprised when FROGGS[mobile] told me he liked PIR, I admit :P
17:39 smi1er joined #perl6
17:40 moritz as a user, I've seen worse assembly languages
17:41 vendethiel i learned assembly with chips that didn't support conditional jumps. so hey, me too :P
17:41 vendethiel but still. I guess nqp is more fun :p
17:44 hoelzro pmurias: I can't reproduce the failure on my work machine =(
17:47 moritz hoelzro: you could always try to reproduce on hack.p6c.org :-)
17:47 hoelzro moritz: good point =)
17:47 hoelzro I don't actually know if I have creds on that box
17:48 moritz you don't. Yet.
17:49 moritz but if you'd find it useful, just say the word
17:50 hoelzro noted =) thanks!
18:01 tengignick joined #perl6
18:02 Kristien joined #perl6
18:03 Kristien hi
18:03 hoelzro o/
18:07 _mg_ joined #perl6
18:09 lizmat colomon: re #123796 I can't seem to reproduce that on OS X
18:09 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=123796
18:09 lizmat what OS was this on?
18:12 lizmat $ 6 'say copy("big","big2")'
18:12 lizmat True
18:12 lizmat $ ls -ls big*
18:12 lizmat 11724800 -rw-------  1 liz  macports  6003097600 Feb 11 19:08 big
18:12 lizmat 11724800 -rw-r--r--  1 liz  macports  6003097600 Feb 11 19:11 big2
18:13 masak by the way, is it intentional (or by spec) that those two files have different access right bitmasks?
18:14 lizmat the first file was created with cp /dev/zero big and CTRL-c ing after 15 seconds
18:14 adu joined #perl6
18:14 lizmat I guess the copy used a different umask
18:15 lizmat $ umask
18:15 lizmat 0022
18:15 lizmat hmmm...
18:15 Juerd imho copy should force the permissions to be the same, regardless of the umask
18:15 Juerd (When chmod is permitted at all)
18:15 moritz is that what GNU cp does?
18:16 flussence shouldn't use looser defaults than the input file in any case, IMO...
18:17 Juerd moritz: Yes:
18:17 espadrine joined #perl6
18:17 Juerd open("a", O_RDONLY)                     = 3
18:17 Juerd fstat(3, {st_mode=S_IFREG|0400, st_size=0, ...}) = 0
18:17 Juerd open("b", O_WRONLY|O_CREAT|O_EXCL, 0400) = 4
18:17 Juerd 0400 is the mode
18:18 Juerd And that changes if I delete b and chmod a and then do another "strace cp a b"
18:19 * nine_ actually enjoyed working in PIR, too.
18:19 Ugator joined #perl6
18:19 nine_ Reminded me of my childhood when I did x86 assembly :)
18:20 mr-foobar joined #perl6
18:21 lizmat this is how MoarVM opens the file to be copied:
18:21 lizmat const uv_file out_fd = uv_fs_open(tc->loop, &req, (const char *)b, O_WRONLY | O_CREAT | O_TRUNC, DEFAULT_MODE, NULL);
18:21 lizmat where DEFAULT MODE is: #define DEFAULT_MODE _S_IWRITE /* work around sucky libuv defaults */
18:21 masak ok, now I feel like submitting a rakudobug about &copy not setting the umask to the same, like GNU cp does.
18:22 lizmat masak: please do, so it won't fall though the cracks
18:22 * masak does
18:22 lizmat I'm not sure at which level this should be fixed, though
18:22 lizmat feels to me, MoarVM should be doing the right thing on open
18:22 masak the thing with PIR is that it does feel quite a lot like an assembly language for Perl 5.
18:22 masak but it was never a good match for Perl 6.
18:22 lizmat .oO( If all you know is a nail, you create a hammer )
18:22 lizmat or something like that
18:23 Rounin joined #perl6
18:23 flussence wait... it sets O_TRUNC?
18:23 masak I'd be very interested in reading an in-depth comparison between Parrot and MoarVM, for example between PIR and... whatever it is MoarVM has on that level.
18:23 masak I don't know who I'd prefer to write it. :) jnthn has more important things on his plate.
18:23 geekosaur that would be the target file, O_WRONLY seems wrong for the source :p
18:24 lizmat you'd need in depth knowledge of both parrot and Moar
18:24 geekosaur and O_TRUNC makes sense for the target
18:24 lizmat not too many people around who have that  :-(
18:24 lizmat geekosaur: that was for the output file
18:24 geekosaur "opens the file to be copied" implies source file to me
18:25 lizmat ok, "opens the file to be copied to" was what I intended  :-)
18:25 geekosaur "...to be copied to" is potentially confusing ("yay" English) but would indicate the targer
18:25 lizmat sorry for the ambiguity
18:25 lizmat it all perfectly made sense when I wrote it :-)
18:26 flussence O_TRUNC makes sense for the target yes... but only for copy(:createonly). What's the C code doing for the default case?
18:26 flussence wait, I've got it backwards
18:27 flussence does :createonly work?
18:27 flussence "Unexpected named parameter 'createonly' passed"... guess not.
18:29 lizmat flussence: it works in the newio branch
18:29 flussence ah, that's fine then
18:31 eiro joined #perl6
18:40 FROGGS joined #perl6
18:48 pmqs joined #perl6
18:49 abraxxa joined #perl6
18:53 MadcapRusso joined #perl6
18:59 Kristien m: my Str @xs = 'a', 'b', 'c'; my Any @ys := @xs; @ys[0] = 42;
18:59 camelia rakudo-moar 2f7046: OUTPUT«Type check failed in assignment to '@xs'; expected 'Str' but got 'Int'␤  in method assign_pos at src/gen/m-CORE.setting:10288␤  in sub postcircumfix:<[ ]> at src/gen/m-CORE.setting:3282␤  in block <unit> at /tmp/Yj0CC_v1gk:1␤␤»
18:59 Kristien Is that a runtime error? :(
18:59 jnthn Yes
18:59 jnthn It could be caught at compile time
18:59 Kristien Covariant arrays. :(
19:00 Kristien m: say (Array of Str) ~~ (Array of Any)
19:00 camelia rakudo-moar 2f7046: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/E5HrdkAE3Dâ�¤Two terms in a rowâ�¤at /tmp/E5HrdkAE3D:1â�¤------> [32msay (Array [33mâ��[31mof Str) ~~ (Array of Any)[0mâ�¤    expecting any of:â�¤        infix stopperâ�¤        infix or meta-in…»
19:00 Kristien m: say (Array[Str]) ~~ (Array[Any])
19:00 camelia rakudo-moar 2f7046: OUTPUT«False␤»
19:00 Kristien hmm nice
19:01 grettir joined #perl6
19:01 TimToady m: say Array[Any] ~~ Array[Str]
19:01 camelia rakudo-moar 2f7046: OUTPUT«False␤»
19:01 TimToady seems like just an accident
19:02 Kristien Mutable arrays should be invariant on their element type.
19:05 TimToady yes, in general we should consider our declarations immutable in the absence of MONKEY_*
19:05 TimToady which is why we require MONKEY_TYPING for augment
19:07 TimToady but since we're not coming at this from the viewpoint of genius FP scientists, we've tended to let some of these constraints take the form of S99:DIHWIDT
19:07 TimToady hmm, no bot?
19:07 FROGGS S99#DIHWIDT
19:07 TimToady or does it not look for S99 thingies?
19:07 FROGGS S32#foo
19:07 jnthn S99
19:07 FROGGS S32:foo
19:08 FROGGS bah, bots
19:08 jnthn synopsebot: Helloooo?
19:08 TimToady there's a synopsebot but it's seems incommunicado
19:08 geekosaur yoleaux went missing earlier as well
19:08 geekosaur I presume freenode glitched; bots recover less well than humans...
19:08 pmqs froggs: quick question if you have a moment
19:08 TimToady maybe kicking would help?
19:09 FROGGS pmqs: k
19:09 pmqs having fun building p6-inline-c
19:09 pmqs on r* 2015.01
19:09 FROGGS pmqs: you created an issue, right?
19:10 pmqs yes
19:10 pmqs froggs:didn't have irc access when I stumbled over the issue
19:10 FROGGS pmqs: can you update your NativeCall and reinstall Inline::C?
19:11 pmqs it blowsd up as well
19:11 FROGGS pmqs: I've seen a patch to NativeCall just a few days ago
19:11 pmqs blows up
19:11 FROGGS hmmm
19:11 pmqs looks like the same place in NativeCall
19:11 FROGGS pmqs: this patch is just two days old: https://github.com/jnthn/zavolaj/commit/​b29e0a349fd8402fc5ac0ab02952f78cc62390c6
19:11 pmqs I just downloaded Native Call 10 mins ago
19:12 FROGGS damn
19:12 pmqs sorry
19:12 FROGGS no need to feel sorry :o)
19:13 FROGGS pmqs: can you put the build output of NativeCall in a gist?
19:13 MadcapRusso joined #perl6
19:13 MadcapRusso joined #perl6
19:13 FROGGS pmqs: ohh, and you are still using the 2015.01 version? that might be too old now
19:14 masak Mouq++ # does a lot of good stuff, like fixing RT tickets
19:14 pmqs froggs:yes, I am
19:14 * bartolin agrees, Mouq++
19:14 FROGGS pmqs: can you upgrade?
19:14 FROGGS masak: I want to tackle RT #123696, it does not look to hard after all
19:14 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=123696
19:15 pmqs froggs: Can try. Leave that with me & I'll give it a go.
19:16 FROGGS pmqs++
19:17 masak FROGGS: wow, that's a weird one :)
19:17 FROGGS aye :o)
19:20 tengignick joined #perl6
19:26 ninjazach joined #perl6
19:27 raydiak \o
19:32 Mouq joined #perl6
19:35 masak Mouq++ # fixing rakudobugs
19:40 btyler joined #perl6
19:41 dalek rakudo/native-ref: 94a87fc | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.nqp:
19:41 dalek rakudo/native-ref: Fix an indento.
19:41 dalek rakudo/native-ref: review: https://github.com/rakudo/rakudo/commit/94a87fcbf7
19:41 dalek rakudo/native-ref: 6ca96c8 | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.nqp:
19:41 dalek rakudo/native-ref: Tie native refs into the slow-path binder.
19:41 dalek rakudo/native-ref: review: https://github.com/rakudo/rakudo/commit/6ca96c857d
19:42 abraxxa what's the recommended way to install the current moarvm perl6?
19:42 jnthn rakudobrew
19:42 jnthn If you mean "current bleeding edge"
19:42 abraxxa jnthn: I've used that at work, didn't see that is also supports installing master
19:45 lsm-desktop joined #perl6
19:46 abraxxa tadzik: can you please merge my rakudobrew pull request and fix the whitespace afterwards?
19:48 abraxxa tadzik: i've updated my pull request
19:51 abraxxa jnthn: what tag do I have to use to build the current moarvm rakudo?
19:51 abraxxa rakudobrew list-available only shows tags
19:52 Mouq masak++ # filing rakudobugs
19:55 zakharyas joined #perl6
19:59 pmqs froggs: hmmm. Built Rakudo + MoarVM from git. Problems building NativeCall
20:00 pmqs lots of errors in the test suite
20:00 abraxxa pmqs: i'm just doing the same
20:00 pmqs abraxxa: not just me then :-)
20:01 abraxxa github is slow again...
20:01 zakharyas1 joined #perl6
20:02 PerlJam pmqs: ooc, 32 bit or 64 bit system?
20:02 pmqs 32
20:02 pmqs the errors have the smell of that kind of issue
20:03 PerlJam I seem to recall that NativeCall had issues on 32 bit systems, but I don't remember the details.
20:03 FROGGS the tests did pass though
20:03 pmqs not for me :-)
20:04 pmqs the r* 2015.01 build was fine
20:04 pmqs NativeCall "seemed" ok
20:04 TimToady are there any tests that assume P6 int == C int?
20:04 coffee` left #perl6
20:04 TimToady because that's not guaranteed
20:04 pmqs will I paste a failing test?
20:04 nwc10 jnthn: t/spec/S04-declarations/constant.rakudo.moar only runs 55 of 56 tests. Apart from that native-ref is identical to nom
20:05 FROGGS TimToady: there are no such tests
20:05 TimToady okay
20:05 pmqs t/04-pointers.t ........ ok
20:05 pmqs # Failed test 'int in struct in element 0'
20:05 pmqs # at t/05-arrays.t line 50
20:05 pmqs # expected: '2'
20:05 pmqs #      got: '901866509943439362'
20:05 echowuhao joined #perl6
20:06 FROGGS zavolaj's docs state that P6's int32 is C's int, and P6's int is C's long
20:06 FROGGS though, P6's int is not 32 bit away on 32 bit systems
20:08 dalek ecosystem: 1eb3e2e | moritz++ | META.list:
20:08 dalek ecosystem: Remove XMMS module
20:08 dalek ecosystem:
20:08 dalek ecosystem: its META.info has been invalid JSON since September at least,
20:08 dalek ecosystem: so there is nothing we can do with it anyway
20:08 dalek ecosystem: review: https://github.com/perl6/e​cosystem/commit/1eb3e2e3c0
20:08 FROGGS ewww, that test *is* about a C long vs a P6 int
20:08 abraxxa pmqs: moarvm-nom built, how can i run those tests?
20:09 jnthn nwc10: Interesting... :)
20:09 TimToady on a Vax, both long and int were 32 bits
20:09 FROGGS abraxxa: either get panda and run 'panda install NativeCall', or clone zavolaj
20:09 jnthn abraxxa: Sorry, had phone call...looks like you figured it :)
20:10 FROGGS TimToady: that's what that table says: https://github.com/jnthn/zavola​j#passing-and-returning-values
20:10 abraxxa jnthn: why 'nom' and not 'master'?
20:10 FROGGS abraxxa: nom = new object model
20:10 PerlJam abraxxa: because it was/is the New object Model
20:10 jnthn nwc10: I'm confused, the copy of that I have here has only 54 tests...
20:11 moritz if we want to swith the default branch to 'master', we should do it pre-6.0
20:11 abraxxa but nowadays there is no old object model any more, right?
20:11 FROGGS jnthn: you have to say "===SORRY===" before stating that you are confused
20:11 moritz abraxxa: no, it's all new, polished and shiny
20:11 abraxxa pmqs: ==> Successfully installed NativeCall
20:11 jnthn nwc10: Oh, a new test was added.
20:11 abraxxa 64bit here
20:11 TimToady yes, we could switch back to master if we like
20:12 FROGGS but then we can't do any nom puns anymore :o(
20:12 TimToady at the time it was felt that it was better to name major experiments differently, but that turned out to be a successful experiment, so it stuck
20:12 PerlJam There's also no compelling reason to use "master" either.
20:12 jnthn yeah but you can git remote add dark git@github.com:rakudo/rakudo
20:12 TimToady except expectations
20:12 jnthn And get push dark master
20:12 jnthn *git
20:12 jnthn :P
20:13 PerlJam TimToady: not compelling enough for me :)
20:13 TimToady we didn't get where we are today by ignoring cultural issues :P
20:13 moritz PerlJam: except that 'git checkout master' is ingrained deep in my muscle memory
20:13 abraxxa Buf.bytes is fine now ;)
20:13 PerlJam very true (both)
20:14 * jnthn has not particular feelings for/against it
20:14 abraxxa PerlJam: it's the standard which means newbies easier find the right git branch
20:14 PerlJam abraxxa: if they're newbies, they won't be changing branches and "nom" is the default when you clone.
20:15 abraxxa PerlJam: it's not the default of rakudobrew
20:15 pmqs abraxxa: hmm, perhaps time to move to 64 bit then
20:15 jnthn nwc10: Oh, that one is just ath nom moved.
20:15 abraxxa or is it?
20:15 abraxxa i didn't try to build without specifying a branchname
20:15 jnthn nwc10: and so I'm missing a patch in native-ref that the test needs.
20:15 jnthn So, nothing to worry about.
20:15 moritz hey, maybe we can just name the GLR branch 'master'
20:16 PerlJam moritz:  +1  :)
20:16 moritz or the NFG branch, for that matter
20:16 jnthn Will there be a Rakudo NFG branch? :)
20:16 TimToady or the native branch, since that's kinda the opposite of master in the language of imperialism
20:17 * jnthn had mostly seen it as VM-level work...
20:17 TimToady Very Master
20:17 FROGGS pmqs: we do care about 32bit system but atm 64 bit has a higher priority
20:17 FROGGS pmqs: though, we really want to fix these issues, I personally just don't know how
20:20 pmqs froggs: agree - 32-bit needs to be supported. 64-bit just sounds like less pain for me in the short term.
20:21 FROGGS pmqs: very true
20:22 pmqs froggs: does NativeCall need a ticket to get 32-bit working? I can create it
20:22 FROGGS pmqs: there is one
20:22 pmqs ok, ta
20:24 arnsholt I think we might have one already
20:25 tadzik abraxxa: done, thanks
20:25 arnsholt pmqs: Zavolaj #37 is the ticket
20:26 pmqs thanks
20:26 arnsholt I've an idea for how to solve it (more or less), but not too much time to actually fix it, sadly
20:29 abraxxa tadzik: thanks
20:33 Sqirrel joined #perl6
20:34 * FROGGS understands now
20:34 FROGGS m: (6;)
20:34 camelia rakudo-moar 2f7046: OUTPUT«===SORRY!===␤Cannot find method 'returns'␤»
20:34 FROGGS m: (5;)
20:34 camelia rakudo-moar 2f7046: ( no output )
20:34 FROGGS :D
20:34 FROGGS seems there is no return for Perl 6
20:35 jnthn :P
20:36 moritz it dies in the optimizer, but the actual problem is fautly code-gen
20:37 FROGGS I know
20:38 jnthn grmbl
20:39 Mouq m: my $a = 4; 6; my $b = 8
20:39 camelia rakudo-moar 2f7046: ( no output )
20:39 jnthn We assemble Parameter/Signature objects really rather late
20:39 Mouq m: my $a = 4; 6; $b = 8
20:39 camelia rakudo-moar 2f7046: ( no output )
20:39 Mouq m: $a = 4; 6; $b = 8
20:39 camelia rakudo-moar 2f7046: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/5KUjXYxLigâ�¤Variable '$a' is not declaredâ�¤at /tmp/5KUjXYxLig:1â�¤------> [32m$a[33mâ��[31m = 4; 6; $b = 8[0mâ�¤    expecting any of:â�¤        postfixâ�¤Â»
20:39 jnthn Which makes it rather tricky to have nice things like, knowing if the thing is meant to be ro when we produce AST for access to it.
20:40 jnthn Which we kinda need to know statically to get it right for natives, but really should catch at compile time in other cases too.
20:40 * jnthn figures he'll bite the bullet and have a go at the refactor
20:41 FROGGS sounds like a can of worms that wants to be opened :o(
20:41 FROGGS m: my $a = (6;);
20:41 camelia rakudo-moar 2f7046: OUTPUT«===SORRY!===␤Unknown QAST node type NQPMu␤»
20:42 FROGGS m: my $a = (use Test);
20:42 camelia rakudo-moar 2f7046: ( no output )
20:42 FROGGS m: my $a = (use Test); say $a
20:42 camelia rakudo-moar 2f7046: OUTPUT«(Any)␤»
20:42 alpha- any?
20:43 moritz http://doc.perl6.org/type/Any Any
20:43 mohij joined #perl6
20:43 FROGGS the use statement returns Nil, so you see the default type of $a
20:45 Guest45 joined #perl6
20:45 Mouq FROGGS: I'm guessing a lack of definition for a "method statement_control:sym<6>" in Actions.pm is at fault
20:46 FROGGS Mouq: yes, but when I add that and install Nil in the ast, this won't work either: my $a = (6;)
20:47 kaare_ joined #perl6
20:47 moritz what is it supposed to do?
20:47 Mouq Yeah… it's only supposed to be 6; in sink context… which is something we'd usually handle in Actions, but we can't here
20:48 FROGGS moritz: turn on lax mode
20:48 Mouq m: my $a = (no strict);
20:48 camelia rakudo-moar 2f7046: OUTPUT«===SORRY!===␤Unknown QAST node type NQPMu␤»
20:49 moritz FROGGS: even in parens?
20:50 FROGGS moritz: no
20:54 * moritz thinks that  6;  turning off strict mode is a mis-feature
20:54 moritz it's already off in one-liners
20:54 moritz and everything else can deserve a bit more verbosity
20:54 masak agreed.
20:54 masak I'm not even that sold on strict being off in one-liners... :)
20:54 moritz it a "you think this a cute today" features
20:54 masak as evidenced by this bug.
20:55 moritz masak: me neither, but I'm willing to try it out a bit more
20:55 masak I used it today.
20:55 masak I was pleasantly surprised that variables are implicitly 'our' declared.
20:55 masak that's something, I guess.
20:56 vendethiel I really think it's good for one-liners.
20:56 vendethiel I won't have many more scopes anyways...
20:56 masak troo
20:57 masak but I still make typos in one-liners.
20:57 * moritz usually doesn't have many variables in one-liners
20:58 tgt joined #perl6
20:58 Juerd "I don't always have variables in one-liners, but when I do..."
20:58 FROGGS TimToady: do you agree about un-design-docing '^6;' as a synonym of 'no strict;' ?
20:59 moritz Juerd: "... then they are *very* variable"
21:00 PerlJam FROGGS: forgiveness >> permission  ;)
21:00 masak Juerd: "...I name them all with characters from CJK character set."
21:00 vendethiel reading HN and stuff like that made me realize that, except for the trolls, and the somewhat lukewarm-because-of-time first reaction, people have actually enjoyed their time trying p6
21:00 * raydiak could be misremembering, but thought the '6;' was a throwback from when you'd get p5 if you don't 'use v6;', and '6;' was the implicitly non-strict version intended for p6 one-liners
21:01 masak vendethiel: I'm constantly reminded how fantastic it is that most outsiders actually still have (and want to have) faith that the Perl 6 project will succeed and/or lead somewhere good.
21:02 vendethiel indeed :-)
21:03 * vendethiel would like masak he was such an outsider not so long ago
21:03 vendethiel I also used to say "perl is write-only", but only before I actually read a perl program
21:03 masak people repeat the silliest things.
21:04 masak not just you :)
21:05 vendethiel first time I actually read a perl program was "not all that bad... I mean, looks better than php". "those postfixes are pretty neat, if you ask me"
21:05 geekosaur that said, far too many perl5-ers *do* write write-only programs, and there is something of s subculture that considers such things "clever"
21:05 vendethiel though I also thought "they... really don't have function parameters??"
21:06 vendethiel but hey, that's fixed :P
21:06 vendethiel .oO( I should've wished for that earlier ) :P
21:09 abraxxa alex0209
21:10 dalek doc: 78ed2e6 | moritz++ | / (3 files):
21:10 dalek doc: Introduce Dateish, move severa methods for Date.pod to Dateish.pod
21:10 dalek doc:
21:10 dalek doc: also newly document Dateish.week
21:10 dalek doc: review: https://github.com/perl6/doc/commit/78ed2e6f82
21:10 FROGGS whoops
21:11 FROGGS the design docs talk about 'v6;' instead of '6;'
21:11 FROGGS but the problem persists I'd say
21:11 moritz even then it's not explicit enough for me :-)
21:11 FROGGS aye
21:11 Juerd FWIW, I agree that that is a misfeature.
21:11 lizmat I also agree  :-)
21:11 moritz so, no dissent
21:12 Juerd ...yet!
21:12 FROGGS that settles it :o)
21:12 * jnthn agrees to
21:12 jnthn *too
21:12 jnthn (If we're talking about a plain 6;)
21:13 moritz jnthn: what about  v6;  disabling strict?
21:13 raydiak S11 says starting with any bare version number or any other literal should give you lax mode
21:13 dalek rakudo/native-ref: 0cafcda | jnthn++ | src/Perl6/Actions.nqp:
21:13 dalek rakudo/native-ref: Refactor handling of default parameter types.
21:13 dalek rakudo/native-ref:
21:13 dalek rakudo/native-ref: We can set it as we traverse collected parameter info to build the
21:13 dalek rakudo/native-ref: Parameter objects, saving us an extra pass over the list and a very
21:13 dalek rakudo/native-ref: common pair of calls.
21:13 dalek rakudo/native-ref: review: https://github.com/rakudo/rakudo/commit/0cafcda8bd
21:13 moritz that sounds excessive
21:13 Juerd Any literal, really? :(
21:14 moritz "use strict;" # look ma, I know javascript :-)
21:14 raydiak yeah provides "Coolness, dude!" as an example
21:14 Juerd moritz: LOL
21:14 Juerd moritz: This hurts
21:14 raydiak S11:575
21:14 synopsebot Link: http://design.perl6.org/S11.html#line_575
21:15 * colomon is very pro-strict
21:15 jnthn moritz: Not sure about that one...
21:15 jnthn We already have "no strict;" which is probably huffmanized about right, given the -e has it by default
21:15 Juerd Why even require the literal? Just imply "no strict" if the program begins with a literal OR empty statement. Golfed down to ";", hah!
21:16 FROGGS m: no strict; # will turn off strict
21:16 camelia rakudo-moar 2f7046: ( no output )
21:16 FROGGS m: "use strict" # also meant to turn off strict
21:16 camelia rakudo-moar 2f7046: ( no output )
21:17 FROGGS that's very strange
21:17 Juerd perl6 --no-strict-I-know-what-I\'m-doing -e'$x = 42'
21:17 Mouq joined #perl6
21:17 raydiak I kinda dislike that it's perl convention to have to start *all* your code with some of the same declarations (strict and warnings for 5, v6 for 6)...feels like boilerplate
21:17 Juerd raydiak: It feels like boilerplate because it's exactly that.
21:17 FROGGS raydiak: I often dont put anything there
21:17 FROGGS raydiak: I know my perl 6 scripts :o)
21:18 moritz I like that p5 gives a good error message when I start my p6 scripts with 'use v6;'
21:18 raydiak I do see the argument for use v6 and allowing multiple perls to coexist peacefully...
21:19 raydiak I don't like that I'll be typing it for likely another half century or so (if I'm lucky)
21:19 Juerd moritz: 5.005 doesn't :P
21:21 echowuhao joined #perl6
21:21 dalek specs: b7196bd | moritz++ | S (2 files):
21:21 dalek specs: Require "no strict;" to enable lax mode
21:21 dalek specs:
21:21 dalek specs: literals or bare "v6;" do not seem to be explicit enough for our current
21:21 dalek specs: taste (and -e still defaults to lax mode)
21:21 dalek specs: review: https://github.com/perl6/specs/commit/b7196bd240
21:21 raydiak Juerd: I suppose if we cared about perls from antiquity, we could allow 'use 6.000;' or whatever the pre-Vstring format was
21:21 moritz there, I did it.
21:21 Juerd moritz++
21:21 raydiak \o/ moritz++
21:22 lizmat moritz++
21:22 Mouq moritz: Any spectest fallout?
21:22 lizmat timotimo:  ^^^^ P6 weekly mention worthy
21:22 PerlJam moritz++
21:24 FROGGS damn, looks like I can throw away my changes to "specs"
21:26 FROGGS ohh, looks like there are some oversights
21:26 [ptc] m: say π
21:26 camelia rakudo-moar 2f7046: OUTPUT«3.14159265358979␤»
21:26 FROGGS I'll commit in a minute, please stand by
21:26 [ptc] omfg is that cool!
21:26 FROGGS :D
21:26 [ptc] unicode in perl6 just rocks
21:27 raydiak FROGGS: I just caught what you were saying...it's safe to write your scripts without 'use v6'? I thought I used to get some kinda error when I did that...guess it does appear to work here now
21:27 [ptc] m: my π = 3;
21:27 camelia rakudo-moar 2f7046: OUTPUT«[31m===[0mSORRY![31m===[0m�Type 'π' is not declared�at /tmp/7rdFWNA3rF:1�------> [32mmy π [33m�[31m= 3;[0m�Malformed my�at /tmp/7rdFWNA3rF:1�------> [32mmy π [33m�[31m= 3;[0m��»
21:27 [ptc] m: my $π = 3;
21:27 camelia rakudo-moar 2f7046: ( no output )
21:27 [ptc] m: say $π = 3;
21:27 camelia rakudo-moar 2f7046: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/2_ud3BtDepâ�¤Variable '$Ï€' is not declaredâ�¤at /tmp/2_ud3BtDep:1â�¤------> [32msay $Ï€[33mâ��[31m = 3;[0mâ�¤    expecting any of:â�¤        postfixâ�¤Â»
21:28 FROGGS raydiak: it always worked as far as I can remember
21:28 Mouq m: constant π = 3;
21:28 camelia rakudo-moar 2f7046: ( no output )
21:29 raydiak FROGGS: cool, good to know; must just be a fossil assumption from when I dove in to p6 head-first and got all confused :)
21:29 [ptc] Mouq: thanks :-)
21:30 [ptc] was just trying to see if I could get a Simpsons joke to work ...
21:30 Kristien joined #perl6
21:30 PerlJam [ptc]: that's no joke to the Indiana legislature.
21:31 Kristien amazon is committing fraud
21:31 Kristien I still have not received book :<
21:33 dalek specs: ca9b96b | FROGGS++ | S (3 files):
21:33 dalek specs: minor corrections about -e and strictness
21:33 dalek specs:
21:33 dalek specs: Now it should be clear that one-liners (-e) are lax by default and that
21:33 dalek specs: only 'use strict' and 'no strict' have an effect on one-liners and scripts.
21:33 dalek specs: review: https://github.com/perl6/specs/commit/ca9b96b6ac
21:33 FROGGS :S
21:34 colomon joined #perl6
21:34 Kristien Speaking of FROGGS, I still haven't hunted for frogs either.
21:34 FROGGS Kristien: well, that sounds like a good thing :o)
21:35 Kristien Yes!
21:35 Kristien I did catch a mouse today.
21:35 Kristien With a mousetrap.
21:35 FROGGS :o(
21:35 moritz FROGGS++ # syn updates
21:36 FROGGS probably wasn't one of these usb or ps/2 mice
21:36 skids People put traps out for those?  I'd better wtach my fingers.
21:36 Kristien I then prepared the mouse and ate it!
21:38 * raydiak considers attempting to catch a frog (not for eating, just for fun)...never tried as a child
21:38 * Kristien catches camelia
21:40 Kristien omnomnom
21:40 FROGGS raydiak: I just did that in last Autumn... (to show it to my kids)
21:41 b2gills 80386 int types: uint1, (uint1 x 32), (uint1 x 8 * 4Gi), int8 uint8, int16, uint16, (uint20 (memory address size)), (uint48 (fake memory address size)), int32, uint32, int64, uint64, uintBCDu, uintBCDp https://en.wikipedia.org/wiki/​Intel_80386#Datatypes_of_80386
21:41 FROGGS was a small one, less than an inch in total
21:41 b2gills Which one should `int` be?
21:41 b2gills I especially like uint20, uint48, uintBCDu, and uintBCDp
21:41 muraiki_ just be careful, because amphibians can carry salmonella, and they also generally find the oils on our hands toxic to them
21:41 FROGGS b2gills: https://github.com/jnthn/zavola​j#passing-and-returning-values
21:42 FROGGS muraiki: ohh, good to know O.o
21:42 PerlJam and some amphibians have skin secretions that are toxic to humans!
21:42 raydiak FROGGS: was it difficult to catch?  any tips?  I'm a city boy, I just walk out there and ignore the fact that I don't know what I'm doing, like everything else I do :)
21:42 FROGGS PerlJam: probably not that common over here :o)
21:42 b2gills FROGGS: The problem is that `long` can change depending on what compiler you use
21:43 b2gills even on the same system
21:43 PerlJam FROGGS: as long as there are no rain forests, probably not :)
21:43 FROGGS raydiak: it was hard to see (because green on grass), but not that hard to catch, no :o)
21:43 bjz joined #perl6
21:43 virtualsue joined #perl6
21:43 FROGGS b2gills: yes, but it usually is either 64bits or 32 on the systems rakudo runs on
21:43 * raydiak notes "bring glasses and don't catch salmonella or get the frog sick"
21:45 FROGGS hehe
21:45 dalek rakudo/native-ref: 2cc5f30 | jnthn++ | src/Perl6/Actions.nqp:
21:45 dalek rakudo/native-ref: Fold rw-by-default into create_signature_object.
21:45 dalek rakudo/native-ref: review: https://github.com/rakudo/rakudo/commit/2cc5f30bce
21:45 dalek rakudo/native-ref: 76114cc | jnthn++ | src/Perl6/Actions.nqp:
21:45 dalek rakudo/native-ref: Move auto-slurpy code to create_signature_object.
21:45 dalek rakudo/native-ref: review: https://github.com/rakudo/rakudo/commit/76114cc0c4
21:50 FROGGS raydiak: http://froggs.de/IMG_20140814_112132.jpg
21:51 FROGGS raydiak: that's what I mean by 'hard to see ' :o)
21:51 hahainternet that's a frog alright
21:51 hahainternet pff he's well obvious
21:51 hahainternet that's terrible camoflage :p
21:51 FROGGS :P
21:51 b2gills In "Microsoft QuickC for Windows" (win16) `long` is 32-bit, but on a compiler designed to compile win32 programs `long` could just as well be 64-bit.
21:52 hahainternet i need to write stuff in p6
21:52 FROGGS b2gills: "rakudo runs on" ;o)
21:52 skids Yeah NativeCall needs some work with size_t, long, uint* and sizeof(enum foo).  Maybe a role for coercion types to play there.
21:52 hahainternet not that i want to appear like i expect people to work for me
21:52 * colomon used QuickC a bit in pre-Windows days…
21:52 hahainternet but did allocation of fixed chunks ever get sorted?
21:53 FROGGS skids: I imagine a NativeCall::Hints module that expose types like size_t, long, short and so on... these would carry the size of *your system right now*
21:53 FROGGS skids: it would compile some probes at module installation time, to figure out how the sizes are
21:53 b2gills FROGGS: which would mean that it is wrong to expect `int` to ever be 32-bit on x86 processors
21:54 skids Right, but even if you know that size, what you are mapping it to would need to either adapt, or be large enough to coerce the value into.
21:54 FROGGS b2gills: we are talking about P6's int, which is a C long
21:54 b2gills on which compiler
21:54 raydiak FROGGS: ah nice trick...the body and legs are even roughly leaf-shaped; if that's < 1 inch I can see the issue (or not see it, as the case may be, depending on my spot check)
21:55 FROGGS b2gills: that does not matter on the systems I have touched in the last years
21:55 FROGGS skids: are you sure?
21:56 skids I mean, knowing the sizeof(int)  does not help you choose what P6 type $a should be to call nativefund($a)
21:56 skids Because the types are compile-time.
21:56 FROGGS skids: you'd get a type that has the correct nativesize
21:57 FROGGS and then you just use `long` as the type in Perl 6
21:57 FROGGS or size_t
21:57 FROGGS use NativeCall; use NativeCall::Hints; class Foo is repr<CStruct> { has size_t $.bar; has long $.baz }
21:59 FROGGS it would also export int with 32bits width, so to not have the int <-> long confusion anymore
22:00 FROGGS it would also export short and char for convenience
22:01 b2gills I'm just saying that `long` **has** meant both 32-bit and 64-bit integers on compilers for 32-bit x86 processors. It has transitioned to being 64-bit
22:02 skids My point is, the C environment can change type sizes on you, so any time you pass to/from nativecall, you have to rely on (and perhaps manually perform) a coercion to a known-wide-enough type.  (For stuff that isn't a perl6 native type -- int is lockstep.)
22:02 FROGGS b2gills: 64bit on 64bit machines, aye
22:02 b2gills No 64-bit on 32-bit machines
22:03 FROGGS b2gills: then we would not have any problem with NativeCall on 32 bit machines
22:03 PerlJam b2gills: you mean *maybe* 64 bit on 32 bit machines :)
22:03 b2gills exactly
22:04 _dolmen_ joined #perl6
22:04 FROGGS_ joined #perl6
22:05 b2gills the 386 was a 32-bit processor, but has opcodes for dealing with 64-bit integers, by storing the upper half and lower half in separate registers
22:06 skids So unless we make corresponding P6 native types for a lot of persnickety C types, which does not sound like a good thing to me) something like sub a is native( long(int64) $a) looks like a possible option.  But it goes both ways so that stretches the intended meaning of coercion types which are one-way.
22:06 FROGGS_ intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=12345678, d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
22:06 FROGGS_ ivtype='long long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8, alignbytes=4, prototype=define
22:06 FROGGS_ b2gills: ^---- ubuntu x86
22:07 skids What current sizes are is entirely beside the point IMO.  It's what they are specced to be by C standards that matters.
22:07 FROGGS_ intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678,  d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
22:07 FROGGS_ ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8, alignbytes=8, prototype=define
22:07 FROGGS_ ubuntu x86_64
22:07 b2gills The problem is that x86_64 still starts off in 16-bit mode
22:09 dalek nqp: 6a5ff39 | lizmat++ | tools/build/MOAR_REVISION:
22:09 dalek nqp: Bump MoarVM to get new nqp::stat behavior
22:09 dalek nqp: review: https://github.com/perl6/nqp/commit/6a5ff39536
22:10 b2gills and is completely backwards compatible to compilers that considered `long` to be 16-bit
22:10 skids Anyway, prefer to drive in sunlight o/
22:10 raydiak \o skids
22:11 dalek doc: dff2318 | paultcochrane++ | lib/Language/unicode_entry.pod:
22:11 dalek doc: Document unicode character entry
22:11 dalek doc: review: https://github.com/perl6/doc/commit/dff23189e5
22:11 dalek doc: 7b2a32e | paultcochrane++ | / (3 files):
22:11 dalek doc: Merge branch 'master' of github.com:perl6/doc
22:11 dalek doc: review: https://github.com/perl6/doc/commit/7b2a32e0e1
22:12 * [ptc] sleep(8*60*6)
22:12 hahainternet i don't get the units
22:12 raydiak [ptc]: enjoy your 0.8 hours of sleep :)
22:12 hahainternet how long do you plan to sleep for?
22:12 * [ptc] sleep(8*60*60)
22:12 hahainternet aah there we go
22:12 [ptc] *sigh*
22:13 [ptc] raydiak: thanks :-)
22:13 dalek rakudo/nom: 62266f7 | FROGGS++ | src/Perl6/Grammar.nqp:
22:13 dalek rakudo/nom: remove buggy handling of "6;" as way to say "no strict"
22:13 dalek rakudo/nom:
22:13 dalek rakudo/nom: The design docs said that a bare literal (not only the number six) would
22:13 dalek rakudo/nom: trigger lax mode, but we came to the conclusion that this is not explicit
22:13 dalek rakudo/nom: enough.
22:13 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/62266f7e20
22:14 travis-ci joined #perl6
22:14 travis-ci NQP build failed. Elizabeth Mattijsen 'Bump MoarVM to get new nqp::stat behavior'
22:14 travis-ci http://travis-ci.org/perl6/nqp/builds/50413111 https://github.com/perl6/nqp/com​pare/eb40eb0a1ee2...6a5ff395364e
22:14 travis-ci left #perl6
22:14 lizmat huh?
22:14 dalek roast: 8626cca | FROGGS++ | S02-names/strict.t:
22:14 dalek roast: favor "use strict" over bare literals - RT #123696
22:14 dalek roast: review: https://github.com/perl6/roast/commit/8626cca0b0
22:14 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=123696
22:14 raydiak [ptc]: heh np...we wouldn't want your alarm going off in 48 minutes
22:15 Kristien m: sub f { fail "foo"; }; my $x = f
22:15 camelia rakudo-moar 2f7046: OUTPUT«Unhandled exception: foo␤   at <unknown>:1  (/home/camelia/rakudo-inst-2/languages/perl6/r​untime/CORE.setting.moarvm:throw:4294967295)␤ from src/gen/m-CORE.setting:14627  (/home/camelia/rakudo-inst-2/languages/per​l6/runtime/CORE.setting.moarvm:sink:29)…»
22:15 Kristien m: sub f { fail "foo"; }; my $x = f; say "hi"
22:15 camelia rakudo-moar 2f7046: OUTPUT«hi␤»
22:16 Kristien m: sub f { fail "foo"; }; my $x = f; say "hi"; $x
22:16 camelia rakudo-moar 2f7046: OUTPUT«hi␤Unhandled exception: foo␤   at <unknown>:1  (/home/camelia/rakudo-inst-2/languages/perl6/r​untime/CORE.setting.moarvm:throw:4294967295)␤ from src/gen/m-CORE.setting:14627  (/home/camelia/rakudo-inst-2/languages/​perl6/runtime/CORE.setting.moarvm:sin…»
22:16 Kristien m: sub f { fail "foo"; }; my $x = f; say "hi"; say $x
22:16 camelia rakudo-moar 2f7046: OUTPUT«hi␤foo␤  in method gist at src/gen/m-CORE.setting:14619␤  in sub say at src/gen/m-CORE.setting:17379␤  in block <unit> at /tmp/LYEsWCLPP3:1␤␤»
22:16 Kristien interesting
22:17 Kristien especially the first one where the variable definition is the last statement
22:18 dalek nqp: ee0b84c | lizmat++ | t/nqp/19-file-ops.t:
22:18 dalek nqp: Comment out failing symlink test for now
22:18 dalek nqp: review: https://github.com/perl6/nqp/commit/ee0b84cbf8
22:19 lizmat FWIW, this test did *not* fail for me on OS X
22:19 lizmat but it should make Travis happy
22:20 dalek rakudo/nom: 1b0d7af | lizmat++ | tools/build/NQP_REVISION:
22:20 dalek rakudo/nom: Bump NQP version to get latest stat behavior
22:20 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1b0d7af669
22:22 tengignick joined #perl6
22:23 travis-ci joined #perl6
22:23 travis-ci NQP build passed. Elizabeth Mattijsen 'Comment out failing symlink test for now'
22:23 travis-ci http://travis-ci.org/perl6/nqp/builds/50414079 https://github.com/perl6/nqp/com​pare/6a5ff395364e...ee0b84cbf80c
22:23 travis-ci left #perl6
22:23 b2gills skids: the problem with the C spec is that it depends on the processor, and considering there are 16,32,64 bit versions of the the 80x86 processor that can lead to problems
22:24 dalek rakudo-star-daily: 1572d3c | coke++ | log/ (14 files):
22:24 dalek rakudo-star-daily: today (automated commit)
22:24 dalek rakudo-star-daily: review: https://github.com/coke/rakudo​-star-daily/commit/1572d3cb5d
22:25 FROGGS_ gnight #perl6
22:25 [Coke] moritz: iwbni hack.p6c.org had a web page that showed it was a perl 6 community server at the default port. might help me get the page classified so I could get to the box through our internal http proxies.
22:27 b2gills The 8086 was also made source compatible with the 8bit 8085 (still in use inside of modern hardware like WLAN and harddrives)
22:27 Alina-malina joined #perl6
22:29 [Coke] (master) I'd like us to switch to a master/develop branch strategy, but not enough to argue with anyone.
22:30 lizmat good night, #perl6!
22:30 b2gills Perl5 uses `blead`
22:30 b2gills *bleed?
22:30 PerlJam blead
22:31 PerlJam but I'd say that more of a distinction that separates rather than joins
22:32 tengignick joined #perl6
22:33 b2gills I think the branch name should reflect how it is being used, so `develop` would make just as much, or more sense than `master`
22:33 alini joined #perl6
22:35 [Coke] (going through this now for work stuff, and http://nvie.com/posts/a-succ​essful-git-branching-model/ http://nvie.com/posts/a-succ​essful-git-branching-model/ looks like the simplest thing that works for us)
22:36 PerlJam If we're going to rename the main branch, I'd argue for "master" and against anything else.
22:36 b2gills .oO( Perl 6 is good enough to nom on )
22:37 [Coke] PerlJam: I don't think anyone is arguing for master to be anything other than master (or nom)
22:39 b2gills I just don't like it when things are the way they are just because `this is the way it's always been done`
22:39 colomon joined #perl6
22:41 PerlJam b2gills: I don't like it when things are changed just because "this is the way it's always been done, time for a change"   :-)
22:41 raydiak methinks sometimes that is a perfectly valid reason...otoh in many cases it is also a good reason for *not* doing things that way...bah yer all too quick for me :)
22:41 PerlJam b2gills: It's like when my wife feels compelled to rearrange the livingroom furniture for no apparent reason.  I was happy with the existing arrangement, why change?
22:42 TimToady avoid wearing paths in the carpet/floor
22:42 b2gills PerlJam: I don't like change for the sake of change either. ( really I don't care what the main branch is called )
22:43 PerlJam TimToady: and then people get up at 2am and stumble through the living room damaging their shins and/or furniture on their way to the kitchen :)
22:44 raydiak bah people heal, it's the furniture you need to worry about
22:44 b2gills Floors usually wear by the doors first, which isn't that easy to change
22:44 TimToady LED nightlights are very cheap to run these days
22:47 raydiak in the case of branch naming, I think it'd be wisest to go with a familiar scheme more than break the mold...don't think there is much to be gained by going unconventional, but there is much to be lost (e.g. contributors)
22:47 raydiak (that answer makes my particular personality a tad disappointed, but...priorities I guess)
22:48 PerlJam "nom" is kind of idiosyncratic just like "blead" is in p5-land.
22:48 PerlJam for some reason "blead" bothers me more than "nom" as far as named go
22:48 masak there's a point where the "new" in "new object model" isn't so new anymore... :)
22:48 raydiak what is up with "blead" anyway? it ain't hydraulics :P
22:49 b2gills bleading edge
22:49 raydiak the result of cutting is bleeding, not bleading, unless it's another EU thing
22:49 PerlJam masak: then we just morph "new" into "natural" or something that starts with "n"  :)
22:50 PerlJam aye, "blead" probably bothers me because of the spelling
22:50 PerlJam (whereas "nom" makes more sense)
22:51 raydiak you could make the argument that your blood *is* a hydraulic system and so blead may be appropriate, but that's quite a stretch imo
22:52 hahainternet raydiak: what are you a spider?
22:53 dalek rakudo/native-ref: 0ea942a | jnthn++ | src/Perl6/Actions.nqp:
22:53 dalek rakudo/native-ref: Move out illegal placeholder detection.
22:53 dalek rakudo/native-ref:
22:53 dalek rakudo/native-ref: Can probably further move this into placeholder variable handling
22:53 dalek rakudo/native-ref: itself later on.
22:53 dalek rakudo/native-ref: review: https://github.com/rakudo/rakudo/commit/0ea942aac0
22:53 dalek rakudo/native-ref: 9e89663 | jnthn++ | src/Perl6/Actions.nqp:
22:53 dalek rakudo/native-ref: Make build_signature_object a method.
22:53 dalek rakudo/native-ref:
22:53 dalek rakudo/native-ref: In preparation for being able to call it after we parse a signature.
22:53 dalek rakudo/native-ref: review: https://github.com/rakudo/rakudo/commit/9e896637a3
22:53 masak it's only hydraulic if it's oil-based, no?
22:53 b2gills I believe that the latest version of Perl was called `blead` on the download page even before the transition to git
22:53 raydiak hahainternet: you first...what are you?  most people don't have a (meaningful) answer to that :)
22:53 PerlJam masak: no, any liquid should do
22:53 hahainternet definitely not hydraulically powered :p
22:53 raydiak masak: hydraulics applies to any fluid, even pneumatics
22:53 masak PerlJam: ah, TIL.
22:54 hahainternet raydiak: fwiw unless you knew already, spiders do articulate their limbs via blood hydraulics
22:54 masak raydiak: surely air isn't a fluid, tho'?
22:54 PerlJam raydiak: pneumatics are about gases, not fluids
22:54 hahainternet that's why they curl up when they die
22:54 raydiak masak: liquids and gasses are both fluids
22:54 masak o.O
22:55 PerlJam raydiak: only if you squint quite a bit
22:55 PerlJam raydiak: and are plasmas also "liquid" ?  :)
22:55 PerlJam raydiak: er, fluid
22:56 raydiak PerlJam: I am not sure which way they chose to go with that one, whoever "they" are that decideds such vernaculars
22:56 b2gills We had a hydraulic tilt/trim system for our boat that used 5W30 motor oil
22:56 PerlJam raydiak: and rocks can be fluid during an avalanche, I don't see anyone talking about hydraulics there.  ;)
22:56 TimToady "a substance that has no fixed shape and yields easily to external pressure; a gas or (especially) a liquid."
22:57 TimToady "Fluids are a subset of the phases of matter and include liquids, gases, plasmas and, to some extent, plastic solids."
22:57 masak fluids get around much more than I knew.
22:57 * raydiak wonders whether solids could be modelled by the same dynamics over large enough spans of time and space
22:57 PerlJam ah, then back to hydraulics ... they're about *liquids*, not just any fluid  ;)
22:57 raydiak like glass
22:57 TimToady but hydraulics is usually construed as liquid as the prototypical meaning
22:58 TimToady since hydro is "water"
22:58 TimToady but it's generalized from that somewhat
22:58 TimToady language is not really about drawing boundaries, but about central meanings and which word's central meaning is close enough to use
22:58 b2gills and there is already a name for things which use a gas: pneumatic
22:59 raydiak kinda like how usually when peole say supercharger they don't mean a turbo, even though the term actually covers both regardless of power source (crank or exhaust gasses^WFLUIDS)
23:00 alini joined #perl6
23:00 raydiak I thought the more important lesson of that was to look at how liquids and gasses move in very similar ways, have vorticies, waves, etc...even when I look up in the sky and see those choppy-looking clouds, it looks like you're looking up at the water from beneath the surface...b/c they're behaving according to fluid dynamics
23:00 tengignick joined #perl6
23:00 TimToady someone should build a "water clock" based on the flow of glass
23:01 TimToady unfortunately, it'll probably speed up as the earth heats up
23:01 dalek rakudo/native-ref: 3038152 | jnthn++ | src/Perl6/ (2 files):
23:01 dalek rakudo/native-ref: De-confuse parameter info hashes with objects.
23:01 dalek rakudo/native-ref:
23:01 dalek rakudo/native-ref: Storing them under the same key was just asking for confusion, and
23:01 dalek rakudo/native-ref: gets in the way of dealing with parameters earlier. (Longer term, we
23:01 dalek rakudo/native-ref: might just want to skip the hashes and work with Parameter objects
23:01 dalek rakudo/native-ref: right off.)
23:01 dalek rakudo/native-ref: review: https://github.com/rakudo/rakudo/commit/3038152d17
23:01 dalek rakudo/native-ref: 9aa014c | jnthn++ | src/Perl6/ (2 files):
23:01 dalek rakudo/native-ref: Build routine_def sigs immediately after parsing.
23:01 dalek rakudo/native-ref:
23:01 dalek rakudo/native-ref: This means we also properly register the variables with their nominal
23:01 dalek rakudo/native-ref: types and rw-ness, meaning we'll be able to generate simpler QAST with
23:01 dalek rakudo/native-ref: less lexicalref, and also catch assignments to ro native parameters at
23:01 dalek rakudo/native-ref: compile time. (Similar refactors are now needed for methods and pointy
23:01 dalek rakudo/native-ref: blocks.)
23:01 dalek rakudo/native-ref: review: https://github.com/rakudo/rakudo/commit/9aa014cbff
23:01 * PerlJam home &
23:01 b2gills The meaning of words also tend to drift from there original meanings https://english.stackexchange.com​/questions/6802/awesome-vs-awful
23:02 * TimToady always kinda thought hashes were overkill for named params generally
23:02 masak b2gills: yes, that's awful :P
23:02 b2gills awesomely awful?
23:03 dalek rakudo/native-ref: c8db372 | jnthn++ | src/Perl6/ (2 files):
23:03 dalek rakudo/native-ref: Flag ro-native parameters, and use the info.
23:03 dalek rakudo/native-ref:
23:03 dalek rakudo/native-ref: With this we now emit lexical rather than lexicalref accesses to the
23:03 dalek rakudo/native-ref: known-readonly things, and produce a compile-time error if there is an
23:03 dalek rakudo/native-ref: obvious assignment to them. Note, only effective in subs so far.
23:03 dalek rakudo/native-ref: review: https://github.com/rakudo/rakudo/commit/c8db37223c
23:04 jnthn TimToady: It's not about named params in this case
23:04 b2gills Well hashes were the simplest thing that could possibly work for named params
23:04 b2gills ( in Perl )
23:04 jnthn TimToady: The hash is a bunch of data we collect as we parse parameters
23:04 jnthn TimToady: It's then transformed into a Parameter object
23:04 TimToady um, I don't think hashes are the simplest thing that could possibly work, no
23:05 jnthn We don't pass named params as a hash.
23:05 jnthn uh, named args
23:05 vendethiel joined #perl6
23:05 jnthn A hash only shows up if you slurp them up.
23:05 TimToady but the slow binder puts them into a hash and deletes them, as I recall
23:05 jnthn Yeah
23:06 jnthn The VM-level one that we hit in all the common cases does't.
23:06 jnthn *doesn't
23:06 jnthn Just keeps a char array and notes what it saw.
23:06 jnthn Ugh, I seem to have upset a bunch of the docs tests.
23:07 * TimToady wonders if we could track those notes good enough to say "this parameter was never used, did you mean..."
23:07 TimToady s/parameter/argument/
23:07 jnthn Maybe :)
23:08 jnthn sub foo(int $a) { $a = 42 } # now a compile-time error \o/
23:08 masak whoa.
23:08 masak jnthn++
23:08 jnthn Only for natives; I'll look into expanding that to other things later.
23:09 jnthn sub foo(int $a is rw) { $a = 42 } # works, of course
23:10 Kristien why is the former an error?
23:10 Kristien is $a immutable?
23:10 raydiak Kristien: yes unless you use 'is rw' or 'is copy'
23:10 jnthn Yes
23:10 masak Kristien: yes, parameters are by default.
23:10 Kristien weird
23:10 masak Kristien: it's a nice default.
23:10 Juerd Kristien: Perhaps, but it's very useful.
23:10 jnthn Hm, I didn't deal with "is copy" yet :)
23:10 Kristien inconsistent with variables
23:10 jnthn (on natives)
23:11 hoelzro I kinda wish that variables were ro by default
23:11 masak Kristien: well, that matters less than you might think.
23:11 masak Kristien: you create a variable for a different purpose than you create a parameter.
23:11 TimToady hoelzro: that role is currently filled by my \foo = expression
23:12 TimToady sort of SSA on the p6 level
23:12 hoelzro interesting, I've been wondering what that was
23:13 b2gills m: my $a ::= 5; $a++; say $a
23:13 camelia rakudo-moar 2f7046: OUTPUT«Cannot assign to an immutable value␤  in sub postfix:<++> at src/gen/m-CORE.setting:5530␤  in block <unit> at /tmp/kWpSNxgkiz:1␤␤»
23:13 TimToady well, that's not really working the way it's supposed to
23:13 masak Kristien: there are two ways for a parameter to be writable: either it's a copy of the argument ('is copy'), or it's bound to the argument ('is rw'). Perl 6 chooses the safe default ('is readonly'), and as a bonus, you also have to specify explicitly which kind of writability you want.
23:14 Kristien m: my $x = 1; $$x.perl.say; # can you pass a container?
23:14 camelia rakudo-moar 2f7046: OUTPUT«1␤»
23:14 b2gills m: my $a = 5; my $b ::= $a; $a++; say $a; say $b
23:14 camelia rakudo-moar 2f7046: OUTPUT«6␤6␤»
23:14 Kristien m: my $x = 1; ($$x).perl.say; # can you pass a container?
23:14 camelia rakudo-moar 2f7046: OUTPUT«1␤»
23:14 TimToady m: my $a = 0; my $b ::= $a; $b++; say $b; # should fail
23:14 camelia rakudo-moar 2f7046: OUTPUT«1␤»
23:14 geekosaur m: my $a = 5; $a.VAR.say; # ?
23:14 camelia rakudo-moar 2f7046: OUTPUT«5␤»
23:14 geekosaur hm, can't tell that way :p
23:14 geekosaur m: my $a = 5; $a.VAR.perl.say; # ?
23:14 camelia rakudo-moar 2f7046: OUTPUT«Int.new()␤»
23:14 Kristien m: my $a = 5; $a.VAR.perl.say
23:14 camelia rakudo-moar 2f7046: OUTPUT«Int.new()␤»
23:15 Kristien welltime to sleep
23:15 Kristien bey!
23:33 jnthn 'night, #perl6
23:36 Mouq joined #perl6
23:47 Sqirrel joined #perl6
23:50 * raydiak is still pondering "language is not really about drawing boundaries, but about central meanings and which word's central meaning is close enough to use"...just another one of those seemingly simple ideas with the potential to permanently change how you think; TimToady++
23:50 hahainternet would a posessive apostrophe on word make sense? this is how bad at grammar i am
23:53 masak raydiak: sounds like what Hofstadter refers to as "clouds" of meaning
23:54 masak hahainternet: "that's how bad at grammar I *is*"
23:54 masak :P
23:54 hahainternet masak: innit
23:54 raydiak masak: oh that's a very good description of the image it gave me in my head
23:55 b2gills You might be a redneck: https://www.youtube.com/watch?v=BvPCcYrBg5s
23:56 masak raydiak: if you like that, I can recommend books by Hofstadter.
23:56 _dolmen_ joined #perl6
23:57 raydiak masak: no book budget atm, but couldn't hurt to add them to my list and to the distant horizon of my mental landscape
23:58 masak might happen sooner than you think :)
23:59 BenGoldberg joined #perl6
23:59 raydiak certainly could :)

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

Perl 6 | Reference Documentation | Rakudo