»ö« 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: :proudlyCheck failedFAILED 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/mjw6tZxJUKTwo terms in a rowat /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.0use 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::AdHoc payload: 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.barPotential 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/jWrhEY9ppNTwo terms in a rowat /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 functionParse 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: 9frame_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 objectcurrent 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 |