»ö« 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.
dalek blets: 2ca2024 | (Herbert Breunung)++ | docs/appendix- (2 files):
more anchors
00:21
[Coke] release complete 01:28
[Coke] # 04/19/2012 - rakudo++ ; niecza (94.78%); pugs (42.3%) 01:32
colomon [Coke]++ 01:45
[Coke] hearing no complaints, heading to bed. hasta mañana. 02:15
japhb phenny, tell fglock It looks like perlito5.pl does not understand underscores in numbers; adding an underscore inside an integer results in 'unexpected function call at lib5/Perlito5/Expression.pm line 126.' Checked with latest git. 02:34
phenny japhb: I'll pass that on when fglock is around.
tadzik [Coke]++ \o/ 03:21
dalek blets: 0657c21 | (Herbert Breunung)++ | docs/appendix- (3 files):
sweat!! index A is now full anchored
04:00
blets: 210c9d9 | (Herbert Breunung)++ | docs/appendix-a-index.txt:
link true and false
04:04
dalek blets: ef30824 | (Herbert Breunung)++ | docs/appendix-a-index.txt:
minor typo
04:14
osystem: 3d29056 | (John Gabriele)++ | README (2 files):
Changed name of readme so it displays prettier on github. :)
04:18
dalek href="https://perl6.org:">perl6.org: 5c9912d | (John Gabriele)++ | README (2 files):
Renamed and cleaned-up some README.
04:27
href="https://perl6.org:">perl6.org: e799a44 | (John Gabriele)++ | README.md:
minor type/grammar fix
04:31
japhb phenny, tell fglock Also, perlito5.js does not set a non-zero exit code when reporting a syntax error (or at least, not every time). This messes up some testing code I'm working on that thinks perlito5.js can handle syntax that it can't yet. 04:44
phenny japhb: I'll pass that on when fglock is around.
sorear good * #perl6 05:19
seen jaffa4
aloha jaffa4 was last seen in #perl6 13 hours 46 mins ago saying "oslo is so far away".
sorear !seen dalek
Hey, does anyone here know the pronunciation of Michaud? 05:20
moritz always proneo 05:32
erm
moritz always pronounces it as if it were French
misheau 05:33
dalek href="https://perl6.org:">perl6.org: 9f4aca6 | (John Gabriele)++ | source/getting-started/index.html:
Added some text numbers and bullets to lists on getting started page. Also cleaned them up a bit, with minor updates.
05:38
japhb What's the closest NQP equivalent to '(expr) for 1 .. 100' ? 06:06
tadzik landed in Oslo o/ 06:07
japhb o/ 06:08
moritz \o 06:19
japhb: loop (my $i := 1; $i <= 100; $i++) { (expr) }
japhb moritz, thanks 06:21
nqp: loop (my $i := 1; $i <= 100; $i++) { 1 } 06:23
p6eval nqp: OUTPUT«Confused at line 1, near "loop (my $"␤current instr.: 'nqp;HLL;Grammar;panic' pc 22008 (src/stage2/gen/NQPHLL.pir:7047) (src/stage2/gen/NQPHLL.pm:329)␤»
japhb nqp: my $i; loop ($i := 1; $i <= 100; $i++) { 1 } 06:24
p6eval nqp: OUTPUT«Confused at line 1, near "loop ($i :"␤current instr.: 'nqp;HLL;Grammar;panic' pc 22008 (src/stage2/gen/NQPHLL.pir:7047) (src/stage2/gen/NQPHLL.pm:329)␤»
japhb Is loop (;;) even understood by nqp? 06:25
moritz hm
I thought so, but I might be wrong :/
hm, seems I'm wrong
then you need while
japhb nqp: my $i := 1; while $i <= 100 { $i++; 1 }
p6eval nqp: ( no output )
japhb Yeah, that looks like it worked
moritz nqp: my $i := 1; while $i <= 100 { $i++; 1 }; say($i)
p6eval nqp: OUTPUT«101␤»
moritz [Coke]++ # rakudo release 06:26
japhb [Coke]++ # Ditto 06:27
japhb perl6-bench updated: github.com/japhb/perl6-bench 06:38
Now tests perlito5.{pl,js} and NQP, as well as the previous perl5, rakudo, and niecza 06:39
How can I add perl6-bench to dalek's project list?
sorear japhb: misc/dalek-push.txt in mu 06:50
dalek rl6-bench: bf65aa5 | (Geoffrey Broadwell)++ | bench:
Use install/bin/perl6 path for rakudo, in case this isn't already in PATH
06:54
rl6-bench: ba19ab2 | (Geoffrey Broadwell)++ | README:
Add note about needing node in PATH for perlito5.js
rl6-bench: 8a827e4 | (Geoffrey Broadwell)++ | / (3 files):
Add NQP (using github perl6/nqp project) to tested compiler groups; add WIP conversion of rc-forest-fire to NQP
japhb sorear++
Thank you, that worked like a charm, clearly.
masak 'mounin', #perl6 07:19
japhb o/ 07:20
frettled moun moun 07:22
masak is in a meeting room for ~14 people, sitting alone with his laptop :) 07:24
japhb You're rarely alone when you're on #perl6 ... 07:26
masak troo.
arnsholt masak: Newly arrived at Storo, I take it? =) 07:29
masak depends what "Storo" is :) 07:32
arnsholt The subway stop for Linpro's offices where we'll be hackathoning =) 07:33
sorear heya 07:34
arnsholt Greetinks
masak [Coke]++ # Rakudo #51 Brazos Valley
sorear! \o/
arnsholt: yes, I'm at Linpro's offices. 07:35
arnsholt: I didn't so much "arrive at Storo" as "walk past Storo", 'cus I was staying at sjn++'s place :)
arnsholt Ah, walking distance is always nice 07:36
fglock o/
phenny fglock: 02:34Z <japhb> tell fglock It looks like perlito5.pl does not understand underscores in numbers; adding an underscore inside an integer results in 'unexpected function call at lib5/Perlito5/Expression.pm line 126.' Checked with latest git.
fglock: 04:44Z <japhb> tell fglock Also, perlito5.js does not set a non-zero exit code when reporting a syntax error (or at least, not every time). This messes up some testing code I'm working on that thinks perlito5.js can handle syntax that it can't yet. 07:37
arnsholt But if we can arrive before 5, I might come in a bit earlier
fglock japhb: looking
japhb fglock, thanks!
arnsholt I should probably do some work first, but hackathon is more fun than work today =)
japhb nqp: pir::rand__NN(1.0)
p6eval nqp: OUTPUT«error:imcc:syntax error, unexpected NREG, expecting '(' ('$N101')␤ in file '(file unknown)' line 39␤␤»
japhb What's wrong with that ^^ ? 07:38
arnsholt Good question. Try to compile with --target=pir and inspect the result? 07:40
japhb arnsholt, I did ... and it didn't look any more weird than usual. It's possible my PIR skills may have bitrotted a bit, of course. 07:41
arnsholt No idea in that case I'm afraid 07:43
I did hack on NQP a bit, but that knowledge has bitrotted completely
benabik rand__NN is in the math dynoplib, not in core. My guess is that NQP doesn't load that library. 07:45
japhb benabik, ah, you're probably right, thanks!
dalek kudo/nom: 082dd1a | masak++ | docs/release_guide.pod:
[docs/release_guide.pod] Frankfurt!

  \o/
07:46
frettled masak: technically speaking, you're at Storo (sjn lives at Storo, too) – it's a place which the metro stop borrowed the name from, arnsholt is just rambling. :) 07:54
masak gotcha. I'm at Storo, arnsholt is rambling. 07:56
arnsholt Well, yes. I figured I'd refrain from a lecture on the local geography of Oslo =)
But yes. Also rambling
japhb ah-ha! 07:59
benabik, looks like I have to specify --vmlibs=math_ops option for nqp 08:00
Perhaps that ought to be default behavior under p6eval.
fglock japhb: commit eab75f8 accept underlines inside numbers 08:15
jnthn ohhai 08:18
jnthn is at le hackathon :)
pmichaud good morning, #perl6
japhb: often that error indicates that imcc doesn't have an opcode loaded 08:20
in this particular case, it's missing the rand opcode. ISTR that rand was removed from Parrot's opcode set.
japhb fglock, thank you. Did you see the perlito5.js error exit code item as well? 08:26
pmichaud, understood.
jnthn It may have been shufflted out into a dynop library 08:27
japhb Yeah, it was.
Now I need to do 'nqp --vmlibs=math_ops'
jnthn It's the principle of conservation of startup time. I made it better in Rakudo recently, so Parrot had an equal and opposite reaction.
fglock yes - commit 7c5dd3b - set exit code on error
japhb fglock, EXCELLENT
jaffa4 jnthn: what are you doing at hackathon at the moment? 08:32
jnthn jaffa4: Drinking coffee. 08:32
jaffa4: And thinking about doing something useful :) 08:33
jaffa4 LIke what?
jnthn Probably tracking down the MiniDBI pre-compilation bug first. 08:33
jaffa4 What platform will miniDBI support? 08:34
jnthn Whatever folks write drivers for.
dalek rl6-bench: 8387f88 | (Geoffrey Broadwell)++ | bench:
Work around pir::rand__NN being moved to a dynamic op lib
rl6-bench: 0a7cd05 | (Geoffrey Broadwell)++ | nqp/rc-forest-fire:
More work on NQP port of rc-forest-fire
rl6-bench: 8e86e58 | (Geoffrey Broadwell)++ | README:
Remove warning about perlito5.js false success from README; it was fixed by fglock++
jnthn jaffa4: We have mysql working at least...thing there's some pgsql... 08:35
*think
japhb And with that, I think sleep is finally in order.
Zzzzzzz ... &
jaffa4 Would not it make sense to convert existing perl5 modules? 08:39
masak yes, sometimes it would make a lot of sense. 08:40
p6: sub foo {}; say foo.some_method 08:41
p6eval rakudo 082dd1: OUTPUT«Method 'some_method' not found for invocant of class 'Nil'␤ in block <anon> at /tmp/ReyFqGCIrg:1␤␤» 08:41
..pugs: OUTPUT«*** No such method in class Scalar: "&some_method"␤ at /tmp/HYD3R00VZe line 1, column 17 - line 2, column 1␤»
..niecza v16-23-gaa61ed5: OUTPUT«Unhandled exception: Unable to resolve method some_method in class Nil␤ at /tmp/PBfvgI07XG line 1 (mainline @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 3840 (ANON @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 3841 (module-CORE @ 65) ␤ at …
masak r: sub foo {}; my $x = foo; say $x.some_method
p6eval rakudo 082dd1: OUTPUT«Method 'some_method' not found for invocant of class 'Nil'␤ in block <anon> at /tmp/ozm4eqssxu:1␤␤»
masak r: say "foo foo" ~~ /(\w+) \s+ $0/ 08:53
p6eval rakudo 082dd1: OUTPUT«=> <foo foo>␤ 0 => <foo>␤␤»
masak what is adding the '[old]' markers to the module descriptions in modules.perl6.org/ ? 08:55
bbkr release \o/ 09:01
pmichaud std: my ${a} = 5; 09:10
p6eval std 3d13d53: OUTPUT«===SORRY!===␤Unsupported use of ${a}; in Perl 6 please use $a at /tmp/U81BT5Zh2x line 1:␤------> my ${a}⏏ = 5;␤Parse failed␤FAILED 00:00 40m␤»
pmichaud std: say "Hello ${a}bc";
p6eval std 3d13d53: OUTPUT«===SORRY!===␤Unsupported use of ${a}; in Perl 6 please use {$a} at /tmp/QbUYL6Snc6 line 1:␤------> say "Hello ${a}⏏bc";␤Parse failed␤FAILED 00:00 41m␤»
dalek p: 1e988f1 | jonathan++ | src/6model/serialization.c:
When chasing the outer chain serializing closures, we may encounter a NULL lexinfo pointer. Don't follow it.
09:12
sorear pmichaud: hi 09:26
pmichaud sorear: o/
sorear pmichaud: the question came up in sandiego.pm today of how your name is said
pmichaud sorear: depends on who you ask :-) 09:27
sorear I'm certain mick-ow!-d is wrong
pmichaud its roots are french
so, I pronounce it like "me" and "show"
masak pmichaud: before I met you, I imagined *you* were French :)
pmichaud paternally my ancestry is swiss, actually 09:28
masak I thought your English was quite good for a French-speaker.
pmichaud My English *is* quite good for a French speaker. It's my French that suffers. :-P
frettled :D
pmichaud: you have been living too long among the heathens!
or something
masak living too long on the heath.
krunen ok 09:29
pmichaud however, my wife is completely unable to say our last name
and my father pronounces it differently as well.... so, "depends on who you ask".
having spent a lot of time in Switzerland, I'm quite certain my way is closest to the original :) 09:30
std: say [1,2,3].abc<xyz> 09:31
p6eval std 3d13d53: OUTPUT«ok 00:00 42m␤»
pmichaud spectest says:
dies_ok {[1,2,3].join<abc>}, '.join<abc> parses but dies';
I think spectest is wrong here.
masak +1
that's just a method call and then a hash lookup. 09:32
pmichaud oh, wait, perhaps not.
but it's a hash lookup on a defined scalar
so that should probably fail
masak oh!
yes.
masak but it's perfectly valid Perl 6 syntax. 09:32
pmichaud it's even executable... it just returns a Failure
masak right. 09:34
masak n: grammar G { regex TOP { <a>? }; regex a { <b> }; regex b { 'foo' } }; my $m = G.parse("foo"); say ~$m<a>[0]<b> 09:53
p6eval niecza v16-23-gaa61ed5: OUTPUT«Use of uninitialized value in string context␤ at /home/p6eval/niecza/lib/CORE.setting line 1224 (warn @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 235 (Mu.Str @ 10) ␤ at <unknown> line 0 (ExitRunloop @ 0) ␤ at /tmp/T4oDP25Uqb line 1 (mainline @ …
masak r: grammar G { regex TOP { <a>? }; regex a { <b> }; regex b { 'foo' } }; my $m = G.parse("foo"); say ~$m<a>[0]<b> 09:53
p6eval rakudo 082dd1: OUTPUT«foo␤»
masak r: grammar G { regex TOP { <a>? }; regex a { <b> }; regex b { 'foo' } }; my $m = G.parse("bar"); say ~$m<a>[0]<b>
p6eval rakudo 082dd1: OUTPUT«Method 'at_key' not found for invocant of class 'Nil'␤ in method postcircumfix:<{ }> at src/gen/CORE.setting:1195␤ in block <anon> at /tmp/R6HYsqlJfc:1␤␤»
masak r: grammar G { regex TOP { <a>? }; regex a { <b> }; regex b { 'foo' } }; my $m = G.parse("bar"); if $m<a> { say ~$m<a>[0]<b> }
p6eval rakudo 082dd1: ( no output )
bbkr rakudo: say "\x[10001]" ~~ /<[\x10000..\xEFFFF]>/ # is this expected behavior for RT 67122 ? Should we expect it to match? 09:59
p6eval rakudo 082dd1: OUTPUT«===SORRY!===␤Invalid character for UTF-8 encoding␤␤»
dalek ast: 546456c | pmichaud++ | S02-literals/listquote.t:
Correct a spectest that relied on .<abc> dying (instead of failing).
10:04
ast: 7b837e8 | pmichaud++ | S (2 files):
Some more spectest changes/fixes related to autoviv.
dalek kudo/nom: 8658d94 | pmichaud++ | src/core/Any.pm:
Implement hash autoviv. Array autoviv comes next.
10:05
masak r: class A is B {} 10:17
p6eval rakudo 8658d9: OUTPUT«===SORRY!===␤Cannot call 'trait_mod:<is>'; none of these signatures match:␤:(Attribute:D $attr, Any :rw(:$rw)!)␤:(Attribute:D $attr, Any :readonly(:$readonly)!)␤:(Attribute:D $attr, Any :box_target(:$box_target)!)␤:(Routine:D $r, Any :rw(:$rw)!)␤:(Routine:D $r, Any…
masak jnthn: why doesn't that error message give line-and-file? :/
arnsholt jnthn: Should .c files really be ignored in the Zavolaj repo? 10:20
jnthn Yeah
They only ever get generated when running the tests. 10:21
arnsholt The C files? t/*.c are checked into the repo 10:22
.o and .so, sure. But the C code isn't generated AFAICT 10:23
phenny arnsholt: Service not found in github.com/nslater/oblique/wiki
arnsholt Huh. Apparently I found a feature ^_^ 10:24
jnthn arnsholt: We...have C files checked in? 10:24
jnthn Oh...so we do 10:25
duh :)
It's the objct files that are generated
Sorry, brain fail
Yeah, they likely should not be in .gitignore then.
arnsholt Fixed in my cstruct-work branch 10:27
jaffa4 What perl 5 module would you convert first into perl 6? 10:30
What are the most influential? 10:31
brrt LWP
masak DBIX::Class 10:32
Moose :P
daxim splain
daxim needs all the help a newbie can get
nwc10 this isn't the answer to "what to convert", but I think if there *is* a single most influential module, it's DBI 10:33
given that it provides a unified interface to different databases (and even non-databases)
nwc10 a unification which even certain other dynamic languages have failed to copy/steal/imitate/flatter 10:34
nwc10 as to "what to convert" - find a task that needs doing, that's currently done in Perl 5, and convert the modules it needs 10:35
the components of the IRC logger would seem to be one good candidate for "things that need doing" 10:36
as right now, the logger for this channel runs on Perl 5.
See, Perl 5 better than Perl 6 :-)
dalek kudo/nom: ff875ef | pmichaud++ | / (2 files):
Array autoviv, add a passing test file.
10:38
daxim mberends has dibs on dbi 10:41
nwc10 other suggestion - look at the build process for Rakudo. Which parts are written in Perl 5 - which modules do they use? 10:43
go for those. try to get the build process to be able to be self-hosting 10:44
flussence the "Volatile 100" list here would be a good start: ali.as/top100/ 10:45
(I think Text-Tabs-Wrap happened because it was on here at some point...) 10:46
jaffa4 nwc10: why should it be self-hosting 10:58
?
nwc10 Unlike Perl 5 (well, the current and only Perl 5 implementation) Rakud requires an external VM to already exist. 10:59
Right now, that has to be Parrot
(but the aim is to be portable)
if the Rakudo build process continues as-is, then *Perl 5* remains a build requirement
(forever)
which would mean that you can't build Perl 6 on a fresh system without first building Perl 5 11:00
which seems a bit silly
whereas if the build process becomes self-hosting
Juerd It wouldn't be silly if Perl 6 had a non-Perl name.
nwc10 then it's possible to ship compiled versions of the build scripts for the VM (or VMs)
it *would* still somewhat be silly, I think 11:01
Perl 5 won't last forever.
Juerd Would you find it weird if e.g. Python's build environment depended on Perl?
jaffa4 There are compiled version of Perl 6 already
nwc10 Juerd: I'm told that it *did* until a few years ago 11:01
Juerd Was that silly?
nwc10 yes. In that every build dependency makes it harder to install
Juerd Or just a logical effect of Perl being available on almost every unixy system? 11:02
nwc10 also, Perl 5 benefits from having as much of its build system be written in Perl 5
dogfood improves the tools
Juerd Perl 5 is almost as prevalent as man :)
I agree
nwc10 Parrot suffers (partly) because it hardly uses any Parrot-hosted code as part of its build
so no-one hacking on core Parrot gets to use (/suffer/fix) Parrot based tools 11:03
long term maintenance is easier, the fewer languages are needed for the build
and the more code that can be re-used between the interpreter/compiler bootstrap, and the installation of end-user code 11:04
if "half" the support code needed to build/compile Perl 6 modules is written in Perl 5, then Perl 5 becomes a *runtime* dependency for developers using Perl 6 11:05
also, partly, it's easier to target the single language "the Perl 6 we're building here" than "whichever variant of Perl 5 the system installed" 11:06
sure, you can expect 5.8.4 or later in a current shipping OS
but *only* 5.8.4 or later, which gives you a lot of different versions to test across
and no confidence that the pesky "vendor" hasn't stripped out some of the core modules you thought you could rely on being present 11:07
I think that's 16 stable releases to date, starting from 5.8.4 11:12
fglock nwc10: perlito build is self-hosted 11:22
nwc10 cool 11:23
dalek ast: 185bb09 | pmichaud++ | S02-types/hash_ref.t:
More spectest updates relating to autoviv.
11:35
ast: d98cf79 | pmichaud++ | S09-autovivification/autovivification.t:
More spectest unfudging for rakudo and autoviv.
11:42
kudo/nom: bff4e5d | pmichaud++ | t/spectest.data:
Add another passing spectest file.
11:43
grondilu How could I test OUTER here? 12:03
dalek kudo/nom: e59619c | jonathan++ | src/Perl6/Metamodel/MROBasedMethodDispatch.pm:
Eliminate use of %h.update(...) in the meta-objects.
grondilu p6: module Foo { sub talk { say "hello" } }; package Foo { OUTER::talk } 12:07
p6eval niecza v16-23-gaa61ed5: OUTPUT«===SORRY!===␤␤Illegal redeclaration of symbol 'Foo' (see line 1) at /tmp/u7uqJP6iV3 line 1:␤------> sub talk { say "hello" } }; package Foo ⏏{ OUTER::talk }␤␤Undeclared name:␤ 'OUTER::talk' used at line 1␤␤Potential dif…
..rakudo ff875e: OUTPUT«===SORRY!===␤Redeclaration of symbol Foo␤at /tmp/mm3XijcxBp:1␤»
..pugs: OUTPUT«*** outer - not yet implemented: "&talk"␤ at /tmp/0iMEPcADqL line 1, column 56-68␤»
grondilu p6: module Foo { sub talk { say "hello" } }; package Foo { OUTER::Foo::talk }
p6eval rakudo ff875e: OUTPUT«===SORRY!===␤Redeclaration of symbol Foo␤at /tmp/mB5xQlBiOe:1␤»
..niecza v16-23-gaa61ed5: OUTPUT«===SORRY!===␤␤Illegal redeclaration of symbol 'Foo' (see line 1) at /tmp/O0q_UX89mc line 1:␤------> sub talk { say "hello" } }; package Foo ⏏{ OUTER::Foo::talk }␤␤Potential difficulties:␤ &talk is declared but not used…
..pugs: OUTPUT«*** outer - not yet implemented: "&Foo::talk"␤ at /tmp/IF89CaJcZH line 1, column 56-73␤»
grondilu nom: module Foo { sub talk { say "hello" } }; package Foo { use Foo; OUTER::Foo::talk } 12:14
p6eval rakudo e59619: OUTPUT«===SORRY!===␤Redeclaration of symbol Foo␤at /tmp/7QqjvLSrPl:1␤»
jnthn grondilu: fwiw, OUTER is nothing to do with packages and everything to do with lexical scopes. 12:24
jnthn Oh, seems you know that, reading your code again, though 12:25
nom: class Foo { class Foo { method m() { OUTER::Foo.m } }; method m() { say 42 } }; Foo.m; Foo::Foo.m
p6eval rakudo e59619: OUTPUT«42␤Method 'm' not found for invocant of class 'Any'␤ in method m at /tmp/tvQqmuYZHX:1␤ in block <anon> at /tmp/tvQqmuYZHX:1␤␤»
jnthn Hm 12:26
jnthn nom: class Foo { class Foo { method m() { OUTER::OUTER::Foo.m } }; method m() { say 42 } }; Foo.m; Foo::Foo.m 12:26
p6eval rakudo e59619: OUTPUT«(timeout)42␤»
jnthn nom: class Foo { class Foo { method m() { OUTER::OUTER::OUTER::Foo.m } }; method m() { say 42 } }; Foo.m; Foo::Foo.m
p6eval rakudo e59619: OUTPUT«42␤42␤»
jnthn pmichaud++ # can count scopes :) 12:27
nom: class Foo { class Foo { method m() { ::(('OUTER::' x 3) ~ 'Foo').m } }; method m() { say 42 } }; Foo.m; Foo::Foo.m 12:29
p6eval rakudo e59619: OUTPUT«42␤42␤»
mucker o/ #perl6 12:30
grondilu is back and reads code above
mucker has decided to contribute to fglocks code 12:32
grondilu ok but I'm trying to have it work with a module used with 'use'. Not classes in the same file.
[Coke] p: say asin 3 12:36
p6eval pugs: OUTPUT«0.1411200080598672␤»
dalek p: 77ee7b5 | jonathan++ | / (2 files):
Add OwnedHash, which will track hashes that need to trigger the SC write barrier if modified.
12:42
nqp: 6f8ec7c | jonathan++ | src/how/NQPClassHOW.pm:
nqp: Eliminate use of %hash.update(...); that code ain't a hot path with serialization, the method ain't in Perl 6, and (most pressingly) the Parrot implementation doesn't handle hash subclasses properly.
dalek kudo/nom: c9905df | jonathan++ | tools/build/NQP_REVISION:
Bump NQP_REVISION.
12:44
kudo/nom: 7f62119 | jonathan++ | src/Perl6/ModuleLoader.pm:
Disable SC write barrier while loading CORE.setting.
jnthn That seems to fix pre-compilation issues with MiniDBI. 12:45
frettled yay 12:46
fglock mucker: yay! 12:57
jnthn tadzik: rt.perl.org/rt3/Ticket/Display.html?id=71812 is a Pod related ticket - may be closable... 12:59
[Coke] finds a rant about PHP: 13:00
me.veekun.com/blog/2012/04/09/php-a...ad-design/
let's hope perl6's rant list is slightly smaller. 13:02
mucker fglock: anything specific to work on for a beginner like me :) 13:03
arnsholt [Coke]: It'll definitely be different, at any rate =)
PerlJam [Coke]: that url made the rounds here about 10 days ago :) 13:04
[Coke] PerlJam: I found it because someone built this:
www.flickr.com/photos/raindrift/set...492908038/
PerlJam heh!
mucker [Coke]: periodic table of perl6 operators :) 13:06
and people though $@#%\ were bad !
fglock mucker: the javascript libs are not-so-scary, src5/lib/Perlito5/Javascript/CORE.pm and IO.pm 13:07
there are also some perl5 things in src5/util/perlito5.pl
you can also browser the parser and the several emitters 13:08
mucker But I get what larry is trying to do. He is trying to create the a language that describes languages :) I think It's better than giving up all hope and compromist with the ( )
fglock p5-to-perl6 is a hot topic if you want to tweak perl6
mucker fglock: I never really understood the diff b/w src5 and src6 ... can just just clarify ?
fglock src5 is the source code for perlito5 (a perl5 compiler, written in perl5) 13:09
src6 is s/5/6/
mucker I hate laptop keyboards
with various backends, amiright ? 13:10
fglock src6 is the source code for perlito6 (a perl6 compiler written in perl6)
yes
mucker I am paritcularly keen on the js backend. We just need to support the bare minimal syntax to put javascript out of its misery :) 13:11
fglock mucker: p5-to-js or p6-to-js? 13:12
mucker I'll get back to you this weekend. But I think I will start with the p5-to-js first. Mainly because I can step through the debugger and try to understand whats going on :) 13:13
fglock++ for super clean source code :) 13:15
fglock cool - note you can also use the perl5 debugger on perlito6.pl (even when compiling to js)
mucker Awesome
mucker can't wait for the weekend to begin 13:16
fglock mucker++
mucker fglock .. gotto go now .. see you :) 13:17
fglock o/ 13:18
jnthn pmichaud: rt.perl.org/rt3/Ticket/Display.html?id=77038 13:30
pmichaud: ^ can likely be closed once you've done your current work
pmichaud gist.github.com/2428890 13:56
jnthn: ^^
dalek kudo/nom: 51bfca4 | jonathan++ | src/binder/types.c:
Fix regression due to some hashes now being OwnedHash. pmichaud++ for noticing.
14:28
[Coke] what's an OwnedHsah? 14:30
jnthn [Coke]: A hash owned by a serialization context 14:33
Well, that was previously serialized
jaffa4 fglock: for perl 6 back ends I would modify niecza 14:40
arnsholt Hackathoners: Have you huys left linpro yet? 14:47
tadzik nope 14:48
still slac^Whacking 14:49
arnsholt Cool. Could someone come down and unlock the door for me? =)
colomon ooo, what's the status of things?
arnsholt Arrived a bit later than planned 14:50
colomon is going to have to hackathon vicariously through the #perl6 channel this weekend... 14:50
krunen arnsholt: salve is coming 14:51
tadzik . o O ( salvation! )
masak .oO( I Salvute you! ) 14:52
sjn pfft :-P 14:55
on IRC, I'm "sjn", btw :)
tadzik :)
[Coke] p: say 0 xor 24 15:05
p6eval pugs: OUTPUT«0␤»
masak r: say 0 xor 24 15:06
p6eval rakudo 7f6211: OUTPUT«0␤»
[Coke] I had a bunch of xor tests skipped earlier. 15:07
flussence xor is the boolean op, right?
masak how appropriate :)
dalek kudo/nom: aa2eb5b | masak++ | src/core/Exception.pm:
[core/Exception] output nested error

Better than just "Error while creating error string"
15:12
kudo/nom: c40f488 | masak++ | src/core/Exception.pm:
[core/Exception] whitespace fix
pmichaud [Coke]: xor precedence? 15:26
[Coke] it was skipped in pugs presumably because it didn't exist. except it does. 15:29
[Coke] probably just some gross-level skipping. 15:37
Ulti can you already do introspection of POD in Rakudo? 16:34
colomon Ulti: I think so. (Not my area, but if no one else is answering...) 16:37
Ulti just reading the perl6.org faq if some of this stuff is in Rakudo already it makes it extra neat, especially if I can package up my perl6 programs as bytecode with parrot 16:39
benabik I believe the $=pod variable works. 16:52
fglock_ phenny, tell japhb This seems to work (I can't see colors in this terminal): $ node perlito5.js -Isrc5/lib rc-forest-fire 18:41
phenny fglock_: I'll pass that on when japhb is around.
brrt r: my @a = [1,2,3,4]; say @a[0].WHAT; 18:46
p6eval rakudo c40f48: OUTPUT«Array()␤»
brrt r: my @a := [1,2,3,4]; say @a[0].WHAT
p6eval rakudo c40f48: OUTPUT«Int()␤»
brrt r: my @a = 1, 2, 3, 4; say @a[0].WHAT 18:48
p6eval rakudo c40f48: OUTPUT«Int()␤»
brrt r: my @a = 1, [2, 3], 4; say @a.[1].[1]; 18:50
p6eval rakudo c40f48: OUTPUT«3␤»
lichtkind sheers 19:26
dalek blets: 3d26b96 | (Herbert Breunung)++ | docs/ (4 files):
changed disclaimer - transition is over
19:47
lichtkind TimToady: is it fair to call $~MAIN a slang variable? 19:50
[Coke] ooh, autoviv is back? 19:57
pmichaud++ 19:58
masak: your name showed up 2x in tools/contributors. we should probably fix the tool to combine you. 19:59
TimToady lichtkind: yes 20:02
[Coke] (once as Masak, once as Mäsak) 20:03
fglock_ wonders about this line in perl5 t/op/sub.t: push @a, 24, 25, &{$x == $x}(26,27); 20:40
nwc10 I think the comment above explains 20:41
# RT #63790: calling PL_sv_yes as a sub is special-cased to silently 20:42
# return (so Foo->import() silently fails if import() doesn't exist),
# But make sure it correctly pops the stack and mark stack before returning.
no, I don't know why having PL_sv_yes end up as being returned from something in import happens.
(the value put on the internal stack from == is PL_sv_yes) 20:45
from != is PL_sv_no
(that's canonical falsehood. That's the strange value that is the empty string in string context, and the value 0 in numeric context) 20:46
fglock_ I was testing import existence with: if (defined &{$module_name . '::import'}) { $module_name->import(@$arguments) }
I never thought it was supposed to use magic
maybe because it could be inherited, but can() could be used instead; OTOH it is still kinda in the middle of compilation, so there may be some complications 20:48
nwc10 I don't know how it works. It doesn't break. It hasn't needed fixing.
fglock_ that makes sense :)
jaffa4 : my @a = 1, [2, 3], 4; say @a[1][1]; 21:01
r: my @a = 1, [2, 3], 4; say @a[1][1];
p6eval rakudo c40f48: OUTPUT«3␤»
jaffa4 r : my @a = 1,1,1; say |@a; 21:02
r: my @a = 1,1,1; say |@a;
p6eval rakudo c40f48: OUTPUT«111␤»
jaffa4 r: my @a = 1,1,1; say @a;
p6eval rakudo c40f48: OUTPUT«1 1 1␤»
lichtkind TimToady: thank you, you seen latest efforts ? 21:16
dalek kudo/nom: 45ef4e2 | pmichaud++ | src/core/ (4 files):
Refactor autoviv methods to better handle type objects, use multidispatch.
21:42
dalek blets: 3c38887 | (Herbert Breunung)++ | docs/appendix-b-grouped.txt:
hyper metaop are not really chevrons, just look alikes
21:45
[Coke] seen au? 22:27
aloha au was last seen in #perl6 4 days 3 hours ago saying "but please feel free to typeahead anything you'd like me to help with :)".
[Coke] stares at Pugs, trying to figure out where the Any class is defined. 22:30
geekosaur Data.Monoid?
actually Any is not a class (I hope it wasn't redefined, Monoid is kinda a bad thing to clash with) 22:32
[Coke] Any is a perl six class
I'm trying to find where that is defined.
It may or may not be a /haskell/ class. 22:33
ah, mkType "Any" looks promising. 22:34
(it doesn't help that I have no idea how to code in haskell) 22:36
oh! pugs has a Prelude.pm . 22:38
geekosaur whops, sorry (bad network fail around here of late), yes, as a p6 clas sit would be in Prelude.pm 22:41
[Coke] geekosaur: I'm not talking about a class defined IN perl6. 22:42
(any isn't defined there.) 22:43
(though I'd be happy if I could augment the internals there.)
[Coke] doesn't seem to matter what I put in src/perl6/Prelude.pm, it's ignored. 22:47
I presume there is some build step that isn't being done by make.
phenny: tell au I tried to add a ".Str" that could be invoked as a method on .Str, but my naive patch (now reverted) caused a conflict with the bare {{ Str }}; the table in Prim.hs doesn't seem to be able to handle aliases, so I can't say Str is the same as ~; so I tried to find where I could add a method to Any; couldn't see anything obvious (to a non haskell me) , but found Prelude.pm - figured that would be great, I can write it in perl 6... but any changes 22:52
phenny [Coke]: I'll pass that on when au is around.
[Coke] phenny: tell au at some point I realized if I did it for Str, I was just going to have to do it for all of the Cool types, so, lacking Cool, figured I'd just try to add it to Any. 22:57
phenny [Coke]: I'll pass that on when au is around.
[Coke] gives up for now.
lichtkind moritz: which pperl version is on feather please? 23:06
japhb_ IR clogs down? 23:13
Hmmm, perhaps just really slow. 23:14
lichtkind phenny: tell moritz i rewrote the html generator in perl and it does more now, please let the cron start this 23:34
phenny lichtkind: I'll pass that on when moritz is around.
dalek blets: fcffb67 | (Herbert Breunung)++ | docs/build-html.pl:
rewrote html builder in perl, renders index now how i like it even backround gone shady again
23:35
blets: 24d42a1 | (Herbert Breunung)++ | docs/index.txt:
toc fits now on my screen
23:44
japhb_ phenny, tell fglock rc-forest-fire now works with perlito5.pl, and quite quickly too. However, for perlito5.js, it gets through the compile but dies at runtime (after printing the starting map) with this error: Warning: TypeError: Object [object Object] has no method 'next' 23:51
phenny japhb_: I'll pass that on when fglock is around.
japhb_ phenny, tell fglock And you might have thought it succeeded too fast to see because you supplied no arguments telling it forest size and iteration count. The tested command is: node perlito5.js -Isrc5/lib /path/to/perl6-bench/perl5/rc-forest-fire 30 20 100 23:54
phenny japhb_: I'll pass that on when fglock is around.
japhb_ phenny, tell fglock, er ... "30 20 10" 23:55
phenny japhb_: I'll pass that on when fglock is around.
japhb_ wheee