»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by sorear on 25 June 2013.
Mouq lizmat: I found a ticket you can proudly close: #117935 00:00
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=117935
00:00 cognominal left
Mouq std: close $fh: :proudly 00:01
camelia std a0bcfb1: OUTPUT«===SORRY!===␤Variable $fh is not predeclared at /tmp/gniuSM7jBq line 1:␤------> close ⏏$fh: :proudly␤Check failed␤FAILED 00:01 124m␤»
00:01 beatboxchad left
Mouq rnp: join <a b c d>:, '--' 00:02
camelia ( no output )
..niecza v24-98-g473bd20: OUTPUT«===SORRY!===␤␤Confused at /tmp/1uW81hBjWC line 1:␤------> join <a b c d>⏏:, '--'␤␤Parse failed␤␤»
..rakudo 50cecf: OUTPUT«===SORRY!=== Error while compiling /tmp/mjw6tZxJUK␤Two terms in a row␤at /tmp/mjw6tZxJUK:1␤------> join <a b c d>⏏:, '--'␤ expecting any of:␤ postfix␤ infix stopper␤ infix or meta-infi…»
Mouq np: say join <a b c d>: '--'
TimToady it's not np complete... 00:04
Mouq n: say join <a b c d>: '--' 00:05
camelia niecza v24-98-g473bd20: OUTPUT«===SORRY!===␤␤Invocant handling is NYI at /tmp/4nZ0hqqqqh line 1 (EOF):␤------> say join <a b c d>: '--'⏏<EOL>␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line …»
diakopter r: close nqp::null 00:10
camelia rakudo 50cecf: OUTPUT«Cannot call 'close'; none of these signatures match:␤:($fh)␤ in sub close at src/gen/CORE.setting:13323␤ in block at /tmp/i1ywQJDlXv:1␤␤»
diakopter r: close nqp::callerctx
camelia rakudo 50cecf: OUTPUT«===SORRY!===␤Error while compiling block (source text: "close nqp::callerctx"): Error while compiling op call: Error while compiling block : Error while compiling op call (source text: "close nqp::callerctx"): Error while compiling op callerctx: No registere…»
diakopter r: close nqp::caller
camelia rakudo 50cecf: OUTPUT«===SORRY!===␤Error while compiling block (source text: "close nqp::caller"): Error while compiling op call: Error while compiling block : Error while compiling op call (source text: "close nqp::caller"): Error while compiling op caller: No registered operati…»
00:13 Psyche^_ joined 00:16 Psyche^ left 00:23 ivanshmakov left 00:28 ivanshmakov joined 00:33 grondilu left
Mouq So, S03:1527 : is that "proposed internal testing syntax" still a thing? (I know we have S24, which says otherwise) 00:37
synopsebot Link: perlcabal.org/syn/S03.html#line_1527
00:44 stevan_ joined 00:50 ivanshmakov left 00:53 clkao joined 01:00 pdurbin joined, ivanshmakov joined 01:17 stevan_ left 01:22 ivanshmakov left 01:23 ivanshmakov joined 01:46 ivanshmakov left 01:49 jnap left 01:56 ivanshmakov joined 01:57 dayangkun left, dayangkun joined
Mouq rn: sub infix:<@ {'@'}@> ($a, $b) { "$a @ $b!!" }; say "me"@ {'@'}@"server" 02:00
camelia rakudo 50cecf, niecza v24-98-g473bd20: OUTPUT«me @ server!!␤»
Mouq (^^^ re: #119919) 02:01
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=119919
02:01 pdurbin left
Mouq infix:* is LTA 02:01
well, &*:*. Well, *[:*]+ 02:02
02:19 ivanshmakov left 02:20 ivanshmakov joined 02:26 zakharyas joined 02:31 zakharyas left 02:33 Mouq left 02:37 PZt left 02:42 ivanshmakov left 02:44 c1sung left, zamolxes left, denysonique left, BinGOs left, Maddingue left, Gothmog_ left, Gothmog_ joined, zamolxes joined, nwc10 joined, moritz joined, BinGOs joined, c1sung joined, BinGOs left, BinGOs joined, ivanshmakov joined 02:45 denysonique joined 02:49 Maddingue joined 02:50 PZt joined 02:51 wrp6 left 02:56 Mouq joined 02:57 prevost joined 03:03 denysonique left, denysonique joined 03:04 ivanshmakov left 03:07 ivanshmakov joined 03:12 stevan_ joined 03:13 stevan_ left 03:14 stevan_ joined 03:18 raiph joined 03:19 raiph left 03:30 ivanshmakov left 03:34 prevost left, moritz left, BinGOs left, risou_awy left, bbkr left, sciurius_ left, wsri left, broquaint left, [particle] left, pjcj left, Pleiades` left, awwaiid left, diakopter left, xorp left, moritz joined, ivanshmakov joined, broquaint joined, BinGOs joined, awwaiid joined, Pleiades` joined, sciurius joined, pjcj joined, BinGOs left, BinGOs joined, Pleiades` left, Pleiades` joined, xorp joined, risou_awy joined, prevost joined, wsri joined 03:35 [particle] joined 03:39 diakopter joined 03:51 ivanshmakov left 03:52 preflex_ joined, ChanServ sets mode: +v preflex_, ivanshmakov joined 03:53 preflex left, preflex_ is now known as preflex 03:59 BenGoldberg left 04:15 ivanshmakov left 04:16 ivanshmakov joined 04:19 prevost left 05:00 fgomez joined 05:04 darutoko joined 05:05 xinming left 05:07 xinming joined 05:23 xenoterracide_ left, xenoterracide__ joined 05:28 xenoterracide__ left 05:32 SamuraiJack__ joined 05:48 jlaire left
moritz good morning, * 05:49
05:57 fgomez left 06:25 ssutch left
masak morning, all() 06:25
I declare my intention to make today a Perl 6 Day. 06:26
(by the grace of $employer -- we're hiring) 06:28
my focus will be on t4 reviews.
though if I get distracted from that, I will try to pull together all the macro and macro-ish wishes into a gist.
JimmyZ macroing, masak 06:30
:P 06:31
masak :)
06:40 ssutch joined
arnsholt masak++ # Perl 6 day 06:43
06:54 dansamo joined
moritz
.oO( and call the gist Marco.txt )
06:55
arnsholt I think the default macro name should be polo =p
06:56 ssutch left
tadzik hah 06:57
06:58 kaleem joined 07:01 Woodi left
masak seriously, you guys need to come up with a better macro joke than "marco polo" :P 07:01
masak .oO( desired feature: when someone names their macro "polo", a boxing glove materializes out of the screen at high velocity ) 07:02
tadzik macro soft?
JimmyZ marco marco 07:03
marco hard
07:06 FROGGS joined 07:15 kaleem left
nwc10 masak: as far as I'm concerned, you're hiring in the wrong place :-/ 07:19
althougn, actually, I'm not sure I'd be that good at the sort of jobs you need doing
07:22 dayangkun_ joined
masak nwc10: by "wrong place", do you mean .se or #perl6? :P 07:22
nwc10 .se
masak thought so.
nwc10 even if it's within sight of Denmark
moritz yes, edument should totally conquer the rest of Europe too
masak working on it. 07:23
bleh, lines() is still not lazy...
wonder if there's something I could do about that.
(on Rakudo/Parrot) 07:24
moritz is it really lines() that's not lazy? (as opposed to for() loops?)
07:24 RangerMauve joined, dayangkun left
RangerMauve Any ideas for a first-time project? I was thinking of doing a command-line arcade game 07:25
masak moritz: oh! trying a `while` loop, then. 07:26
07:26 sqirrel joined
masak RangerMauve: sounds nice. there's an NCurses module on modules.perl6.org/ 07:26
so that should work just fine.
moritz though for a first-time project it might be easier to do something without ncurses 07:27
depends on how much of a challenge RangerMauve wants :-)
RangerMauve masak: Oh cool, that's perfect
I think
I think my first concern would be "how do I get the dimensions of the terminal" 07:28
Oh, ncurses might not be optimal since I'm on windoze 07:29
I was also planning to make it somehow multiplayer so I'm going to use that JSON::RFC library
s/RFC/RPC 07:30
masak well, moritz++ has a point. start small. 07:32
if it's possible to make a single-player version first, and maybe expand it to multiplayer later, you'll increase your chances of initial success.
RangerMauve I guess. I've made multiplayer games in other languages before so I'm not too worried about that. But that's a good consideration. 07:33
Right now I guess I'd just want to see how I'd get information on the terminal
Oh, nevermind. I've got that figured out. :D 07:36
masak :)
RangerMauve: I don't doubt your skills. it's my personal experience, however, that with Perl 6 projects one needs to move slow. there are still lots of bumps on the ground to trip over.
07:37 Rotwang joined
RangerMauve masak: I'm also learning perl for the first time as I go. My goal at the end of this is to make totally illegible code golf solutions. 07:37
07:41 dmol joined
masak :) 07:42
moritz a high goal 07:43
masak since you said 'perl', not "Perl 6", I feel obliged to point out the difference to you.
though you are probably aware of it.
moritz writing totally illegible code isn't hard, but doing it towards a well-defined golf goal is quite a challenge
masak aye.
07:44 rindolf joined
RangerMauve Oh, yeah. I looked at learning perl 5 at first. But a tutorial showed me that I could use "say" as output, but then I had to apparently specify to use 5.10 in my source file to enable it 07:44
So I said "fudge that poop, I'll just learn perl 6 instead"
I'm very logical, eh. :P 07:45
moritz RangerMauve: while it's not strictly necessary, we recommend to start Perl 6 code with 'use v6;' too; just because it gives you much, much better error messages when you accidentally run the code with the perl 5 compiler 07:46
hoelzro morning #perl6
masak y0 hoelzro
RangerMauve moritz: I'll keep that in mind for anything that I distribute.
Can Rakudo produce executables? 07:48
moritz RangerMauve: it's mostly helpful to me during development
not at the moment
it worked for a while, kindof, and then regressed
RangerMauve Hmm
moritz (but since the executable still needed the perl 6 compiler installed, it's not really an advantage) 07:49
RangerMauve I'm just thinking about how I could get a friend to try out whatever I make. I guess I'll just package everything together somehow.
FROGGS RangerMauve: btw, if you (at some point) really want to know the current console size, you could port parts of cpansearch.perl.org/src/JDB/Win32-C...Console.xs using NativeCall and/or Inline::C 07:50
RangerMauve: but for a start I'd just work with the defaults (80 by 25)
07:50 rindolf left
moritz now I wanted to suggest creating a Docker container, but I don't think that works on windows 07:51
RangerMauve FROGGS: At the moment I guess I'll either start out with using the default, or I'll stick to parsing output from windows' "mode" command then seeing the Linux equivelant when I get around to it.
arnsholt moritz: Since Docker uses Linux-specific stuff, I really don't think so =) 07:53
RangerMauve Hmm, maybe I could try this Niecza compiler so that it could potentially be used with Mono if a linux user every saw my game.
moritz arnsholt: though I've heard rumors that ports to some BSDs are considered
arnsholt Oooh, that'd be pretty neat! 07:54
moritz (since openbsd jails and solaris zones etc. offer comparable separation) 07:57
masak walk & 08:02
RangerMauve Is there a perl bot in here or something? 08:03
moritz r: say 'Hi to RangerMauve' 08:04
camelia rakudo 50cecf: OUTPUT«Hi to RangerMauve␤»
RangerMauve Aha! 08:05
JimmyZ nqp-m: say('hi')
camelia nqp-moarvm: OUTPUT«hi␤»
RangerMauve JimmyZ: What's the differenece? 08:06
arnsholt NQP is the language used to implement the core parts of Rakudo 08:07
It's a simpler version of Perl 6, specifically geared towards compiler construction
RangerMauve Interesting 08:08
So what does parrot do exactly? Is it kinda like the JVM and has a custom instruction set? 08:09
moritz yes 08:10
not only custom instruction set, but a very different design
RangerMauve And then it interprets it? 08:11
HMMMMM 08:12
08:13 dayangkun_ left 08:24 Rotwang left 08:28 dayangkun_ joined 08:31 zakharyas joined 08:37 mtk left 08:40 RangerMauve left 08:41 RangerMauve joined 09:03 kaleem joined
dalek rlito: 20388dc | (Flavio S. Glock)++ | / (2 files):
Perlito5 - perl6 - "loop"
09:03
rlito: c52bd96 | (Flavio S. Glock)++ | / (2 files):
Perlito5 - perl6 - :P5 modifier
09:12
RangerMauve Err, is there support for using TCP sockets for a client/server? 09:25
09:26 fhelmberger joined
RangerMauve Err, nevermind, I think I've got it 09:41
moritz yes, IO::Socket::INET 09:43
(not sure if / how well niecza supports that)
RangerMauve Yeah, I was trying use IO::Socket::INET; but it was bugging out for some reason
using my $socket = IO::Socket::INET.new; worked though. 09:44
09:44 fglock joined 09:45 zakharyas left
fglock hi #perl6 09:45
I'd like to have some feedback on the perl5-to-perl6 compiler - if you see something obviously wrong 09:46
it doesn't do any complex refactoring yet - suggestions welcome too 09:47
RangerMauve Bleh, is there an asynchronous command for perl or something 09:51
Or at least threads
moritz rakudo on JVM has threads, and basic async IO 09:52
RangerMauve So, that's not the one that uses parrot? 09:53
moritz rakudo supports multiple backends 09:54
RangerMauve Aha
moritz the README tells you how to compile rakudo for the JVM backend
RangerMauve HMMMM!
jnthn good day, #perl6 09:56
yoleaux 01:59Z <JimmyZ> jnthn: I got a different error: Routine declaration requires a signature at line 1047, near "(MAST::Ins"
03:31Z <JimmyZ> jnthn: I got a backstrace : gist.github.com/zhuomingliang/6929185
08:11Z <nwc10> jnthn: act.useperl.at/apw2013/newtalk :-)
10:06 RangerMauve left 10:08 denisboyun joined, daxim joined 10:37 zakharyas joined 10:39 Mouq left 10:40 iSlug joined
dalek p/moarboot: 949bdf1 | jnthn++ | src/vm/moar/QAST/QASTRegexCompilerMAST.nqp:
Fix negated literal/end of string handling.

Fixes another of the t/p5regex failures on the MoarVM backend.
10:45
jnthn nqp-m: say(?('zzzabcdefzzz' ~~ /$<x>=[<?>]ef/)) 10:47
camelia nqp-moarvm: OUTPUT«0␤»
jnthn That golves our last t/p5regex bug... 10:48
*gloves
uh..
golfs!
nqp-m: say(?('efzzz' ~~ /$<x>=[<?>]ef/)) 10:53
camelia nqp-moarvm: OUTPUT«1␤»
jnthn nqp-m: say(?('defzzz' ~~ /$<x>=[<?>]ef/)) 10:54
camelia nqp-moarvm: OUTPUT«0␤»
moritz notices that the nqp-moarvm target doesn't come with a version/revision number 10:55
jnthn nqp-m: say(?('def' ~~ /$<x>=[<?>]ef/))
camelia nqp-moarvm: OUTPUT«0␤»
moritz it might be totally out of date
jnthn moritz: Probably is 10:56
10:56 rafl left
jnthn I get same locally though 10:56
just got my build done... :)
hmm
moritz looks like moar itself isn't out of date, "just" nqp-m 10:57
fglock how about an irc bot that replies to sentences like /p5-to-p6: $#a / 10:58
moritz fglock: +1 10:59
fglock: that'll make the review easier, I think 11:00
fglock do you know how to set this up?
jnthn ah...
moritz fglock: if you have some instructions on how to get the translator running, it could be integrated into the evalbot 11:01
fglock it can be called with -e: $ perl perlito5.pl -I./src5/lib -Cperl6 -e ' $#a ' 11:02
it doesn't require 'make' - perlito5.pl is in git 11:03
11:06 xinming left
dalek p/moarboot: afce05a | jnthn++ | src/vm/moar/QAST/QASTRegexCompilerMAST.nqp:
Add missing $!pos update in subcapture compilation

With this, t/p5regex fully passes on the MoarVM backend.
11:07
moritz fglock: is there a way to remove all the boilerplate? that's very annoying for bot output
11:07 xinming joined 11:08 sqirrel left
fglock moritz: I'll try to cleanup 11:09
11:10 cognominal joined 11:11 itz left
dalek albot/host07: d3fdf31 | moritz++ | evalbot.pl:
add p5-to-p6 target, fglock++
11:11
11:11 camelia left 11:12 camelia joined, ChanServ sets mode: +v camelia
moritz p56: $#a 11:12
camelia p5-to-p6 : OUTPUT«# Do not edit this file - Generated by Perlito5 9.0␤use v6;␤{␤ package main {␤ @a.end␤ }␤}␤␤»
moritz now it should be apparent to everybody what boilerplate I meant :-) 11:13
jnthn moritz++, fglock++
And ++fglock to clear up the boilerplate... :)
fglock working on it - thanks moritz++ !
11:15 itz joined
dalek rlito: b7a81b6 | (Flavio S. Glock)++ | / (2 files):
Perlito5 - command line - option "--noboilerplate"
11:16
fglock moritz: can you add --noboilerplate to the command line?
masak wow, p56. 11:18
moritz fglock: sure. Or you can, if you want :-) 11:19
11:19 cognominal left
dalek albot/host07: 3c163c0 | moritz++ | evalbot.pl:
run p5-to-p6 with --noboilerplate
11:20
moritz evalbot control restart
11:20 camelia left 11:21 camelia joined, ChanServ sets mode: +v camelia
masak evalbot make me a ham sandwich 11:21
moritz p56: $#a 11:22
camelia p5-to-p6 : OUTPUT«{␤ package main {␤ @a.end␤ }␤}␤␤»
fglock I'll cleanup some more
masak nice...r.
moritz masak: I was about to say :-)
masak :)
dalek albot/host07: 7dcdc0e | moritz++ | build-scripts/rebuild-perlito.sh:
rebuild script for perlito
11:23
rlito: 8e4746a | (Flavio S. Glock)++ | / (2 files):
Perlito5 - perl6 - cleanup an extra block level
11:25
moritz p56: $#a 11:27
camelia p5-to-p6 : OUTPUT«package main {␤ @a.end␤}␤␤»
moritz not awesome, but much better 11:28
p56: $/
camelia p5-to-p6 : OUTPUT«package main {␤ ${'/'}␤}␤␤»
moritz p56: $1
camelia p5-to-p6 : OUTPUT«package main {␤ ${'1'}␤}␤␤»
moritz objects
p56: /a b/
camelia p5-to-p6 : OUTPUT«package main {␤ m:P5!a b!␤}␤␤»
moritz clearly $1 should translate to $0
p56: $0
camelia p5-to-p6 : OUTPUT«package main {␤ ${'0'}␤}␤␤»
moritz and that to $*PROGRAM_NAME 11:29
p56: if($x==42) { say $x }
camelia p5-to-p6 : OUTPUT«package main {␤ if $x == 42 {␤ say($x)␤ }␤}␤␤»
moritz p56: given (42) { say }
camelia p5-to-p6 : OUTPUT«Can't locate object method "emit_perl6" via package "Perlito5::AST::Given" at perlito5.pl line 12212.␤»
moritz NYI, I guess
fglock not implemented
moritz p56: say
camelia p5-to-p6 : OUTPUT«package main {␤ say␤}␤␤»
moritz no, .say or say($_) 11:30
probably the latter is closer
masak yeah.
fglock what are the expected values for $/ and $1 ? 11:31
jnthn What is $/ in Perl 5?
moritz $1 maps to $0
jnthn $1 should become $0, though
moritz jnthn: input record separator
fglock $1 would be $0 even in :P5 regexes?
moritz r: say $*IN.nput-line-separator 11:32
camelia rakudo 50cecf: OUTPUT«No such method 'nput-line-separator' for invocant of type 'IO::Handle'␤ in block at /tmp/lwo9KLHwU1:1␤␤»
moritz r: say $*IN.input-line-separator
camelia rakudo 50cecf: OUTPUT«No such method 'input-line-separator' for invocant of type 'IO::Handle'␤ in block at /tmp/WS0DGqiua2:1␤␤»
moritz seems we only support that on sockets for now :/
11:34 cognominal joined
dalek rlito: a822e48 | (Flavio S. Glock)++ | / (2 files):
Perlito5 - perl6 - special vars
11:46
fglock p56: $0, $1, $2, $3
camelia p5-to-p6 : OUTPUT«package main {␤ ${'0'}, ${'1'}, ${'2'}, ${'3'}␤}␤␤»
fglock evalbot control restart 11:47
11:47 camelia left
fglock p56: $0, $1, $2, $3 11:47
11:47 camelia joined
fglock p56: $0, $1, $2, $3, "now!" 11:48
11:48 ChanServ sets mode: +v camelia
camelia p5-to-p6 : OUTPUT«package main {␤ $*PROGRAM_NAME, $0, $1, $2, 'now!'␤}␤␤» 11:48
FROGGS nice
moritz fglock: fwiw no need to restart evalbot, except when the call syntax changed 12:00
fglock: perlito is spawned as a separate process 12:01
(and is git pull'ed every 30 minutes)
12:01 mtk joined 12:02 mtk left, mtk joined
dalek rlito: 63a2d9b | (Flavio S. Glock)++ | / (2 files):
Perlito5 - perl6 - remove more boilerplate
12:15
fglock p56: for my $x (1..10) { say $x } 12:17
camelia p5-to-p6 : OUTPUT«package main {␤ for 1 .. 10 -> $x {␤ say($x)␤ }␤}␤␤»
fglock the 'package main' should go away on next update
diakopter I wish git pull wouldn't complain about overwriting local changes when those changes are duplicated by an incoming commit 12:18
[just in the simple case where they're identical and haven't changed since that commit] 12:19
12:20 denisboyun left
dalek rlito: 9fb6075 | (Flavio S. Glock)++ | / (2 files):
Perlito5 - perl6 - package name
12:23
fglock p56: package X; sub new {} new X 123 # indirect-object 12:24
camelia p5-to-p6 : OUTPUT«package X {␤ sub X::new {}␤ X::.new(123)␤}␤␤»
12:24 woolfy left
moritz fglock: I think X::.new is wrong, it must X.new 12:25
fglock: X:: is the same as X.WHO, iirc
fglock it's fixed in the last commit
diakopter moritz: maybe make p56r feed output of p56 to rakudo?
moritz p56: package X; sub new {} new X 123
camelia p5-to-p6 : OUTPUT«package X;␤sub X::new {}␤X.new(123)␤␤»
dalek rl6-roast-data: 4adc103 | coke++ | cull:
Find correct summary line.
rl6-roast-data: ce0b7fe | coke++ | / (4 files):
today (automated commit)
fglock diakopter++ :) 12:26
moritz r: package X;␤sub X::new {}␤X.new(123)
camelia rakudo 50cecf: OUTPUT«Error while constructing error object:Could not locate compile-time value for symbol Comp::AdHoc␤===SORRY!===␤Error while compiling, type X::Comp::AdHocpayload: This appears to be Perl 5 code. If you intended it to be Perl 6 code, please use a Perl 6 s…»
diakopter p56: package X; sub new {} new X 123; package Y;
camelia p5-to-p6 : OUTPUT«package X;␤sub X::new {}␤X.new(123);␤package Y␤␤»
fglock fixing
diakopter p6 doesn't like that
fglock "package X;" is a bug, should be package X {...} 12:27
moritz fglock: I think it would make sense to emit p5's package X; as p6's, class X { }
diakopter std: package X;␤sub X::new {}␤X.new(123);␤package Y␤
camelia std a0bcfb1: OUTPUT«===SORRY!===␤Semicolon form of package definition indicates a Perl 5 module; unfortunately,␤ STD doesn't know how to parse Perl 5 code yet at /tmp/lLkPDgiH_n line 1:␤------> package X⏏;␤ expecting any of:␤ name…»
moritz fglock: 'cause you can't call methods on a package
diakopter can you? o_O
moritz and class has a superset of the package functionality
fglock ok
moritz fglock++ # nice toy to play with :-) 12:28
12:28 woolfy joined
dalek rlito: 107ff94 | (Flavio S. Glock)++ | / (2 files):
Perlito5 - perl6 - "class" instead of "package"
12:29
diakopter rn: package foo { my method bar { say 'hi' } }; foo.bar
camelia rakudo 50cecf: OUTPUT«No such method 'bar' for invocant of type 'foo'␤ in block at /tmp/MyZIAUqcc5:1␤␤» 12:30
..niecza v24-98-g473bd20: OUTPUT«===SORRY!===␤␤A package cannot have methods added at /tmp/47809xkfO6 line 1:␤------> package foo { my method bar ⏏{ say 'hi' } }; foo.bar␤␤Potential difficulties:␤ &bar is declared but not used at /tm…»
12:30 dansamo left
diakopter daxim: hi 12:30
daxim hello
diakopter daxim: did you take a look at the moarboot branch? should be merged within today or a couple days 12:31
any ideas how to merge or unify or otherwise distinguish the three Configure.pl ?
daxim just merge them into one configure file 12:32
timotimo i have the sneaking suspicion that RangerMauve figured out what the performance characteristics of rakudo are and gave up on his project to make an arcade game
diakopter daxim: how to tell the Configure.pl to build all three? most will want to build only one 12:33
daxim: or do you mean the .spec will invoke the Configure.pl in three different ways? 12:34
daxim that's not true, didn't we have that discussion already? all three should be built: Configure.pl --prefix=… # implies --with-parrot --with-jvm --with-moar 12:35
diakopter when I said "most", I meant most people, not packagers
daxim if a user does not want a certain one, he should disable it: --without-jvm
[Coke] yes, and very few people want that
I think you are the only one who wants it.
diakopter daxim: almost nobody would want all three
that should not be the deafult
daxim how do you arrive at that? 12:36
diakopter because almost nobody would want all three
daxim why?
[Coke] daxim: because they're only going to use one of them.
daxim why? that's orthogonal to the issues what is going to be built and installed, anyway 12:37
diakopter eh?
daxim is very frustrated now
diakopter please explain more
[Coke] why would I build and install something I'm not going to use?
diakopter it would help
daxim: I don't want you to be frustrated; I'm trying to understand your position 12:38
[Coke] I have to run to dayjob, sorry. will try to follow up after.
diakopter daxim: why would someone want to spend an extra several minutes building two nqp implementations that they're not going to use 12:39
(especially building and installing the dependencies, namely the VMs)
(I'm just talking about the normal usage of someone downloading the source tarball) 12:40
(or checking out from git)
dalek rlito: 2669862 | (Flavio S. Glock)++ | / (2 files):
Perlito5 - perl6 - class definition in a block
JimmyZ well, I don't want to use the parrot and jvm one
12:40 SamuraiJack__ left
JimmyZ so don't build it by deafult 12:41
diakopter don't worry; we won't do that.. but I'm trying to understand why daxim thinks it should be that way
JimmyZ I'm saying it because I'm one of the uses :-) 12:42
(users
jnthn daxim: I think we have made it sufficiently clear that "try to build all" as the default won't work for any use case besides your one. Stop asking for it. If you want an easy way to say "please build them all", e.g. a --all-backends flag, that seems reasonable. 12:46
daxim because that's how all other software packages work, I lament that the whole lot of you is so inexperienced with build systems. when the build requirements are met, the features are enabled. I'll explain why that turned out the better default.
see wireshark as a comparable example. so what if you never want to use tls decryption? it just takes some disk space and is easy to ignore. what if some day you need the feature? then you can just start using it, not recompile required. on the other hand, if you are positive you never need jvm, disable it at configure time, the burden is then on the extraordinary user.
JimmyZ I'm fine Configure.pl conplains if I'm not with '--with-xxx' though
daxim don't rush over my mouth, okay? I'm talking technical stuff here, you should hear me out to the end 12:47
jnthn daxim: No, you should try doing some listening also. 12:48
moritz daxim: there's a lot of difference between "extra options" and "different backends"
mathw o/
moritz so the wireshark example isn't a good comparison to nqp on several VMs
JimmyZ I'm saying again: I'm fine Configure.pl conplains if I'm not with one of '--with-xxx' though
moritz it's more like saying 'apt-get install ruby' giving you the default implementation PLUS ironruby and the JVM
jnthn daxim: Are you saying it should *detect* which backends it could build because the dependencies are already available, and build those? 12:49
daxim: Or are you saying it should presume/demand all dependencies for all backends (which is what I'm understanding this as)?
daxim that, too. it's best to give a summary at the end of the configure stage
diakopter I assume that last reply was to "Are you saying ..." 12:51
(and not the following message)
daxim: it is positively absurd to require someone to have the jvm and parrot installed just to use nqp/rakudo with moarvm 12:53
that's just laughable and insane and silly and lots of other name-calling
(the default behavior, I mean)
daxim okay, I give up with English 12:54
diakopter the default needs to be easy and simple and not require a long onerous installation/build
daxim I'm going to write code now, and then we discuss this
diakopter ... in Latin?
arnsholt I have a proposal:
We have a single makefile, which contains build logic for all backends, building them as nqp.$backend (or nqp-$backend or something like that) 12:55
dalek rlito: d7afc0e | (Flavio S. Glock)++ | / (2 files):
Perlito5 - perl6 - class definition in a block (fix)
daxim that's what I have been saying all along
diakopter that's fine, but that's not what we're discussing
moritz arnsholt: the question is regarding the interface to Configure.pl 12:56
diakopter we're discussing the default behavior of Configure.pl (which things to build and which dependencies to ask for and install)
arnsholt The configure script gets told which backend the user wants, and sets the default target to depend on that backend, and copies nqp.$theoneIwant to nqp
Yeah, that's the second part of my suggestion
diakopter right, that way would be how I'd do it, and how I'm sure most everyone here would imagine 12:57
12:57 Woodi joined
arnsholt And like most of the others, I agree that we should not build all possible backends just because we can 12:57
diakopter (except symlink where it can instead of copying)
daxim: we weren't discussing anything about the Makefile 12:58
arnsholt This way those who want to can build the backends they need simply by saying "make nqp.{parrot,jvm}" instead of unadorned make
diakopter so I don't see how you can say that's what you've been saying all along
right, but the Makefile is not what daxim is arguing about 12:59
none of us disputed his suggestions there
daxim dude, the title of my bug is literally "merge configure/Makefile files"
diakopter again, no one is arguing those points
we're not talking about that
we're talking about the default behavior of the Configure.pl 13:00
do you understand?
13:00 Bzek joined
diakopter if I get no feedback from most things I write to you, I have no idea whether you understand what I said, let alone agree 13:01
JimmyZ or the the default behavior of 'make' ?
diakopter JimmyZ: that would just flow from the default behavior of the configure
daxim: do you see that we acceded those points (about merging the Configure/Makefiles)? 13:03
that's a perfectly reasonable accomodation/improvement for packagers. 13:04
daxim: so, we were discussing what the new default behavior of the Configure.pl should be... 13:05
JimmyZ moar :P 13:06
diakopter daxim: are you complaining because you don't want your .spec file to have to call it with the flags --parrot --moar --jvm or --all-backends or whatever? 13:07
because I really can't come up with another reason for the complaint
daxim I mentioned already that inclusive by default is better than exclusive by default 13:08
diakopter better for whom?
and why
you still haven't answered jnthn's question
daxim I cannot talk with 5 people at once
cut me some slack here, you two are native English speakers 13:09
diakopter okay; I'll ask more specific questions:
daxim make a 2×2 decision matrix with the advantages and disadvantages for inclusive and exclusive, then it's obvious
diakopter what should the configure script do when it finds none of the VMs present on the system?
13:10 ggoebel left
daxim it must abort with an error because not a single build dep can be satisfied, it does not make sense to continue 13:10
diakopter okay; that's reasonable so far, depending on future answers 13:11
what should it do if the person asks for the moar backend but moar is not installed?
dalek rlito: 718914f | (Flavio S. Glock)++ | / (2 files):
Perlito5 - perl6 - shift, pop
daxim it must abort with an error because the specific build dep cannot be satisfied, the error message should state in plain words the remedy: install moarvm devel files 13:12
diakopter our current Configure scripts have an option to build it for the person; do you want to keep that option?
(at least for parrot and moar, anyway) 13:13
daxim "to build it" means the convenience download like gen-parrot?
diakopter yes
daxim yes, that's fine naturally 13:14
13:14 PacoAir joined
diakopter if the person has the jdk installed but they want the moar backend, what option should they pass to Configure? 13:15
daxim --with-moarvm or possibly --with-moarvm=/my/local/path 13:16
diakopter I think your suggestion of having it configure for the jvm by default, but then clearly state a message at the end "we only configured for the jvm because that's what we found; pass --with-moarvm or --gen-moarvm to configure for that instead"
is a good suggestion 13:17
daxim that's what good software build systems with lots of complicated options already do
diakopter ok; understood
so now, default behavior of the system packages: how would you suggest structuring the dependencies and automatic installation of backends 13:18
if someone wants to install rakudo, and they type yum install rakudo, which backend should it choose and which alternative should it set?
(can we set a default?)
13:19 kaleem left
diakopter does it display a list of the three packages that provide rakudo? 13:19
daxim I don't know offhand, let me look this up
diakopter (like it does with apt-get)
does=would 13:20
daxim yes, it's similar/equivalent
still looking how a default is handled… 13:21
Woodi it would be nice to introduce some magic environment detection (read ufo) ;)
hallo :)
diakopter Woodi: well, presumably we'd have some kind of rakudo-config script that spits stuff out 13:22
13:22 bluescreen10 joined
diakopter which seems to be the way stuff works nowadays 13:22
nowadays=my whole lifetime? :P 13:23
arnsholt Well, there's always pkg-config as well =)
diakopter er, right, that
daxim short research: it seems in rpm land where schemas take the place of debian's virtual packages, you the developers need to state in the documentation what the default backend should be when an end user installs the schema rakudo, but does not specify a backend 13:24
dalek rlito: b343920 | (Flavio S. Glock)++ | / (2 files):
Perlito5 - perl6 - regex modifier, $/
diakopter daxim: on systems/distributions without an alternatives/provides system (macports, fink, bsd?)... what should it do?
cygwin also 13:25
13:25 ajr joined 13:26 ajr is now known as Guest81863, Guest81863 is now known as ajr_
Woodi do rakudo choose backend or nqp ? 13:26
diakopter both/either, but rakudo's determines nqp's 13:27
daxim that's their packaging problem, I'll only cover the big two. you shouldn't worry too much, improvements for one packaging system make all better automatically. also, update-alternatives is very portable and likely already is use on the other platforms you named, it just switches around symlinks
13:27 denis_boyun joined
diakopter one other question 13:28
let's say we'd like to recommend [I'm not saying we necessarily want to do this, just in case we do though] installing oracle-jdk7-installer for the provider of java/javac instead of the openjdk, since it's so much faster... how do we communicate that to the user in the system packages 13:29
[debian/ubuntu] 13:30
Woodi nqp-jvm.(deb|rpm) ? you can't do this in ONE PASS and cover all possibilities 13:31
daxim put that in the documentation. if you want to make it very conspicuous, make a PACKAGING file in the tarball root. you can be assured though that any packager worth the salt will read the README in the tarball root
diakopter well, the packager wouldn't set that dependency, since oracle-jdk7-installer is in a ppa 13:32
but a highly regarded one! :)
13:33 SamuraiJack__ joined
daxim that's a detail that shouldn't concern the developers 13:34
diakopter what's a detail that shouldn't concern us?
daxim for the other point before: I would recommend that you declare the parrot backend as the default when a user picks the schema/virtual package, just for continuity - it was the first one and won't give rise to surprise to the existing installed userbase
that oracle jdk is in a ppa 13:35
diakopter parrot won't be the default; no one's supporting or working on it really
continuity is not worth anything there
daxim okay, then pick what you want :) 13:36
fglock p56: $_=chr 123*rand,/[\da-z]/i?$a.=$_:redo for 1..pop;print$a,$/ # some random perl5 golf 13:40
camelia p5-to-p6 : OUTPUT«$_ = chr(123 * rand), m:P5:i![\da-z]! ?? ($a ~= $_) !! redo␤ for 1 .. pop(@_);␤print($a, "\n")␤␤»
Woodi actually "install rakudo" is a fiction... you check for available backend and choose appropriate rakudo. if no backends then chose $DEFAULT or package manager chooses 13:41
diakopter Woodi: who is "you" there in "you check for" 13:42
the user or the system package installer?
13:42 kay__ joined
Woodi "you" is installer script :) 13:42
TimToady fglock: of course, it should pop @*ARGS there instead of @_ if that's top level
daxim do I still need to complete the configure mock-up I started here? I think at least you (diakopter) now knows exactly how a unified configure should behave 13:43
fglock TimToady: yes, it is in my TODO list
diakopter daxim: well, I understand your perspective, yes..
fglock however, in this "snippet" mode maybe it should be @_ 13:44
TimToady fglock: nodnod
diakopter daxim: it seems you're proposing something close to the alternative jnthn was implying was acceptable..
dalek rlito: eba6b20 | (Flavio S. Glock)++ | / (2 files):
Perlito5 - perl6 - even less boilerplate
13:45
13:46 grondilu joined, colomon left 13:50 iSlug left
dalek rlito: 94824b8 | (Flavio S. Glock)++ | / (2 files):
Perlito5 - perl6 - special vars - @ARGV
13:56
14:01 kaare_ joined 14:03 jnap joined 14:06 colomon joined
dalek p/moarboot: 787c6cc | (Tobias Leich)++ | src/QAST/Var.nqp:
check for NULL-strings in dump_extra_node_info()

  ... as for parrot it prints nothing for the null string, for jvm it prints "null" and moar segfaults.
14:08
14:15 kaleem joined
ajr_ A poster on LinkedIn's Perl group wants to know if anybody's using P6 in production? Anybody want to supply success stories? (There, not here.) 14:17
TimToady is LinkedOut 14:18
14:19 ggoebel6 left
Woodi I thinked a bit and concluded, that I have some brain noise acording to Perl6 compilers... niecza is traditional, one-binary-one-language interpreter/compiler. but rakudo is not. actually rakudo want could be vm like erlang. but from the start of Perl6 project it is planned as two separate projects, what is kind of complicated in comparision to actually living languages. I am stating obvious but such distinction makes some ... 14:20
... troubles|possibilities...
sorry for my terrible English tries! 14:21
masak Woodi: neither Niecza nor Rakudo were "planned" from the start of the Perl 6 project.
there have been many implementations along the way, large and small. 14:22
Woodi masak: distinction was planned
masak Rakudo used to be known as "Perl 6 [on Parrot]"
for a short while, it was meant to be called "Onion".
14:23 wsri left
TimToady lovely use of passive to avoid assigning responsibility :) 14:26
Woodi TimToady: ? 14:27
masak heh, not my intent. just don't know the agent in question ;)
TimToady well, it was never meant by me, is all... :) 14:28
masak but seriously, naming it "Rakudo" (or *something*) was a really good move. because it had bugger-all visibility before that.
TimToady or by the universe, apparently
dalek rlito: 83ff358 | (Flavio S. Glock)++ | / (3 files):
Perlito5 - grammar - resolve ambiguous sigil
14:29
masak I was fairly involved with Perl 6 since about 2004, but I knew nothing of Perl 6 on Parrot.
14:30 ggoebel6 joined
TimToady well, irc was largely Pugsland back then 14:31
well, #perl6 was 14:32
14:32 SamuraiJack__ left
TimToady and most of the cross communication happened in our weekly telephone calls, where I was the main apologist for non-parrot-development 14:33
masak yeah, Pugs was why I got on #perl6 (or IRC, for that matter).
au++ 14:34
14:45 xinming left 14:46 rindolf joined
dalek p/moarboot: 7a2851c | jnthn++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
Map encode/decode ops, in prep for work on them.
14:48
14:48 xinming joined
jnthn They're actually in Moar now, so we pass 14:48
tadzik so MQP is complete now? :) 14:49
jnthn For some definition... :)
tadzik spectests-complete :P
jnthn "make test"-complete :) 14:50
tadzik now only "nyan cat complete" remains before world domination
dalek rlito: 83389b4 | (Flavio S. Glock)++ | / (2 files):
Perlito5 - perl6 - x/xx, reverse=>flip
14:52
TimToady our only requirement is that moarakudo fall into the category of: Good, Fast, Cheap, pick three this time.
FROGGS exactly 14:53
14:54 araujo left
Woodi it's interesting that Java was developed since 1991 and was planned as "write once, run anywhere" via "binary". scripting languages have this feature built-in :) I wonder how VM concept evolved... acording to wikipedia Erlang has "runtime", Java had vm's from the start, later jit was added and now we have common OS virtual machines. what features should be in perfect Perl6 vm ? :) runtime + ? 14:54
14:54 araujo joined
fglock p56: ($$, $0, $1) x 2and "a" x 2 // // # just some nonsense 14:54
camelia p5-to-p6 : OUTPUT«($*PID, $*PROGRAM_NAME, $0) x 2 and 'a' x 2 // m:P5!!␤»
TimToady Woodi: that is precisely what the moar project is trying to figure out :) 14:55
fglock xx is not updated yet
masak fglock++ ++fglock
timotimo TTIAR, masak 14:56
r: my $foo = 1; $foo++ ++$foo;
camelia ( no output )
timotimo interesting, it interprets the second ++ as + +?
masak timotimo: :P
japhb__ fglock++ # That's starting to look really good
FROGGS r: my $foo = 1; $foo++$foo; 14:57
camelia rakudo 50cecf: OUTPUT«===SORRY!=== Error while compiling /tmp/jWrhEY9ppN␤Two terms in a row␤at /tmp/jWrhEY9ppN:1␤------> my $foo = 1; $foo++⏏$foo;␤ expecting any of:␤ postfix␤ infix stopper␤ infix or meta-i…»
FROGGS ahh, sure
japhb__ realizes he just used the #perl6 backlogs as *a way to wake up* 14:58
More enjoyable than coffee. ;-)
masak :)
japhb__ Sign next to me reminds bus passengers not to gobble bandwidth by streaming videos. Person right in front of me is streaming a full screen video. 14:59
timotimo wifi on a ... bus? 15:00
what kind of future is it you're coming from?
japhb__ The future where I enjoy my commute. :-)
TimToady std: my $foo = 1; $foo++ ++$foo;
camelia std a0bcfb1: OUTPUT«===SORRY!===␤Postfix found where infix expected (change whitespace?) at /tmp/nXcQYiWfl4 line 1:␤------> my $foo = 1; $foo++ ⏏++$foo;␤ expecting any of:␤ infix␤ infix or meta-infix␤ infixed function␤Parse fai…»
fglock nice to have some perl6 code again, I was hacking only perl5 for quite a while 15:04
jnthn timotimo: I've seen wifi on a bus here too :) 15:06
Woodi I think that representations are implementation of en.wikipedia.org/wiki/Bridge_pattern And it worked nice. DBI/DBish is too. I wonder where other bridges can be placed... 15:08
dalek p/moarboot: ee32b61 | jnthn++ | src/NQP/Grammar.nqp:
Fix 05-comments.t when there are \r in there.
timotimo we don't even have wifi on our trams or almost all trains in germany 15:09
grondilu has seen wifi in Eurolines' couches
diakopter timotimo: japhb__ is a google singularity cog 15:10
15:10 ajr_ left
grondilu s/couches/bus/ 15:10
diakopter TimToady recogs soon... 15:11
japhb__ diakopter: oh? 15:12
grondilu looks in the dictionary and find out the correct spelling for the word he was looking for is 'coach'
moritz or simply "bus" 15:14
diakopter well, that's the technical term for the biggest class of bus (40-42')
(motorcoach, that is)
aside from the ones that pivot in the middle....
tadzik japhb__: ping flood him :> 15:17
(or her)
grondilu tends to use the world 'coach' because that's the word english he kept hearing when I was travelling with Eurolines in UK
s/english/English people/ 15:18
jnthn We call it a coach when we want to believe it sucks less than a bus...
FROGGS jnthn: I think for this the stage0 of nqp-cc is to blame: 15:21
japhb__ tadzik: Thankfully, IRC packets fit between the streaming ones nicely. ;-)
FROGGS Stage start: 0.000013Stage start : 0.000
Stage parse: 20.303458Stage parse : 20.303
ohh, ww
15:22 xenoterracide__ joined
japhb__ tadzik: Though I finally started using irssi after all these years so that I wouldn't have my session interrupted by the start and end of the commute. :-) 15:23
jnthn Being able to make test NQP is 14s is kinda nice though :) 15:24
oops, ww
japhb__ Seems like the rw to me. 15:25
jnthn I can get it down to 13s with -j6...diminishing returns... 15:26
diakopter dun duhn duhhhn
15:29 fglock left
perigrin jnthn: I bet with rm you could get it down into single digits ... but your tests would start failing 15:32
15:32 FROGGS left
masak "Category Theory is the linguistics of pure mathematics" -- twitter.com/AlgebraFact/status/388...3996062720 15:36
I watched that video and thought, "hm, Category Theory is like the Lisp of math!"
benabik masak: It's really pure and interesting, but nobody actually wants to use it? ;-P 15:37
masak (the bit where you start from a problem or a family of problems, and derive a language/API for it)
benabik: that, too :P
except that that's an outsider's "nobody". 15:38
15:38 skids left
tadzik in both cases :) 15:41
masak yes. 15:44
15:49 skids joined 16:04 dmol left, zakharyas left
TimToady is more of a Dogegory Theory person 16:06
16:06 iSlug joined
TimToady tails are for wagging, not recursing 16:06
masak .oO( put your dogma in your catamaran ) 16:08
diakopter and get a liger? 16:09
16:12 ajr joined, ajr is now known as Guest84123
nwc10 dear perl 6 backlog, I believe in technical UK English (at least at the appropriate geekery level) the difference between a bus and a coach is things like the gearbox (and I guess more generally drivetrain specs) 16:13
16:13 Guest84123 is now known as ajr_ 16:14 MrMeek joined
nwc10 so the RM and RML are busses, but the RMC and RCL are coaches: en.wikipedia.org/wiki/Routemaster 16:15
moritz en.wikipedia.org/wiki/Coach_%28bus%29 # according to this, the difference is that coaches are meant for long distance travel, busses for short distance 16:17
16:19 colomon left
ajr_ "Bus" is short for "Omnibus" - Latin for "for all", i.e. a publicly accessible vehicle. "Coaches" were the preserve of the rich, who did not wish to associate with hoi polloi. 16:19
16:21 kaleem left, colomon joined
jnthn
.oO( but the both cause hoi polloition... )
16:21
TimToady
.oO( it's a good thing he didn't say that out loud... )
16:23
16:25 denis_boyun left 16:29 iSlug left, kaleem joined
dalek Heuristic branch merge: pushed 37 commits to nqp by jnthn 16:32
jnthn MoarVM support is now in NQP master
TimToady \o/
japhb__ \o/ indeed!
colomon \o/ 16:33
yoleaux 10 Oct 2013 19:59Z <[Coke]> colomon: big things just fudged: :delete, :!exists, SetHash, BagHash
16:34 kaleem left
dalek p: da931e2 | jnthn++ | README.pod:
Mention MoarVM in the README.

Needs build instructions, but then so does JVM. Contributions welcome.
16:34
16:35 kbenson1 joined
japhb__ OK, so this is nqp bootstrapped properly on moar. How much more stuff is needed *in NQP* for Rakudo to at least build and run Hello World on MoarVM? 16:38
diakopter well it took jnthn a few weeks to cross that for the jvm
with help from sorear and donaldh and others 16:39
jnthn Took longer than that. 16:40
But we had to do a lot more stuff. :)
japhb__ Should be less now though, neh? A matter of porting things you already designed during the JVM port?
jnthn Yeah 16:42
Plus not having to port some things
Like, the multi-dispatcher is now written in NQP, not C.
So that needn't be ported at all these days 16:43
Just the cache, which is already ported 'cus NQP relies on it.
16:45 cognominal left, ssutch joined 16:48 PacoAir left 16:49 kaleem joined, iSlug joined, fhelmberger left 16:51 Celelibi left 16:52 SmokeMachine joined 16:55 dansamo joined 16:57 Celelibi joined 16:59 denis_boyun joined 17:01 araujo left, araujo joined 17:02 iSlug left 17:05 FROGGS joined 17:07 kaleem left 17:10 kurahaupo joined
[Coke] jnthn++ 17:13
dalek p: 4c4549a | coke++ | t/docs/opcodes.t:
handle moar opcodes same as jvm/parrot
17:15
17:19 kaleem joined 17:20 kurahaupo_ joined, kurahaupo left
[Coke] gist.github.com/coke/6799633 if people are looking for LHF on docs or impl. 17:20
I suspect some of the missing MOAR ops will be needed for rakudo. 17:21
jnthn [Coke]: fwiw, I think a couple of those are bogus due to programatic things
not ok 1839 - documented op 'until' exists in MOAR
not ok 1867 - documented op 'repeat_while' exists in MOAR
But yeah, on the rest, agree
[Coke]++
[Coke] same as on parrot/jvm, no doubt.
jnthn That's useful
[Coke] checking...
jnthn Gonna make some noms...will be back later, and probably blog... 17:24
dalek p: eb9ac3b | coke++ | t/docs/opcodes.t:
grab hard to parse moar ops too
[Coke] updated gist also.
17:26 kurahaupo_ left, kurahaupo joined 17:27 dmol joined 17:47 kurahaupo left, kurahaupo joined 17:55 kurahaupo left, kurahaupo_ joined
colomon TimToady: I just tried running a STEP file in the p5 interpreter and it didn't work. Perhaps you need to add some more DWIM? ;) 17:57
18:01 daxim left, kurahaupo_ left 18:02 kurahaupo joined, kurahaupo left 18:03 kurahaupo joined
TimToady colomon: I'll have a look at that just as soon as I finish p6. 18:04
18:04 darutoko left
colomon TimToady++ # good plan. 18:05
18:06 kaleem left 18:09 btyler joined 18:28 rindolf left 18:33 kbenson1 left 18:42 araujo left, denis_boyun left, kbenson1 joined 18:43 araujo joined 18:57 kurahaupo left, kurahaupo joined
dalek p: d24a375 | jnthn++ | tools/build/ (2 files):
Generate a runner for MoarVM.

So after the build, ./nqp works. Needs testing on non-Windows.
18:59
19:01 kurahaupo_ joined, kurahaupo left
japhb__ Can we have the new build system produce a single bin/ that has {nqp,rakudo}-{parrot,jvm,moar} binaries, and have the main "nqp" and "perl6" just be a link/alias to one of them? As long as there are things you can do in one and not another (loading a perl5 interpreter or talking to Java classes), I would like to be able to A) set stable shebangs in my backend-specific scripts, and B) have only one bin dir in my path, but still have access to any variant from th 19:03
jnthn japhb__: That sounds in line with earlier discussions. 19:04
japhb__: I think...you got cut off at "variant from th"
japhb__ "variant from the command line."
jnthn ah
yeah
makes sense
I think that's what was discussed, anyway. A way to have all of them and then a "frontend" that delegates 19:05
diakopter what's the filename of the nqp that comes with parrot
japhb__ OK, good. My "too much heat" alarm went off while skimming the configure discussion, and I didn't read it in depth.
jnthn nqp-parrot...
diakopter eww
jnthn japhb__: Yes, I went off to do other stuff too ;)
diakopter jnthn: I mean the old nqp-rx
benabik diakopter: parrot-nqp
diakopter *whew* 19:06
jnthn diakopter: oh, it's parrot-nqp
diakopter ok, so no overlap
jnthn So yeah, we can nab nqp-parrot :)
That won't be confusing at all! :D
diakopter "what's this nqp-parrot-nqp-parrot-nqp thing"
lue hello world! o/ 19:07
19:07 bloonix joined
diakopter hello lue-minus-everything-plus-the-world 19:08
19:11 broquaint left
japhb__
.oO( What is the sound of two Venn diagrams intersecting? )
19:12
19:12 broquaint joined
nwc10 jnthn: in tools/build/Makefile-Moar.in @runner@ needs to be ./nqp not plain nqp, but I can't see how to do that 19:16
19:17 vael joined
jnthn ah 19:18
yeah, I think I know what I did wrong
dalek p: 7aee95c | jnthn++ | tools/build/Makefile-Moar.in:
Runner path related tweaks; nwc10++.
19:22
19:23 SamuraiJack__ joined
dalek p: 4290125 | jnthn++ | tools/build/ (2 files):
First pass at a 'make install' for NQP on MoarVM.
19:25
nwc10 jnthn: 3All tests successful. 19:27
jnthn \o/
nwc10 moritz: the IRC logger setup doesn't like 7colour 19:29
("doctor, it hurts if I do this" "well, don't do that then")
19:29 kurahaupo joined, kurahaupo_ left
nwc10 $ ~/Sandpit/moar/bin/nqp -e 'say("Hello from installed")' 19:32
Hello from installed
yes, that works on "my" machine at least for the very simple test shown
19:32 dansamo left
jnthn \o/ 19:33
19:35 SamuraiJack__ left
jnthn I'm guessing if you copy the files over to the Pi and preserve the paths (or hack the installed runner with the updated paths) it should work also 19:35
(building the VM itself on the Pi, then copying the NQP, I mean)
nwc10 I guess so. But I'm not in a position to do that right now, as the "console" has been abducted to watch Sex in the City
jnthn ;) 19:36
nwc10 and it doesn't seem to be totally happy currently, so I'd like the console to be available
19:42 kbenson1 left 19:47 kurahaupo left 19:48 kurahaupo joined 19:49 kurahaupo left, kurahaupo joined 19:53 kurahaupo_ joined 19:54 kurahaupo left 19:56 denis_boyun joined
dalek rlito: 66c192b | (Flavio S. Glock)++ | html/perlito5to6.html:
Perlito5 - perl6 - example
20:06
20:14 kurahaupo_ left, kurahaupo joined 20:16 kurahaupo left 20:17 kurahaupo joined 20:33 kurahaupo_ joined 20:34 kurahaupo left, kurahaupo_ left 20:44 iSlug joined, kaare_ left, yannickberthoud joined, iSlug left
lizmat thinks she has finished backlogging 21:03
21:09 Mouq joined 21:12 FROGGS left
cxreg highly relevant to nqpjs: www.youtube.com/watch?v=VhpdsjBUS3g 21:26
jnthn 6guts.wordpress.com/2013/10/11/nqp-...ther-news/ 21:31
21:35 sciurius left 21:37 sciurius joined 21:38 bluescreen10 left
[Coke] jnthn++ 21:39
21:44 BenGoldberg joined 21:45 yannickberthoud left
Mouq »'2' is not a valid number at line 685, near ",\n 2,\n "« 21:51
jnthn Ugh, somebody else got that... 21:53
lee_ i did get that as well
jnthn OK. Platform(s)?
Mouq darwin
jnthn 64-bit? 21:54
Mouq yes
lee_ yes and yes
gist.github.com/leedo/fdc2f3338a26d812f249
from my latest attempt
21:54 benabik left
Mouq Also, can anyone build NQP after using --optimize on Moar's Configure.pl? 21:56
jnthn Yes
Build and full test pass
(Windows, 64-bit) 21:57
I assume you both already have latest, including d0e69a5 which I hoped may fix this number parsing issue? 21:58
Mouq Yes
jnthn OK
lee_ yep 21:59
Mouq Just verified; with --optimize, the build dies even sooner with `make: *** [src/stage1/NQPCORE.setting.moarvm] Segmentation fault: 11` 22:00
BenGoldberg S999999999999999999999:9999999999999999999999 22:01
synopsebot Link: perlcabal.org/syn/S9999999999999999...9999999999
BenGoldberg re: #1234567890
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...1234567890
lee_ just tried again with a clean moarvm install, and same '57' is not a valid number 22:02
jnthn Mouq, lee_: gcc or clang?
lee_ clang, though I did just upgrade the OS. so maybe it is related to that 22:03
Mouq …whichever's default?
jnthn If clang, building MoarVM with --instrument may yield some useful debugging output...
lee_: Nah, it'll be a MoarVM bug. Building NQP is the first chance we've had to run real, non-trivial stuff on it, so it's shaking out various things. 22:04
lee_ jnthn: gist.github.com/leedo/5bbe044150bdd2554a77
doesn't like the --instrument option
jnthn lee_: Aww, too bad 22:05
lee_: Yeah, it depends on a new enough clang, I think
(One with address sanitizer)
diakopter clang 3.3
lee_ ah ok, i am due for an XCode upgrade, but I'm not sure that will do it
diakopter should
lee_ ok, give me a few hours :P 22:06
diakopter :D
lee_: thanks for trying it out, when in it's in such a pre-ready state :)
lee_ it's a fun distraction from $work
Mouq Using --compiler gcc *seems* to be working for me 22:09
Awesome! Built and make test passes! 22:14
lee_ it doesn't seem to work here, but my gcc appears to actually be llvm
diakopter it installs real gcc somewhere too 22:15
diakopter downloads llvm.org/releases/3.3/clang+llvm-3....n12.tar.gz
Mouq Okay, one more :) is "Failed to seek in filehandle: 9␤frame_name_603" a known product of trying to run the repl/pipe input to nqp-m? If it's just me, don't sweat it, I clearly need to update stuff 22:18
diakopter I doubt anyone's testing piping to the repl 22:19
*tested
jnthn The repl is still le busted
diakopter oh, also, it's just a shell script, right?
jnthn diakopter: Don't think that's an issue
Mouq ok
jnthn diakopter: It fails even if you just "./nqp" and type something
diakopter oopsie dyld: Library not loaded: /Users/macs/Developer/llvm/final/Phase3/Release-64/llvmCore-3.3-final.obj/Release/lib/clang/3.3/lib/darwin/libclang_rt.asan_osx_dynamic.dylib Referenced from: /Users/mwilson/src/install/bin/moar 22:20
not sure why it's looking there 22:21
... since it's not installed at all
rurban This is only for -fsanitize=address
diakopter who is user macs
right, but how do I tell the Makefile where to find the library
rurban I've compiled my own clang and there it works okay. binary build forgot about asan I think 22:22
diakopter actually the file is there 22:23
just need to give it the right path
er, or symlink it to this dir? 22:24
22:25 dayangkun_ left
diakopter er hm, it seems to really want to look in that dir.... 22:25
diakopter creates it :)
rurban yeah 22:27
diakopter heh, that worked 22:28
rurban I like clang-3.4 most
but gcc asan is the worst
diakopter me2.. it has asan_symbolize or whatever it's called
diakopter sends jnthn a mac
rurban this needs an env var
diakopter jnthn: watch, it won't be reproducible with clang 3.3 :) 22:29
rurban also try out -sanitize=threads for the really tricky errors
diakopter oh; I thought we had that already
rurban I caught a few in parrot threads
diakopter maybe not_gerd forgot it when porting 22:30
rurban BTW: my remaining potion errors are all make-3.81 related, make-4.0 fixes all. Just in case
diakopter ouch; building nqp with --instrument takes.... a very long time :O 22:33
"I'll be checking every memory access one by one..."
22:33 dmol left 22:34 dmol joined
diakopter rurban: do you know how to tell asan about your own allocator so it can track those too? 22:36
lee_ darn, updated XCode and same clang error 22:37
diakopter I'm trying to repro 22:38
rurban hmm, asan intercepts a few libc functions, like malloc, new and string handling funcs. Will be hard. But it tracks my GC correctly 22:41
I'm just omitting stack tricks 22:42
like ucontext calls and setting %esp directly
diakopter how does it know when your gc is allocating? 22:43
rurban I call mmap 22:44
diakopter why?
colomon jnthn++ # blog post 22:46
22:47 dmol1 joined 22:48 dmol left
[Coke] colomon: I've taken the path of fudging niecza when things break. I figure we can use blame to see when things were fudged, but that having a clean slate is more important if you or sorear find tuits. 22:48
lee_ diakopter: i need to head out, but my clang version is: Apple LLVM version 5.0 (clang-500.2.75) (based on LLVM 3.3svn)
[Coke] 'sokay?
rurban because I like to use HW page protection in my GC, it's semi-space, copying.
lizmat sleep& 22:49
rurban lee_: the apple clang has no asan yet.
lee_ ah, i see
[Coke] lizmat: ~~ nite
jnthn 'night, lizmat 22:50
rurban me too. movies
diakopter jnthn: gist.github.com/diakopter/87c9d177184c1cc1ff02
diakopter goes to look for the python script to symbolize
rurban I also have a perl symbolizer for asan somewhere in my githib home/bin 22:52
diakopter share? :)
jnthn diakopter: Can you symbolize it?
[Coke] diakopter: moar has a tc op that it doesn't use, and neither other backend has.
er, nqp-moar
diakopter k... :) 22:53
rurban xx
jnthn [Coke]: The others shuffle that into Rakudo...
[Coke]: They should probably all do it at NQP level
rurban I'm just calling objdump or so
BenGoldberg nqp: say( NQPMatch ) 23:02
camelia nqp: OUTPUT«Cannot look up attributes in a type object␤current instr.: 'Str' pc 18620 (src/stage2/QRegex.pir:7461) (src/stage2/QRegex.nqp:1113)␤»
BenGoldberg nqp-jvm: say( NQPMatch )
camelia nqp-jvm: OUTPUT«Cannot look up attributes in a type object␤ in Str (src/stage2/gen/QRegex.nqp:1113)␤ in (src/stage2/gen/NQPCORE.setting:672)␤ in print (src/stage2/gen/NQPCORE.setting:671)␤ in say (src/stage2/gen/NQPCORE.setting:678)␤ in (/tmp/NzKo3JURiP:1)␤ in (…»
BenGoldberg nqp-m: say( NQPMatch )
camelia nqp-moarvm: OUTPUT«Bytecode validation error at offset 22, instruction 4:␤register operand index 50 out of range 0..9␤»
23:04 sftp left
diakopter jnthn: same gist 23:04
23:06 dmol1 left
diakopter jnthn: :S maybe my interp.c is different :S 23:07
23:08 sftp joined 23:09 itz_ joined
diakopter nope.. it's dying on trying to find the exitcode from a local register 23:10
so somehow the frame is being freed just before exiting..
jnthn yeah, wtf...
diakopter what in the world calls the exit op 23:11
jnthn Or it's the wrong frame...
oh, I think I know that
23:11 itz left
jnthn src/HLL/Compiler.nqp:268 23:11
diakopter ok, so it's hiding some other error 23:12
oh.... it wrote the stacktrace to the output file :S 23:13
er, it tried to 23:14
23:14 berekuk left
diakopter jnthn: er, disregard my last 3 messages :) 23:16
23:19 dmol joined, dmol left
diakopter jnthn: at least it wasn't a gc thing ;) .oO( oh wait... ) 23:21
dalek p: 6fd943d | coke++ | docs/ops.markdown:
document tc opcode
23:22
[Coke] thanks moarvm for helping him on his "at least one opcode a day" quest. 23:23
23:25 cognominal joined 23:32 pecastro_ joined 23:33 pecastro left
dalek rl6-roast-data: 35a9b2e | coke++ | / (4 files):
today (automated commit)
23:33
jnthn diakopter: The corruption that causes the excepeijpt will be a Gc thing 23:39
diakopter right, hence the wink
colomon [Coke]++ 23:44
colomon feels bad about his lack of tuits, but it's yet another evening of $working for him. 23:45
BTW, folks, Druid, Text::Markov, Text::Abbrev, CSS::Language, Farabi6, GD, and Lingua::Number have all started failing in the last two weeks. 23:46
TimToady wonders how many of those depend on *.[] 23:50
colomon The only thing I noticed (I think) was that Text::Markov depended on KeyBag
TimToady or KeyBags
well, at least we're a long way from the day when "It's a good thing there's more than one way to do it, because most of them don't work." 23:58
diakopter refrains from mock-snark for once