Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2012-04-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:04 lestrrat joined #perl6
00:05 lichtkind [Coke]: could it be that github servers need a while before new key work?
00:09 dalek Pugs.hs: 7c0bd17 | coke++ | Pugs/src/Pugs/Prim.hs:
00:09 dalek Pugs.hs: Add a barebones "gist", like "~"
00:09 dalek Pugs.hs: review: https://github.com/perl6/Pugs.hs/commit/7c0bd17a8f
00:09 dalek roast: ede6fd4 | coke++ | S (14 files):
00:09 dalek roast: pugs refudge (for "gist")
00:09 dalek roast: review: https://github.com/perl6/roast/commit/ede6fd4a13
00:09 [Coke] lichtkind: not in my experience. it's been pretty quick.
00:10 [Coke] are you sure you checked out the read/write version?
00:10 [Coke] are you getting an error?
00:11 [Coke] whoops. I meant to add to that commit msg for roast that I changed some "Int()" to Int.gist
00:24 leprevost joined #perl6
00:25 [Coke] b: say 8612-8521
00:25 p6eval b 922500: OUTPUT«91␤»
00:45 aloha joined #perl6
00:47 replore_ joined #perl6
00:49 cooper joined #perl6
00:53 Liutox008 joined #perl6
01:01 cooper joined #perl6
01:04 scott__ joined #perl6
01:04 liuchong joined #perl6
01:08 cooper joined #perl6
01:10 whiteknight joined #perl6
01:15 wolfman2000 joined #perl6
01:16 s1n joined #perl6
01:21 [Coke] p: say 0**0
01:21 p6eval pugs: OUTPUT«1␤»
01:21 [Coke] p: say 0**1
01:21 p6eval pugs: OUTPUT«0␤»
01:42 s1n joined #perl6
01:43 pomysl joined #perl6
01:43 pomysl joined #perl6
01:45 lichtkind cant get it work
01:45 lichtkind even after doing what a tut asked me
01:46 sorear ?
01:48 benabik joined #perl6
01:48 colomon sorear: o/
01:49 sorear o/
02:00 havenn joined #perl6
02:16 orafu joined #perl6
02:25 s1n joined #perl6
02:42 PZt joined #perl6
02:45 nif joined #perl6
02:49 lichtkind fuckshit
02:49 lichtkind im through
02:49 lichtkind git repo of perl6/tablets is ready to run :)
02:49 lichtkind gud night
02:50 gfldex joined #perl6
02:55 dwierenga joined #perl6
04:07 IngisKahn joined #perl6
04:23 IngisKahn joined #perl6
04:58 stepnem joined #perl6
05:08 tarch joined #perl6
05:11 kaleem joined #perl6
05:34 birdwindupbird joined #perl6
05:50 birdwind1pbird joined #perl6
05:56 mucker joined #perl6
06:04 lestrrat joined #perl6
06:14 NamelessTee joined #perl6
06:25 xinming_ joined #perl6
06:26 escapade joined #perl6
06:27 IngisKahn joined #perl6
06:28 betterworld joined #perl6
06:32 woosley joined #perl6
06:33 betterworld joined #perl6
06:38 fgomez joined #perl6
06:40 fhelmberger joined #perl6
06:40 xinming joined #perl6
06:45 jnthn morning
06:45 moritz \o jnthn
06:48 ivan`` joined #perl6
07:01 kaleem_ joined #perl6
07:06 brrt joined #perl6
07:07 apejens joined #perl6
07:10 jaffa4 joined #perl6
07:17 mathw o/
07:18 tadzik hello!
07:19 jaffa4 hello
07:19 mathw anybody know a magic way to power a laptop without any power supply?
07:19 thelazydeveloper joined #perl6
07:19 mathw can I jury-rig something with a fork and some duct tape maybe
07:20 mathw or a piece of string?
07:21 arnsholt Not sure that's a good idea
07:21 arnsholt Pretty sure the power brick is a transformer, so putting wall-juice directly into the laptop will probably fry the whole thing
07:22 brrt it will fry it with certainty
07:22 brrt however
07:22 brrt how many alkaline batteries do you have?
07:22 mathw hmm
07:22 tadzik :)
07:22 mathw enough to power it for five minutes, maybe
07:22 mathw I'm just going to have to go into theo ffice aren't I
07:23 brrt the power brick outputs between 12/18v
07:23 mathw I was hoping to avoid that today
07:23 brrt so you'll need at between 8 and 12 alkaline batteries to power it
07:23 brrt the office, is an option too
07:25 brrt to continue the OT conversation, each battery has about 2500 mAh, or 2,5 Ah
07:25 brrt laptops draw between 1 and 5 A]
07:26 brrt which means that worst case scenario, 12 alkaline batteries will keep you powered for somewhat less than half an hour
07:26 mathw that's quite impressive actually
07:29 moritz brrt: assuming that the batteries are made to endure such high currents
07:30 brrt which they aren't
07:30 moritz brrt: most common ones are optimized for less than 100mA
07:30 mathw worst case scenario is that they catch fire :)
07:30 moritz so they'll likely blow up if you draw 2A for for half an hour :-)
07:30 brrt well, only thing is to buy more batteries and connect them in parallel
07:31 moritz yeah, right. So to get from 100mA to 2A you'll just need 20 in parallel
07:31 moritz so, 200 alkaline batteries to power your laptop for five hours?
07:32 brrt probably
07:36 fglock joined #perl6
07:45 jaffa4 hi, Has anyone compiled p6 programs into executables somehow using niecza?
07:47 fhelmberger joined #perl6
07:49 moritz isn't niecza itself a p6 program compiled using niecza?
07:49 moritz maybe take a look at the Makefile to see how niecza does it
07:50 jaffa4 That would be a start of a new world for Perl.
07:51 moritz not quite. There have been lots of ways to generate executables from perl code
07:51 moritz for example PAR::Packer
07:51 jaffa4 There is no translation involved in that, just packing
07:52 jaffa4 I guess niecza is translated
07:52 moritz so what?
07:53 jaffa4 it must be faster
07:53 brrt har har
07:53 moritz I don't think compiled niecza code is faster than perl 5 code read from the source file
07:53 brrt just yesterday i did a test, 'how fast is  hello world'
07:53 brrt in rakudo, about half a second
07:53 brrt in php, 0,030 s
07:53 moritz well, niecza is slow at starting up and compiling
07:54 brrt in python, 0,030 s
07:54 brrt in perl 5, 0,001 s
07:54 brrt perl5 is ridiculously fast
07:54 moritz yes, perl 5's startup time is very impressive
07:54 jaffa4 larges programs should be tested
07:54 jaffa4 larger programs should be tested
07:54 moritz jaffa4: then test them
07:54 brrt :-)
07:54 moritz but don't fall into the trap of assuming "compiled is fast" without testing it
07:55 brrt also, niecza also has to conform to perl6 semantics
07:55 jaffa4 OK, it should be in principle
07:55 brrt i.e., all implementations have to do the same work one way or the other
07:55 moritz jaffa4: that's simply not true
07:56 moritz jaffa4: people have made experience with dumping compiled perl 5 code. Reading it was slower than recompiling it from source
07:56 moritz thing aren't always simple
07:56 brrt moritz: seriously, how was that? why was it slower?
07:56 moritz and when it comes to software, they usually aren't
07:57 moritz brrt: because the bytecode was larger, I think
07:57 brrt that's a reason
07:58 * brrt learns something every day
07:58 jaffa4 There was another version, a C translator
08:01 jaffa4 brrt: not sure what you mean, optimisation are possible
08:01 moritz sure they are possible
08:01 moritz but still the lesson is that "compiled = faster" simply isn't always true
08:02 brrt and just because you can optimize doesn't mean it has happened
08:03 brrt on the other hand, i reckon shipping CLR bytecode is more attractive than perl source code for many companies
08:05 cxreg is it too early in the year to do an advent calendar? o_O
08:05 cxreg lol
08:06 moritz cxreg: masak++ has often done a one-month blog marathon
08:06 moritz cxreg: no need to wait until December
08:06 cxreg good point
08:07 cxreg i have some software which has grown so complex i can't possibly explain it in one sitting P(
08:07 cxreg :(
08:07 cxreg 30 oughta do it though
08:08 jaffa4 What software is that?
08:08 cxreg smartcd: https://github.com/cxreg/smartcd
08:08 cxreg i'm really fond of the whole advent calendar progressive model, i will try that
08:13 jaffa4 niecza does not handle directory names that contain spaces.
08:13 moritz jaffa4: please submit a bug report
08:16 jaffa4 Where is it?
08:16 moritz https://github.com/sorear/niecza/issues
08:17 Administrator joined #perl6
08:17 fgomez joined #perl6
08:19 jaffa4 no, it is ok, it was an illusio9n
08:25 Guest58900 .subst(/(d+)/, -> $/ { 0 ~ $0.chars.chr ~ $0 }, :g)
08:25 Guest58900 i do not konw what is that mean
08:25 Guest58900 who can write a perl 5 version thx ;-)
08:27 moritz s/(\d+)/0 . chr(length($1)) . $1/eg
08:28 zhutingting oh thx ;-)
08:29 woosley joined #perl6
08:29 tadzik :)
08:29 dakkar joined #perl6
08:30 jaffa4 What is -> $/?
08:30 moritz jaffa4: a pointy block or lambda. See s04
08:34 jaffa4 anonymous sub.
08:41 arnsholt Kinda like sub {}, but not quite
08:41 moritz ... as S04 describes at great lengths
08:42 arnsholt Indeed. But from jaffa4's comment about anonymous sub, I figured it was worth pointing out again
08:42 arnsholt I've brainoed with return in pointy blocks before =)
08:43 jaffa4 It looks like the usual sub, except the syntax is different
08:43 jaffa4 more functional.
08:44 jaffa4 so what is "not quite" about?
08:45 arnsholt For one, return returns out of the -enclosing- sub, not the pointy
08:45 moritz jaffa4: did you read S04?
08:45 arnsholt As moritz said, read S04
08:53 dbr joined #perl6
08:58 jaffa4 long rading.
09:02 woosley left #perl6
09:03 jaffa4 rakudo: print <1, 5, 7,  9,  10>;
09:04 p6eval rakudo 3bd91f: OUTPUT«1,5,7,9,10»
09:04 jaffa4 rakudo: print <1  5 7  9  10>;
09:04 p6eval rakudo 3bd91f: OUTPUT«157910»
09:04 jaffa4 rakudo: print <1  5 7  9  10>.perl;
09:04 p6eval rakudo 3bd91f: OUTPUT«("1", "5", "7", "9", "10")»
09:04 jaffa4 rakudo: print <1, 5, 7,  9,  10>.perl;
09:04 p6eval rakudo 3bd91f: OUTPUT«("1,", "5,", "7,", "9,", "10")»
09:07 Trashlord joined #perl6
09:10 moritz rakudo: say !0 && !
09:10 p6eval rakudo 3bd91f: OUTPUT«===SORRY!===␤Confused␤at /tmp/EDKqvLpXyg:1␤»
09:10 moritz rakudo: say !0 && 1
09:10 p6eval rakudo 3bd91f: OUTPUT«1␤»
09:18 jaffa4 rakudo: print 1|2|3;
09:18 p6eval rakudo 3bd91f: OUTPUT«This type cannot unbox to a native string␤  in method print at src/gen/CORE.setting:6381␤  in sub print at src/gen/CORE.setting:6252␤  in block <anon> at /tmp/I_61q5dNjv:1␤␤»
09:19 jaffa4 rakudo: print (1|2|3).perl;
09:19 p6eval rakudo 3bd91f: OUTPUT«any(1, 2, 3)»
09:21 * moritz submits rakudobug
09:21 fglock I've sent an "announce" for perlito 9.0
09:22 moritz fglock++
09:23 replore_ joined #perl6
09:23 moritz so, what's new in perlito 9?
09:23 jaffa4 perlito: my @a=<3,4>;
09:24 fglock the perl5 compiler is much improved; the perl6 compiler is almost the same old
09:24 moritz fglock: then say so in the announcement
09:24 jaffa4 How to run perl 6 in perlito?
09:24 moritz fglock: at least in future announcements
09:24 fglock yes, too late
09:24 moritz not too late to learn from it :-)
09:25 fglock the perl5 improvements will be interesting to port to perl6; perl5 is now ~9x faster than the perl6 version
09:25 moritz cool
09:26 fglock perl5 in node.js is just a bit faster than "real" perl5 (this performance will very likely go away when new features are added)
09:27 fglock jaffa4: you can install from cpan   $ cpan v6
09:27 masak good antenoon, #perl6
09:27 fglock or get the whole thing from github
09:27 tadzik fglock: wow, that's still awesome
09:28 tadzik fglock: any specific things it's faster with?
09:28 tadzik hello masak
09:28 masak hello hello
09:28 jaffa4 fglock: what is the state of perlito?
09:29 fglock tadzik: no, that's comparing the time to compile itself (about 10 seconds)
09:29 gfldex funny php bug: https://bugs.php.net/bug.php?id=54547
09:30 gfldex and a good example why types are helpful
09:30 fglock jaffa4: there is a long TODO list; it passes some interesting tests though
09:30 jaffa4 so many bakcends
09:31 jaffa4 How are you managing them?
09:31 fglock jaffa4: ah, you can run it online here: http://perlito.org/
09:31 fglock jaffa4: what you mean managing?
09:32 jaffa4 Is it too much?
09:33 arnsholt gfldex: Assuming you're reading the same thing I read, I preferred this one: http://use.perl.org/use.perl.or​g/_Aristotle/journal/33448.html
09:33 fglock too big? not really, the backend-specific code is small; it is mostly written in plain perl
09:36 moritz r: sub foo { say $?ROUTINE.name }
09:36 p6eval rakudo 3bd91f: OUTPUT«===SORRY!===␤Variable $?ROUTINE is not declared␤at /tmp/IDw9GHSQ2H:1␤»
09:36 moritz r: sub foo { say &?ROUTINE.name }
09:36 p6eval rakudo 3bd91f:  ( no output )
09:36 moritz r: sub foo { say &?ROUTINE.name }; foo
09:36 p6eval rakudo 3bd91f: OUTPUT«foo␤»
09:41 masak arnsholt: I learned yesterday in http://gafter.blogspot.se/2007/​01/definition-of-closures.html that the distinction between routines (that you can return from) and mere blocks (that close over not just lexical variables in their environment, but labels and returns too) originated in Smalltalk.
09:49 arnsholt Hmm. Nifty
09:55 arnsholt Yet another reminder that I should get around to actually learning Smalltalk some day
09:55 moritz aye, sounds really worthwhile
09:56 moritz much of the MOP research is done on smalltalk dialects
09:56 arnsholt I think I'll end up learning Haskell before Smalltalk, though
09:57 masak the nice thing about learning Haskell is that you can do it as many times as you want ;)
09:57 moritz :-)
09:58 masak "Think of it in biological terms: a sub is like a eukaryote: a little more complex, handles advanced things like return when necessary. A bare block doesn't have all that advanced piping, and has to delegate its return calls to its surrounding host cell." -- http://strangelyconsistent.org/bl​og/fun-with-code-blocks-in-perl-6
09:59 masak I'm kinda proud of that analogy. and wow, that blog post is 3.5 years old. how time flies.
09:59 * moritz uses that post to learn some biology :-)
10:00 moritz masak: (mostly OT) didn't think so back when I created my blog, but I now firmly believe that the year in which a blog post was published should appear in the URL
10:01 masak hm.
10:01 masak because it's important context that might as well go along with the URL?
10:01 masak or because you get a pure namespace each year?
10:02 moritz yes. And Yes. And because the list of files in a single directory becomes ever larger if you don't :-)
10:02 masak I should be so lucky that that ever becomes a problem :)
10:02 moritz ok, that doesn't need to be directly related, but it usually is
10:02 masak also, there's nothing that says the blog posts have to map to a single directory...
10:02 moritz but it does in your case, no?
10:03 moritz it does for my blog too
10:03 masak it does in my case. but that's largely an implementation detail.
10:04 masak no, that's *entirely* an implementation detail.
10:04 masak I could change it if I wanted and keep the same URLs.
10:04 moritz but it's an implementationi detail that leaks through quite often. It does make me think.
10:05 moritz anyway, I'll not press that point any further; I just note that if I ever design a blog engine, then the default URL scheme will contain the year
10:11 masak it's an interesting point.
10:12 masak I'm sure I consciously made the decision when I thought about the URL scheme a few Septembers ago.
10:12 moritz well, I also made the conscious decision to not include the year back when I set up my blog. I have since revised it
10:13 daxim joined #perl6
10:13 moritz masak: having read half through the blog post you linked to, my respect for Guy Steele has grown quite a bit
10:14 moritz introducing a totally different kind of scoping when everybody disagrees takes quite some insight, foresight and courage
10:19 daxim joined #perl6
10:31 masak moritz: yeah. I got curious about the "Lambda The Ultimate <X>" papers.
11:19 daxim http://perlmonks.org/index.pl?node_id=964434  # "If you've tried it, what are your thoughs on Perl6?"
11:22 daxim I didn't know about that wiki page mentioned there.  handy marketing material!
11:22 moritz sadly both answers so far don't seem to answer in the spirit of the question
11:27 masak what would an answer in the spirit of the question look like?
11:28 moritz "I've tried Rakudo, and here is what I liked and what I disliked:"
11:29 moritz both answers make me doubt that the ones that wrote them have actually tried it
11:30 * masak attempts to write such an answer
11:36 birdwindupbird joined #perl6
11:38 skids joined #perl6
11:41 xenu joined #perl6
11:43 * masak wrote http://perlmonks.org/index.pl?node_id=964515
11:46 moritz masak: did you mean "where caluses and subytpes"?
11:46 masak I did. fixed.
11:46 masak moritz++
11:48 masak I also added a point about mutable Perl 6 grammars.
11:49 moritz masak++
11:49 daxim type callus?  the kind you get on your fingertips from too verbose syntax?
11:56 * masak .oO( what a callous joke )
11:58 jnthn Hmm....wonder if heredocs would be a good hackathon task :)
11:58 jnthn We'll have Pm in le room :)
11:59 moritz I feel a bit stupid for asking, but what makes heredocs so much harder to parse than any other quoting construct?
11:59 moritz is it because they don't start immediately?
11:59 masak because things happen at the newline after the heredoc marker.
11:59 masak (I guess)
12:00 daxim pugs did it 200x
12:00 masak r: for (my @a = 1, 2, 3) { $_++ }; say @a.perl
12:00 p6eval rakudo 3bd91f: OUTPUT«===SORRY!===␤Redeclaration of symbol @a␤at /tmp/9xWwNl4WB4:1␤»
12:00 masak I think that bug is well-known.
12:00 masak r: my @a = 1, 2, 3; for @a { $_++ }; say @a.perl
12:00 p6eval rakudo 3bd91f: OUTPUT«Array.new(2, 3, 4)␤»
12:00 masak r: my @a = 1, 2, 3; for @a -> $x { $x++ }; say @a.perl
12:00 p6eval rakudo 3bd91f: OUTPUT«Cannot assign to a readonly variable or a value␤  in sub postfix:<++> at src/gen/CORE.setting:2614␤  in block <anon> at /tmp/R1eu1pvdUi:1␤␤»
12:00 masak r: my @a = 1, 2, 3; for @a <-> $x { $x++ }; say @a.perl
12:00 p6eval rakudo 3bd91f: OUTPUT«===SORRY!===␤Missing block␤at /tmp/Hv22n55KYr:1␤»
12:00 jaffa4 r: print 3++3++;
12:00 p6eval rakudo 3bd91f: OUTPUT«===SORRY!===␤Confused␤at /tmp/lxa8VjxHCI:1␤»
12:01 masak we might also take the chance to add back '<->' :)
12:01 masak jaffa4: Longest-Token Matching parses that as '3' and a postfix:<++>
12:02 masak jaffa4: and then the next '3' becomes a term where an operator is expected.
12:02 bluescreen10 joined #perl6
12:02 jaffa4 r: print (3++3)++;
12:02 p6eval rakudo 3bd91f: OUTPUT«===SORRY!===␤Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 2␤»
12:03 jaffa4 r: print ((3++3)++);
12:03 p6eval rakudo 3bd91f: OUTPUT«===SORRY!===␤Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 2␤»
12:03 jnthn You'd have to use whitespace to make it not parse as a postfix:<++>
12:03 jaffa4 r: print 3++;
12:03 p6eval rakudo 3bd91f: OUTPUT«Cannot assign to a non-container␤  in sub postfix:<++> at src/gen/CORE.setting:2614␤  in block <anon> at /tmp/29wPisMC6Q:1␤␤»
12:03 jnthn Not that incrementing a constant makes any sense anyway :)
12:04 masak not by default :P
12:04 pernatiy joined #perl6
12:04 jaffa4 r: print sin<==3;
12:04 jnthn I recommend using the +1 operator
12:04 p6eval rakudo 3bd91f: OUTPUT«===SORRY!===␤CHECK FAILED:␤Calling 'sin' will never work with no arguments (line 1)␤    Expected any of:␤    :(Numeric \$x)␤    :(Cool \$x)␤    :(num $x)␤»
12:04 jnthn r: say 3+1
12:04 p6eval rakudo 3bd91f: OUTPUT«4␤»
12:04 jnthn ;)
12:04 jaffa4 r: print sin<<==3;
12:05 p6eval rakudo 3bd91f: OUTPUT«===SORRY!===␤Missing << or >>␤at /tmp/cFDepIMAM3:1␤»
12:05 jaffa4 r: print (sin<<==3);
12:05 p6eval rakudo 3bd91f: OUTPUT«===SORRY!===␤Missing << or >>␤at /tmp/SeuoJBJpkI:1␤»
12:05 jaffa4 r: print (sin<==3);
12:05 p6eval rakudo 3bd91f: OUTPUT«0.141120008059867»
12:05 moritz jaffa4: you should generally use whitespace around infix operator
12:06 jaffa4 because?
12:07 moritz jaffa4: to avoid parse errors
12:07 jnthn because it avoids the risk of it getting confused with anything else
12:07 jnthn both by the parser and by the human reader :)
12:07 moritz jaffa4: for example a < directly after a term can be parsed as a hash subscript. Unless you put a space before it
12:07 moritz like in %h<a>
12:07 jaffa4 print sin <==3;
12:08 jaffa4 r:print sin <==3;
12:08 masak need a space after 'r:'
12:08 jaffa4 r: print sin <==3;
12:08 p6eval rakudo 3bd91f: OUTPUT«===SORRY!===␤Preceding context expects a term, but found infix <== instead at line 1, near "3;"␤»
12:08 moritz and infix operators are not the only places that need spaces :-)
12:08 jaffa4 r: print sin <== 3;
12:08 p6eval rakudo 3bd91f: OUTPUT«===SORRY!===␤Preceding context expects a term, but found infix <== instead at line 1, near " 3;"␤»
12:08 moritz r: 3 ==> sin ==> print
12:08 p6eval rakudo 3bd91f: OUTPUT«===SORRY!===␤Preceding context expects a term, but found infix ==> instead at line 1, near " print"␤»
12:08 masak that should work, I think.
12:09 jnthn Why doesn't it?
12:09 jaffa4 r: 3==>sin ==> say;
12:09 p6eval rakudo 3bd91f: OUTPUT«===SORRY!===␤Preceding context expects a term, but found infix ==> instead at line 1, near " say;"␤»
12:09 * masak submits rakudobug
12:09 jnthn Is sin one of those annoyingly parsed silly things?
12:09 jnthn std: 3==>sin ==> say;
12:09 p6eval std 1ad3292: OUTPUT«[31m===[0mSORRY![31m===[0m�Preceding context expects a term, but found infix ==> instead at /tmp/QDw_rjcYmH line 1:�------> [32m3==>sin [33m�[31m==> say;[0m�Parse failed�FAILED 00:00 41m�»
12:09 jnthn masak: You need to submit std bug too then :)
12:09 jnthn std: 3 ==> sin ==> say;
12:09 p6eval std 1ad3292: OUTPUT«[31m===[0mSORRY![31m===[0m�Preceding context expects a term, but found infix ==> instead at /tmp/3jR_b8LZ_m line 1:�------> [32m3 ==> sin [33m�[31m==> say;[0m�Parse failed�FAILED 00:00 41m�»
12:10 masak hrm.
12:10 jnthn std: 3 ==> say;
12:10 p6eval std 1ad3292: OUTPUT«[31m===[0mSORRY![31m===[0m�Unsupported use of bare 'say'; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument at /tmp/n87Myyq2iu line 1:�------> [32m3 ==> say[33m�[31m;[0m�Check failed�FAILED 00:00 41m�»
12:10 jnthn std: 3 ==> note;
12:10 jaffa4 std: 3 ==> sin;
12:10 p6eval std 1ad3292: OUTPUT«ok 00:00 41m␤»
12:10 p6eval std 1ad3292: OUTPUT«[31m===[0mSORRY![31m===[0m�Unsupported use of bare 'sin'; in Perl 6 please use .sin if you meant $_, or use an explicit invocant or argument at /tmp/kb4sccd9V5 line 1:�------> [32m3 ==> sin[33m�[31m;[0m�Check failed�FAILED 00:00 41m�»
12:10 jnthn r: 3 ==> note;
12:10 p6eval rakudo 3bd91f: OUTPUT«3␤»
12:10 jnthn bare sin :D
12:11 jaffa4 std: 3 ==> sin => note;
12:11 p6eval std 1ad3292: OUTPUT«ok 00:00 41m␤»
12:11 jaffa4 rakudo: 3 ==> sin => note;
12:11 p6eval rakudo 3bd91f: OUTPUT«===SORRY!===␤Sorry, do not know how to handle this case of a feed operator yet. at line 1, near " sin => no"␤»
12:11 jnthn You missed a = in the ==>
12:11 jaffa4 rakudo: 3 ==> sin ==> note;
12:11 p6eval rakudo 3bd91f: OUTPUT«===SORRY!===␤Preceding context expects a term, but found infix ==> instead at line 1, near " note;"␤»
12:11 masak std: 3 ==> say()
12:11 p6eval std 1ad3292: OUTPUT«ok 00:00 41m␤»
12:11 jnthn I can only guess sin has interesting parsing.
12:11 masak r: 3 ==> say()
12:11 p6eval rakudo 3bd91f: OUTPUT«3␤»
12:11 jaffa4 rakudo: 3 ==> sin ==> note();
12:11 p6eval rakudo 3bd91f: OUTPUT«===SORRY!===␤Preceding context expects a term, but found infix ==> instead at line 1, near " note();"␤»
12:11 brrt joined #perl6
12:12 jnthn oh, or
12:12 masak rakudo: 3 ==> sin() ==> say()
12:12 p6eval rakudo 3bd91f: OUTPUT«0.141120008059867␤»
12:12 jnthn r: 3 ==> say ==> say
12:12 p6eval rakudo 3bd91f: OUTPUT«===SORRY!===␤Preceding context expects a term, but found infix ==> instead at line 1, near " say"␤»
12:12 jnthn Nah, it's not about sin at all.
12:12 jnthn It's about listop vs call.
12:12 masak oh!
12:12 jnthn d'oh :)
12:12 moritz r: 3 ==> &sin ==> &sa
12:12 p6eval rakudo 3bd91f: OUTPUT«Method 'push' not found for invocant of class 'Sub'␤  in <anon> at /tmp/UecmwTVIfB:1␤  in block <anon> at /tmp/UecmwTVIfB:1␤␤»
12:12 moritz LTA :-)
12:13 moritz r: 3 ==> &sin ==> &say
12:13 p6eval rakudo 3bd91f: OUTPUT«Method 'push' not found for invocant of class 'Sub'␤  in <anon> at /tmp/s3gfh581h2:1␤  in block <anon> at /tmp/s3gfh581h2:1␤␤»
12:13 jnthn Yeah. I know exactly why it does that though :)
12:13 masak but... it's slightly surprising that '==> sin()' and '==> sin' mean different things...
12:13 moritz jnthn: me too
12:13 * masak submits the LTA rakudobug
12:13 jnthn moritz: What should it do?
12:13 moritz jnthn: it tries to push things to the argument list, but it's not an argument list
12:13 masak r: 3 ==> &sin
12:13 p6eval rakudo 3bd91f: OUTPUT«Method 'push' not found for invocant of class 'Sub'␤  in block <anon> at /tmp/do8gYQzeSJ:1␤␤»
12:13 moritz dunno. I don't know anything about feeds
12:13 jnthn moritz: No, it's not that.
12:14 jnthn nom: 1..10 ==> map(* + 2) ==> my @a; say @a;
12:14 p6eval rakudo 3bd91f: OUTPUT«3 4 5 6 7 8 9 10 11 12␤»
12:14 jnthn It's that it pushes on to an output variable.
12:14 jaffa4 r: 3 ==> sin ==> my @a;
12:14 jnthn @a.push works out fine. :)
12:14 p6eval rakudo 3bd91f: OUTPUT«===SORRY!===␤Preceding context expects a term, but found infix ==> instead at line 1, near " my @a;"␤»
12:15 jnthn And a Sub has no .push :)
12:15 moritz jnthn: oh.
12:15 masak r: 3 ==> sin() ==> my @a
12:15 p6eval rakudo 3bd91f:  ( no output )
12:15 masak r: 3 ==> sin() ==> my @a; say @a.perl
12:15 p6eval rakudo 3bd91f: OUTPUT«Array.new(0.141120008059867e0)␤»
12:16 jaffa4 DOes all style arguments possible in subs?
12:16 jaffa4 DOes old style arguments possible in subs as in Perl 5?
12:16 moritz you mean, subroutine(arg1, arg2)?
12:17 jaffa4 @_
12:17 moritz never implicitly
12:17 jnthn r: sub foo { say @_ }; foo(1,2); foo(4,5,6)
12:17 p6eval rakudo 3bd91f: OUTPUT«1 2␤4 5 6␤»
12:17 moritz jaffa4: in Perl 6, &sub isn't a call either
12:25 jaffa4 not sure what you mean... It is not call.. what is it?
12:25 bbkr jaffa4: also you have %_ which works the same way for positional params
12:25 bbkr r: sub foo { %_.say }; foo( a => "b" );
12:25 p6eval rakudo 3bd91f: OUTPUT«("a" => "b").hash␤»
12:26 moritz jaffa4: it's the subroutine object
12:26 moritz r: say &uc.WHAT
12:26 p6eval rakudo 3bd91f: OUTPUT«Sub()␤»
12:26 jaffa4 : sub foo { say %_ }; foo(1,2); foo(4,5,6)
12:26 jaffa4 r: sub foo { say %_ }; foo(1,2); foo(4,5,6)
12:26 p6eval rakudo 3bd91f: OUTPUT«Too many positional parameters passed; got 2 but expected 0␤  in sub foo at /tmp/QIIbh_nboB:1␤  in block <anon> at /tmp/QIIbh_nboB:1␤␤»
12:26 masak r: sub foo($a, $b, $c) {}; say foo.signature
12:26 p6eval rakudo 3bd91f: OUTPUT«===SORRY!===␤CHECK FAILED:␤Calling 'foo' will never work with no arguments (line 1)␤    Expected: :(Any $a, Any $b, Any $c)␤»
12:26 masak r: sub foo($a, $b, $c) {}; say &foo.signature
12:26 p6eval rakudo 3bd91f: OUTPUT«:(Any $a, Any $b, Any $c)␤»
12:26 masak g'ah :)
12:27 jaffa4 nice
12:27 jnthn We're doing good at triggering these CHECK time argument failures today :)
12:27 masak :)
12:27 moritz jnthn: except that named parames seem to confuse the CHECK time checks
12:27 moritz well, not confuse, simply never trigger
12:27 jnthn moritz: They are just not considered.
12:28 jnthn moritz: The optimizer is fairly constrained in what it will consider at the moment.
12:28 moritz r: sub f(:%a) { }; f 1, 2, 3
12:28 p6eval rakudo 3bd91f: OUTPUT«Too many positional parameters passed; got 3 but expected 0␤  in sub f at /tmp/okNlQGSvCK:1␤  in block <anon> at /tmp/okNlQGSvCK:1␤␤»
12:28 moritz jnthn: well, it doesn't even consider the positional ones if named paramters are declared
12:28 bbkr jaffa4: your example did not work because params are not flattened as in P5 where you can write foo(1,2,3,4) and bind it using "my%params = @_". In P6 you have distinction between positional and named params
12:28 jnthn moritz: Yeah. I forget why exactly.
12:29 jnthn moritz: I can't remember if deep reason or just an NYI.
12:29 jnthn Generally I've been pretty conservative there.
12:29 masak r: sub foo { my %params = @_; say %params.perl }; foo(1, 2, 3, 4)
12:29 p6eval rakudo 3bd91f: OUTPUT«("1" => 2, "3" => 4).hash␤»
12:29 jnthn I had little sense of how many false positives going as far as I already did would generate.
12:30 jnthn Thankfully, not many. :) So maybe it's time to ramp up the analysis some :)
12:30 masak +1
12:31 jnthn One QAST refactror is gonna be to move the serialization to the QAST::Compiler phase, not the actions phase.
12:31 jnthn Then the optimizer can make the world better.
12:31 jnthn Today it can't do that becase we already serialized it.
12:31 masak ooh, HPMoR eposode! \o/
12:31 moritz speaking of a better world...
12:32 moritz QAST shouldn't store the full match objects
12:32 jnthn Does it today?
12:32 jnthn er
12:32 moritz a reference to $.orig and a position should be enough, no?
12:32 jnthn does PAST today?
12:32 jaffa4 r:  sub g { print $_[0].perl  } ; my @a=<1,3,4,5>; g(@a);
12:32 p6eval rakudo 3bd91f: OUTPUT«===SORRY!===␤CHECK FAILED:␤Calling 'g' will never work with argument types (Positional) (line 1)␤    Expected: :()␤»
12:32 jnthn moritz: right
12:32 moritz jaffa4: I think so. That's what :node($/) does
12:32 jnthn jaffa4: @_[0]
12:32 jnthn invariant sigls
12:32 moritz sorry, meant jnthn
12:32 jnthn moritz: did you mean me? :)
12:33 jaffa4 ub g { print @_[0].perl  } ; my @a=<1,3,4,5>; g(@a);
12:33 jaffa4 r: sub g { print @_[0].perl  } ; my @a=<1,3,4,5>; g(@a);
12:33 p6eval rakudo 3bd91f: OUTPUT«"1,3,4,5"»
12:33 jnthn moritz: oh, I thought :node pulled out the position...well yeah, it should in QAST if it doesn't in PAST
12:33 jnthn And store it in a native int!
12:33 jnthn coffee and cake break \o/ bbs
12:33 jaffa4 is there way to force flattening?
12:33 moritz jaffa4: yes, with prefix |. See S06
12:34 masak r: say |[1, 2, 3]
12:34 p6eval rakudo 3bd91f: OUTPUT«123␤»
12:34 moritz jaffa4: but your @a only ever contains a single string
12:34 jaffa4 r: sub g { print @_[0].perl  } ; my @a=<1,3,4,5>; g(|@a);
12:34 p6eval rakudo 3bd91f: OUTPUT«"1,3,4,5"»
12:34 tokuhirom joined #perl6
12:34 masak jaffa4: you shouldn't use commas in <>. that's the point of <>, getting rid of commas and quotes.
12:34 jaffa4 r: sub g { print @_[0].perl  } ; my @a=<1 3 4 5>; g(|@a);
12:34 p6eval rakudo 3bd91f: OUTPUT«"1"»
12:34 arnsholt jaffa4: <> works like qw// in Perl 5
12:35 masak maybe we should warn about commas in <>, just like Perl 5's qw// does.
12:36 moritz jnthn: oh, you're right. PAST::Node stores $!pos and $!source
12:38 snearch joined #perl6
12:38 moritz well, not in attributes, just in the big hash of things
12:40 pmichaud good morning, #perl6
12:40 moritz good am, pm
12:40 tadzik good pm, pm
12:40 pmichaud r: print 1|2|3
12:40 p6eval rakudo 3bd91f: OUTPUT«This type cannot unbox to a native string␤  in method print at src/gen/CORE.setting:6381␤  in sub print at src/gen/CORE.setting:6252␤  in block <anon> at /tmp/vduxqsxYy4:1␤␤»
12:40 pmichaud ...what's up with that?
12:40 pmichaud also:
12:40 pmichaud r: print (1|2|3).WHAT
12:40 p6eval rakudo 3bd91f: OUTPUT«use of uninitialized variable $v of type Junction in string context␤»
12:40 moritz pmichaud: simple-ish
12:41 moritz there's an IO.print() multi with a slurpy array
12:41 moritz which doesn't seem to autothread
12:41 pmichaud iirc, arrays don't autothread
12:41 moritz and then inside print, we do something like   for @args { pir::print(nqp::unbox_s($_)) }
12:41 moritz and then inside print, we do something like   for @args { pir::print(nqp::unbox_s($_.Str)) }
12:42 moritz and that .Str autothreads
12:42 moritz so we try to unbox a Junction as string
12:42 pmichaud shouldn't that be .Stringy ?
12:42 moritz => BOOM
12:42 pmichaud say (1|2|3).Str
12:42 pmichaud r: say (1|2|3).Str
12:42 p6eval rakudo 3bd91f: OUTPUT«any(1, 2, 3)␤»
12:42 moritz pmichaud: I'm not sure. Is .Stringy guarantueed to return somrthing that can unbox as a string?
12:42 moritz r: print Junction
12:42 p6eval rakudo 3bd91f: OUTPUT«use of uninitialized variable $v of type Junction in string context␤»
12:43 moritz that works as designed
12:43 pmichaud r: print Int
12:43 p6eval rakudo 3bd91f: OUTPUT«use of uninitialized variable $v of type Int in string context␤»
12:43 moritz it's a type object, so it warn at stringifcation
12:43 moritz just that variable name is wrong
12:43 pmichaud okay, I can follow that.
12:43 moritz say() uses .gist, which doesn't warn
12:44 masak pmichaud! \o/
12:44 pmichaud well, .gist returns the typename
12:44 lichtkind joined #perl6
12:44 pmichaud r: print Junction.gist
12:44 p6eval rakudo 3bd91f: OUTPUT«Junction()»
12:44 jaffa4 r: print (3|3|3)*(1|2|2);
12:44 p6eval rakudo 3bd91f: OUTPUT«This type cannot unbox to a native string␤  in method print at src/gen/CORE.setting:6381␤  in sub print at src/gen/CORE.setting:6252␤  in block <anon> at /tmp/GcnxVb2Yf1:1␤␤»
12:44 jaffa4 r: print (3|3|3)&(1|2|2);
12:44 p6eval rakudo 3bd91f: OUTPUT«This type cannot unbox to a native string␤  in method print at src/gen/CORE.setting:6381␤  in sub print at src/gen/CORE.setting:6252␤  in block <anon> at /tmp/n7A60GpD80:1␤␤»
12:44 lichtkind moritz: i tell you if https://github.com/perl6/tablets/tree/master/html has content
12:44 pmichaud r: print (1|2|3).Str
12:44 p6eval rakudo 3bd91f: OUTPUT«This type cannot unbox to a native string␤  in method print at src/gen/CORE.setting:6381␤  in sub print at src/gen/CORE.setting:6252␤  in block <anon> at /tmp/_8KMXCAk4M:1␤␤»
12:44 pmichaud r: print (1|2|3).Stringy
12:44 p6eval rakudo 3bd91f: OUTPUT«This type cannot unbox to a native string␤  in method print at src/gen/CORE.setting:6381␤  in sub print at src/gen/CORE.setting:6252␤  in block <anon> at /tmp/s5k1xOBKSY:1␤␤»
12:45 jnthn o/ pm
12:45 pmichaud r: print ~(1|2|3)
12:45 p6eval rakudo 3bd91f: OUTPUT«This type cannot unbox to a native string␤  in method print at src/gen/CORE.setting:6381␤  in sub print at src/gen/CORE.setting:6252␤  in block <anon> at /tmp/z3gIQ50rI1:1␤␤»
12:45 lichtkind i fiddled half the night until it ran
12:45 lichtkind was really weird
12:45 lichtkind jnthn: o/
12:45 jaffa4 r: print (1|2|2)!=4;
12:45 p6eval rakudo 3bd91f: OUTPUT«Method 'STORE' not found for invocant of class 'Int'␤  in sub AUTOTHREAD_METHOD at src/gen/CORE.setting:1728␤  in <anon> at src/gen/Metamodel.pm:2248␤  in sub infix:<=> at src/gen/CORE.setting:9863␤  in block <anon> at src/gen/CORE.setting:10109␤  in block <anon> a…
12:45 jaffa4 r: print( (1|2|2)!=4);
12:45 p6eval rakudo 3bd91f: OUTPUT«Method 'STORE' not found for invocant of class 'Int'␤  in sub AUTOTHREAD_METHOD at src/gen/CORE.setting:1728␤  in <anon> at src/gen/Metamodel.pm:2248␤  in sub infix:<=> at src/gen/CORE.setting:9863␤  in block <anon> at src/gen/CORE.setting:10109␤  in block <anon> a…
12:45 lichtkind jnthn: i leave the rakudo problem for now because everything i did made the compiler go bang
12:46 jaffa4 should that work?
12:46 masak jaffa4: I would say so.
12:46 pmichaud it looks to me as though something's gone kooky with Junction lately
12:46 moritz it seems to parse it as an assingment op
12:46 jaffa4 r: print( (,,2,2)!=4);
12:46 pmichaud n: print (1|2|2)
12:46 p6eval rakudo 3bd91f: OUTPUT«===SORRY!===␤Preceding context expects a term, but found infix , instead at line 1, near ",2,2)!=4);"␤»
12:46 p6eval niecza v15-6-gefda208: OUTPUT«any(1, 2, 2)»
12:46 jaffa4 r: print( (1,2,2)!=4);
12:46 p6eval rakudo 3bd91f: OUTPUT«Cannot assign to a non-container␤  in method STORE at src/gen/CORE.setting:4268␤  in sub infix:<=> at src/gen/CORE.setting:9863␤  in block <anon> at src/gen/CORE.setting:10109␤  in block <anon> at /tmp/VZKqgi6lAQ:1␤␤»
12:46 pmichaud niecza++ has it right
12:47 jaffa4 n: print( (1,2,2)!=4);
12:47 p6eval niecza v15-6-gefda208: OUTPUT«Unhandled exception: Writing to readonly scalar␤  at /tmp/T2d_tpR7z0 line 1 (mainline @ 2) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3842 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3843 (module-CORE @ 65) ␤  at /home/p6eval/niecza/lib/…
12:47 jaffa4 n: print( any(1,2,2)!=4);
12:47 p6eval niecza v15-6-gefda208: OUTPUT«Unhandled exception: assigning to readonly value␤  at /tmp/kZCRJpalB_ line 1 (mainline @ 2) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3842 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3843 (module-CORE @ 65) ␤  at /home/p6eval/niecza/lib…
12:47 moritz jaffa4: if you try lots of stuff that fails, please do it in a private message to p6eval
12:47 moritz jaffa4: otherwise it disrupts conversation here
12:48 lichtkind joined #perl6
12:49 pmichaud anyway,  Junction.Str is defined and ought to work
12:49 pmichaud oh, I see.
12:49 pmichaud ummm...
12:49 pmichaud it's the unbox_s
12:55 PacoAir joined #perl6
12:55 moritz r: say (1, 2).Str.WHAT
12:55 p6eval rakudo 3bd91f: OUTPUT«Str()␤»
12:55 moritz r: say (1|2).Str.WHAT
12:55 p6eval rakudo 3bd91f: OUTPUT«Junction()␤»
12:55 moritz r: say (1|2).Stringy.WHAT
12:55 p6eval rakudo 3bd91f: OUTPUT«Junction()␤»
12:55 pmichaud from http://irclog.perlgeek.de/​perl6/2011-06-06#i_3867330   I have that .Stringy autothreads but .Str does not
12:55 pmichaud anyone know/remember if things changed since then?
12:56 moritz I have no idea
12:56 moritz but this whole .Stringy/.Str business is rather dubious to me
12:56 moritz in the end, to do something low-levelish with our strings, we have to unbox them
12:57 moritz but there's no assertion anywhere that .Stringy should return something that can unbox
12:57 masak I have no idea why we have .Stringy in the first place.
12:57 masak it feels like some sort of premature generalization.
12:57 moritz heck, we don't even have a syntax to declare that something can unbox or not (in the spec, at least)
12:58 moritz yes, I feel the same
12:58 moritz we already have .Str and .gist and .perl and .pretty
12:58 masak "sometimes the thing that does the conversion might want to convert to a Cat!" -- well, in 99% of the cases, I don't care.
12:58 masak Cat is still super-liquid anyway.
12:58 masak I say remove .Stringy and make the world a simpler place.
12:59 pmichaud at one time TimToady used .Stringy/.Str exactly to tease out this difference in Junctions
12:59 pmichaud sometimes you want a junction of strings, sometimes you want a string representing the junction
13:00 masak agreed.
13:00 masak there's nothing about the name ".Stringy" that says "I don't autothread over junctions!", though.
13:03 lichtkind_ joined #perl6
13:05 pmichaud there was apparently a longer discussion about .Stringy at http://irclog.perlgeek.de/​perl6/2011-06-18#i_3953115
13:05 lichtkind i never heard of gist
13:05 pmichaud .gist is the method that describes how things are say'd
13:06 lichtkind ah s29 :=
13:07 lichtkind thans
13:07 lichtkind later
13:10 masak why do we have both .gist and .pretty?
13:10 pmichaud fossil-ish, I think.
13:11 masak that explains a lot, if so.
13:11 sftp joined #perl6
13:11 masak also, I'm seriously pondering un-spec'ing &note, and just have people go $*ERR.print or $*ERR.say or $*ERR.write, depending on what they want.
13:13 flussence +1
13:13 plutoid joined #perl6
13:13 flussence [besides, I'd rather have Data::Dump's dd()]
13:14 pmichaud .pretty was introduced in https://github.com/perl6/specs/commit/7​53bc72090a9ab8669037d0caddb47f261b3ffb0, almost two years ago.  It's definitely pre-.gist
13:14 masak I'll give it a day or so to let people put forth counterarguments to removing &note.
13:14 pmichaud I don't know that .pretty ever made it to implementation
13:14 pmichaud afk for a while
13:15 pjcj joined #perl6
13:19 JimmyZ joined #perl6
13:22 fglock is .perl still used, or is .gist took it's place
13:22 fglock s/is//
13:23 masak fglock: .perl and .gist do different things.
13:23 masak fglock: .perl formats things as Perl code. .gist formats things as a summary (for output to $*OUT, for example).
13:24 PerlJam greetings perl people!
13:24 masak r: my @a = 1..5; say @a.perl; say @a.gist
13:24 p6eval rakudo 3bd91f: OUTPUT«Array.new(1, 2, 3, 4, 5)␤1 2 3 4 5␤»
13:24 masak PerlJam! \o/
13:24 PerlJam fglock: The way I look at it, .perl is for Perl, and .gist is for humans
13:24 colomon \o
13:25 masak .perl is basically Data::Dumper.
13:27 PerlJam so ... .pretty metaphorically went away?  It's still in S02
13:27 masak exTERminate!
13:28 PerlJam I have a vague recollection that TimToady was advocating a distinction between .gist and .pretty at one point though
13:32 PerlJam well, I can't find it so ...
13:32 masak I don't mind a big core in Perl 6. but it saddens me a bit every time when simple things like stringification get fragmented into half a dozen different little routines.
13:32 jnthn masak: note seems kinda handy
13:32 jnthn masak: When you don't want to warn.
13:33 dalek specs: e398389 | duff++ | S02-bits.pod:
13:33 dalek specs: s/\.pretty/.gist/g
13:33 dalek specs: review: https://github.com/perl6/specs/commit/e398389734
13:33 jnthn (warn throws a control exception and so a CONTROL may catch it)
13:33 PerlJam if .pretty is really .gist, what should &*PRETTYPRINTER become?
13:33 masak jnthn: <masak> also, I'm seriously pondering un-spec'ing &note, and just have people go $*ERR.print or $*ERR.say or $*ERR.write, depending on what they want.
13:34 masak jnthn: $*ERR.say also doesn't throw a control exception.
13:34 fglock PerlJam: &*GISTYPRINTER
13:34 PerlJam fglock:  :-)
13:34 jnthn masak: Yes but it's a lot to type :P
13:35 jnthn masak: I don't have a better argument for it than "it's convenient" :)
13:35 jnthn I mean, we could get rid of say too and you have to do $*OUT.say :)
13:35 jnthn You're just being handlist :P
13:36 jnthn Note that note hasn't been around forever. At least, I'm pretty sure not.
13:37 PerlJam fwiw, I immediately liked note when it wsa first specced
13:37 jnthn I think it was added not terribly long ago as a reaction to not having something like it. :)
13:37 masak jnthn: I was there when it was spec'd. it was due to warn throwing an exception that it was created.
13:37 escapade left #perl6
13:37 masak but I think $*ERR.say is *clearer* than note()
13:38 masak it gives us *one* set of primitives, which act on $*OUT by default, and which you can use on arbitrary handles.
13:38 masak I think it's cleaner, and more readable.
13:38 masak would rather have note as a short, simple word I can define as a local sub ;)
13:39 PerlJam Hmm.
13:40 masak this is the same kind of argument as the one yesterday. "implement one new special form of quoting" versus "take bits that are already there and just use them to your advantage"
13:43 PerlJam masak: It's the normal pressure for a high level language--that balance between providing convenience out-of-the-box and letting users construct their own convenience from "high level primitives"
13:44 masak right.
13:44 masak yes, 'note "!"' is shorter than '$*ERR.say: "!"', but the latter says clearly on the package what it does.
13:45 jnthn We could call it "err"
13:45 jnthn so you could be like
13:45 jnthn err "wtf?!"
13:45 jnthn :)
13:47 masak :)
13:48 fsergot joined #perl6
13:48 fsergot Hi #perl6 o/
13:48 PerlJam In the "note" subs I've created in the past, the output has always been structured in some way and containing other useful information like the program name, a timestamp, a filename and line number, etc.  The currently specced note would require me to do that bit myself
13:49 PerlJam Also, other "note"s have had specialized logging capability for differentiating severity and other such things.
13:49 [Coke] daxim's monk page must not have been discovered by the fivites yet.
13:50 jnthn Note that it's just a sub so you can define it as whatever you want in a given lexical scope.
13:50 [Coke] p: say gist 3
13:50 p6eval pugs: OUTPUT«*** No such subroutine: "&gist"␤    at /tmp/1rOb5TPZDS line 1, column 5 - line 2, column 1␤»
13:50 colomon PerlJam: boy, that seems like a good argument in favor of $*ERR.say: instead of note...
13:50 PerlJam jnthn: well, that's the trick isn't it? If I'm always defining my own, then I lose the advantage of having it "built in"
13:51 PerlJam colomon: You're right.   I'm just thinking out loud and seeing where it leads
13:51 colomon +1
13:51 PerlJam (I still like note :)
13:52 jnthn Having note doesn't stop you using $*ERR.say :)
13:53 jnthn PerlJam: Yeah, I keep finding I can't argue it a lot better than "I like it" :)
13:54 PerlJam If note had some sort of hook that would allow you to transmogrify the output before sending it to $*ERR ...
13:54 masak I don't dislike it. I just don't see, in retrospect, what problem it solved.
13:54 masak PerlJam: .wrap
13:54 [Coke] evalbot rebuild pugs
13:54 p6eval OK (started asynchronously)
13:54 PerlJam aye
13:55 PerlJam masak: it does seem like note makes only the tiniest of improvements in sending stuff to $*ERR
13:55 masak r: &note.wrap: sub(*@args) { callsame("It's {DateTime.now} and ", |@args) }; note "everything's fine"
13:55 p6eval rakudo 3bd91f: OUTPUT«===SORRY!===␤Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 2␤»
13:56 * masak doesn't see his syntax error
13:56 masak PerlJam: yes, exactly.
13:56 PerlJam sub(
13:56 PerlJam (maybe)
13:56 masak r: &note.wrap: sub (*@args) { callsame("It's {DateTime.now} and ", |@args) }; note "everything's fine"
13:56 p6eval rakudo 3bd91f: OUTPUT«Too many positional parameters passed; got 2 but expected 0␤  in block <anon> at src/gen/CORE.setting:403␤  in sub <anon> at /tmp/ZFhe_4BTkw:1␤  in any enter at src/gen/Metamodel.pm:2681␤  in method postcircumfix:<( )> at src/gen/CORE.setting:1579␤  in <anon> at sr…
13:56 masak r: say &note.signature
13:56 p6eval rakudo 3bd91f: OUTPUT«:(Any )␤»
13:56 masak r: note "OH ", "HAI"
13:56 p6eval rakudo 3bd91f: OUTPUT«OH HAI␤»
13:57 jnthn masak: callwith
13:57 jnthn callsame takes no args
13:57 masak jnthn++
13:57 masak r: &note.wrap: sub (*@args) { callwith("It's {DateTime.now} and ", |@args) }; note "everything's fine"
13:57 p6eval rakudo 3bd91f: OUTPUT«It's 2012-04-11T15:57:39-0200 and everything's fine␤»
13:57 PerlJam ah
13:57 pjcj joined #perl6
13:58 PerlJam jnthn: I keep expecting a single routine to do both callsame and callwith. I wonder if masak subconsciously does too?  :-)
13:59 masak r: say DateTime.now
13:59 p6eval rakudo 3bd91f: OUTPUT«DateTime.new(year => 2012, month => 4, day => 11, hour => 15, minute => 59, second => 5, timezone => $*TZ)␤»
13:59 masak r: say $*TZ
13:59 p6eval rakudo 3bd91f: OUTPUT«$*TZ␤»
13:59 masak r: say $*TZ.perl
13:59 p6eval rakudo 3bd91f: OUTPUT«$*TZ␤»
13:59 masak huh.
13:59 masak r: say $*TZ.chars
13:59 p6eval rakudo 3bd91f: OUTPUT«Method 'chars' not found for invocant of class 'DateTime-local-timezone'␤  in block <anon> at /tmp/yVky2g0rhn:1␤␤»
13:59 masak r: say $*TZ.^methods
13:59 p6eval rakudo 3bd91f: OUTPUT«Str perl postcircumfix:<( )> offset of returns␤»
13:59 masak r: say $*TZ.offset
13:59 p6eval rakudo 3bd91f: OUTPUT«Not enough positional parameters passed; got 1 but expected 3␤  in method offset at src/gen/CORE.setting:9124␤  in block <anon> at /tmp/eO_36vN1H2:1␤␤»
14:00 masak r: say $*TZ.^methods[3].signature
14:00 p6eval rakudo 3bd91f: OUTPUT«:(DateTime-local-timezone , DateTime:D $dt, Any $to-utc, Mu %_!)␤»
14:01 jnthn nom: say $*TZ.WHAT
14:01 p6eval rakudo 3bd91f: OUTPUT«DateTime-local-timezone()␤»
14:01 jnthn nom: say $*TZ.^mro
14:01 p6eval rakudo 3bd91f: OUTPUT«DateTime-local-timezone() Any() Mu()␤»
14:02 masak I'm not so sure that object should gistify to '$*TZ' :P
14:03 jnthn That does seem a bit odd
14:03 PerlJam I think the work you're looking for is "wrong"
14:03 jnthn Hey, I only take on legal jobs! :P
14:04 PerlJam r: say $*OS; say $*TZ; say $*FOO;
14:04 p6eval rakudo 3bd91f: OUTPUT«linux␤$*TZ␤Dynamic variable $*FOO not found␤  in method gist at src/gen/CORE.setting:8224␤  in sub say at src/gen/CORE.setting:6258␤  in block <anon> at /tmp/bI5prfTUi4:1␤␤»
14:04 leprevost joined #perl6
14:04 PerlJam that middle one is quite unexpected :)
14:04 jnthn Yeah, I've no idea why it's doing that though
14:05 masak because code.
14:05 jnthn :P
14:05 jnthn masak: As in, it's hardcoded to?
14:05 masak https://github.com/rakudo/rakudo/b​lob/nom/src/core/Temporal.pm#L145
14:06 PerlJam heh
14:06 jnthn oh
14:06 jnthn And .gist defaults to .perl
14:06 [Coke] p: say gist 3
14:06 p6eval pugs: OUTPUT«*** No such subroutine: "&gist"␤    at /tmp/D9MVWnMWKo line 1, column 5 - line 2, column 1␤»
14:06 PerlJam But that just makes it 2 problems doesn't it?
14:06 jnthn say $*TZ.Str
14:06 [Coke] is the rebuild not yet sync'd back to the correct server? (or is the build just really slow?)
14:07 jnthn r:say $*TZ.Str
14:07 masak PerlJam: I should say so.
14:07 jnthn r: say $*TZ.Str
14:07 p6eval rakudo 3bd91f: OUTPUT«<local time zone>␤»
14:07 jnthn I guess it is meant to do that.
14:07 jnthn So, needs a gist method.
14:07 jnthn No, I think .gist going to .perl by default for type objects is the right way.
14:08 jnthn And the perl method there doesn't override perl just for :D
14:26 dbr_ joined #perl6
14:31 thou joined #perl6
14:31 pmichaud re-good morning, #perl6
14:31 colomon o/
14:34 masak \o
14:37 JimmyZ \0/
14:38 fsergot o/
14:41 pmichaud jnthn: if you get a chance, could you point me to the code in QRegex that is handling protoregex ltm dispatch?  (I can search for it, but it might be easier for you to just say file+line number.)  No rush -- I just want it in the backscroll for when I do get to looking at it :)
14:41 pmichaud kthx
14:42 masak JimmyZ: it's inspiring to see you at work on m0.
14:43 fglock \_/
14:44 JimmyZ masak: I'm following my nose ...
14:46 fglock /_ \_  b
14:48 masak JimmyZ: 我很佩服按照自己鼻子的人。^^
14:49 JimmyZ masak: following my nose means 凭直觉. I use a dict
14:50 masak ah. I'm just using GT :)
14:51 * JimmyZ always uses chinse-english dict
14:51 masak "I'm just acting on intuition", or something like that.
14:51 masak but "following my nose" is more or less understandable as-is.
14:51 JimmyZ masak: you're right
14:51 masak "I'm just groping in the dark" may or may not apply ;)
14:52 * JimmyZ didn't see 'intuition' before
14:52 masak apparently, Latin "intuērī" means "to gaze".
14:55 jnthn pmichaud: !protoregex in the Cursor role I guess...can look up a proper line ref in a bit
14:55 jnthn pmichaud: You wrote the original code. :)
14:55 jnthn I jsut hacked it up and stuff. :)
14:56 simcop2387 joined #perl6
15:02 icwiener joined #perl6
15:02 jnthn pmichaud: https://github.com/perl6/nqp/blob/qb​ootstrap/src/QRegex/Cursor.nqp#L140
15:08 spider-mario joined #perl6
15:09 jnthn decommute &
15:13 benabik joined #perl6
15:14 * masak decommutes too
15:21 kaleem_ joined #perl6
15:23 kaleem joined #perl6
15:27 xinming joined #perl6
15:28 [Coke] seen au
15:28 aloha au was last seen in #perl6 19 hours 23 mins ago saying ".u 24E5".
15:28 * [Coke] wonders what TZ au is in.
15:29 dalek rakudo/nom: f982930 | moritz++ | src/core/Temporal.pm:
15:29 dalek rakudo/nom: add missing invocant markers
15:29 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f982930f0e
15:29 PerlJam moritz: your blog post on the hackathon is missing a key ingredient for building/instlaling zavolaj
15:30 moritz PerlJam: wich is...?
15:30 arnsholt LD_LIBRARY_PATH, perhaps?
15:30 PerlJam moritz: the master branch has no Makefile, so either the repo needs to be configured to give v2 on clone or you need to tell your reads to checkout v2  :)
15:30 arnsholt Or you can use ufo =)
15:31 PerlJam (or v2 needs to be merged into master)
15:31 jaffa4 you know I have an idea
15:31 PerlJam s/reads/readers/ even
15:32 moritz PerlJam: oh.
15:32 jaffa4 Where can I find the test suite?
15:33 PerlJam If v2 is the new way of things, then making v2 *be* master (vie merging or renaming) is probably the way to go.  But that's up to jnthn I guess  :)
15:33 moritz wait. Did osx-fix merge off of master? or of v2?
15:33 moritz jaffa4: on github, perl6/roast
15:40 jaffa4 how to run those tests?
15:41 arnsholt moritz: I made it off master. Didn't realize v2 was the active branch >.>
15:42 TimToady jaffa4: that depends on the implementation, but try 'make spectest' under one of the implementations
15:52 Psyche^ joined #perl6
15:54 moritz arnsholt: I didn't realize it either :/
15:54 [Coke] ssh: Could not resolve hostname github.com: Name or service not known
15:55 [Coke] (on feather)
15:55 dalek roast: 29e16b6 | coke++ | S (3 files):
15:55 dalek roast: pugs fudge
15:55 dalek roast: review: https://github.com/perl6/roast/commit/29e16b6420
15:55 dalek Pugs.hs: cbe4726 | coke++ | t/spectest.data:
15:55 dalek Pugs.hs: run (fudged) tests
15:55 dalek Pugs.hs: review: https://github.com/perl6/Pugs.hs/commit/cbe47261fb
15:55 [Coke] yay, back.
15:56 TimToady $*ERR.say: "!" is way too gobbledygooky to live
15:56 TimToady please keep note
15:57 TimToady I use it all the time when debugging
15:58 TimToady and the whole point of note is that it's *not* an error
15:59 TimToady the argument that it prevents the user from writing their own note is completely vacuous in Perl 6
16:00 sorear good * #perl6
16:01 arnsholt jnthn: Is v2 the active dev branch of Zavolaj?
16:03 brrt left #perl6
16:05 DarthGandalf joined #perl6
16:07 fgomez joined #perl6
16:08 fgomez joined #perl6
16:11 mucker joined #perl6
16:11 envi_ joined #perl6
16:15 Juerd [Coke]: I've killed a few of your processes because they driving feather's load to 13.
16:18 [Coke] argh.
16:18 araujo joined #perl6
16:26 dalek roast: 3b41fee | coke++ | test_summary:
16:26 dalek roast: remove rakudo-specific fossils
16:26 dalek roast: review: https://github.com/perl6/roast/commit/3b41fee308
16:26 sorear o/ Juerd, [Coke]
16:26 [Coke] is anyone besides me using t/spec/test_summary ?
16:27 [Coke] ho, sorear
16:27 Juerd Wow, really, I should perhaps use English more often. It's getting worse by the day.
16:27 Juerd "because they driving." Sure.
16:29 Juerd (In case you didn't know: I had a severe concussion a year ago and it messed up quite a few things.)
16:29 Juerd Before I used to speak English almost fluently. Now I can't think of words and grammar fast enough to form sentences while speaking.
16:30 arnsholt If it's any consolation, dropping words mid-sentence is a perfectly standard disfluency
16:30 arnsholt I do it all the time
16:31 Juerd It would be, if it were a dropped word.
16:31 xinming joined #perl6
16:31 Juerd But while typing the sentence for some reason I figured it correct.
16:33 sorear fglock++ # perlito release announcment
16:33 [Coke] Juerd: do I need to be nicer than -20 ?
16:34 Juerd [Coke]: Mostly you shouldn't be running three memory hungry processes at the same time. The issues are caused by memory starvation and swapping.
16:34 [Coke] updated my testing harness to NOT use 'make -j', and to nice more things, and to only do one language at a time, not all 3 at once.
16:35 [Coke] excellent, then this will hopefully cover thigns.
16:35 Juerd If I recall correctly, -20 is the utmost nice you can be.
16:35 [Coke] kicking off another run.
16:35 Juerd make -j could actually impose less load by being faster and using disk cache more effectively. But it depends on many things.
16:36 Juerd In any case, the difference will be tiny between make -j and without -j.
16:36 s1n joined #perl6
16:36 [Coke] Juerd: I imagine rakudo actually hurts with -j.
16:36 [Coke] (since there is one step that EATS ALL memory.
16:37 [Coke] has feather's setup changed in the past... month or so?
16:37 Juerd No
16:37 benabik [Coke]: But, AFAICT, there's nothing else trying to run at that point.  Much of Rakudo's build is serial due to dependencies.
16:37 Juerd At least not that I know of :)
16:37 sorear [Coke]: -j *and* rakudo/niecza/pugs in parallel?  does that mean 6-9 processes?
16:37 Juerd But I could add a little more RAM if that's needed
16:37 [Coke] I was using -j2 on rakudo and nothing else.
16:38 [Coke] Juerd: nah. I added pugs, that's probably what made it register as a problem.
16:39 [Coke] any issues so far?
16:39 Juerd Not yet
16:39 [Coke] pugs is done, moving on to niecza.
16:41 Juerd So far, so good.
16:41 Juerd I think that because it was swapping when all three were running simultaneously, doing them one by one may actually turn out to be faster overall.
16:42 Juerd Do you happen to have duration statistics?
16:43 Juerd (For over a year now, whenever a Xen or KVM box crashes, we run fsck on all filesystems before booting the virtual machines. Otherwise it would do many fsck's in parallel, really trashing the disk array...)
16:43 thelazydeveloper joined #perl6
16:43 * masak home
16:45 masak TimToady: not everything that is printed to $*ERR is an error.
16:45 masak and I wasn't saying it *prevents* the user from defining his own &note. but surely there's an implicit discouragement in overriding built-in subs?
16:46 xinming joined #perl6
16:47 masak my point was more than &note is of so little extra value to me over $*ERR.say that I think the utility of having a free slot in the place of &note would be bigger.
16:47 moritz I for one quite like &note
16:47 Vlavv_ joined #perl6
16:48 moritz it's a bit like &say. People said "so what, you can write that as 'print $something, "\n"', what's the big deal?"
16:48 moritz but after they've used it for while, they don't want to live without it anymore
16:48 masak Juerd: sorry to hear about your concussion. :/
16:48 [Coke] Juerd: nope, haven't been saving duration.
16:48 masak moritz: point well taken.
16:49 masak moritz: it could well be that &note brings that kind of useful chunking. TimToady seems to be arguing exactly that.
16:49 xinming_ joined #perl6
16:49 Juerd masak: That was a year ago; I think I'm very lucky to have recovered so well.
16:49 lichtkind o/
16:50 masak we're lucky that you did, too. Juerd++
16:50 lichtkind moritz: ping
16:50 moritz lichtkind: pongg
16:50 spider-mario how do I export something other than a sub for a package?
16:51 lichtkind moritz: i fought half the night with my local ssh issues but repo ist standing now
16:51 spider-mario our $x is export = … does not seem to make it visible
16:51 lichtkind maybe now get i more ++ :)
16:51 moritz enum Foo is export <bar baz blubb>;
16:51 moritz lichtkind: that reminds me, I should set up the notifications for in here
16:51 spider-mario (actually, it’s &f rather than $x)
16:51 sorear o/ spider-mario
16:51 Juerd Protip: don't faint in the stailwell.
16:51 spider-mario o/
16:52 lichtkind spider-mario sound like a game :)
16:52 spider-mario :D
16:52 tadzik like Portal-mario
16:52 * sorear wonders why Juerd was faintng
16:52 spider-mario I wish such a game existed
16:52 spider-mario it would certainly be fun to play
16:53 Juerd sorear: Hyperventilation, caused by extreme cramps, caused by drugs that I was taking in preparation for a medication examination
16:53 lichtkind moritz: exactly, for now i build up some html with css and ssi, can i use js?
16:53 moritz lichtkind: sure. Just make sure the pages work without JS too
16:55 lichtkind moritz: sure i was playing with idea to make the menu like on my page but i think i hammer it redunantly into the html, later maybe i generate the html by perl 6 scripts
16:55 lichtkind would be good test for a templating module
16:55 Juerd sorear: I was on my way down to call for an ambulance when it happened.
16:55 * masak hugs Juerd
16:56 moritz lichtkind: some of the other pages (like www.perl6.org) use my own HTML templating/offline CMS thingy (written in perl 5)
16:56 Juerd While falling, I hit my head against the solid concrete wall.
16:56 lichtkind moritz: i hupe the index  page without links can get online  tonight
16:56 masak ouch.
16:57 PacoAir joined #perl6
16:57 moritz lichtkind: this one: http://perlgeek.de/en/software/mowyw
16:57 lichtkind moritz: yes the wywo stuff but i plan it
16:57 lichtkind to do it in a way that pdf and pod production will be easy
16:57 lichtkind that tablets can be easier included in Perl6::Doc
16:58 lichtkind which is by  def pod
16:58 moritz fine by me
16:58 Juerd masak: Nah, I didn't feel anything at the time :)
16:58 moritz as long as generating the HTML that should be published is fully automated
16:58 moritz or having the HTML directly
16:59 moritz I don't care
16:59 Juerd It wasn't until the next day that we discovered I wasn't thinking clearly anymore. I mixed up a lot of typical shell commands, didn't know where my parents lived, actually couldn't find my way back home...
17:00 Juerd I drove to our old house; luckily, my brother lives there now. Otherwise a total stranger might have had to deal with that confused guy on his doorstep.
17:01 tadzik spider-mario: fwiw, portal-mario does exist :)
17:01 Juerd Anyhow, I'm okay now :)
17:01 spider-mario I know :D
17:01 moritz Juerd: wow, that sounds really aweful
17:01 gfldex Juerd: and you have a nice story to tell :)
17:01 spider-mario I’ve played a little with it
17:01 Juerd http://me.veekun.com/blog/2012/04​/09/php-a-fractal-of-bad-design/  # Nothing new but a nice reminder.
17:01 spider-mario but its source code is quite long, isn’t it?
17:02 tadzik I suppose so
17:04 s1n joined #perl6
17:06 moritz lichtkind: http://tablets.perl6.org/ is linked to perl6/tablets/html now
17:07 am0c joined #perl6
17:07 mucker joined #perl6
17:08 moritz lichtkind: and there's a crontab that pulls one per hour
17:08 PerlJam Juerd: I learned about the PHP logo easter egg from that post.  So, that part was at least new to me  :)
17:08 [Coke] (spec test on to rakudo now.)
17:08 PerlJam Juerd: btw ... are you *sure* you're better now?   Or maybe you just *thinkg* you're better  ;-)
17:09 Juerd PerlJam: I'm better but certainly not as good as I was.
17:10 Juerd I can tell because, well, it should be practically impossible to score significantly *lower* than before in an intelligence test, for example.
17:10 Juerd But I'm relearning things, and that's proving to be much easier than learning them the first time.
17:11 bluescreen10 joined #perl6
17:13 masak why should it be practically impossible to score significantly lower on an intelligence test?
17:25 fglock joined #perl6
17:25 tyatpi_ joined #perl6
17:27 lichtkind moritz: thank you
17:28 lichtkind moritz: chatbot listens too?
17:28 moritz lichtkind: should be. Just commit something to test it :-)
17:29 moritz like, the REAMDE says it's Rakudo Perl 6. You could fix that :-)
17:29 s1n joined #perl6
17:32 moritz fwiw I've now installed 'mosh' on feather
17:34 dalek Pugs.hs/Mu: 6e7c146 | moritz++ | / (8 files):
17:34 dalek Pugs.hs/Mu: brute force attempt to switch from Object to Mu
17:34 dalek Pugs.hs/Mu: review: https://github.com/perl6/Pugs.hs/commit/6e7c1469fa
17:35 cognominal mosh++
17:36 PerlJam what's mosh?
17:36 cognominal lacks an iPad client though
17:36 cognominal http://mosh.mit.edu/
17:36 [Coke] moritz++ #pugs hacker
17:36 PerlJam ah, mobile
17:36 moritz PerlJam: a bit like ssh, but with automatic reconnects, and state synchronization between client and server
17:37 [Coke] spec run done.
17:37 [Coke] +# 04/11/2012 - rakudo++ ; niecza (95.07%); pugs (40.66%)
17:37 [Coke] +"niecza",     20355,     0,   749,  1530, 22634, 24123
17:37 [Coke] +"pugs"  ,      8707,    40,  3243,  1587, 13577, 23984
17:37 [Coke] +"rakudo",     21409,    29,   638,  1890, 23966, 24133
17:37 * PerlJam installs mosh on his ubuntu box
17:38 [Coke] p: say 21409*.41-8707
17:38 p6eval pugs: OUTPUT«70.69␤»
17:38 moritz [Coke]: that branch builds at least :-)
17:39 moritz [Coke]: if you want to help, merge it into master on your machine and see if it causes any regressions
17:40 * PerlJam builds mosh on an old fedora box
17:41 moritz it certainly feels snappy
17:44 Patterner my mosh is A Fast R6RS Scheme Interpreter…
17:44 moritz [Coke]: it seems that some pugs tests spew out huge amounts of diagnosis text. Do you know what's up with that?
17:45 dalek roast: 395bd85 | coke++ | S0 (3 files):
17:45 dalek roast: pugs fudge (new tests)
17:45 dalek roast: review: https://github.com/perl6/roast/commit/395bd85bf3
17:45 moritz *** Can't locate Pugs/Runtime/Match/HsBridge.pm in @INC (@INC contains: /home/m
17:45 moritz oritz/.cabal/share/Pugs-6.2.13​.20120203/blib6/pugs/perl5/lib /home/moritz/.caba
17:45 moritz l/share/Pugs-6.2.13.20120203/blib6/pugs/perl5/lib
17:46 machine2 joined #perl6
17:46 moritz and that path is repeated quite often, enough to fill many screens
17:46 moritz and it seems that it gets long with each failed test
17:46 FACEFOX joined #perl6
17:46 [Coke] moritz: will try that branch.
17:46 [Coke] moritz: *LALALA CAN'T HEAR YOU TESTS STILL PASS*
17:47 moritz :-)
17:47 [Coke] moritz: seriously, though, no. haven't looked, mainly because of tests still PASS.
17:48 * [Coke] plays catchup and fudges some new tests for pugs!
17:55 [Coke] moritz: running spectests now.
18:00 fglock joined #perl6
18:01 [Coke] moritz: https://gist.github.com/2360990
18:04 moritz [Coke]: the first three have been passing for the wrong reasons before
18:04 benabik mosh appears to support roaming, but not resuming a session...  So one still needs to use tmux with it?
18:04 moritz [Coke]: ie they are like   my Int $foo; dies_ok { $foo = Mu };
18:04 moritz and that used to die because there was no Mu() routine
18:04 moritz so the test passed
18:05 moritz now the test fails because Mu isn't parsed as a subroutine name, and because pugs doesn't type-check
18:05 fglock looking at roast/S01-perl-5-integration - those would be interesting tests to try on a perlito6+perlito5 combination
18:05 fglock maybe on a rainy day
18:06 sorear o/ fglock
18:06 fglock sorear: hey
18:06 vlixes joined #perl6
18:06 sorear yay for the release
18:06 moritz [Coke]: the only failure I'm not sure about is t/spec/S12-construction/destruction.t
18:06 sorear trying to get perlito more attention
18:07 moritz [Coke]: all the others have really passed for the wrong reasons before
18:09 fglock sorear: the release it's just symbolic; I've got some big optimization done and I thought better to "release" before getting regressions
18:09 moritz releases are always recommendations "use this version"
18:10 moritz so "just symbolic" is exactly what it's about :-)
18:10 fglock in that sense, yes
18:10 [Coke] moritz: aye.
18:10 sorear fglock: I don't often talk about Perlito because I don't know very much about its current status
18:10 sorear obviously this is partly my problem
18:10 sorear but releases help it!
18:11 [Coke] moritz: I don't see anything obvious, but one todo on a test file for getting Mu seems reasonable.
18:12 [Coke] feel free to apply it to master, and I can patch up roast to compensate.
18:13 moritz [Coke]: ok, great
18:13 dalek Pugs.hs: 87311b4 | moritz++ | / (8 files):
18:13 dalek Pugs.hs: Merge branch 'Mu'
18:13 dalek Pugs.hs: review: https://github.com/perl6/Pugs.hs/commit/87311b42f4
18:14 [Coke] actually need to skip 3 & 4 in that file. if you todo both, one passes. freaky. ;)
18:14 masak are there any plans to make Perlito run the spectest suite?
18:15 dalek tablets: 2d86a96 | (Herbert Breunung)++ | html/index.html:
18:15 dalek tablets: add html meta tags
18:15 dalek tablets: review: https://github.com/perl6/tablets/commit/2d86a9602f
18:15 lichtkind it works
18:16 fglock masak: v6.pm used to bundle (and pass) a lot of the official perl6 tests; perlito6 removed a lot of stuff, it's time to add the tests again
18:17 * TimToady is glad that he only broke his front teeth when he fainted half a decade ago...
18:17 fglock perlito5 runs some tests of the perl5 test suite (thanks to pmurias)
18:18 tadzik fglock++ pmurias++
18:19 tadzik I remember obra talking on YAPC: "the lack of spec? That didn"
18:19 tadzik ...didn't stop Ruby from having multiple implementations". I'm glad it haven't stopped you either
18:19 [Coke] masak: I can see if I can get that working, sure.
18:19 moritz fwiw the perl 5 documentation is often more precise than the perl 6 specs
18:20 PerlJam the perl 5 docs have had 25 years of edits to get them that way :)
18:20 moritz sure
18:21 fglock the lack of "strict" in the perl5 test suite is annoying, it artificially adds more value to "weird" behaviour (vs. usefulness of the feature being tested)
18:21 TimToady and there's a world of difference between documenting an implementation and speccing one...
18:22 fglock I've actually extracted some compiler tables directly from the documentation
18:26 perigrin joined #perl6
18:27 lichtkind moritz: whats the titel of you(plural) perl 6 book?
18:28 TimToady Using Perl 6, I believe
18:28 lichtkind thank you
18:29 lichtkind TimToady: whats your take on moving the tablets into html?
18:30 perigrin left #perl6
18:31 fglock tests are nice to read when implementing specific features; the spec helps with general planning, data modelling
18:32 fglock simplifying the perl5 parser was trial and error; fortunately the simple version worked fine (and fast)
18:33 masak lichtkind: why would you want to convert them to HTML? HTML should be generated, not written directly, IMHO.
18:33 masak life is too short.
18:33 masak Markdown is a very nice format for writing things in directly.
18:34 spider-mario I prefer reStructuredText
18:34 masak whatever. just not vanilla HTML.
18:34 lichtkind masak: do you have perl 6 module to create html?
18:34 spider-mario it’s not that bad, is it?
18:34 spider-mario certainly not worse than writing docbook. :D
18:35 lichtkind masak: id ratehr enhance kephra to assist me than making some intermediate format
18:35 lichtkind for now at least
18:36 masak it's your choice, of course.
18:36 masak far be it from me to impose my preferences on a volunteer. ;)
18:36 masak just saying I don't have the patience to craft HTML manually any more.
18:39 lichtkind masak: i understand i wish it would be easy but the linkage is so complex that i dont know any good format yet that can handle it
18:39 lichtkind masak: i stopped using socialtext in first place to regain that freedom
18:40 lichtkind most of these formats are onoly for simple taks
18:40 lichtkind i dont go just into a different prison
18:40 dalek roast: dc27da8 | coke++ | S (12 files):
18:40 dalek roast: pugs fudge - Mu
18:40 dalek roast: moritz++
18:40 dalek roast: review: https://github.com/perl6/roast/commit/dc27da87d3
18:41 [Coke] moritz: there were also quite a few skips that could be relaxed.
18:41 moritz \o/
18:41 [Coke] it feels like more of a waste when I'm the one that just fudged those. Ah well. ;)
18:44 birdwindupbird joined #perl6
18:45 jaffa4 Which module system is working for Python?
18:46 jaffa4 I mean for Perl 6
18:47 sorear I don't understand the question.
18:48 moritz modules.perl6.org plus panda as the installer
18:49 [Coke] so, if testing Perlito6... does one need to test all the backends?
18:50 * [Coke] looks at the readme, and thinks he'll let fglock get the first "make spectest" working before trying to add this to the pile.
18:50 colomon joined #perl6
18:51 fglock [Coke]: yes, Perl5/Python/Javascript are "supported"; the experimental backends have some problems
18:53 masak lichtkind: Markdown allows for arbitrary nested HTML.
18:54 lichtkind can markdown => html done  by a perl modul ?
18:54 [Coke] fglock: so, by default, each implementation puts all the tests it can run into t/spectest.data; the spec test suite is checked out into t/spec; t/spec/test_summary <impl> runs the tests, fudging them for the given implementation.
18:55 [Coke] so, we probably want perlito6-p5, perlito6-python, perlito6-js as 3 different implementations.
18:55 [Coke] (we might want some way to refer to all 3 with, e.g. "perlito6-*", but that's not required)
18:57 moritz lichtkind: sure
18:58 moritz lichtkind: Text::Markdown is already installed on the perl6.org server
18:59 fglock (cloning roast)
18:59 eoh joined #perl6
19:03 fglock [Coke]: t/spectest.data will be a file in perlito repository, right? (not in roast)
19:03 moritz yes, that's how all the others do it
19:03 moritz ie pugs, niecza, rakudo
19:03 fglock ok
19:05 masak lichtkind: the original Markdown parser is written in Perl. it runs as part of my blog, for example.
19:05 spaceships joined #perl6
19:05 masak lichtkind: http://daringfireball.net/projects/markdown/
19:05 sorear <=> spaceships
19:07 arnsholt "Markdown requires Perl 5.6.0 or later. Welcome to the 21st Century." ^_^
19:07 fglock "use Test" - where is Test.pm located?
19:07 masak fglock: in Rakudo? it's in lib/Test.pm
19:08 masak Niecza has its own, slightly different.
19:08 masak Test.pm is spec'd by S24.
19:08 fglock ah, ok - it's provided by the backend
19:08 gfldex sorear: there you go: http://community.eveonline.com/media/30457/bg.jpg
19:08 arnsholt Hmm. What's keeping Niecza and Rakudo from sharing a Test.pm, OOC?
19:11 moritz arnsholt: probably not much anymore
19:11 snearch joined #perl6
19:11 moritz arnsholt: currently rakudo's Test.pm has some timing code that uses pir:: opcodes
19:12 moritz niecza's Test.pm uses \foo parameters
19:13 fsergot joined #perl6
19:13 moritz so neither are immedidately usable by the other, but it would be possible to write a common Test.pm6 that can be run by both
19:13 [Coke] fglock: you'll probably end up sharing t/spectest.data among all the implementations - but we can fudge the running test files differently per implementation if needed.
19:14 immortal joined #perl6
19:14 immortal joined #perl6
19:14 lichtkind masak: i read the link syntax and have to test first hot it react with various special chars
19:15 lichtkind masak: currently i dont see how to put square bracket into link and so forth
19:17 fglock [Coke]: got it
19:17 fsergot Good night #perl6 o/
19:18 fglock first step: tweak perlito5 to be able to run fudge :P
19:30 erkan joined #perl6
19:32 dalek tablets: 44acb48 | (Herbert Breunung)++ | html/index.html:
19:32 dalek tablets: content formated : overview
19:32 dalek tablets: review: https://github.com/perl6/tablets/commit/44acb4829c
19:37 dalek tablets: bdc2850 | moritz++ | README:
19:37 dalek tablets: remove inaccurate line from README
19:37 dalek tablets: review: https://github.com/perl6/tablets/commit/bdc285084a
19:38 lichtkind moritz thanks but that was removed im currently writing it
19:40 moritz feel free to resolve the conflict in your favor :-9
19:43 spaceships joined #perl6
19:44 masak oh, there's a *nick* 'spaceships'. now sorear++'s utterance feels orders of magnitude less random. :)
19:45 GlitchMr joined #perl6
19:45 GlitchMr perl6: print "#$_#=[#$_],"
19:45 p6eval rakudo 3bd91f: OUTPUT«===SORRY!===␤Confused␤at /tmp/GzlE1szBrk:1␤»
19:45 p6eval ..pugs: OUTPUT«##=[#],»
19:45 p6eval ..niecza v15-6-gefda208: OUTPUT«Use of uninitialized value in string context␤  at /home/p6eval/niecza/lib/CORE.setting line 1226 (warn @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 234 (Mu.Str @ 10) ␤  at <unknown> line 0 (ExitRunloop @ 0) ␤  at /home/p6eval/niecza/lib/CORE.setting…
19:46 GlitchMr Confused?
19:46 masak GlitchMr: Confused? :)
19:46 masak GlitchMr: known bug, RT'd.
19:47 simcop2387 joined #perl6
19:48 spider-mario joined #perl6
19:51 lichtkind oh shit socialtext died right now
19:52 lichtkind in my option an old already dione edit was randomly reverted, thats it bye bye
19:52 masak o/
19:53 simcop2387 joined #perl6
19:53 moritz socialtext++ # convincing lichtkind that proper version control is The One True Way
19:56 masak as late as today there was a "conflict" between two .doc attachments at $work. whoever manages to sell proper version control to non-programmers will change the way collaboration is done in the business world, forever.
19:57 * TimToady almost never edits anything extensive in a webpage, where one slip can send your work to oblivion
19:57 huf the web's good for many things but not very good for most of those
19:58 huf incidentally, it's not bad for presenting a bunch of hyperlinked documents :D
19:58 TimToady provided they're static :)
19:58 huf but that goes against current religion!
19:59 TimToady well, if everyone's doing it wrong, there must be some way to game the system to our advantage...
19:59 masak TimToady: I'm so used to doing ^W in vim to delete words. fortunately most web browsers have a "give me back the tab you just closed, with the content I was just writing" shortcut these days...
20:00 huf oh yes... ^W is evil :)
20:00 moritz masak: yes, and version control for MS Office files at that
20:00 masak better yet, ditch MS Office.
20:01 masak hey, one can dream.
20:01 huf i cant dream that big
20:01 huf the most i can dream is that i'll rid my own life of msoffice
20:07 arnsholt It won't completely rid you of it, but going into academia cuts the Office work, way down =)
20:08 dalek tablets: 2c17e27 | (Herbert Breunung)++ | / (3 files):
20:08 dalek tablets: new readme explains arrangement
20:08 dalek tablets: review: https://github.com/perl6/tablets/commit/2c17e27477
20:08 dalek tablets: ffb4382 | (Herbert Breunung)++ | README:
20:08 dalek tablets:  readme
20:08 dalek tablets: review: https://github.com/perl6/tablets/commit/ffb4382209
20:08 dalek tablets: cc2a5b5 | (Herbert Breunung)++ | /:
20:09 dalek tablets: merged redme
20:09 dalek tablets: review: https://github.com/perl6/tablets/commit/cc2a5b56c3
20:09 * PerlJam is currently editing 2 documents in google docs.
20:12 moritz arnsholt: unfortunately my boss wants all paper drafts in Word. I'd much prefer latex, but he doesn't :/
20:13 arnsholt Even PDF is unacceptable? What a drag
20:13 moritz well, it's acceptable for submission, but not for the internal review-and-improve process
20:14 arnsholt Well, if it's not made that way for the internal reviewing process, it's not very likely to be redone in something else for final submission, I think
20:15 fglock we use google docs internally at &work
20:16 buubot_backup joined #perl6
20:17 uvtc joined #perl6
20:22 mj41 moritz: hi, https://github.com/jnthn/zavolaj ... no Makefile there
20:22 NamelessTee joined #perl6
20:23 tadzik mj41: you can use ufo to generate one
20:25 mj41 tadzik: I'm trying to follow http://perlgeek.de/blog-en/perl-6​/2012-hackathon-preparations.html :-)
20:26 tadzik mj41: good :)
20:26 moritz mj41: ah yes, there's some slight confusion about which branch of zavolaj to use. I'll try to clarify that tomorrow, and update the blog post
20:26 tadzik are you coming?
20:26 spider-mario isn’t .doc horrible to version, moritz ?
20:27 moritz spider-mario: of course it is
20:27 spider-mario or is it integrated in MS Office ?
20:27 spider-mario (I meant “?” without a space before)
20:27 spider-mario (twice)
20:27 masak I bet there's versioning in there somewhere.
20:28 mj41 tadzik: no ... no time, no money :-(
20:28 tadzik shame :/
20:28 spider-mario I bet MS Word stores Undos in the file.
20:28 tadzik there's quite a team coming from Poland
20:28 moritz spider-mario: there's a "tracking" feature where changes are hilighted, and replaced text striked (striken?) out
20:28 tadzik whole two people :)
20:28 spider-mario it’s kind of versioning.
20:28 moritz with colors indicating who changed something
20:28 masak moritz: 'stricken'
20:28 moritz and you can accept or discard changes
20:28 spider-mario oh
20:29 spider-mario can you merge the changes of two people?
20:29 moritz no
20:29 moritz not if done separately
20:29 moritz at least, I don't know of any way
20:29 moritz (but which would be something that business people would likely pay quite some money for=
20:30 spider-mario that would be a useful argument for refusing to use .doc if I have to
20:33 mj41 tadzik: I know :-) ... we have offsite weekend at GoodData ... maybe next time
20:34 tadzik hope so :)
20:34 am0c joined #perl6
20:39 dalek tablets: 3bd562a | (Herbert Breunung)++ | html/ (2 files):
20:39 dalek tablets: formated intro and navigation
20:39 dalek tablets: review: https://github.com/perl6/tablets/commit/3bd562a416
20:39 dalek tablets: 63260b5 | (Herbert Breunung)++ | README:
20:39 dalek tablets: added 6th index in readme
20:39 dalek tablets: review: https://github.com/perl6/tablets/commit/63260b54f5
20:40 lichtkind joined #perl6
20:45 masak oh, I had almost forgotten about that quit message.
20:45 NamelessTee joined #perl6
20:45 masak who says dreams are an illusion in the first place? :P
20:51 uvtc Hi #perl. I was here yesterday with some feedback about building R* on a fresh Lubuntu install. I wanted to add a bit more.
20:52 uvtc (Though, maybe I should wait until Pm is around? ...)
20:53 moritz uvtc: no need to wait. Just say what you want to say, and then we'll tell give him a link to the IRC logs :-)
20:53 uvtc Great.
20:53 uvtc Well, for one thing, the R* readme says I need to have build-essential installed. However, I didn't install build-essential, and the build seems to have worked fine.
20:54 uvtc Ubuntu (Lubuntu as well?) comes with gcc and make.
20:54 uvtc No g++ present.
20:54 uvtc No autotools.
20:54 uvtc And everything builds and works for me.
20:54 uvtc Looking at the apt-cache description of build-essential, it says "If you do not plan to build Debian packages, you don't need this package."
20:55 moritz uvtc: we've added that just as a convenient way to depend both on gcc and make at the same time
20:55 moritz uvtc: though can probably be revised
20:55 uvtc Re. build-essential:
20:55 uvtc Depends: libc6-dev | libc-dev, gcc (>= 4:4.4.3), g++ (>= 4:4.4.3), make, dpkg-dev (>= 1.13.5)
20:55 moritz yes, we don't need g++ and dpkg-dev
20:58 dalek star: a29ae04 | moritz++ | skel/README:
20:58 dalek star: update skel/README
20:58 dalek star:
20:58 dalek star: 1) no need for build-essential and subversion, make and gcc are enough. uvtc++
20:58 dalek star: 2) no more blizkost
20:58 dalek star: review: https://github.com/rakudo/star/commit/a29ae0432a
20:58 moritz there, better
20:58 uvtc Nice!
20:59 moritz oh, I see that tadzik++ already removed subversion, which is why I got a conflict
20:59 uvtc Oh, whoops. Yup.
20:59 literal_ joined #perl6
21:00 lichtkind joined #perl6
21:00 * moritz belives in fast feedback cycles when possible :-)
21:00 lichtkind http://blogs.perl.org/users/lichtkind/2012/04​/perl-6-tablets-what-happened-this-week.html
21:01 plobsing joined #perl6
21:02 uvtc Also, I notice how R* neatly organizes its pieces each into their own directories: modules, nqp-2012.02, parrot-4.1.0, rakudo-2012.02. Very nice. I also notice that the build process runs through all of them in a row as a convenience for the user.
21:02 uvtc Trouble is, this creates quite a lot of info in my terminal window. When I just built R* 2012.02, I think I saw some errors or warnings flash by, and would've reported them here, but (A) I didn't know which part of the build process they were associated with, (B), they may have scrolled off the available terminal window history, and (C) I got involved with something else and accidentally closed my terminal window, so lost them anyway.
21:02 uvtc Given that the build process does so much, I think it would be very useful if the build process produced log files --- one for each part of the process --- as it goes. For example: log-configure.log, log-build-parrot.log, log-build-npq.log, log-build-rakudo.log, log-install-perl6.log.
21:03 PerlJam uvtc: sounds like a good idea.
21:03 moritz oh, that's a nice idea
21:04 uvtc Is it something that wouldn't take too much work to add to the Makefile? Using `tee` or something? ...
21:04 * jnthn home
21:04 uvtc Would make reporting build/install issues much easier.
21:04 moritz uvtc: `tee` is unlikely to work on windows :/
21:06 * sjohnson wonders if he has a tee on here...
21:07 uvtc My guess is that having the generated log files would be so useful, that it would probably be worth it to have them, even if it only worked on GNU/Linux (perhaps just defaulting to not having those logs on Windows, for now).
21:07 moritz uvtc: yes, I agree it's worth some effort
21:07 sjohnson moritz: http://i.imgur.com/zN9PG.png
21:07 sjohnson i use that classic old zip file I found on sourceforge a while ago..
21:07 moritz uvtc: and since already use perl 5 in the build process, something platform agnostic is really possible
21:08 sjohnson http://sourceforge.net/projects/unxutils/
21:09 NamelessTee joined #perl6
21:09 dalek star: 440d8ad | moritz++ | skel/tools/build/ (2 files):
21:09 dalek star: give some better feedback build step currently happens
21:09 dalek star:
21:09 dalek star: inspired by discussion with uvtc++. Not nearly enough, but at least a start
21:09 dalek star: review: https://github.com/rakudo/star/commit/440d8ad8f8
21:09 NamelessTee joined #perl6
21:10 moritz uvtc: I hope to discuss it with jnthn and pmichaud and make it work before the April star release
21:10 moritz uvtc: thanks for the great feedback
21:10 uvtc Sweet! That would be wonderful to have. Thanks so much. :)
21:11 moritz time for bed here :-)
21:11 jnthn Sounds like a good idea.
21:11 jnthn Just need to make it work cross-platform.
21:11 moritz jnthn: writing a small tee.pl wouldn't be too hard
21:11 simcop2387 joined #perl6
21:11 jnthn Let's dogfood and write it in...oh, wait.
21:11 jnthn :)
21:11 PerlJam you can fatpack File::Tee I bet
21:12 havenn joined #perl6
21:12 moritz jnthn: and I think piping to that should work mostly cross-platform. Just not sure how to pipe errors to it too
21:12 moritz but I will not worry about that today :-)
21:12 uvtc left #perl6
21:13 PerlJam oops, File::Tee doesn't work on Windows
21:13 eoh joined #perl6
21:13 doy Capture::Tiny is what you really want
21:14 PerlJam yeah, that looks nice
21:14 PerlJam doy++
21:22 machine2 joined #perl6
21:42 jaldhar joined #perl6
21:56 dalek tablets: ee14f4e | (Herbert Breunung)++ | html/ (3 files):
21:56 dalek tablets: added language design tablet
21:56 dalek tablets: review: https://github.com/perl6/tablets/commit/ee14f4eceb
21:56 eoh| joined #perl6
21:57 lichtkind i think next step will be add some nice css
21:58 eoh joined #perl6
21:59 IngisKahn joined #perl6
22:01 lichtkind to me gist sounds like stringification?
22:02 lichtkind is that right?
22:09 whiteknight joined #perl6
22:32 envi_ joined #perl6
23:07 plobsing joined #perl6
23:10 tokuhirom joined #perl6
23:29 masak Q: How many dadaists does it take to screw in a light bulb?
23:29 masak A: Fish.
23:29 masak today's autopun :)
23:29 IngisKahn joined #perl6
23:32 masak 'night, #perl6
23:34 sorear good * #perl6
23:38 IngisKahn joined #perl6
23:40 Ingis joined #perl6
23:42 simcop2387 joined #perl6
23:43 simcop2387 joined #perl6
23:49 tokuhiro_ joined #perl6
23:51 tokuhir__ joined #perl6
23:52 felher hmm. I guess that shouldn't happen: *** glibc detected *** nom: free(): invalid next size (fast): 0x000000000dbb1260 ***
23:52 felher :)
23:53 alvis` joined #perl6
23:54 envi_ joined #perl6
23:54 diakopter MALLOC_CHECK_=1
23:58 felher diakopter: i think this is addressed to me but i don't quite understand :)

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

Perl 6 | Reference Documentation | Rakudo