»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend!
Set by sorear on 4 February 2011.
jnthn er, if you leave that in QAST::Node you don't save any memory. 00:01
hm...that error is legit and not so easy to fix...
00:05 fgomez joined 00:09 att__ is now known as att_
jnthn sleep & 00:09
00:10 att_ is now known as att__
lue good knight jnthn o/ 00:12
dalek kudo/stdier: c5e946f | jnthn++ | src/Perl6/Grammar.pm:
A little STD alignment.

Gets us a panic where STD has one and we lacked it, plus a bogus statement error that was also missing.
00:16
00:18 quester joined 00:27 pmurias left 00:28 rindolf left 00:44 MayDaniel left 00:46 cognominal left 01:04 pecastro joined 01:14 pecastro left, fgomez left, erkan left, xinming_ left, PacoAir left, sizz left, mj41 left, fgomez joined 01:15 xinming joined, sizz joined, erkan joined, erkan left, erkan joined, PacoAir joined, odoacre joined, pecastro joined, mj41 joined 01:19 phenny joined 01:27 pecastro left 01:28 mikemol joined 01:31 pecastro joined 01:36 bowtie left 01:43 pecastro left, pecastro joined 01:46 xinming left 01:47 xinming joined 01:49 hash_table joined 01:56 pecastro left 02:05 lichtkind left
dalek blets: 696f770 | (Herbert Breunung)++ | docs/appendix-a-index.txt:
explain indent in A
02:12
02:21 hash_table left, FROGGS_ joined 02:24 FROGGS left 02:32 PacoAir left
dalek blets: f5b74af | (Herbert Breunung)++ | docs/appendix- (2 files):
adding TABSTOP-compiler-var
02:35
blets: 5c87432 | (Herbert Breunung)++ | docs/appendix-a-index.txt:
adding tim variants
02:57 fgomez left
lue Can knowhows (in nqp) inherit anything? 03:01
03:01 wamba left 03:03 benabik joined
PerlJam GlitchMr++ Thanks. Yesterday and today did *not* go as planned for me. 03:18
(I was without internet until just a little while ago) 03:19
flussence rpn: say $*EXECUTABLE_NAME 03:23
p6eval niecza v24-5-g599cbcb: OUTPUT«/home/p6eval/niecza/run/Niecza.exe␤»
..rakudo 53daef: OUTPUT«./nom-inst/bin/perl6␤»
..pugs: OUTPUT«␤»
flussence is there any easy way to do "shell($self ...)" type things? 03:24
(right now I've got it hardcoded to 'perl6 ...', which isn't very niecza-friendly...) 03:25
03:28 fgomez joined 03:29 whiteknight left 03:30 noggle joined 03:34 noggle_ left
lue shell($*EXECUTABLE_NAME ~ "rest of the command"), I would think (or "$*EXECUTABLE_NAME rest of it", if you prefer) 03:40
flussence yeah, but that won't work with niecza because it needs "mono" prepending to it if you don't have binfmt_misc stuff set up... 03:41
(I wonder if prepending xdg-open to it would make things better or worse...) 03:42
03:43 xinming left
lue my $prefix = $*EXECUTABLE_NAME ~~ /Niecza/ ?? "mono " !! ""; shell($prefix ~ $*EXECUTABLE_NAME ~ "args"); 03:43
03:44 xinming joined 04:12 erkan left 04:37 Psyche^ joined 04:38 cooper_ joined 04:40 Patterner left, Psyche^ is now known as Patterner 04:44 xinming_ joined 04:47 xinming left 04:58 daniel-s__ joined 04:59 tokuhiro_ joined 05:01 daniel-s_ left 05:02 wooden left 05:05 hash_table joined 05:13 wooden joined, wooden left, wooden joined 05:22 cooper_ left, brahmam joined
brahmam is perl6 interpreted or compiled 05:23
shachaf Languages aren't interpreted or compiled. 05:24
brahmam what is the end output.. i mean executable code... 05:26
i am very very new to perl
shachaf The end output of what?
brahmam like.. in java... the class file
shachaf Languages can be either interpreted or compiled, depending on whether you use an interpreter or a compiler. Perl 6 has both, as far as I know. 05:27
sorear All known implementations of Perl 6 have both an interpreter and a compiler.
brahmam do perl5 has compiler too..
sorear Yes.
brahmam so what is the executable file of perl script file.. 05:28
doy basically all non-toy languages have a compiler of some sort
brahmam sorry... doy.. i didn't get you... what do you mean by non-toy languages... you mean which are not something fo experts.. 05:29
for* 05:30
doy brahmam: what are you actually asking here? 05:32
05:32 daniel-s__ left
brahmam one of my collegue said compiler based langs perform better than interpreter based.. 05:33
doy that depends entirely on the compiler and interpreter involved
brahmam i am basically a oracle DBA, i want to design a tool, something like sql*plus, which can connect to any db ie. oracle,mysql, db2 or SQL Server with same syntax you are comfortable with.. 05:34
05:34 telex left
doy i suggest trying out the languages you're interested in and seeing if they are fast enough 05:34
brahmam its basically converting the string entered by the user... to the equivalent of the target database, something lik ORM tools do.. 05:35
doy perl 5 can do something like that via SQL::Abstract
i'm not sure if perl 6 has something similar 05:36
brahmam as i am new to perl.... is it worth giving a shot at ...i want to take expert's advise.. 05:37
05:37 telex joined
brahmam i am good at sql, plsql and a little bit with java 05:37
05:44 xinming joined, hash_table left 05:47 xinming_ left 05:59 daniel-s joined 06:00 brahmam left 06:09 daniel-s left 06:17 daniel-s joined 06:20 angelolicastro joined 06:28 angelolicastro left 06:30 daniel-s left 06:34 SamuraiJack joined 06:37 daniel-s joined 06:41 angelolicastro joined 06:44 angelolicastro left 07:07 fgomez left 07:17 fgomez joined
moritz good morning 07:34
jnthn: yes, qast-sink-1 still segfaults
07:41 wamba joined 07:42 quester left
grondilu do you guys know the equivalent of <pattern>* % ':' in perl5 ? 08:01
maybe I have to repeat the pattern for the end: (?:<pattern>:)* <pattern> 08:03
moritz yes, that's it 08:08
08:19 tokuhir__ joined, tokuhiro_ left
FROGGS_ morning 08:22
08:24 kaare_ joined
moritz \o FROGGS_ 08:35
08:35 Liz joined, Liz is now known as lizmat 08:36 Chillance left
FROGGS_ masak: if I read you advent post right, rakudo will gain speed when doing all alternations of the LTM in different threads? 08:36
masak++ # btw, good post 08:39
morning moritz
moritz: what do you think about throwing typed warning/exceptions from modules? 08:50
should be use a namespace pattern? X::Module::<Modulename> ? or X::<Modulename> or ... ? 08:51
moritz FROGGS_: X::<Modulename>::YourError 08:52
though usually grouped not by module, but by distribution
dalek href="https://perl6.org:">perl6.org: d0a4b8e | (Juan Francisco Cantero Hurtado)++ | source/documentation/index.html:
Update link to the last "Using Perl 6" snapshot
08:58
masak mornin', #perl6 09:20
FROGGS_: theoretically, alternations of the LTM could be done in different threads. but something tells me there's not such a big speed gain to be had in that. 09:21
because each alternation is fairly short, and would probably be dwarfed by threading overhead.
FROGGS_: no, the real benefit is that conceptually, a DFA doesn't "go back" and try the next alternation from the last branch point. instead, the DFA tries all alternations conceptually "at once". by the end, all the non-matching alternations have been eliminated. 09:23
lizmat morning masak
moritz morning masak and lizmat
masak morning lizmat and moritz 09:26
wow, reading brahmam's question in the backlog is interesting.
I could easily see myself asking such a question a couple of years back. 09:27
especially the "a colleague said a compiler is faster than an interpreter, is it true?" question.
but from my current vantage point, it just feels like brahmam is asking from within a great fog, and the answers barely reach back in to him. 09:28
lichtkind: in github.com/perl6/tablets/commit/696f770d96 , why do you call it a "string object" when "string" is adequate? we don't talk of "integer objects" or "boolean objects" either. 09:31
09:36 GlitchMr joined 09:40 ifim left 09:41 wamba left 09:43 Pleiades` left 09:48 Pleiades` joined 09:49 wamba joined
GlitchMr gist.github.com/4244090 09:56
Example of something that is easy in AWK and Perl 6, but hard in Perl 5.
masak oh, it's awk. 09:57
I was wondering what weird dialect of Perl that was :)
GlitchMr I've choosed Perl just for syntax highlighting.
In Perl 5 it looks simple: join ',', map quotemeta, @words... except that actually doesn't work 09:59
oops
join '|', map quotemeta, @words
masak nowadays I'm always suspicious of the practice of building sublanguages using strings. 10:00
not only because of the general risk of injection attacks, but because of the crudeness of the approach.
GlitchMr This is what PHP people do, I know. Oh, and Perl 5 with its regexpes. 10:01
Also, oops, my approach is simply wrong. It assumes array isn't empty.
It should be fixed now 10:04
tadzik ah, the ol' "interpreted vs compiled" debate... 10:05
doog morning #perl6 10:06
GlitchMr But... only UNIX shell language is popular interpreted language.
Other languages are compiled.
Perhaps they aren't compiling programs to files, but they still compile programs. 10:07
sorear GlitchMr: unix shell is actually pretty compiled
GlitchMr Why program like this is valid then: 10:08
exit
ds'gew;tewv tv'ewrr.c24'r32$C"#@R?X"#@>""~``"3c;xe@"#:ex'@
sorear because compilation occurs one line at a time
s/line/top-level statement/
wrap that program in an if true; then ... fi and it won't compile.
GlitchMr Well, ok, that program had valid syntax 10:09
But perhaps something involving $) or something. 10:10
exit
$)
In if true; then ... fi it isn't valid anymore 10:11
masak tadzik: it's silly. "compilation" is just a kind of translation. computers do it all the time. "interpretation" is just a switch statement in a loop. computers do that all the time too. 10:17
which one is faster? the question almost isn't well-posed.
GlitchMr Is Brainfuck interpreted or not (answer: depends on implementation)? 10:18
masak yes, and that's what people answered brahmam in the backlog. 10:20
sorear as someone who has spent a non-neglible amount of time studying CPU design, let me say that *everything* is interpreted... 10:22
masak aye. 10:23
sorear besides, transistors are a physics-based system for interpreting Boolean algebra. and some people say even physics is an interpreter...
masak is struck by how the Church booleans look a bit like abstract transistors 10:25
10:25 xinming left 10:28 PacoAir joined 10:31 kivutar joined
jnthn morning o/ 10:33
sorear o/ jnthn 10:34
jnthn An interpreter is just something that processes instructions and takes actions based on them. If the input to the process is different from the thing that gets interpreted, then there's a compiler inbetween the two performing that translation.
masak jnthn! \o/
tadzik there's no one to convince anymore :)
jnthn Aye, just thought that was a nice way of putting it :)
masak aye. 10:35
lizmat which would make perl* a compiler? 10:38
jnthn lizmat: Sure, it doesn't work directly off the source code, but instead interprets a tree structure. 10:40
moritz well, perl 5 contains both a compiler and an interpreter
jnthn Right.
moritz as does Rakudo
lizmat indeed… so it's getting foggier and foggier, no?
who cares anyway… :-)
as sorear pointed out, it's all interpreted by the CPU anyway :-) 10:41
moritz right, it's all a continuum these days
jnthn I suspect people are more inclined to believe things are compilers when they feed source code in and get some other file containing some other form of the program out.
10:45 cognominal joined
lizmat welcomes cognominal 10:59
11:05 rindolf joined, MayDaniel joined, Su-Shee_ joined
jnthn moritz: hm, qast-sink-1 doesn't actually build now. 11:08
jnthn merges from nom
11:09 Su-Shee left
sorear sleep& 11:09
shachaf jnthn: Well, that *is* what a compiler is.
For a sufficiently broad meaning of "file", anyway.
11:09 birdwindupbird joined
dalek kudo/qast-sink-1: e2f2dc4 | moritz++ | src/Perl6/Metamodel/RolePunning.pm:
fix nqp::can(role { }, "anything"). jnthn++
11:11
kudo/qast-sink-1: 6b01881 | jnthn++ | src/ (2 files):
Start showing context, with eject marker.

my-scope the Parameter constants.
For one because they should be, for two because it avoids a bug (that will need some separate tracking down).
11:11 dalek joined, ChanServ sets mode: +v dalek
moritz jnthn: ah, it probably didn't like the new NQP cursor factoring 11:12
jnthn yeah 11:13
now I get the segfaul
*segfault
and...urgh
lizmat glad you can reproduce now,… I thought I was going crazy yesterday 11:14
moritz lizmat: but it's a different branch
cognominal \o everyone. lizmat sitting by me
lizmat well, the revert jnthn suggested, fixed the pb for me 11:15
jnthn lizmat: No no, different segfaults...
lizmat :-(
jnthn lizmat: Yours is worrying
moritz: Oh. 11:16
It's nothing to do with sink.
moritz: If I git revert 17bcd9649 it fixes it 11:17
11:19 spider-mario joined
moritz erm, WTF. 11:27
I introduced that commit to avoid a different bug with sinking, which I hadn't triaged yet 11:28
jnthn moritz: ^ gets you constant and no segfaults :)
moritz: Somehow we're losing lvalue nature of things somewhere... 11:32
r: my %h = a => 42; for %h.pairs { .value += 100 }; say %h<a> 11:35
p6eval rakudo 53daef: OUTPUT«42␤»
jnthn r: my %h = a => 42; for %h.kv { .value += 100 }; say %h<a>
p6eval rakudo 53daef: OUTPUT«No such method 'value' for invocant of type 'Str'␤ in block at /tmp/d2wS_JebRZ:1␤␤»
jnthn r: my %h = a => 42; for %h.kv -> $k, $v is rw { $v += 100 }; say %h<a>
p6eval rakudo 53daef: OUTPUT«42␤»
jnthn oh, that's not what the test is doing at all 11:36
oh...it's something with try. 11:37
r: try for 1..10 { .say }; say 'ok' 11:38
p6eval rakudo 53daef: OUTPUT«1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤ok␤»
jnthn moritz: ^ in qast-sink-1 only says the 'ok'
11:39 MayDaniel left
moritz so, try isn't sunk yet 11:40
jnthn yeah
try-ing a patch for that ;)
moritz I guess we will uncover several missing pieces 11:41
one I know about is
r: my $x = 0; while $x++ < 5 { for 1 { say } }; say 'ok'
p6eval rakudo 53daef: OUTPUT«␤␤␤␤␤ok␤»
moritz r: my $x = 0; while $x++ < 5 { for 1 { .say } }; say 'ok'
p6eval rakudo 53daef: OUTPUT«1␤1␤1␤1␤1␤ok␤»
moritz that one only prints the last 1\n currently 11:42
I guess that needs modification to the codegen of loops
r: my $x = 0; while True { last if $x++ > 2; $x } 11:43
p6eval rakudo 53daef: ( no output )
moritz r: my $x = 0; say do while True { last if $x++ > 2; $x }
p6eval rakudo 53daef: OUTPUT«True␤»
moritz oh, the return value is the condition?
then I guess the block just needs to be sunk always
r: my $x = 0; say do while $x++ < 5 { 1 } 11:45
p6eval rakudo 53daef: OUTPUT«False␤»
dalek kudo/qast-sink-1: f122e60 | jnthn++ | src/Perl6/Actions.pm:
Sink 'handle'.
moritz 'handle' handles exceptions?
jnthn Yeah 11:47
That got us back a couple of tests
ah
I see why the keybag ones explode.
It does something like sub choose { ... for @blah -> $m { if ... { return $m } else { ... } } } 11:48
And now that for is not eagerly evaluated, the return can happen too late
moritz r: eager for ^5 { .say } 11:50
p6eval rakudo 53daef: OUTPUT«===SORRY!===␤Confused␤at /tmp/aa2PkFW03V:1␤------> eager for ^5 ⏏{ .say }␤»
moritz r: eager do for ^5 { .say }
p6eval rakudo 53daef: OUTPUT«0␤1␤2␤3␤4␤»
moritz std: eager for ^5 { .say }
p6eval std a8bc48f: OUTPUT«===SORRY!===␤Unexpected block in infix position (two terms in a row, or previous statement missing semicolon?) at /tmp/3WEPxvIVaP line 1:␤------> eager for ^5 ⏏{ .say }␤ expecting infix or meta-infix␤Parse failed␤FAILED 00:00 4…
moritz might be neat to have that one work (ie eager as a statement prefix)
jnthn yeah 11:51
std: eager do for ^5 { .say }
p6eval std a8bc48f: OUTPUT«ok 00:00 43m␤»
jnthn Trying that for now
11:53 MayDaniel joined 11:58 xinming joined, whiteknight joined
FROGGS_ masak: what is a DFA? 12:00
12:00 erkan joined, erkan left, erkan joined
GlitchMr FROGGS_: en.wikipedia.org/wiki/Deterministi..._automaton 12:00
dalek kudo/qast-sink-1: c481a55 | jnthn++ | src/core/Bag.pm:
Fix bag and keybag failures.
12:01
GlitchMr Regexes can be converted to DFA.
s/Regexes/Regular expressions/ 12:02
en.wikipedia.org/wiki/Regular_language
12:06 Su-Shee_ is now known as Su-Shee 12:10 tokuhir__ left 12:11 tokuhiro_ joined 12:12 PZt left
moritz sets are unordered, right? 12:13
there are some tests that assume otherwise 12:14
jnthn Yes, unordered.
dalek ast: ad3da93 | moritz++ | S02-types/set.t:
sets are unordered, so do not assume that .list preserves order
12:15
12:15 PZt joined, tokuhiro_ left
jnthn moritz: Any idea what the hash-interpolation.t one is about? 12:16
jnthn is working on some of the type-var related ones
moritz jnthn: hash assignment is half broken 12:18
jnthn: it's the while-not-sinking-its-last-statement bug
jnthn: do you want to fix that, or should I try (with aid from you, I hope :-) ? 12:21
12:24 kivutar left
jnthn moritz: I'm just trying to find where the exact semantics of this are spec'd/tested 12:26
moritz n: my $x = 3; say do while $x-- > 0 { 42 }
p6eval niecza v24-5-g599cbcb: OUTPUT«Nil␤»
moritz n: my $x = 3; say do for ^3 { 42 }
p6eval niecza v24-5-g599cbcb: OUTPUT«Potential difficulties:␤ $x is declared but not used at /tmp/gdKt1Y6Lnu line 1:␤------> my ⏏$x = 3; say do for ^3 { 42 }␤␤Nil␤»
jnthn n: my $x = 0; say do while $x { 1 } 12:28
p6eval niecza v24-5-g599cbcb: OUTPUT«Nil␤»
12:28 MayDaniel left
jnthn n: my $x = 0; say do until $x { ++$x } 12:29
p6eval niecza v24-5-g599cbcb: OUTPUT«Nil␤»
jnthn r: my $x = 0; say do until $x { ++$x }
p6eval rakudo 53daef: OUTPUT«1␤»
jnthn r: my $x = 0; say do until $x { ++$x; 2 }
p6eval rakudo 53daef: OUTPUT«1␤»
jnthn Here's the thing: S04 says:
The value of a loop statement is the list of values from each
iteration. Each iteration's value is returned as a single "argument" 12:30
object. See L<S02> for a long definition of argument, but in short,
it's either an ordinary object or a parcel containing multiple values.
There's not a single spectest match for do while/do repeat/do until/do loop. 12:32
moritz hrmpf 12:33
I can see how that is consistent with for loops, but I don't know how useful it is 12:34
jnthn Either way, it doesn't change that the loop body should be in sink context.
moritz erm 12:35
jnthn er, wait
moritz if the values are collected, they aren't in sink context
jnthn Right
moritz unless the loop itself is in sink context
jnthn *nod*
argh
Every time I fix something in this branch, it breaks more things. 12:36
moritz I know that feeling :(
lizmat just for my sanity: what is the difference between sink and void context?
moritz lizmat: the name 12:37
lizmat aha, ok
I guess sink is easier to type than void :-)
12:40 bowtie joined
dalek pan style="color: #395be5">perl6-examples: 562f7bd | (L. Grondin)++ | rosalind/nwck-grondilu.pl:
[rosalind] NWCK
12:42
felher masak++ #nice post about longest token matcing :)
dalek p: 03aa465 | jnthn++ | src/ops/nqp.ops:
Make nqp::isconcrete safe on PMCs.
12:45
kudo/qast-sink-1: 63659db | jnthn++ | src/Perl6/ (2 files):
Fix explosions when trying to sink typevars.
12:46
kudo/qast-sink-1: 469768f | jnthn++ | src/Perl6/Actions.pm:
Ensure loop bodies are sunk.

In the future we need to implement the non-sink-context loop stuff, but since it's never worked before (except for 'for' of course) and is untested, it's fine to put that aside for now.
13:03
jnthn moritz: OK, things look a bit better now.
moritz: At lesat S02 and S03 tests seem clean.
moritz: And all the failing date/calendar related ones no longer fail.
lizmat r: my $a= sub { say "foo" }; $a.perl 13:05
p6eval rakudo 53daef: ( no output )
lizmat r: my $a= sub { say "foo" }; say $a.perl
p6eval rakudo 53daef: OUTPUT«sub() { ... }␤»
lizmat is that correct that the output just has a … in there? 13:06
jnthn To do otherwise would mean that we have to carry around the entire source code in the compiled output.
So yes, it's working as intended. 13:07
Or at least, as *I* intended. :)
lizmat fair enough... 13:08
just discussing ovid's use of B::Deparse for his Perl 5 code deduplication module that he's working on
and I was wondering how that would work in Perl 6
jnthn In Perl 6 we should probably be building such things at the AST level. 13:09
moritz: ooh, eek 13:10
moritz: When we sink "try", we sink the exception that gets caught in the catchless case, it seems
moritz: And that then gets thrown, iiuc.
moritz: That seems to be the issue in the S04-phasers/next.t anyways... 13:12
lizmat jnthn: doesn't the debugger do something like that? 13:17
jnthn moritz: Yes, the debugger works off the AST 13:18
er
lizmat: ^^
lizmat makes mental note to look at the debugger guts some more 13:19
jnthn moritz: Need to go do other stuff for a bit now, but hope those commits help get sink further along :) 13:20
lizmat: The debugger isn't terribly much code. 13:21
lizmat jnthn: indeed…. and probably the basis for a lot of other nice things... 13:22
moritz jnthn: ok, thanks for the sinking so far :-) 13:41
will look a bit more at it soonish, though I don't know yet when
13:41 MayDaniel joined 13:44 sizz left, lizmat left, Liz joined, Pleiades` left 13:45 Liz is now known as Guest13393 13:48 sizz joined 13:50 Pleiades` joined 14:59 Guest13393 is now known as lizmat
lizmat r: macro marco { die 1 }; say marco 15:09
p6eval rakudo 53daef: OUTPUT«===SORRY!===␤1␤at /tmp/Bu8sEMKkwA:1␤------> ␤»
lizmat r: macro marco { die 1 }
p6eval rakudo 53daef: ( no output )
lizmat r: macro marco { die 1 }; marco 15:10
p6eval rakudo 53daef: OUTPUT«===SORRY!===␤1␤at /tmp/d8ep3hPwwl:1␤------> ␤»
jnthn hmm, that location marker is LTA 15:12
lizmat was just going through some old perl6-compiler mails 15:15
Woodi hallo :) 15:25
just found new version of blue screen :) en.wikipedia.org/wiki/File:BSoD_in_Windows_8.png 15:26
lizmat fwiw, I've just downloaded a fresh copy of rakudo from github and it compiles and installs ok on Mac OSX 15:29
I assume there was some fix done (the git revert was not necessary) 15:30
15:34 spider-mario left
moritz only 14 test files failing in qast-sink-1, jnthn++ 16:02
Woodi is something like "partial evaluation" en.wikipedia.org/wiki/Partial_evaluation considered in Perl6 ? 16:13
moritz I guess I know the reason for most of the failures in the sink branch 16:18
nested loops aren't executed the way you'd expect them to
./perl6 -e 'for ^2 { .say; for <a b> { .say } }
0 1 a b a b
16:19 MayDaniel_ joined
skids Woodi: I would suspect it is on many levels. It's a rather broad concept. 16:21
jnthn moritz: oooh. Hm. 16:22
16:22 MayDaniel left
jnthn That is a bit of an issue if you're evaluating the things for their side-effects... 16:22
Woodi I just wonder if binary for four operation calculator with console IO still contains hashes, evals, methods... 16:23
lizmat nr: sub foo { our $bar = 3 }; foo; say our $bar 16:24
p6eval niecza v24-5-g599cbcb: OUTPUT«3␤»
..rakudo 53daef: OUTPUT«Any()␤»
lizmat thinks rakudo is right 16:25
Woodi rn: say our $bar
p6eval rakudo 53daef, niecza v24-5-g599cbcb: OUTPUT«Any()␤»
Woodi rn: say my $bar
p6eval niecza v24-5-g599cbcb: OUTPUT«Potential difficulties:␤ $bar is declared but not used at /tmp/bMWyVtb4jD line 1:␤------> say my ⏏$bar␤␤Any()␤»
..rakudo 53daef: OUTPUT«Any()␤»
Woodi n: my $bar; say $bar 16:26
p6eval niecza v24-5-g599cbcb: OUTPUT«Any()␤»
Woodi shouldn't it say empty string ?
jnthn No 16:27
lizmat my understanding is that "our" is lexically scoped, even though it is referring to a package variable
our is that too perl5ish?
s/our/or/ 16:28
jnthn lizmat: our gives you a lexically scoped alias to a package-scoped variable.
our $bar # like my $bar := OUR::<$bar> 16:29
lizmat ah, so you're saying the our inside the sub is an alias to the same package var outside
and so that rakudo *is* wrong in this example... 16:30
ok, gotcha 16:32
jnthn lizmat: Um, I didn't say Rakudo was wrong. 16:33
They're both aliases to the same thing in the package.
Thus "alias" :)
Really it's just binding. 16:34
lizmat but the assignment in foo() should be visible outside, no?
jnthn Oh...I misread the output
Then I guess Rakudo gets it wrong
Which isn't so surprising since it doesn't even try to make our @foo and our %bar work... 16:35
lizmat ah, ok
jnthn One of those "nobody really seems to care about it so much as they care about other things so it never makes the top of the todo list" things :)
lizmat nr: sub foo { our $bar = 3; return $bar }; say foo
p6eval rakudo 53daef, niecza v24-5-g599cbcb: OUTPUT«3␤»
lizmat nr: sub foo { our $bar = 3; return $bar }; say foo; say $bar 16:36
p6eval niecza v24-5-g599cbcb: OUTPUT«===SORRY!===␤␤Variable $bar is not predeclared at /tmp/qaO7IGQasE line 1:␤------> r $bar = 3; return $bar }; say foo; say ⏏$bar␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 1443…
..rakudo 53daef: OUTPUT«===SORRY!===␤Variable $bar is not declared␤at /tmp/u4ayQ3eRkA:1␤------> ar = 3; return $bar }; say foo; say $bar⏏<EOL>␤»
lizmat nr: sub foo { our $bar = 3; return $bar }; say foo; say $<bar> 16:37
p6eval rakudo 53daef, niecza v24-5-g599cbcb: OUTPUT«3␤Any()␤»
jnthn $<bar> means $/<bar> 16:39
lizmat ack
nr: sub foo { our $bar = 3; return $bar }; say foo; say OUR::<$bar>
p6eval rakudo 53daef, niecza v24-5-g599cbcb: OUTPUT«3␤3␤»
16:39 zby_home joined 16:58 birdwindupbird left 17:12 fgomez left
skids r: my $f = 0x9876543210; int($f).say; # will native types eventually coerce, or not, or spec TBD? 17:13
p6eval rakudo 53daef: OUTPUT«invoke() not implemented in class 'int'␤ in block at /tmp/_Nz5A6oCW5:1␤␤»
jnthn I suspect it'll be too surprising for them not to. 17:14
Need to nail down the exact semantics, however.
skids good. but given they are weird I thought "better ask about that"
17:17 lizmat left
skids
.oO(maybe the natives should actually have some extra asm-like methods specced, e.g. rol, ror, clz)
17:19
17:20 cognominal left 17:25 fgomez joined
GlitchMr Is viv acronym for viv is viv? 17:26
skids roman numerals 17:27
17:33 PacoAir left 17:34 PacoAir joined
flussence masak++ # LTM post 18:13
18:13 MayDaniel_ left
dalek osystem: 8f2f019 | flussence++ | META.list:
Add a few testing modules
18:13
flussence there, have an early christmas present :)
18:16 [particle]1 joined, am0c joined
skids flussence++ 18:18
18:19 am0c left, am0c joined
skids flussence: In Sum I have some (currently Panda-breaking) test code that checks that code in the manpage actually works. As part of that, I had to hack together an IO redirect that compares what a code chuck sends to stdio to expected output. Might be worth having. 18:21
flussence thanks, I'll take a look 18:22
skids t/siphash.t will have it 18:23
18:38 hash_table joined 18:54 bbkr_ joined 18:57 spider-mario joined 19:03 pecastro joined
sorear good * #perl6 19:16
19:18 cognominal joined
cognominal \o drinking beer and chartreuse :) txh to duckduckgo 19:22
jnthn o/ sorear, cognominal 19:23
19:36 SamuraiJack left 19:45 grondilu left
sorear o/ jnthn 19:46
masak good evening, #perl6 19:54
sorear o/ masak 19:58
jnthn works on l'advent post 20:00
cognominal Hqllo from Wendy
jnthn
.oO( If she pronounces it hqllo, the chartreuse must be going well :P )
20:01
cognominal Getting ouy of the pub . See u later. 20:03
20:03 cognominal left
bbkr_ as of today JSON::RPC in Perl6 implements whole specification (including Batches and Notifications) :) 20:33
moritz \o/ 20:35
bbkr_: please blog about it! 20:36
20:37 noggle left
bbkr_ moritz: good idea, there are few cool Perl6 features used to achieve that. for example meta fallback, finding method and validating params on metaobject level (find_method, cando), gather-taking, etc. I'll try to write blog post this week. 20:39
20:43 cognominal joined
bbkr_ can someone bump jsonrpc module version in Star repo? 20:44
20:44 noggle joined
moritz bbkr_: that's usually done before a release anyway 20:46
bbkr_ moritz: ok, I was not sure about it - for example 2012.10 had no updates. 20:48
20:53 GlitchMr left, cognominal left
jnthn Tomorrow's advent post written and scheduled. 20:56
FROGGS_ jnthn:++
moritz jnthn++
FROGGS_ is looking forward to it
what's the topic? 20:57
jnthn Oh, a boring topic
quotes :)
am0c jnthn++
jnthn r: say 'omg single quotes'
:)
p6eval rakudo 53daef: OUTPUT«omg single quotes␤»
masak at some point I'd like us to have a deep discussion about heredocs, indentation, and interpolation. 20:58
FROGGS_ wow, a few lines about quotes, nice ;o)
masak but I'd like TimToday to be in it.
anyway, jnthn++ for writing advent post.
20:59 kurahaupo joined 21:04 yakshavr joined 21:07 ggoebel_ joined 21:14 am0c left
bbkr_ where does panda keep module list now? ~/.panda is not present anymore 21:14
FROGGS_ maybe in the rakudo/install/... ? 21:18
r: my $s = '{ .substr(0,5) eq "cpan:"}'; $_ = 'cpan:abc'; say eval $s 21:19
p6eval rakudo 53daef: OUTPUT«No such method 'substr' for invocant of type 'Any'␤ in block at eval_0:1␤ in at eval_0:1␤ in sub eval at src/gen/CORE.setting:579␤ in block at /tmp/iYohYq6tiM:1␤␤»
FROGGS_ how do I set the $_ for that block?
flussence r: my $s = '-> $_ { .substr(0,5) eq "cpan:"}'; (eval $s)('cpan:abc') 21:21
p6eval rakudo 53daef: ( no output )
flussence r: my $s = '-> $_ { .substr(0,5) eq "cpan:"}'; say (eval $s)('cpan:abc')
p6eval rakudo 53daef: OUTPUT«True␤»
FROGGS_ flussence: thanks! 21:22
jnthn moritz: Hm, it's not immediately obvious how to fix the nested loops issue...
tadzik bbkr_: the CUSTOM_LIB thing 21:23
parrot/languages/perl6/site/panda or something like this 21:24
jnthn moritz: oh, mebbe I know... 21:25
bbkr_ tadzik: thanks. panda was not updating my GH changes, then after reading source code i fount that it fetches from feather.perl6.nl:3000/projects.json ad not in realtime from GitHub 21:26
found*
tadzik bbkr_: yes, it gets the modules list from there 21:27
but if you 'panda install' a module, it gets it straight from GH 21:28
if it knows it
21:35 zby_home left 21:37 cognominal joined
bbkr_ tadzik: I've entered incorrect module name in "depends" so it breaks at dependencies resolving before fetching module from GH. no big deal, i'll just wait for rebuild :) 21:38
masak rakudo could use some coloring-up of its error messages in the IRC logs. just like STD and niecza. 21:45
jnthn moritz: I'm pretty sure Rakudo emits the same set of escape codes... 21:47
er
^masak
masak yes.
me too.
so it's something in the backlog generator needs to change.
'night, #perl6
dalek kudo/qast-sink-1: d4bf9e4 | jnthn++ | src/core/ (3 files):
Fix nested for-loop side-effects in sink context.
21:49
jnthn moritz: Well, just pushed something that fixes your example and at least one of the failing tests.
21:54 cognominal left 21:55 cognominal joined 21:58 lichtkind joined, PacoAir left
lue hello world o/ 22:07
lichtkind hai lue
22:08 cooper left, cooper_ joined
rindolf lue: hello. 22:08
OK, I think I'll read some Advent Calendar entries and listen to a song and then go to sleep. 22:09
lue jnthn: thinking about the NQPParametricRoleHOW bug I discovered, can knowhows inherit anything?
jnthn lue: No.
That's the point of them.
We use them to implement stuff like inheritance. 22:10
lue Didn't seem like it from my glance at them yesterday.
(your answer to my question, that is)
jnthn I'm a bit surprised that the attributes they have aren't just conveyed to the target class and the fixing up happens there
Oh, but maybe it's not set up that way... 22:11
lue (fwiw I had yet to apply the Children role to any classes. I wanted to see if what I did so far would compile.)
jnthn If you add something to the role implementation then really it just needs to play pass the parcel. 22:13
That is, it doesn't actually set any mappings up
It just passing them along to the class
That's done by the applier
It may not be too hard to figure out how to do that. 22:14
lichtkind hej jnthn
jnthn ahoj, lichtkind 22:15
22:15 cooper_ is now known as cooper, cooper left, cooper joined 22:16 spider-mario left, countley joined
rindolf jnthn: perl6advent.wordpress.com/2012/12/0...-debugger/ - nice post - the perl 6 debugger seems cool. 22:18
Good night, everybody.
Sleep well.
Happy Hanukkah.
FROGGS_ gnight rindolf 22:19
jnthn rindolf: Yes, it's been fun to make and see people use :) 22:20
rindolf: 'night 22:21
rindolf OK, bye. 22:22
22:22 rindolf left 22:24 grondilu joined
grondilu rn: say exp(pi) - pi # xkcd.com/217 22:25
p6eval niecza v24-5-g599cbcb: OUTPUT«19.999099979189467␤»
..rakudo 53daef: OUTPUT«19.9990999869983␤»
lue am I seeing that right on NQPClassHOW.pm:449? publish_parrot_vtablee_handler_mapping (that extra e in vtable)
jnthn lue: yes, typo (and the op itself is typo'd...) 22:26
Time for some rest here & 22:27
lue I could swear the error I got contained a non-typo'd version of that name, but I could be wrong.
goodrest jnthn o/
lichtkind jnthn lot has changed 22:28
lue (nvm, the error was for a similarly named method) 22:29
dalek blets: 6a19a29 | (Herbert Breunung)++ | docs/appendix-b-grouped.txt:
fixing utf in B
22:30
lichtkind jnthn: is there any major internal change in rakudo in last 1,5y that i dont find in your blog? 22:31
22:31 att__ left
tadzik bbkr_: ah, gotcha 22:32
lue
.oO(Since when did nqp generate windows-style filepaths in its errors‽)
22:35
lichtkind hej tadzik 22:36
tadzik hej
lichtkind i back a bit
sorear hai lichtkind 22:40
lichtkind :) 22:41
22:43 kaare_ left
lichtkind sorear: same to you any major niecza dev in last 1,5y i cant read somewhere? 22:51
sorear niecza has only existed for 2,0y 22:56
so you're basically asking for the entire history of the project
probably reading the docs/announce.* files is your best bet
lichtkind sorear: you mean all relevant is there? 23:09
sorear maybe 23:10
23:11 hash_table left
lichtkind you should know :) 23:11
23:25 tokuhiro_ joined 23:54 cognominal left