»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by moritz on 25 December 2014.
00:00 rurban left 00:04 denis_boyun joined 00:21 kurahaupo left 00:28 kaare__ left
b2gills .tell boski: just ask... someone will reply, even when not immediately ( we even have ways of telling you later, like this for example ) 00:28
yoleaux b2gills: What kind of a name is "boski:"?!
b2gills .tell broski: just ask... someone will reply, even when not immediately ( we even have ways of telling you later, like this for example ) 00:29
yoleaux b2gills: What kind of a name is "broski:"?!
b2gills ( first time trying to use it ) 00:30
.tell broski just ask... someone will reply, even when not immediately ( we even have ways of telling you later, like this for example )
yoleaux b2gills: I'll pass your message to broski.
00:38 colomon joined 00:40 denis_boyun left 00:44 kurahaupo joined 01:00 broski joined
broski which vm is better, moar or parrot? 01:08
yoleaux 00:30Z <b2gills> broski: just ask... someone will reply, even when not immediately ( we even have ways of telling you later, like this for example )
01:10 gfldex left 01:11 yeahnoob joined 01:17 kurahaupo left
skids broski: moarvm is currently more performant for perl6 purposes. 01:18
BenGoldberg There are still some parts of the spec which parrot does more correctly, though. 01:19
(IIRC)
01:19 kurahaupo joined
colomon BenGoldberg: that's probably true, but there are also areas of the spec which Moar does more correctly. It's not just speed vs. correctness. 01:21
broski ok 01:27
01:35 Mouq left 01:45 davido_ left 01:46 davido_ joined 01:53 adu joined 01:54 adu left 02:05 kurahaupo left 02:13 broski left
skids r: (1, :f, :g).perl.say; (:f :g).perl.say; (1, :f :g).perl.say 02:14
camelia rakudo-parrot 04ce88: OUTPUT«WARNINGS:␤Useless use of "," in expression "1, :f :g" in sink context (line 1)␤(1, "f" => Bool::True, "g" => Bool::True)␤duplicate named argument in call␤ in block <unit> at /tmp/tmpfile:1␤␤»
..rakudo-moar 04ce88: OUTPUT«(1, "f" => Bool::True, "g" => Bool::True)␤("f" => Bool::True, "g" => Bool::True)␤(1, "f" => Bool::True)␤»
02:18 adu joined 02:21 Rounin joined 02:23 rmgk_ joined, rmgk left, rmgk_ is now known as rmgk 02:24 kurahaupo joined
japhb .botsnack 02:39
yoleaux 11 Jan 2015 10:30Z <timotimo> japhb: now the log is filled with lines of Run command exited with exit status 1: install/bin/perl6 --optimize=3 /home/timo/oldhome/timo/perl6/bench/perl6/rc-forest-fire 16 16 inf
:D
japhb 'inf' ...? 02:40
japhb wonders WTH that is about
02:45 virtualsue left
adu so if I want to slurpify params 02:47
*@args or @*args? 02:48
ah, *@theRest 02:49
I love TFM
expected 'Positional[Any]' but got 'Array' 02:51
02:51 araujo left
adu I thought Arrays were positional 02:51
expected 'Positional[Any]' but got 'List' 02:52
02:56 kurahaupo left
colomon m: say Array ~~ Positional 03:00
camelia rakudo-moar 04ce88: OUTPUT«True␤»
colomon m: say Array ~~ List 03:01
camelia rakudo-moar 04ce88: OUTPUT«True␤»
03:02 kurahaupo joined
japhb adu: Show the broken code. 03:02
.tell timotimo I cannot recreate the rc-forest-fire problem you are seeing, with either rakudo-moar/nom or rakudo-jvm/nom. 03:03
yoleaux japhb: I'll pass your message to timotimo.
skids m: say so Array ~~ Positional[Any]; say so Array ~~ Positional; 03:04
camelia rakudo-moar 04ce88: OUTPUT«False␤True␤»
adu japhb: github.com/andydude/p6-c-parser/bl...Op.pm6#L62
skids You sure the error isn't when assigning to @.children? 03:06
adu skids: I'm trying to make a "simple" AST that is a little more complicated that multiple "has"s 03:07
03:07 vendethiel left
adu skids: it's a different error now 03:08
how it says "Cannot look up attributes in a type object" 03:09
when I do my $x = CAST::Op.new(CAST::Op::OpKind::predec, 1, 2, 3)
skids Hrm aren't bracketless class definitions only allowed on first line? 03:11
03:12 vendethiel joined
adu skids: no, they're only allowed if they are the whole file 03:12
I think maybe I need a better understanding of roles 03:20
03:25 davido_ left 03:26 davido_ joined
JimmyZ adu: maybe ([$operator, *@operands]) ? 03:26
03:29 cognominal joined, noganex_ joined 03:32 noganex left
adu JimmyZ: in the definition of new? 03:35
do I have to call bless? 03:36
do I have to call BUILD, BUILDALL, BUILDPLAN somewhere?
skids Oh, yeah, of course... you should be calling bless as the return value of the block. 03:38
03:38 IllvilJa left
skids e.g. bless(*,:children(@operators) :op($operator)) 03:38
03:39 vendethiel left 03:40 IllvilJa joined
adu what does bless do? 03:41
is Perl6 new() like Python __init__ or __new__?
skids does all the BUILD stuff I think. I think it's been refactored since I last read that part of the spec. 03:42
JimmyZ self.bress(:op($operator), :children(@operands));
*bless
geekosaur new calls BUILDALL calls BUILD, which is what you normally define instead of new 03:43
JimmyZ adu: try change to above 03:44
adu so is BUILD like Python __init__?
skids Don't you need the "*" in the call to bless to pass other nameds from subclasses?
I don't know any python so...
adu skids: I don't know, I've never done oop in Perl5 or Perl6, so this is all new to me
skids As far as I know, overloading new is primarily for changing the signature and preprocessing arguments to the constructor, 03:45
JimmyZ adu: github.com/japhb/perl6-bench/blob/...class_add1 #here has a BUILD , it doesn't need BUILD by deafult , but here have because rakudo optimization sucks. 03:46
adu so python's default T.__new__() is defined as: self = object.__new__(T); self.__init__(), so any object construction must be done in __new__, and any property assignment usually happens in __init__
03:46 vendethiel joined
JimmyZ since it's a benchamrk 03:46
*mark
adu ah, so BUILD is __init__ and new is __new__
that makes sense
JimmyZ BUILD is building attr value. 03:47
you don't need it normally if rakudo's optimization is good enough. 03:48
adu I'm thinking of just going without BUILD and new and just using the default impls
JimmyZ yeah 03:49
skids No it's more like new is a wrapper around bless which is about like python's __new__
adu bcuz I like the whole Op.new(:$op, :@children) 03:50
I wish you could do that in other languages
JimmyZ rakudo doesn't have pos args of new, you need declarse it yourself
adu yeah, but I like the keyword args
because that's the same as Op.new(op => $op, children => @children) 03:51
JimmyZ yes
04:06 kaare__ joined 04:10 vendethiel left 04:13 vendethiel joined 04:24 leont left 04:29 novice666 left 04:32 kaleem joined 04:35 vendethiel left 04:46 vendethiel joined 04:50 Rounin left 04:53 kurahaupo left 04:55 kaleem left
tony-o yea it still segfaults 05:03
oops
05:09 vendethiel left 05:11 mr-foobar left 05:15 vendethiel joined 05:36 vendethiel left 05:37 dayangkun joined 05:38 vendethiel joined 05:40 BenGoldberg left 06:06 dayangkun left 06:13 [Sno] left 06:15 Rounin joined
moritz \o 06:21
06:24 bartolin left 06:33 flussence left, flussence joined 06:49 denis_boyun_ joined 06:53 lsm-desktop left 06:55 Ugator joined 06:56 kaleem joined
JimmyZ morning #perl6 07:02
07:04 lsm-desktop joined 07:06 jack_rabbit left, sirdancealot joined 07:11 Psyche^ joined 07:14 raiph left
adu hi moritz JimmyZ 07:14
07:15 Patterner left 07:16 yeahnoob left 07:17 FROGGS_ left 07:18 yeahnoob joined, yeahnoob left
sergot morning o/ 07:19
07:19 yeahnoob joined, yeahnoob left, yeahnoob joined 07:20 yeahnoob left, yeahnoob joined 07:21 yeahnoob left, yeahnoob joined, yeahnoob left 07:22 yeahnoob joined 07:28 jluis joined 07:38 yeahnoob left 07:41 adu left 07:44 andreoss joined
andreoss m: multi foo([]) {"empty"}; my @x = 1..*; say foo(@x); 07:45
camelia rakudo-moar 04ce88: OUTPUT«empty␤»
07:46 [Tux] left 07:47 [Tux] joined, virtualsue joined 07:48 andreoss left 07:51 donaldh left 07:52 yeahnoob joined 07:53 [Sno] joined 08:00 rurban joined 08:01 FROGGS joined 08:04 rindolf joined 08:07 zakharyas joined 08:08 zhanggong joined, zhanggong left, denis_boyun___ joined, zhanggong joined 08:09 zhanggong left, zhanggong joined, yeahnoob left, denis_boyun_ left, zhanggong left 08:11 yeahnoob joined 08:12 yeahnoob left, vike left, yeahnoob joined 08:13 yeahnoob left, yeahnoob joined, yeahnoob left, anaeem1_ joined 08:14 yeahnoob joined 08:21 [Tux] left 08:23 [Tux] joined 08:24 anaeem1__ joined 08:25 anaeem1_ left 08:31 darutoko joined 08:32 Sqirrel left 08:39 andreoss joined 08:46 Ugator left 08:53 yeahnoob left 09:00 salv0 joined 09:11 rurban left 09:14 abraxxa joined 09:16 denis_boyun___ left 09:18 telex left 09:20 uniejo joined, telex joined, pecastro joined 09:24 dakkar joined 09:27 virtualsue left 09:35 rurban joined 09:46 kjs_ joined 09:47 kjs_ left, dj_goku left 09:50 mvuets joined 09:52 kjs_ joined 09:58 IllvilJa left 10:09 TuxCM left 10:18 TuxCM joined, cognominal left
lizmat good *, #perl6! 10:18
JimmyZ good * 10:19
jnthn o/ 10:20
yoleaux 11 Jan 2015 17:25Z <lizmat> jnthn: looks like nqp::mkdir on moar doesn't fail if the actual mkdir fails, it does on parrot and jvm
11 Jan 2015 17:46Z <lizmat> jnthn: or perhaps I'm not understanding fail() correctly :-(
JimmyZ \o
lizmat JimmyZ jnthn \o 10:21
10:22 jluis left 10:24 dj_goku joined, dj_goku left, dj_goku joined, anaeem1__ left 10:25 bjz joined 10:32 anaeem1 joined
dalek kudo/newio: 5e000da | lizmat++ | src/core/IO/Socket.pm:
First steps of making IO::Socket a class
10:41
kudo/newio: ccf03bf | lizmat++ | src/core/IO/Socket/INET.pm:
Disable IO::Socket::INET during re-imagining
kudo/newio: dafbcd7 | lizmat++ | src/core/PIO.pm:
Add PIO.send/poll
lizmat jnthn: in PIO constants such as PF_LOCAL, what does the PF stand for ? 10:44
moritz the 'F' stands for 'Family', I think 10:45
lizmat ok, so PIO Family 10:46
jnthn lizmat: Dunno, but perhaps Protocol Family?
lizmat ah... ok :-)
jnthn swoolley.org/man.cgi/7/unix
moritz C code uses the same constants
jnthn www.gnu.org/software/libc/manual/ht...rmats.html also 10:47
dalek kudo/newio: 70f9ad5 | lizmat++ | src/core/PIO.pm:
Create ProtocolFamily/SocketType/ProtocolType enums
10:55
10:59 sqirrel joined
dalek ast/newio: ae17707 | lizmat++ | S02-types/WHICH.t:
Add some more classes
10:59
masak good noon, #perl6
11:01 virtualsue joined 11:10 jluis joined 11:13 andreoss left 11:14 andreoss joined
moritz \o masak 11:24
11:26 donaldh joined 11:27 uniejo left, Ugator joined, uniejo joined
timotimo .tell japhb i assume the perl5 part of perl6-bench is increasing the number of steps for the benchmark to do by 2x until it hits inf and then doesn't want to stop for some reason? 11:32
yoleaux 03:03Z <japhb> timotimo: I cannot recreate the rc-forest-fire problem you are seeing, with either rakudo-moar/nom or rakudo-jvm/nom.
timotimo: I'll pass your message to japhb.
11:33 cognominal joined, sirdancealot left
timotimo .tell perl6 .new() isn't like __init__ or __new__, it's like python's .frob or .blubber or .yoink; also, new calls bless calls BUILDALL calls BUILD unlike what geekosaur said, and skids wrongly wrote bless(*, ...), but the * as first argument is wrong nowadays 11:37
yoleaux timotimo: I'll pass your message to perl6.
timotimo damn 11:38
.tell adu perl6 .new() isn't like __init__ or __new__, it's like python's .frob or .blubber or .yoink; also, new calls bless calls BUILDALL calls BUILD unlike what geekosaur said, and skids wrongly wrote bless(*, ...), but the * as first argument is wrong nowadays
yoleaux timotimo: I'll pass your message to adu.
11:39 colomon left 11:43 colomon joined, uniejo left
FROGGS .frob or .blubber or .yoink ?? 11:44
moritz .tell adu see perlgeek.de/blog-en/perl-6/object-c...ation.html and doc.perl6.org/language/classtut#Constructors
yoleaux moritz: I'll pass your message to adu.
timotimo FROGGS: well, or any other method name you invent 11:45
FROGGS timotimo: but these names are typical conventions?
moritz no 11:48
just an indication that it's not special
11:48 rurban left, uniejo joined
timotimo correct, because __init__ is what gets called - eventually - when you do something like MyClass() 11:51
11:52 kaleem left
timotimo also, in python you have to explicitly call super's __init__, in perl6 the BUILDALL calls all BUILD subroutines for you 11:52
dalek kudo/newio: d4357b4 | lizmat++ | src/core/PIO.pm:
Streamline PIO.get/getc a bit
12:00
timotimo leaves again
12:06 uniejo left 12:13 kaare__ left 12:14 uniejo joined 12:18 diegok left 12:21 cognominal left 12:24 diegok joined 12:37 skids left
lizmat m: say List.end 12:38
camelia rakudo-moar 04ce88: OUTPUT«Memory allocation failed; could not allocate 163840 bytes␤»
lizmat something wrong there :-)
vendethiel hahahaha
missing a self:D?
lizmat yeah, probably, looking at the code now 12:39
dalek kudo/nom: 27c2d5a | lizmat++ | src/core/EnumMap.pm:
Make EnumMap.Bool/elems 5% faster

This therefore also applies to Hash.Bool/elems
12:41
kudo/nom: 6a3fc31 | lizmat++ | src/core/Any.pm:
Fix Any.end/elems
nwc10 lizmat: do you have any benchmark numbers yet for how awesome the awesomeness is? 12:42
lizmat apart from locally run one-liners, no 12:43
12:43 andreoss left, sqirrel left
moritz codegen question 12:44
for
nqp::p6bool(nqp::defined($!storage) && nqp::elems($!storage));
does that box the return value from nqp::defined($!storage) into an Int?
(because && wants a Perl 6 value)?
or is it smart enough to avoid that? 12:45
FROGGS is that perl6 code or nqp code?
lizmat I thought && was smart enough not to box ?
moritz FROGGS: Perl 6 code
FROGGS then it should not make sense to p6bool the result of an expression that uses && 12:46
err, I'm wrong
nvm
moritz any sequence of boxing + boolification (where the boxing is only used for the boolification) could be optimized
if it boxes right now
lizmat moritz: indeed
12:47 sqirrel joined
moritz and if it boxes right now, nqp::p6bool(nqp::defined($!storage)) && nqp::p6bool(nqp::elems($!storage)); should be even faster 12:47
because p6bool doesn't allocate
12:47 sunnavy joined
lizmat checks 12:48
moritz (unless we have boxed Ints for 0 and 1 cached, which would probably be a really good idea)
(but also requires some care with 'does' not messing up the boxed thing)
12:50 petercommand left 12:51 petercommand joined 12:52 leont joined 12:55 kaleem joined
jnthn moritz: && compiles into a QAST::Op if node. 12:58
lizmat indeed, moritz: your approach is slower
not much (like 2% or so)
jnthn: to verify: in nqp::p6bool(nqp::defined($!storage) && nqp::elems($!storage)); the && will not box, right ? 13:00
jnthn lizmat: Hopefully not. :) 13:04
lizmat: And if it does then we should improve code-gen so it doesn't
lizmat how can I check? 13:05
moritz agreed
jnthn You'd have to disassemble the generated bytecode
lizmat is not looking forward to that
13:05 rurban joined
lizmat do we have tools for that ? 13:05
jnthn moar --dump
And the .moarvm file
timotimo lizmat: it may very well be asier to cause spesh to become interested in the function you'd like to see and use the spesh log 13:06
get it interested by making it hot
lizmat well, it all seems very interesting, but I think I'll keep it to looking at simple benchmarks for now and see what is faster 13:07
because in the end, that's what we're after
lizmat tries not to get distracted too much
.oO( and is having a hard time not getting distracted )
jnthn Looks, squirrel! 13:08
*Look
lizmat what? where? :-)
donaldh jnthn: could you give me your thoughs on this gist gist.github.com/donaldh/91a212b38725642131be 13:09
timotimo donaldh: what the hell is :feature = 'broken' supposed to be :)
m: say (:feature = "broken").perl
camelia rakudo-moar 04ce88: OUTPUT«Cannot modify an immutable Pair␤ in block <unit> at /tmp/wDMBTo6AJ3:1␤␤»
timotimo m: say(:feature = "broken").perl 13:10
camelia rakudo-moar 04ce88: OUTPUT«Cannot modify an immutable Pair␤ in block <unit> at /tmp/LvmR443s6Y:1␤␤»
donaldh a golfed test case
jnthn donaldh: First of, really good find.
*off
timotimo it's kinda weird that that even parses :)
moritz timotimo: why? colonpairs are not special
jnthn timotimo: It's just term infix term :) 13:11
donaldh jnthn: it took me a while, getting misled by unrelated but obvious looking stuff.
lizmat std: say (:feature = "broken").perl
camelia std f9b7f55: OUTPUT«ok 00:00 138m␤»
moritz donaldh: ah, it dies before throwing X::NYI
even before calling X::NYI.new
timotimo inside an argument list, though?
13:11 yakudza joined
timotimo well, i suppose 13:11
an assignment is a term, too
moritz argument lists aren't (so) special
jnthn Right, the point really being that it's named args that are causing the issue. 13:12
donaldh oh, ignore the colonpair stuff.
jnthn I suspect a plain X::NYI.new().throw also doesn't serialize a Match
moritz donaldh: well, it makes your code equivalent to sub f() {
donaldh Yeah, it's the fatarrow, but only in certain situations.
moritz die "something";
}
lizmat m: say Any.keys.perl; say Hash.keys.perl # the latter feels wrong in view of the former
camelia rakudo-moar 04ce88: OUTPUT«().list␤Nil␤»
moritz lizmat: agreed
jnthn donaldh: I don't have a good feel for which is the right fix immediately; I'll think about it (though I slept badly last night and seem to have a cold, so I may not get to anything sensible today :)) 13:13
donaldh Sanitizing QAST nodes in the annotations will be problematic because I noticed data structure cycles. 13:14
I'm happy to implement 1 or 2. It really depends on what the desired semantics of shallow_clone should be.
Oh, and 2 exposes a method from QAST::Node in nqp to add_inlining_info_if_possible in rakudo 13:15
13:15 sirdancealot joined
jnthn 2 feels rightest at first thought; annotations are typically used during the Actions, and inlining info is used by the optimizer, and annotations are not meant to have an effect on the compilation process really. 13:18
dalek osystem: 6e40b4d | (Marcel Timmerman)++ | META.list:
Transfer of two modules

Update proposal because of transfer of two modules from bbkr to MARTIMM
osystem: 8f56999 | FROGGS++ | META.list:
Merge pull request #38 from MARTIMM/patch-1

Transfer of two modules
FROGGS ohh.... semver.org <3 13:22
arnsholt installs a Ubuntu 32-bit VM 13:24
FROGGS arnsholt++
13:25 sqirrel left
arnsholt One nice thing about VMs is that reading from CD is a lot faster when the CD is actually just file IO from an SSD =D 13:25
nine I have not installed an OS from optical media in a decade... 13:26
yoleaux 10 Jan 2015 15:24Z <ab6tract> nine: yes what? was that in response to a pragma which would choke/complain about overlapping signature constraints at compile time?
moritz FROGGS: fwiw I've generally given people with pull requests to repos in the 'perl6' org pull a commit bit in the 'perl6' team 13:29
FROGGS: since you are in the 'owners' team too, you could also do that :-)
FROGGS ahh, I tend to forget that :P
moritz no harm done
FROGGS will do that next time hopefully :o)
lizmat moritz: one could also argue that Any.keys.perl should be Nil 13:31
arnsholt nine: True. It's faster than USB too though =)
moritz arnsholt: aye
13:32 rurban left 13:33 raiph joined 13:35 kjs_ left
masak m: multi foo([]) { "Empty" }; my @x = 1...*; say foo(@x) # RT #123581 13:36
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=123581
camelia rakudo-moar 6a3fc3: OUTPUT«Empty␤»
masak m: sub foo([]) { "Empty" }; my @x = 1...*; say foo(@x)
camelia rakudo-moar 6a3fc3: OUTPUT«Empty␤»
masak m: sub foo([]) { "Empty" }; my @x = 1..*; say foo(@x) 13:37
camelia rakudo-moar 6a3fc3: OUTPUT«Empty␤»
masak that's... an excellent find. I'm a tiny bit envious :>
(Andrei Osipov)++
13:38 xfix joined 13:40 mvuets left
donaldh I've had brighter days. What's the bug? 13:42
13:42 zoosha joined 13:43 berekuk left
FROGGS donaldh: the bug title is: "Infinite lists match [] signature" 13:45
13:45 kjs_ joined
masak "yours truly" -- but the post isn't signed from what I can see... -- p6weekly.wordpress.com/2015/01/05/...-to-party/ 13:45
donaldh ah yes. What should match [ ] ?
masak donaldh: an empty Positional. 13:46
list, array, etc
jnthn m: (1..*).Capture.perl.say 13:47
camelia rakudo-moar 6a3fc3: OUTPUT«Capture.new(hash => {"excludes-max" => Bool::False, "excludes-min" => Bool::False, "min" => 1, "max" => Inf})␤»
jnthn ah
m: (my @a = 1..*).Capture.perl.say
camelia rakudo-moar 6a3fc3: OUTPUT«Capture.new()␤»
jnthn That's a golf.
masak o.O
masak adds that to the ticket
jnthn I think the conservative thing to do is to refuse to coerce an infinite thing to a Capture.
masak +1
jnthn That let's us revisit/liberalize in the future 13:48
But I don't want to have to deal with it this side of 6.0.0 'cus it goes deeper than it first looks...
lizmat masak: hmmm.... I expected it to say "liztormato" somewhere automagically 13:50
masak: it actually does, way at the bottom, next to the date 13:51
FROGGS true
masak lizmat: you don't need to change anything, but... I notice that 007 didn't make the cut...
lizmat I'll mention it this week :-) 13:52
masak lizmat: I guess it's up to me/us now to make it significant for Perl 6. that's definitely the idea anyway.
colomon moritz++
lizmat masak: tbh, I'm not sure of 007's significance for Perl 6, but I am aware of *your* significance :-) 13:53
masak from masak.github.io/007/ : "It has been designed with the purpose of exploring ASTs, macros, the compiler-runtime barrier, and program structure introspection." 13:54
all of which are essentially part of the macro grant/work.
lizmat m: set(1, 2) «+» set(3, 4) # why is this supposed to be illegal ? 13:59
camelia rakudo-moar 6a3fc3: OUTPUT«Type check failed in binding; expected 'Positional' but got 'Any'␤ in any bind_error at src/vm/moar/Perl6/Ops.nqp:224␤ in sub hyper at src/gen/m-CORE.setting:20210␤ in block at src/gen/m-CORE.setting:20060␤ in block <unit> at /tmp/NUpL8519b3:1…»
lizmat the error is wrong, but the test has a simple dies_ok()
masak lizmat: it would seem to me that doing hyper there would imply an ordering, which sets don't have. 14:00
14:00 pmurias_ joined, pmurias_ is now known as pmurias
lizmat ah, duh :-) 14:00
m: ("a" «~« set(<pple bbot rmadillo>).perl.say # should this be a Set as well ? 14:02
camelia rakudo-moar 6a3fc3: OUTPUT«===SORRY!=== Error while compiling /tmp/Mj8RGzhSmt␤Unable to parse expression in parenthesized expression; couldn't find final ')' ␤at /tmp/Mj8RGzhSmt:1␤------> rl.say # should this be a Set as well ?⏏<EOL>␤ …»
lizmat m: ("a" «~« set(<pple bbot rmadillo>)).perl.say # should this be a Set as well ?
camelia rakudo-moar 6a3fc3: OUTPUT«("pple" => "aTrue", "bbot" => "aTrue", "rmadillo" => "aTrue").hash␤»
lizmat woah
moritz uhm
I thought sets were item-like? 14:03
lizmat yeah, ok, TODO test
moritz and thus hypers shouldn't enter them
masak moritz: that bothered me as well.
14:03 Rounin left
masak moritz: but I guess the same argument could be made for [] 14:03
lizmat ok, I guess I just opened another can of worms :-(
masak m: say ("a" <<~<< [<apple bbot rmadillo>]).perl
camelia rakudo-moar 6a3fc3: OUTPUT«("aapple", "abbot", "armadillo").list␤»
masak m: say ("a" <<~<< [<pple bbot rmadillo>]).perl 14:04
camelia rakudo-moar 6a3fc3: OUTPUT«("apple", "abbot", "armadillo").list␤»
masak moritz: [] is item-like, and yet, the above works.
moritz ah, right
masak but it's a bit of a slippery slope, what lizmat wants to make work 14:05
like `"a" <<~<< $set` has a well-defined semantics 14:06
but `("a", "b") <<~<< $set` doesn't
lizmat I'll keep that for another day
14:13 Ovid joined, Ovid is now known as CurtisOvidPoe 14:14 xinming left 14:20 xinming joined
leont is still looking for a roommate for FOSDEM, anyone else looking for one? 14:21
woolfy: Schedule? ;-)
nwc10 leont: was leonerd? I have no idea 14:22
woolfy leont: El_Che and I are working on that right now.
leont Cool
colomon moritz++ 14:30
moritz colomon++ # fixing author listing on smoke.perl6.org/report
14:43 Gruber joined, Alina-malina left
[Coke] what order are the modules in on smoke.perl6.org/report ? 14:43
PerlJam Um, I have a question about smoke.perl6.org/report ... What does "Tests fail" really mean? I noticed that my little Questhub thingy was showing "Passes all tests" until Jan 11, where it showed as "Tests fail". Which tests are these that are failing as that repo has no tests.
14:44 Alina-malina joined, adu joined 14:46 nyuszika7h joined 14:47 cognominal joined 14:48 adu left 14:49 haroldwu_ joined, haroldwu_ left
dalek kudo/nom: 49a0bf5 | lizmat++ | src/core/EnumMap.pm:
Remove unneeded "as Str" specification
14:54
kudo/nom: b55db85 | lizmat++ | src/core/ (11 files):
Make .keys/kv/values/pairs/invert multi methods

This will also make all of these methods return an empty list on a type object. Should we decide that these methods should return Nil on type objects, this can now be easily achieved by changing the U: candidates in Any.pm
14:58 Alina-malina left 14:59 spider-mario joined, Alina-malina joined, Alina-malina left, Alina-malina joined 15:03 skids joined 15:05 Sqirrel joined 15:14 telex left 15:16 telex joined
[Coke] pings masak w/ github.com/masak/ufo/pull/21 15:17
15:18 uniejo left
masak [Coke]: applied. thanks. 15:20
15:21 adu joined 15:22 adu left 15:24 kaleem left
leont My code is broken by rakudo update 15:26
Seems the namespace issue I hit when precompiling is now also affecting non-compiled code. Guess I need to clean up my code. 15:27
lizmat leont: can you gist the error?
leont 􏿽xABCould not find symbol '&Proc'􏿽xBB, I'm nesting namespaces in ways I apparently shouldn't 15:28
vendethiel told me that much in Salzburg after looking at it, but I never got around to doing it 15:31
Guess I have no choice now
15:31 mephinet left 15:32 mephinet joined
lizmat leont: could be a new bug, so a golfed gist would be appreciated 15:34
leont ok, will look at it
15:34 Gruber is now known as Grrrr
leont False alarm, was working on an unclean checkout apparently. Sorry for the noise. 15:37
lizmat *phew* :-) 15:38
vendethiel doesn't remember :P 15:39
dalek kudo/nom: af6200a | lizmat++ | src/core/ (10 files):
Make all .at_key multi method with signature
15:40
leont Async IO still seems the same issues it had 2 months ago though
Should look at openpipe, but I don't see it documented anywhere
15:42 andreoss joined
leont Getting the impression it's a nqp-only thing 15:42
15:42 sqirrel_ joined
andreoss m: my @x; @x[0] = 1; say @x[0] == @x[0][0]; 15:43
camelia rakudo-moar b55db8: OUTPUT«True␤»
andreoss why?
FROGGS m: say 1 == 1[0]
camelia rakudo-moar b55db8: OUTPUT«True␤»
leont Guess I'll have to do with qx and friends􏿽x85
[Coke] will be near detroit a few days this month if anyone is near there. 15:44
andreoss m: my @x; @x[0][0][0] = 3; say @x[0][0][0] == @x[0];
camelia rakudo-moar b55db8: OUTPUT«False␤»
geekosaur akron is only conceptually near detroit >.>
andreoss m: my @x; @x[0] = 3; say @x[0][0][0] == @x[0];
camelia rakudo-moar b55db8: OUTPUT«True␤»
15:48 uniejo joined
FROGGS [0] on an object is always itself, unless it implements [...] differently... 15:53
lizmat fwiw, I can see andreoss's point
FROGGS m: say 1.list == 1 # see also
camelia rakudo-moar b55db8: OUTPUT«True␤»
lizmat m: my $a; $a[0] = 3; say $a 15:54
camelia rakudo-moar b55db8: OUTPUT«3␤»
FROGGS m: say 42.elems # also
camelia rakudo-moar b55db8: OUTPUT«1␤»
andreoss omg. why such thing was done? 15:55
vendethiel you need $a == $a[0] for autovivification
andreoss who needs indexing on scalars?
vendethiel it's so that you can treat any scalar as a list
FROGGS the three shown weirdnesses ([0], .list and .elems) are there to make it easy to iterate recursively of lists that contain items somewhere deeper
so you can always call .list, and don't have to check if it actually is a list when iterating over it 15:56
osfameron k 16:00
bah, mischan
ugexe m: my @x; @x[0][0][0] = 3; say @x.perl; my @y; @y[0] = 3; say @y.perl
camelia rakudo-moar b55db8: OUTPUT«Array.new([[3]])␤Array.new(3)␤»
16:02 [Sno] left, petercommand left, anaeem1 left 16:03 petercommand joined, petercommand left, petercommand joined 16:04 kaleem joined
andreoss m: sub foo(\n,\m) {return if (m <= 0) && (n >= 0);} 16:08
camelia rakudo-moar b55db8: OUTPUT«===SORRY!===␤Unrecognized regex metacharacter = (must be quoted to match literally)␤at /tmp/ytTvy0wfmf:1␤------> sub foo(\n,\m) {return if (m <⏏= 0) && (n >= 0);}␤Unrecognized regex metacharacter (must be qu…»
16:08 molaf joined
andreoss m: sub foo(\n,\z) {return if (z <= 0) && (n >= 0);} 16:08
camelia ( no output )
16:10 andreoss left 16:11 jluis left 16:12 anaeem1 joined
dalek kudo/nom: e320eb4 | lizmat++ | src/core/ (7 files):
Make .exists_key a multi and some opts
16:12
16:13 jluis joined 16:16 uniejo left
leont My code segfaults moar when I precompile -_- 16:16
16:16 mr-foobar joined
colomon is pretty much always near Detroit in the #perl6 sense, though in practice it's 2 hours drive away in the opposite direction as Akron. 16:16
lizmat leont: are you precompiling with CompUnit.new(..).precomp ? 16:18
leont Probably not, I'm doing something I copied from panda a few months ago 16:19
E.g. 􏿽xABperl6 -Ilib --target=mbc --output=lib/TAP/Entry.pm6.moarvm lib/TAP/Entry.pm6􏿽xBB
lizmat could you try: 16:20
perl6 -Ilib -e 'CompUnit.new('lib/TAP/Entry.pm6').precomp'
perl6 -Ilib -e 'CompUnit.new("lib/TAP/Entry.pm6").precomp'
16:21 gfldex joined
leont Same result 16:22
lizmat is it on github? 16:23
leont yes, github.com/Leont/tap-harness6 16:24
16:25 rurban joined
lizmat leont: compiles with me on OS X without problem :-( 16:26
leont It compiles ok here, but it doesn't run (I was ambiguous before) 16:28
lizmat ok, do you have a one liner that I can run myself?
japhb .botsnack 16:30
yoleaux 11:32Z <timotimo> japhb: i assume the perl5 part of perl6-bench is increasing the number of steps for the benchmark to do by 2x until it hits inf and then doesn't want to stop for some reason?
:D
leont perl6 -Iblib/lib bin/prove6 t/generator.t
(assuming precompiled libs are in blib/lib) 16:31
japhb timotimo: The problem is that, well ... that shouldn't happen with any test that does real work. Which indicates the test itself is failing, but somehow in a way that does not trigger the stress-test cutoff (in which it notices a test always failing at a given SCALE and stops trying).
16:33 kaleem left
leont t/{source-file,string}.t also segfault, t/generator{,-more}.t don't. Haven't figured out yet why. 16:33
japhb Ah, I see the issue. Two brainos. 16:35
lizmat leont: trying to compile Harness gives me "No such method 'resolve' for invocant of type 'Parameter'"
investigating 16:36
hmmm...seems Result needs to be compiled first, so this was an LTA error 16:37
dalek rl6-bench: 7dbbb69 | (Geoffrey Broadwell)++ | timeall:
No point in having max_failures >= runs; it would never trigger.
16:40
japhb .tell timotimo Try 7dbbb69 . :-)
yoleaux japhb: I'll pass your message to timotimo.
lizmat now getting No STable at index 10
lizmat hopes jnthn will be able to make sense of this 16:41
16:43 mvuets joined 16:46 zakharyas left 16:47 FROGGS left
lizmat m: class A { multi method a(int $a) { say "int" }; multi method a($a) { say "other" } }; A.new.a(1) # why is this dispatching to Any ??? 16:47
camelia rakudo-moar af6200: OUTPUT«other␤»
arnsholt m: 1.WHAT.say 16:48
camelia rakudo-moar af6200: OUTPUT«(Int)␤»
lizmat m: say int.^mro # but but
camelia rakudo-moar af6200: OUTPUT«(int) (Int) (Cool) (Any) (Mu)␤»
arnsholt IIRC int extends int, so that's why
lizmat ah, ok 16:49
lizmat got it topsy tury again
16:49 donaldh left
arnsholt Yeah, this is the kind of stuff that's easy to get askew when it's so obvious what should happen 16:49
tony-o m: say 1 ~~ int 16:51
camelia rakudo-moar af6200: OUTPUT«False␤»
lizmat apparently, there is a whole set of candidates in array_slice that will never get called
because they have "int" in the signature
16:53 pmurias left 16:54 gcole joined
japhb lizmat: That doesn't mean you can't call with int. Checking ... 16:54
16:55 kaleem joined
japhb m: multi foo(Int $i) { say "Int" }; multi foo(int $i) { say "int" }; my int $a = 1; foo($a); 16:56
camelia rakudo-moar af6200: OUTPUT«int␤»
japhb There you go.
lizmat m: multi foo(Int $i) { say "Int" }; multi foo(int $i) { say "int" }; my int $a = 1; foo(1);
camelia rakudo-moar af6200: OUTPUT«Int␤»
lizmat feels to me that should dispatch to "int" 16:57
japhb The fact that a constant integer is always interpreted as Int and not int is a different issue, but yeah, seems like you'd want the (presumably) optimized variant.
lizmat m: multi foo(Int $i) { say "Int" }; multi foo($i) { say "int" }; my int $a = 1; foo($a);
camelia rakudo-moar af6200: OUTPUT«Int␤»
lizmat m: multi foo($i) { say "Int" }; multi foo(int $i) { say "int" }; my int $a = 1; foo($a);
camelia rakudo-moar af6200: OUTPUT«int␤»
lizmat hmmm.... 16:58
arnsholt That'd require all kinds of shenanigans in the compiler though
How do you know if a 1 is int or Int?
japhb arnsholt: static optimization
lizmat well, I sorta expected that to optimize
yes
jnthn Note we have to be REALLY careful about literals dispatching to native candidates 16:59
lizmat for integers as well ?
arnsholt Oh, goody. I was about to ask you for a second opinion, jnthn =)
jnthn integer literals, yes 17:00
japhb m: multi foo(Int $i) { say "Int" }; multi foo(int $i) { say "int" }; foo(my int $ = 1);
camelia rakudo-moar af6200: OUTPUT«int␤» 17:01
japhb ^^ workaround
Kinda hokey though
jnthn The rule basically is that you should have at least one parameter declared as a native.
japhb: In real code you're probably not doing it with literals :P
We had bugs in the past involving the optimzier too eagerly picking native int candidates, and then getting data loss when Int woulda got the right answer. 17:02
japhb When you say "at least one parameter declared as native", I'm not sure what you mean (because I'm not sure if 1. you meant "argument", or 2. I'm horribly confused) 17:03
lizmat but the upshot of this is, that @a[1] is *not* taking the "int" candidate in array_slice
jnthn japhb: In src/Perl6/Optimizer.pm, search for allomorph
lizmat so I'm wondering whether it would make sense to create separate Int candidates, or make the current int -> Int candidates 17:04
jnthn And read the code around that area. It's not that much, but it's a more precise description than I'm likely to come up with today :)
leont lizmat: yeah, in my Makefile I have them ordered
jnthn lizmat: Well, the typical Perl 6 user will likely not be using native types, to the degree that helps... 17:05
And if they are, they'll probably be using native arrays in with them.
17:06 [Sno] joined, mvuets left
skids
.oO(I know I'm not typical but 95% of what I want to do involves interfacing with native types, mostly packet fields)
17:07
lizmat m: my @a; @a["foo"]
camelia rakudo-moar af6200: OUTPUT«Cannot call 'Real'; none of these signatures match:␤:(Mu:U \v: *%_)␤ in method Real at src/gen/m-CORE.setting:4152␤ in sub infix:<<> at src/gen/m-CORE.setting:4663␤ in sub postcircumfix:<[ ]> at src/gen/m-CORE.setting:2768␤ in block <unit> at…»
lizmat m: my @a; @a["foo".Int] # better error
camelia rakudo-moar af6200: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏foo' (indicated by ⏏)␤ in method Int at src/gen/m-CORE.setting:13937␤ in method Int at src/gen/m-CORE.setting:6229␤ in block <unit> at /tmp/vBuhFTR6JS:1…»
japhb I wonder if we should s/indicated by/starting at/ to increase the awesome 17:09
jnthn: If I'm reading that code right, you can only dispatch a literal integer to an int multi if it only has one argument, or if it has two and one of them is typed as int. No more than two parameters can usefully be used for a native-typed variant. 17:11
jnthn japhb: Sounds like it may want generalizing in the future, but yeah, that would be good enough for all of the various native int built-in operators. 17:15
jdv79 ugexe: around? 17:21
ugexe yeah
jdv79 what "uri commit" are you refering to in github.com/sergot/http-useragent/issues/38? 17:22
ugexe 'quickfix: use URI;' 17:23
jdv79 thanks
gtodd skids: that seems fairly typically atypical 17:28
++ packets and internetty thingies 17:29
17:30 ingy joined
ugexe i get those 'no such method resolve' errors when i precompile modules out of order. for whatever reason you can often precompile a module before precompiling its dependency (but not always) 17:31
jnthn It's meant to explicitly disallow it :/
17:32 sqirrel_ left 17:33 kaleem left 17:35 virtualsue left 17:37 kaare__ joined 17:40 rmgk is now known as Guest40212, rmgk_ joined, Guest40212 left, rmgk_ is now known as rmgk
CurtisOvidPoe Is there a declarative way to say “this object attribute is required”, or must I write a BUILD submethod? 17:41
TimToady has $.foo = !!! '$.foo is required'; 17:42
or die
has $.foo = die '$.foo is required';
CurtisOvidPoe Thank you!
TimToady someone might have attempted a trait to add that 17:43
arnsholt Oh, neat!
Didn't know !!! took an argument
TimToady or we'll probably get some sugar with macros eventually
it's not like it saves keystrokes over 'die'
but perhaps it reads better 17:44
being more "stubby"
jnthn is sure he's written that trait at least twice to show folks how to do it...
TimToady obviously you didn't do it right the first time... :P 17:45
lizmat well, if people ask for it so often, maybe it needs to be in core ?
17:45 kjs_ left
TimToady it's kind of on the edge 17:45
so probably worth a 'use' 17:46
17:47 kjs__ left
jnthn It's not like there's one obvious way to do it either, I guess... 17:47
lizmat well, that goes for "is cached" as well, and we put that in code 17:48
*core
TimToady m: class Foo { has $.foo is rw = ... '$.foo is required' }; my $f = Foo.new; $f.foo = 42; say $f.foo 17:49
camelia rakudo-moar e320eb: OUTPUT«$.foo is required␤ in method <anon> at src/gen/m-CORE.setting:13945␤ in any find_method_fallback at src/gen/m-Metamodel.nqp:2737␤ in any find_method at src/gen/m-Metamodel.nqp:988␤ in block <unit> at /tmp/qFwAMd2M6u:1␤␤»
TimToady maybe lazily-loaded traits?
if most programs won't use a trait, maybe loading the bodies can be deferred, just leave the name there as an autoload stub 17:50
dalek p/parrot-rpa: f6d965a | rurban++ | / (7 files):
Replace unneeded QRPA with ResizablePMCArray
nqp/parrot-rpa: 796c3be | rurban++ | tools/build/Makefile-Parrot.in:
nqp/parrot-rpa: Makefile-Parrot: simplify ops2c rule, no chdir needed
17:50 dalek left 17:51 dalek joined, ChanServ sets mode: +v dalek
TimToady remembers making p5 rather faster by putting slow stuff out into utf8_heavy 17:51
arnsholt Is nqp/Configure.pl's --with-moar option somehow not working? 17:52
TimToady another consideration is that traits are mostly used at compile time, and could probably be thrown away instead of serialized, if any run-time use would just reload
so autoloading traits might debloat both setting and precomps 17:54
17:56 gcole left
vendethiel autoloading, as in "you use X::Y::Z, let me look in @*INC for them"? 17:56
dalek kudo/nom: 25956c3 | lizmat++ | src/core/array_slice.pm:
@a[1] uses Int candidate, @a["foo"] better error
17:57
TimToady vendethiel: more like, I already know which one I *would* pull in, if asked for
one of those spots where we try to separate identity from operational defs 17:58
any such trait coming from the standard library should have a fixed identity already
and @*INC should have very little to do with it 17:59
@*INC is really supposed to be only for developers, not for users
vendethiel right, implementation detail
TimToady realizes he's fighting a great deal of culture here 18:00
well, except insofar as it's the *wrong* implementation :P
lizmat TimToady: could you elaborate on that?
TimToady if it doesn't nail down the identity, it's wrong
that's what S11 is mostly trying to say 18:01
vendethiel lizmat++ # weekly
lizmat vendethiel: thanks for the nudge :-)
TimToady if the *user* can change the identity of things in the standard libarary, you have no security
and for some reason people are worrying a bit more about security these days 18:02
so if PERL6LIB can change which standard library you're loading, you have a lovely 0-day exploit 18:03
this is why I keep harping about identity and immutability in the standard library 18:06
geekosaur only if yu can inappropriately inject envars, which is itself a lovely 0day
if I am at a command line, it's a faster version of me downloading and installing my own perl6
TimToady well, root priviledge escalation, for setuid stuff 18:07
geekosaur your standard library does not execute with elevated privileges, after all
true, root wants to scrub envars... but PERL6LIB is kinda the least of what I'd worry about there
TimToady but more to the point, the standard library is kind of part of the language definition, and allowing it to be mutable is accidental genericity at the top of your Perl 6 program, which is verbotten 18:08
you can't maintain a language if the user's are running a different language than you think they are
s/"'"// 18:09
er, :2nd
18:09 go|dfish joined
TimToady same reason we've always rejected .perlrc files from the very beginning of the development of Perl 18:10
vendethiel perlrc as in "perl config"?
TimToady yeah
vendethiel what would that configure, though, even if it existed? 18:11
TimToady anything an explicit 'use' could
vendethiel stuff like old $) $] variables?
alright.
huf isnt there some .pl file you can drop somewhere in @INC?
TimToady but implicitly
huf one that can load whatever it wants
TimToady if you say "use MyStupidModule;" then you've declared that you want your brain to melt and run out your nose, and that's fine because it's explicitly declared 18:12
vendethiel i'm not sure why you consider taht that an exploit
TimToady writing in a different language than you think you are means you can have breakage of invariants you thought you could rely on for security 18:13
18:14 kjs_ joined
TimToady maybe it's not an exploit without a little help, but there are lot of folks out there who are willing to help with that... :/ 18:14
vendethiel alright. 18:15
18:15 mvuets joined
lizmat huf: you can create your own CompUnitRepo object and put that in @*INC 18:16
TimToady it's the moral equivalent of persuading someone to put "use TrustMe;" at the front of their script without checking it out
18:16 Sqirrel left 18:17 dakkar left 18:20 jluis_ joined 18:21 Sqirrel joined 18:25 adu joined 18:33 leont left, anaeem1 left
arnsholt crosses fingers 18:38
I wonder if Rakudo/Moar will build in a VM with a gig of memory
jdv79 i did it with 1.5 last week 18:39
arnsholt Ah, cool. Might work then 18:40
And it's 32-bit, so pointers are a bit smaller
dalek kudo-star-daily: a8a8795 | coke++ | log/ (10 files):
today (automated commit)
kudo-star-daily: ae543c8 | coke++ | log/ (9 files):
today (automated commit)
rl6-roast-data: 06b2c7a | coke++ | / (5 files):
today (automated commit)
rl6-roast-data: 4b4be1d | coke++ | / (5 files):
today (automated commit)
18:44 bsk176 joined
jnthn arnsholt: Actually, pointers are 32 bits smaller... :P 18:44
[Coke] Testing modules/Grammar-Profiler-Simple with /home/coke/sandbox/rakudo-star-daily/star-jvm/rakudo-star-daily/install/bin/perl6-j... 18:46
java.lang.StringIndexOutOfBoundsException: String index out of range: -3
18:46 cognominal left
[Coke] looks like lots oof jvm module failures today. 18:47
*of
(on R*)
moritz [Coke]: I'd guess this is somebody trying to Match.to from a failed match object for string indexing
18:47 zakharyas joined 18:48 davido_ left
[Coke] why woudl it fail only on JVM & not moar, then? 18:48
18:48 davido_ joined
moritz no idea 18:48
TimToady P6 should never see a failed Match object, since Nil or () is supposed to be returned for match failure 18:50
moritz oh right
things changed
[Coke] these modules have jvm-only failures: Grammar-Profiler-Simple, uri, perl6-lwp-simple, json, Bailador, Template-Mojo 18:51
18:52 berekuk joined 18:53 anaeem1_ joined
nwc10 arnsholt: of course it will. Did you mean "a gig and no swap" ? :-) 18:53
TimToady perhaps "before the heat death of the universe" was implied 18:54
nwc10 or even "before Perl 6 is released" 18:55
TimToady a slightly lower bar
nwc10 (which will be much sooner. I hope. In that, I'm not assuming that the heat death is any time soon)
:-)
TimToady or higher, depending on how you measure 18:56
nwc10 Last time I tried, the Raspberry Pi finished within a bounded amount of time
(I forget if it was 8 hours or 24.)
TimToady "many"
nwc10 but not so many that the spec moved. 18:57
TimToady either Galileo or Einstein might have opinions on that 18:58
G wrt movement, and E wrt simultaneity... 18:59
[Coke] tenses.
TimToady I'm sure someone has a physick for that
gtodd Economic Policy Wonks say: with the pace of innovation accelerating ....
" chances are that by 2016 raspberry pi key fobs with perl6 preinstalled will be on amazon ..." 19:00
TimToady and on E-Bay a couple days later
gtodd hehe
jercos AM33x isn't really destined for keyfob use imo... neat concept though. 19:03
19:08 anaeem1_ left
gtodd that never stopped an Economic Policy Wonk :) 19:09
19:10 virtualsue joined, FROGGS joined, anaeem1_ joined
jercos then again, they might put the raspi name on a different device too... 19:11
just look at all the random chips are are "arduino" now :)
19:13 gcole joined
arnsholt nwc10: To be honest, I haven't a clue if it has swap or not 19:13
I didn't look to closely, just installed a plain Ubuntu server in a Virtualbox =)
Anyways, it built and passed make test 19:14
jdv79 impressive 19:15
arnsholt (Incidentally, that use of "build" is likely idiosyncratic to developer communities and weird to others)
lizmat has started on the p6w, but is going to have dinner first 19:16
19:17 araujo joined, araujo left, araujo joined 19:18 bsk176 left 19:19 pecastro left 19:25 zakharyas left 19:29 sirdancealot left
moritz what's p6w? 19:29
PerlJam perl 6 weekly 19:30
hobbs p6weekly.wordpress.com/
colomon has been forgetting to read that... 19:35
timotimo colomon: i haven't posted for a few weeks now :) 19:40
yoleaux 16:40Z <japhb> timotimo: Try 7dbbb69 . :-)
timotimo lizmat was kind enough to hop in while i'm distracted with life stuff 19:41
19:42 rindolf left
moritz is there a semantic difference between sub f(Int) { } and sub f(Int $) { } ? 19:42
(imagine a non-empty body, if necessary)
(and maybe with another type constraint) 19:43
19:43 kill joined, kill is now known as amkrankruleuen, sqirrel_ joined, amkrankruleuen left, amkrankruleuen joined
moritz I'm reviewing github.com/rakudo/rakudo/pull/302 and try to find out whether it makes sense 19:44
m: class A { method x(*@a) { say 1 for @a } }; class B is A { method x(Any) { nextsame } }; B.x((42, 23)) 19:45
camelia rakudo-moar 25956c: OUTPUT«1␤1␤»
moritz m: class A { method x(*@a) { say 1 for @a } }; class B is A { method x(Any $) { nextsame } }; B.x((42, 23))
camelia rakudo-moar 25956c: OUTPUT«1␤1␤»
psch m: sub foo ($) { }; &foo.signature.say; sub bar(:$) { }; &bar.signature.say # moritz 19:46
camelia rakudo-moar 25956c: OUTPUT«:(Any)␤:(Any :($))␤»
psch 302 removes that inconsistency
*PR
also hi #perl6 \o
moritz m: sub f(:($)) { }; say &f.signature.perl 19:48
camelia rakudo-moar 25956c: OUTPUT«:(Any :($) (Any))␤»
19:49 kjs_ left
moritz didn't even know :($) was allowed 19:49
19:49 dylanwh joined
colomon "<=> on lists should distribute to elements" WAT?!?!!! 19:50
moritz colomon: that's basically lexicograph sorting
erm, ordering
($a, $b, $c) <=> ($d, $e, $f) becomes ($a <=> $d) || ($b <=> $d) || ($c <=> $f)
colomon sure
but doesn't doing that violate standard p6 procedure on operators very badly? 19:51
moritz you mean because <=> should force numeric context?
colomon yes
moritz hm, good point
colomon was infix:<leg> also changed? 19:52
moritz psch: your example doesn't seem to be changed by the pull request
psch: I merged it locally, and I still get :(Any $) \n :(Any :($)) \n 19:53
psch moritz: recheck with camelia, currently the anon positional just gets ":(Any)"
moritz oh 19:54
hm
I'm not sure it's a win though
the point of anonymous positional parameters is that the names don't matter
but I guess it doesn't hurt either
19:55 geekosaur joined
moritz m: sub f(@) { }; say &f.signature.perl 19:55
camelia rakudo-moar 25956c: OUTPUT«:(@)␤»
dalek kudo/nom: 1c097d4 | peschwa++ | src/core/Parameter.pm:
Return bare $-sigil for anonymous parameters.

Parameter.perl previously didn't return a $-sigil for anonymous positional parameters without post-constraints. This patch fixes that.
kudo/nom: 107a5c2 | moritz++ | src/core/Parameter.pm:
Merge branch 'more-param-perl' of github.com:peschwa/rakudo into nom
moritz psch++
psch the anon array was gonna be my next example. i agree that names don't matter but leaving out the sigil seems weird if it's only the scalar case 19:56
and leaving them out for all is asking for confusion i guess
m: sub f($ where * > 1) { }; &f.signature.say
camelia rakudo-moar 25956c: OUTPUT«:(Any $ where { ... })␤»
psch that's another inconsistency, with post-constraint the $ is back again
...but i guess the points been made :) 19:57
moritz++
moritz timotimo: you have several open rakudo pull requests 19:58
timotimo: what's up with them? do they need discussion?
timotimo: if not, you can merge or close yourself :-)
19:59 kjs_ joined
timotimo oh, i do? 20:01
how many years old? :)
moritz timotimo: 1.5 20:02
20:04 woolfy left 20:08 woolfy joined
timotimo threw out two 20:08
that makes it a bit better
[Coke] gets a sql error on a 100 line query with no line number. arglebargle. 20:10
(sorry, 250 line) 20:11
timotimo wow
20:12 silug left
masak has been happily writing Perl 6/DBIish/sqlite3 for the past few days 20:12
jnthn urgh
20:12 silug joined
arnsholt masak++ # Actual Perl 6 code! 20:13
20:13 bjz left
masak I expect to involve HTML output before long. 20:13
hoping to blog about it, too.
arnsholt Even more awesomer! 20:15
masak arnsholt: did you see the timings I posted yesterday? gist.github.com/masak/0714a0d412f2ab4e5f12 -- that was fun.
got the script down from 38k requests and 48 minutes to 78 requests and 3.5 minutes. 20:16
jnthn m: class class {}; say class.new.perl 20:17
camelia rakudo-moar 25956c: OUTPUT«===SORRY!=== Error while compiling /tmp/11nWiHJu_B␤Unable to parse class definition␤at /tmp/11nWiHJu_B:1␤------> class class {}; say class⏏.new.perl␤ expecting any of:␤ generic role␤»
jnthn std: class class {}; say class.new.perl
camelia std f9b7f55: OUTPUT«ok 00:01 137m␤»
arnsholt masak: With request being DB queries?
masak arnsholt: yes, right. insert statements, in this case.
arnsholt Neat!
This november++ you're hacking on, or something else? 20:18
20:18 sqirrel_ left
masak something else -- but I bet I'll be able to use this knowledge a bit for November, too. 20:18
20:18 bjz joined
masak or November++, or whatever. December. 20:18
arnsholt I almost called it december, but decided not to in case it was too internal to my own logic =D 20:19
20:19 darutoko left
masak no, the thought has occurred to me. 20:19
arnsholt Very cool at any rate! All of the upboats for large(r?)-scale Perl 6 things
20:23 fwilson left, clkao left 20:24 mephinet left, kjs_ left, flussence left 20:25 fwilson joined, woolfy left, [Tux] left, lsm-desktop left, bcode left, yogan left 20:26 dylanwh left, integral left, kaare__ left 20:27 bcode joined
jnthn TimToady: In design.perl6.org/S12.html#Invocants it says: 20:28
Note that the self function is not context sensitive and thus always returns the current object as a single item even in list context.
However, we've more generally in the language concluded that sigilless things do *not* tend to imply any additional context.
20:28 clkao joined
jnthn Thus why |$c became |c 20:29
moritz also 'self' is not a function
jnthn So this bit of spec feels rather fossil-ish to me. Not to mention I've no idea how to implement it.
moritz: Very true also. It's just a normal lexical
20:29 yogan joined
jnthn Which makes it even stranger. :) 20:29
moritz let's just say it's a term
jnthn *nod*
moritz which is implementation-independent 20:30
20:30 lsm-desktop joined
jnthn Right. 20:30
moritz so, what would be a saner way?
self is just the invocant, without any additional (de)containerization 20:31
20:31 flussence joined
jnthn Something like that 20:31
Or
"The C<self> term refers to the invocant as it was received, without any item or list context being enforced on it."
20:31 dylanwh joined
moritz +1 20:31
TimToady I'm fine with just assuming it was declared \self
20:32 [Tux] joined
masak that sounds very sane. 20:32
jnthn TimToady: That's also a nice way to define it. And maps pretty much exactly to how it's implemented.
OK, I'll tweak S12 and then rt.perl.org/Ticket/Display.html?id=111914 can go away
20:33 woolfy joined
moritz ++jnthn 20:33
20:33 integral joined, integral left, integral joined 20:34 mephinet joined
timotimo does our http client lib do redirections properly yet? 20:35
20:36 vike joined, kjs_ joined 20:39 molaf left 20:40 bjz left
dalek ecs: 8284cda | jnthn++ | S12-objects.pod:
Correct spec of context aspects of the self term.
20:40
20:40 cognominal joined
dalek ast: 0ffea18 | jnthn++ | S12-methods/instance.t:
Test for self not enforcing item context.
20:44
20:45 kjs_ left
masak timotimo: TIAS? 20:49
moritz huh, lots of r-m spectest failures for me :(
20:49 timotimo left
moritz with moar and nqp master 20:49
jnthn I get S02-types/array.t, S02-types/set.t, and S06-signature/types.t having failures since my last run a couple of days ago. 20:52
20:53 timotimo joined
moritz m: say Metamodel::ClassHOW 20:55
camelia rakudo-moar 107a5c: OUTPUT«(Perl6::Metamodel::ClassHOW)␤»
timotimo i flew off the server :( 20:56
moritz m: so so Int.HOW ~~ Metamodel::ClassHOW 20:57
camelia ( no output )
moritz m: say so Int.HOW ~~ Metamodel::ClassHOW
camelia rakudo-moar 107a5c: OUTPUT«True␤»
jnthn std: class class {}; say class.new.perl 20:58
camelia std f9b7f55: OUTPUT«ok 00:01 137m␤»
moritz m: say Int.^methods(:all).pick.name
camelia rakudo-moar 107a5c: OUTPUT«hash␤»
moritz m: say Int.^methods(:all).pick.name
camelia rakudo-moar 107a5c: OUTPUT«sin␤»
jnthn TimToady: I can't work out why STD mangaes to parse the "class.new.perl"
TimToady: I just added keyspace to Rakudo's grammar, and then tweaked our package_declarators to call that after the sym 20:59
20:59 kjs_ joined
jnthn TimToady: However, now it explodes with "Whitespace required after keyword" 20:59
21:00 kst` is now known as kst, telex left
timotimo what is keyspace? 21:01
21:02 telex joined
timotimo hmm. i don't expect rakudo's grammar would benefit from this optimization at all, but i've been pondering - for a bit now, actually - how to implement "after a fixed length beginning, this regex has a constant string, so we can just go boyer-moore for the literal and skip back a bit" 21:02
jnthn A token in STD
std: /$^ /
camelia std f9b7f55: OUTPUT«ok 00:00 136m␤»
jnthn std: /$. /
camelia std f9b7f55: OUTPUT«===SORRY!===␤Unsupported use of $. variable; in Perl 6 please use the filehandle's .line method at /tmp/HLmaPIZ9px line 1:␤------> /$.⏏ /␤Parse failed␤FAILED 00:00 136m␤»
21:03 bjz joined
moritz m: class A { }; A.^add_fallback(-> $, $ { 1 }, -> $, $ { sub (|) { say 42 }); A.blerg 21:03
camelia rakudo-moar 107a5c: OUTPUT«===SORRY!=== Error while compiling /tmp/E5fQW2jq0F␤Unable to parse expression in block; couldn't find final '}' ␤at /tmp/E5fQW2jq0F:1␤------> $, $ { 1 }, -> $, $ { sub (|) { say 42 }⏏); A.blerg␤ expecting a…»
jnthn Oddly, STD now accepts the first one, reported in rt.perl.org/Ticket/Display.html?id=77558, but still rejcects the latter in rt.perl.org/Ticket/Display.html?id=77550 :)
moritz m: class A { }; A.^add_fallback(-> $, $ { 1 }, -> $, $ { sub (|) { say 42 }}); A.blerg
camelia rakudo-moar 107a5c: OUTPUT«42␤»
jnthn moritz: Please use method FALLBACK these days ;)
moritz jnthn: I know 21:04
jnthn (Unless you've a good reason not to, in which case pop the .^add_fallback in a BEGIN block)
moritz jnthn: I'm documenting the meta model :-)
jnthn Ah, OK :)
m: $.
camelia rakudo-moar 107a5c: OUTPUT«===SORRY!=== Error while compiling /tmp/BNGqKHOCZR␤Missing semicolon.␤at /tmp/BNGqKHOCZR:1␤------> $.⏏<EOL>␤»
jnthn std: $.
camelia std f9b7f55: OUTPUT«===SORRY!===␤Unsupported use of $. variable; in Perl 6 please use the filehandle's .line method at /tmp/59FIRAS8qy line 1:␤------> $.⏏<EOL>␤Parse failed␤FAILED 00:00 134m␤»
timotimo i was thinking once the optimizer figures out the fixed length prefix of a regex ends in a literal, it could insert a node that's ignored by the NFA and by declarativity considerations and just creates a little "scan loop" so to speak that lands in the code at the very beginning of the regex (but after the initial scan node) 21:06
dalek kudo-star-daily: 568a130 | coke++ | log/ (9 files):
today (automated commit)
timotimo it'd just have to store the literal string and the known length of regex before it
but i have *no* idea about backtracking and stuff 21:08
and how to properly handle the position register in this case
21:08 anaeem1_ left
lizmat p6w preview: p6weekly.wordpress.com/?p=299&...iew_id=299 21:09
21:09 anaeem1 joined
timotimo colomon added an infix:%lt;%> candidate to fix this 21:10
damn you, html :) 21:11
21:11 rurban left
timotimo lizmat: i recommend you write that the stuff psch worked on is only ("only") for the JVM native interop thingie 21:12
TimToady jnthn: STD's keyspace is inside <?before> so includes \s in LTM, so it will always be one longer than <ident> matches
lizmat timotimo: fixed
TimToady and it won't match if tied 21:13
lizmat re psch , it states that it is for the JVM backend, no?
timotimo well, the JVM backend can be a great many things
jnthn TimToady: So I need <?before <.keyspace>> ?
colomon has no idea what timotimo is talking about. was that infix:<%> ?
timotimo what he's done is just for use ...:from<Java>
jnthn lizmat: I get page not found trying to access that...
21:14 anaeem1 left
timotimo colomon: correct 21:14
TimToady keyspace should contain the ?before
timotimo lizmat: are you using the shitty new compose post page?
or the old one?
lizmat timotimo: I think the new one
which I actually quite like :-)
timotimo because in the old one, there's a "request feedback" button below the text input and there you can "get a link without sending an email"
that should work for everyone
i don't like it at all because it lacks this button 21:15
lizmat ah, ok
21:15 bbkr joined
timotimo which i've been relying on quite heavily during my p6weekly workflow 21:15
moritz it also seems impossible to remove the 'uncategorized' category with the new interface, at least after the post is already published
jnthn TimToady: STD has it as: 21:16
bbkr hi. how can I weaken reference?
jnthn token keyspace { <!before '('> [ <?before <[ \s \# ]> > || <.panic: "Whitespace required after keyword"> ] }
lizmat new link for preview of p6w: p6weekly.wordpress.com/?p=299&...439914854d
jnthn I copied it exactly as that.
TimToady then something must be committing to a shorter LTM before that
jnthn bbkr: You can't, but since GC is based on reachability, not ref-counting, then you don't need to for cyclic data structures...
TimToady in STD we call it directly after <sym> 21:17
21:17 safinaskar joined
safinaskar hi 21:17
bbkr jnthn: wow, awesome! thanks
safinaskar perl6 has "grammar" feature
21:17 bjz left
safinaskar what is it? is it part of language? of std lib? or what? 21:17
jnthn TimToady: Yeah, I put those calls in directly after <sym> and it actually hit the panic...
dalek c: cd28fdf | moritz++ | lib/Type/Metamodel/ClassHOW.pod:
start to document ClassHOW
21:18
jnthn safinaskar: Part of the language
safinaskar jnthn: is there something like this in perl5?
jnthn safinaskar: Well, Perl has always been good at making regexes a fairly first class part of the langauge. Perl 6 just takes this several steps further, providing full grammars. 21:19
So more interesting parsing tasks can be handled in a neat way.
moritz safinaskar: newer versions of Perl 5 have the ability to define named regexes within a regex 21:20
safinaskar: but it doesn't integrate well with OOP in perl 5
and thus reuse is still tricky
and then there are modules, of course 21:21
jnthn std: $_ = 'oh 2!'; s[\d+] += 40; .say
camelia std f9b7f55: OUTPUT«ok 00:01 139m␤»
safinaskar jnthn: moritz: thanks 21:23
21:23 safinaskar left 21:24 KCL_ joined
b2gills safinaskar: Grammars are basically Object classes with regular expressions (rules/tokens/regexes) as methods 21:24
lizmat Perl6 Weekly live: p6weekly.wordpress.com/2015/01/12/...n-delayed/ 21:25
moritz lizmat++ 21:26
woolfy lizmat++ 21:29
21:30 xfix left
jnthn lizmat++ # nice post 21:39
21:39 A4AA15F9 joined 21:41 donaldh joined
pyrimidine I suppose the closest thing to Grammars in p5 is Marpa 21:42
21:45 broski joined
broski Hi! 21:45
I have a qeustion
can you use hyphens for variable names too?
timotimo yep
broski @an-array
$an-array
timotimo m: my @an-array = 1, 2, 3; say @an-array;
camelia rakudo-moar 107a5c: OUTPUT«1 2 3␤»
broski sub i-know-this-works {}
NICE!!!
that's great, I always wondered that because to me hyphens are quicker to type than underscores 21:46
i've been reading the documentation, I really like the implementation and I really dig how the @ and % are kept unlike Perl 5 where %hash => $hash{'ref'} 21:47
b2gills I'm fairly sure one of the quick ways to spot Perl6 vs Perl5 code, is by its use of hyphens in identifiers
21:48 uniejo joined
b2gills I like that @hash{'a','b'} isn't a thing in Perl6 21:48
timotimo but you can still write it exactly like that if you want 21:49
b2gills I meant the @ 21:50
jnthn Note that %hash<a b> is a neater way to write %hash{'a', 'b'} :)
timotimo oh
good point
b2gills I was typing the Perl5 code
timotimo "sigil invariance"
21:51 KCL_ left, uniejo left 21:53 Ugator left 21:57 cognominal left, raiph left 22:00 skids left 22:02 leont joined
jdv79 pyrimidine: maybe closer would be Regexp::Grammars? depends on your criteria i guess. 22:02
dalek kudo/nom: d3d2ebb | lizmat++ | src/core/operators.pm:
Add IS-NAN-OR-INF helper sub

This is backend dependent atm, so concentrate backend dependendness
kudo/nom: e4ff687 | lizmat++ | src/RESTRICTED.setting:
Make restricted settings a bit more strict

  - alphabetically ordered like items, for better perusing
  - added some existing/new internal helper subs
  - added (new) roles, preventing people from writing their own classes for access
jnthn lizmat: Isn't there an nqp:: op for nan or inf? 22:04
lizmat yes, but that only works directly on parrot
in moar/jvm you must first check if it's a Num
jnthn Just go with the maor/jvm version of it everywhere
I can't believe it reliably works out on Parrot without the type check in every case. 22:05
lizmat ok, will do that then :-)
timotimo a non-num is very, very unlikely to be nan or inf :P
so ... seems legit :)
lizmat m: nqp::isnanorinf(Str) 22:06
camelia rakudo-moar 107a5c: OUTPUT«Cannot unbox a type object␤ in block <unit> at /tmp/6Qj7QWcc06:1␤␤»
dalek kudo/nom: d7338dc | jnthn++ | src/Perl6/Grammar.nqp:
Bring a couple of special vars in line with STD.
kudo/nom: 495bc53 | jnthn++ | src/Perl6/ (2 files):
Implement s[...] op= foo.
lizmat m: nqp::isnanorinf("foo")
camelia rakudo-moar 107a5c: OUTPUT«This type cannot unbox to a native number␤ in block <unit> at /tmp/moS5DuzxYC:1␤␤»
dalek ast: 35714a7 | jnthn++ | S05-substitution/subst.t:
Correct and un-fudge s[...] op= foo tests.
timotimo jnthn: sweet :)
lizmat that gives very LTA error messages
jnthn lizmat: uh, what's LTA about it?
It's an nqp:: op and you broke its usage contract. 22:07
And it told you why.
lizmat it;s usually hidden somewhere
El_Che lizmat: you b'stard: "The beginning of the Party has been delayed!" :)
a catchy open title 22:08
lizmat :-)
jnthn Yes, but if you end up hitting the op without giving it something valid, it's a failure to guard using it properly, imo.
lizmat jnthn: the name is "isnanofinf" , there is nothing about a contract there
not in the name
"foo" is neither NaN or Inf either
hobbs now is the time for all good men to come to the aid of the party 22:09
timotimo only men?
jnthn lizmat: *All* of the nqp:: ops on native types behave in an unbox-y way, not a coercy way.
That's just the level of abstraction they're at.
hobbs in the generic sense :)
(in case you're not familiar: www.straightdope.com/columns/read/2...-good-men) 22:10
lizmat jnthn: it may be clear to *you* it requires a Num, but it wasn't to me
and apparently, in parrot's case either :)
but, no worries, I get the point :-)
22:10 broski left
El_Che lizmat: I wonder what an up-to-date version of this talk would sound like: archive.fosdem.org/2013/schedule/e...a_perlito/ 22:12
jnthn Yes, the Parrot code-gen, partly due to how Parrot works, is a bit mroe sloppy in that sense. It turned out to be a great place for performance/semantic bugs to hide...
lizmat shorter, as there are at least 2 casualties in that list 22:13
jnthn timotimo: It's one more feature down, and an RT too :)
dalek kudo/nom: 8ceebf5 | lizmat++ | src/core/operators.pm:
Revert "Add IS-NAN-OR-INF helper sub"

Turns out we don't need it after all. Just use:
   nqp::istype(val,Num) && nqp::isnanorinf(val)
That should give better performance
22:14 donaldh left
jnthn The RT queue is huge, so I'm going to try and pick off some easy-medium tickets now and then, when I've got bits of time when I'm not concentrated enough to work on the bigger, harder, things. 22:15
22:16 spider-mario left
jnthn m: my $x; $x [R/]= 1 22:16
timotimo goon on ya :)
camelia rakudo-moar 107a5c: OUTPUT«===SORRY!===␤Unknown QAST node type NQPMu␤»
timotimo i'm glad
22:18 broski joined 22:30 Vlavv left 22:32 sirdancealot joined
dalek kudo/nom: 0a99f9f | jnthn++ | src/Perl6/Actions.nqp:
Fix exception handlers in main program body.

These would previously fail to actually catch the exception. Resolves RT#116056.
22:36
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=116056
22:36 kjs_ left
dalek ast: 93081cd | jnthn++ | S04-exception-handlers/top-level.t:
Add test for program-level handlers.

In its own test file rather than catch.t, so as not to cause trouble debugging issues with catch.t tests.
22:37
kudo/nom: 6ba20d0 | jnthn++ | t/spectest.data:
Run S04-exception-handlers/top-level.t.
jnthn m: sub foo(Int $x is copy) { $x = 5; } f(1); 22:41
camelia rakudo-moar 495bc5: OUTPUT«===SORRY!=== Error while compiling /tmp/I_Qyq5bjdW␤Two terms in a row␤at /tmp/I_Qyq5bjdW:1␤------> sub foo(Int $x is copy) { $x = 5; } ⏏f(1);␤ expecting any of:␤ infix stopper␤ infix or me…»
jnthn m: sub foo(Int $x is copy) { $x = 5; }; f(1); 22:42
camelia rakudo-moar 495bc5: OUTPUT«===SORRY!=== Error while compiling /tmp/F64H7KK0E0␤Undeclared routine:␤ f used at line 1␤␤»
jnthn m: sub foo(Int $x is copy) { $x = 5; }; foo(1);
camelia rakudo-moar 495bc5: OUTPUT«Cannot assign to an immutable value␤ in block <unit> at /tmp/7Jxz1nmjRL:1␤␤»
22:43 Mso150 joined
jnthn m: sub foo(Int $x is copy) { $x = 5; my $omg-prevent-inline; }; foo(1); 22:43
camelia ( no output )
dalek ast: d0f0a18 | lizmat++ | S06-signature/types.t:
Fix changed gist
22:43 Vlavv joined
tony-o that isn't intended behavior? 22:44
lizmat tony-o: not if "is copy" si specified
*is
jnthn tony-o: It looks like the static inlining stuff doesn't account for "is copy", and so messes up the program 22:45
sub foo(Int $x is copy) { $x = 5; }; foo(1); # works fine with --optimize=0
tony-o i saw it happen a few days ago too and thought that it was changed that way intentionally
dalek kudo/nom: 72228a6 | lizmat++ | src/core/Buf.pm:
Streamline Buf.at_pos + add error for Inf/NaN
22:47
kudo/nom: e56d60d | lizmat++ | src/core/Capture.pm:
Streamline Capture.at_pos + error for Inf/NaN
jnthn Getting a little tired to fix that one today, so think I'll leave it for tomorrow. :) 22:51
lizmat feels likewise :-)
22:55 mvuets left
dalek kudo/nom: 0506869 | lizmat++ | src/core/Array.pm:
Lose VM dependent code for nqp::isnanorinf
23:00
lizmat and with that, I say "good night, #perl6"
japhb o/ lizmat 23:01
23:02 Mso150 left 23:03 Mso150 joined
jnthn wanders off to relax/rest also :) 23:08
See y'all tomorrow o/
23:09 adu left 23:17 Mso150 left 23:18 Mso150 joined 23:27 jluis_ left 23:28 cognominal joined, cognominal left 23:31 Mso150 left 23:34 Mso150 joined, adu joined 23:51 jack_rabbit joined
masak 'night, jnthn 23:52
23:59 virtualsue left