»ö« 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! | feather will shut down permanently on 2015-03-31
Set by jnthn on 28 February 2015.
00:00 BenGoldberg joined 00:03 eli-se left
Ulti m: my $s = 'CamelCase'; $s ~~ s:g/(<A..Z>)/{ lc $0 }/; say $s; 00:05
camelia rakudo-moar ffd661: OUTPUT«5===SORRY!5=== Error while compiling /tmp/FkILOov0Mm␤Unable to parse expression in metachar:sym<assert>; couldn't find final '>' ␤at /tmp/FkILOov0Mm:1␤------> 3my $s = 'CamelCase'; $s ~~ s:g/(<A7⏏5..Z>)/{ lc $0 }/; say $s;␤»
Ulti m: my $s = 'CamelCase'; $s ~~ s:g/(<[A..Z]>)/{ lc $0 }/; say $s;
camelia rakudo-moar ffd661: OUTPUT«camelcase␤»
Ulti weird
locally thats not what I get
from the REPL though 00:06
00:06 rurban_ left
Ulti wow that's an annoying difference between the REPL and not 00:07
I spent an hour just thinking I didn't /get/ P6 regex and watched masak++ tutorial talk just to be sure :S 00:08
00:09 Khisanth joined
Ulti so if you have $s ~~ s:g/(<[A..Z]>)/{ "_" ~ lc $0 }/; on a line on its own in the REPL $0 is always populated with the first match by the looks of it 00:10
00:11 ostomachion left 00:21 skids joined 00:23 gcole_ left 00:49 Khisanth left 00:50 Khisanth joined
TimToady m: multi foo(Int $x) { }; foo(1 x 10000) 00:56
camelia rakudo-moar cfa497: OUTPUT«Cannot call foo(Str); none of these signatures match:␤ (Int $x)␤ in sub foo at /tmp/kD35riuroE:1␤ in block <unit> at /tmp/kD35riuroE:1␤␤»
skids grumbles at the ever encroaching WATs of bash_completion. 01:02
01:06 yqt left 01:15 sunnavy joined 01:21 kurahaupo joined
jdv79 [Coke]: what about tne nyc hackythrong? 01:38
01:43 larion left 01:55 adu joined 01:58 ash_gti joined 01:59 larion joined 02:01 ash_gti left 02:06 ash_gti joined 02:07 ash_gti left 02:09 khisanth_ joined 02:11 Khisanth left 02:20 ash_gti joined 02:23 ggoebel left 02:36 mr-foobar left 02:37 mr-foobar joined 02:38 mr-foobar left 02:39 mr-foobar joined 02:45 ash_gti left 02:46 tinyblak joined 02:49 ash_gti joined 03:08 mr-fooba_ joined, mr-foobar left 03:10 cdc_ left
Mouq m: my $s = 'CamelCase'; $s ~~ s:g/(<[A..Z]>)/{ lc $_ }/; say $s; 03:11
camelia rakudo-moar cfa497: OUTPUT«camelcaseamelcamelcasease␤»
Mouq Ulti: ^^ should always work in REPL
Otherwise
m: my $s = 'CamelCase'; $s ~~ s:g/(<[A..Z]>){}/{ lc $0 }/; say $s;
camelia rakudo-moar cfa497: OUTPUT«camelcase␤»
Mouq Should work
03:11 colomon left
Mouq Yes this is a bug 03:11
This gets brought up ~once a week
03:13 noganex_ joined 03:14 ash_gti left 03:15 colomon joined, noganex left 03:46 fhelmberger joined 03:50 fhelmberger left 03:51 uvtc joined
uvtc m: say 0.2 + 0.1 - 0.3; say i ** 2; 03:53
camelia rakudo-moar cfa497: OUTPUT«0␤-1+1.22464679914735e-16i␤»
uvtc Not that I'm a heavy (or light) user of complex numbers. 03:54
03:54 ash_gti joined 03:55 vendethiel left 03:58 vendethiel joined 04:02 FROGGS_ joined 04:06 Sqirrel left, FROGGS left, ash_gti left 04:07 ash_gti joined, ash_gti left 04:21 vendethiel left 04:25 vendethiel joined
uvtc Or, if you prefer: 04:27
m: say i ** 2 + 1; # expecting 0
camelia rakudo-moar cfa497: OUTPUT«0+1.22464679914735e-16i␤»
04:28 uvtc left 04:43 zacts joined, adu left 04:45 molaf left 05:00 BenGoldberg left 05:04 skids left 05:08 nige joined 05:14 Sqirrel joined 05:25 jack_rabbit joined 05:31 vendethiel left 05:39 vendethiel joined 05:45 grondilu joined
grondilu agree i**2 != -1 is LTA 05:45
*agreees 05:46
**agrees
moritz that won't change as long as Complex is based on num
grondilu why is it anyway?
moritz because that's efficient
grondilu ok 05:47
moritz and most Complex math involves trigonometric of exp functions, which can't be mapped exactly to Rats anyway
grondilu shouldn't we have a 'complex' class as well as a 'Complex' one though? 05:48
('complex' being the native version of 'Complex')
moritz in fact, the generic way to compute a power of a complex is to bring into the form ($magnitude * exp(i * $phase)) and then it*s ($magnitude ** $power * exp(i * $phase * $power ) ) 05:49
grondilu: yes
grondilu if $power is integer it may be not so silly to just repeat multiplications. 05:51
grondilu did something like that for its Clifford module once. 05:52
05:52 l30n1du5 joined
grondilu using $x**$n == ($x**2)**($n/2) where $n %% 2 05:56
06:04 anaeem1 joined
dalek kudo/nom: dfad9ca | Mouq++ | src/core/Complex.pm:
Optimize Complex a bit: Use coercers and Num (not Int) constants
06:12
06:13 zacts left
moritz Mouq++ 06:15
dalek Iish: fb13502 | moritz++ | lib/DBDish.pm6:
s/hidden_from_backtrace/hidden-from-backtrace/
06:25
Iish: 28eb16d | moritz++ | .gitignore:
Update .gitignore
06:25 vendethiel left 06:26 vendethiel joined
dalek ar: ed8c5e5 | moritz++ | modules/DBIish:
Bump DBIish version
06:27
moritz home.p6c.org/~moritz/rakudo-star-20...rc0.tar.gz release candidate of the upcoming star release 06:31
dalek kudo-star-daily: f0c3295 | coke++ | log/ (10 files):
today (automated commit)
06:36
rl6-roast-data: 0642fd1 | coke++ | / (9 files):
today (automated commit)
06:36 diana_olhovik_ joined, bayprogrammer left
[Coke] jdv79: I'm upstate, I could swing down for a weekend or something. 06:38
06:47 vendethiel left 06:48 jack_rabbit left 06:51 vendethiel joined
dalek ast: d4b9bb8 | Mouq++ | S06-signature/errors.t:
Add test for RT #78670
06:53
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=78670
07:03 diana_olhovik_ left
[Coke] nqp-parrot still failing the index tests. 07:04
07:04 prime| joined 07:05 prime left 07:08 jack_rabbit joined 07:16 gfldex joined
moritz has anybody proof-read the R* release announcement? 07:22
github.com/rakudo/star/blob/master...2015.03.md
dalek ar: af337e2 | moritz++ | docs/announce/2015.03.md:
More markup
07:25
Mouq moritz: "threads and concurrency (in progress for the JVM and MoarVM backend)"
moritz Mouq: good catch 07:26
raydiak moritz: in "Add a array[T]," maybe either change the "a" to "an" or just remove it 07:28
dalek ar: 833870c | moritz++ | docs/announce/2015.03.md:
announce: feedback from Mouq++ and raydiak++

also linkify PairMap
07:29
moritz somehow my laptop feels slow/slushy, even though I test star-j on hack, not on my laptop :/ 07:30
raydiak also rc0 installs and spectests clean here; moritz++
moritz raydiak: the interesting part is 'make modules-test' 07:31
the spectest is just the same as with the compiler release
raydiak moritz: started...how long is that compared to the spectest?
moritz raydiak: quicker, I think 07:32
though not parallelized, iirc
raydiak well everything it ran passed, but it ended with a "...no t/ directory found." and no further output, makes me wonder if there was supposed to be more 07:35
that's on debugger-ui-commandline 07:36
07:36 tinyblak left
moritz raydiak: that's expected behavior. Thanks. 07:37
07:37 tinyblak joined
raydiak glad to help 07:37
07:39 jack_rabbit left 07:40 Sir_Ragnarok left 07:42 l30n1du5 left 07:43 diana_olhovik_ joined 07:44 Sir_Ragnarok joined
dalek c: 83b681a | moritz++ | lib/Type/Any.pod:
Any.pairup
07:50
07:54 coffee` joined
itz_ waits for clang and rc0 07:56
07:56 jack_rabbit joined
jdv79 [Coke]: oh, i didn't know that. i might be there. 07:58
08:03 tinyblak left 08:06 lizmat left 08:08 lizmat joined
dalek ar: 73bd45a | moritz++ | docs/announce/2015.03.md:
Linkify another changelog entry
08:08
08:15 darutoko joined 08:21 darutoko- joined 08:23 vendethiel left 08:24 jack_rabbit left, darutoko left 08:26 vendethiel joined 08:27 eli-se joined 08:28 vike left 08:30 jack_rabbit joined 08:31 anaeem1 left 08:32 anaeem1 joined
dalek kudo/nom: ae043cc | Mouq++ | src/Perl6/Actions.nqp:
Remove action method for complex literal, as per commit 362f3fd
08:33
08:36 vike joined, anaeem1 left
[Tux] dammit travis travis-ci.org/Tux/CSV/builds/55272423 08:38
raydiak good night #perl6 08:42
Mouq 'night raydiak :) 08:43
08:48 gfldex left 08:49 jack_rabbit left 08:54 nige left, jack_rabbit joined 08:56 telex left 08:58 telex joined 09:08 jack_rabbit left 09:09 koo6 left 09:10 xfix joined 09:11 vendethiel left 09:14 myp left 09:27 vendethiel joined, kjs_ joined 09:28 rindolf joined, LonelyGM left 09:34 rurban joined
psch o/ 09:34
java.lang.StringIndexOutOfBoundsException: String index out of range: -195364057
/o\
that's from wrongly trying to have TypeObjects for Java classes with interop 09:35
nine_ .tell japhb I cannot reproduce your MUTEX_LOCK Inline::Perl5 failure. Can you give me some information like which exact Perl 5 version with which configuration options you're using and maybe a backtrace? 09:37
yoleaux nine_: I'll pass your message to japhb.
psch although i'm starting to wonder how much sense that actually makes...
09:43 koo6 joined 09:48 spider-mario joined 09:50 rurban left, nige joined, vendethiel left, rurban joined
lizmat ,tell Mouq t/spec/S32-num/real-bridge.t hangs for me on ok $zero == $zero.Complex, "0 == 0.Complex" 09:53
.tell Mouq t/spec/S32-num/real-bridge.t hangs for me on ok $zero == $zero.Complex, "0 == 0.Complex"
yoleaux lizmat: I'll pass your message to Mouq.
09:55 vendethiel joined
dalek ast: 50d2fcb | lizmat++ | S32-num/real-bridge.t:
Fudge hanging tests
10:03
lizmat .tell Mouq these are the hanging tests: github.com/perl6/roast/commit/50d2fcb659 10:04
yoleaux lizmat: I'll pass your message to Mouq.
jnthn o/ #perl6 10:08
psch o/ jnthn
lizmat jnthn psch o/ 10:12
.tell moritz wrt 179d453cff1e91 , I don't read that PairMaps are ordered from the speculation, only that they are frozen 10:13
yoleaux lizmat: I'll pass your message to moritz.
lizmat .tell moritz: so perhaps we should sort them?
yoleaux lizmat: What kind of a name is "moritz:"?!
lizmat .tell moritz so perhaps we should sort them? 10:14
yoleaux lizmat: I'll pass your message to moritz.
10:16 myp joined 10:21 geever joined 10:26 rindolf left
dalek kudo/nom: 4976e47 | lizmat++ | src/core/natives.pm:
code esthetics for better readability
10:27
kudo/nom: 8e29ea7 | lizmat++ | src/core/natives.pm:
Add nibble, for old times sake
kudo/nom: 1835085 | lizmat++ | t/spectest.data:
Activate lowlevel thread tests again

We need coverage for these features, and we need to make them stable.
10:29
jnthn lizmat: I'm too young to appreciate nibble :P 10:30
(We got bit and byte 'cus S09 speculated about them, fwiw :)) 10:31
lizmat fwiw, I'm looking forward to being able to use a true bit array 10:32
10:32 travis-ci joined
travis-ci Rakudo build failed. Elizabeth Mattijsen 'Add nibble, for old times sake' 10:32
travis-ci.org/rakudo/rakudo/builds/55278417 github.com/rakudo/rakudo/compare/a...29ea7bfef8
10:32 travis-ci left
jnthn Yeah, I started looking at the moar bits of supporting those on the train last night :) 10:33
I'll continue next time I'm hacking on my laptop, rather than dragging the half-done patch off it :) 10:34
dalek kudo/nom: edb5d9f | lizmat++ | src/core/natives.pm:
Fix typo
10:35 rurban left
nine_ Nibble? Haven't heard that in a long time :) 10:36
10:37 travis-ci joined
travis-ci Rakudo build failed. Elizabeth Mattijsen 'Activate lowlevel thread tests again 10:37
travis-ci.org/rakudo/rakudo/builds/55278455 github.com/rakudo/rakudo/compare/8...350851b91a
10:37 travis-ci left
psch was thinking of the grammar nibble at first 10:37
10:40 nige left
moritz lizmat: "The implementation of C<PairMap> 10:41
associativity is not guaranteed to be as efficient as a C<Hash> lookup.
(A brute force linear scan for the matching key is allowed. Optimization
yoleaux 10:13Z <lizmat> moritz: wrt 179d453cff1e91 , I don't read that PairMaps are ordered from the speculation, only that they are frozen
10:14Z <lizmat> moritz: so perhaps we should sort them?
moritz to something like an ordered hash is also allowed."
nine_ I'm starting to wonder what I should actually work on at the QA hackathon. What would help Perl 6 the most that fits with the theme? 10:42
10:43 eli-se left, travis-ci joined
travis-ci Rakudo build passed. Elizabeth Mattijsen 'Fix typo' 10:43
travis-ci.org/rakudo/rakudo/builds/55278781 github.com/rakudo/rakudo/compare/1...b5d9fddc5c
10:43 travis-ci left
dalek kudo/nom: d835c8e | jnthn++ | src/core/Inc.pm:
Avoid $*VM initialization at startup.

This shaves around 30ms off CORE.setting loading (under the profiler, so a bit less in reality - but still very measurable).
10:54
timotimo uuuh
i must build that
jnthn The profiler also tells me that we no longer perform an GCs during initial loading now. :) 10:55
timotimo \o/
that's very good
10:56 FROGGS[tab] joined
arnsholt I assume we achieve it by some other means than simply turning off GC during loading? O:) 10:56
timotimo well, we could, in theory, turn off GC during loading, we'd just have to turn the nursery into a chain of nurseries ... 10:57
FROGGS[tab] nine_: look at the project list in the wiki
timotimo 0.09user 0.02system 0:00.11elapsed 100%CPU (0avgtext+0avgdata 69572maxresident)k
that's a very, very good value
both for startup speed and memory usage
(this is -e 'say 1')
jnthn arnsholt: Yes, we achieve it by allocating less :) 10:58
arnsholt: Which is the good way to achieve it :)
timotimo: Nice, guess that's a combination of the lazy deserialization (which we didn't bump MOAR/NQP revisions to see yet) plus what I just did :) 10:59
10:59 nige joined, kjs_ left
timotimo i assume so 11:01
11:10 Ven joined
lizmat jnthn++ 11:22
11:22 fhelmberger joined 11:24 mr-fooba_ left
lizmat psch: not sure we need work in the grammar to make nibble work: 11:26
m: my @a := array[nibble].new
camelia rakudo-moar d835c8: OUTPUT«===SORRY!===␤MVMArray: Unsupported uint size␤»
lizmat m: my @a := array[bit].new
camelia rakudo-moar d835c8: OUTPUT«===SORRY!===␤MVMArray: Unsupported uint size␤»
lizmat m: my @a := array[uint1].new
camelia rakudo-moar d835c8: OUTPUT«===SORRY!===␤MVMArray: Unsupported uint size␤»
lizmat m: my @a := array[uint4].new
camelia rakudo-moar d835c8: OUTPUT«===SORRY!===␤MVMArray: Unsupported uint size␤»
11:26 rurban_ joined, rurban joined
lizmat afk for most of the day& 11:26
moritz m: array[bit].new
camelia rakudo-moar d835c8: OUTPUT«===SORRY!===␤MVMArray: Unsupported uint size␤»
psch lizmat: Perl6/Grammar.nqp has a method nibble :)
lizmat: it nibbles a string in a given language 11:27
eugh, there goes the hack load again :/ 11:29
11:30 dalek left
FROGGS_ :o( 11:30
Timeout, server hack.p6c.org not responding.
psch 11:31:05 up 1 day, 19:19, 20 users, load average: 38.59, 18.35, 7.65 11:31
moritz not again :(
psch can't ps or top or htop
11:37 dalek joined, [Coke] left, sergot left, psch left, ChanServ sets mode: +v dalek, Mouq left, avuserow left, Util left 11:38 masak left, fhelmberger_ joined, psch joined
itz_ is niecza defunct? 11:40
11:40 itz_ is now known as itz
moritz itz_: yes 11:40
11:41 fhelmberger left, rurban left
itz wonders if removing a 11:42
"#?niecza todo" from roast which he can't work out how to use with "#?rakudo emit" is ok then
moritz itz: it is 11:43
11:47 fhelmberger_ left 11:52 anaeem1 joined 11:57 anaeem1 left 12:00 youngg joined, eli-se joined, eli-se left 12:02 eli-se joined
itz GitHub is offline for maintenance. See status.github.com for more info. 12:05
grrr
Ven yep 12:07
12:07 masak joined
masak good afternoon, #perl6 12:07
12:12 Ven left
jnthn o/ masak 12:13
12:15 espadrine joined 12:20 rurban_ left 12:24 Rounin joined 12:28 virtualsue joined 12:52 Ven joined 12:53 virtualsue left 12:55 larion left 12:56 larion joined 13:03 anaeem1 joined 13:04 fhelmberger joined, xinming left 13:05 xinming joined 13:08 anaeem1 left 13:11 Ven left
grondilu github.com/vim-perl/vim-perl/issues/181 # =finish is used to end a file now, right? 13:12
13:13 mr-foobar joined 13:14 larion left, rindolf joined 13:15 larion joined 13:17 virtualsue joined
TimToady I think that *if* we add them, they should be spelled "nybble", because we have a different meaning for "nibble" these days...but I'm not at all convinced we need an alias for uint4, since they aren't used nearly as often as bit or byte 13:24
and while I'm at it, =finish is bad because it's primarily a verb, not a noun, unlike "end" which is primarily a noun. how 'bout =fini or =eof or =data instead? 13:29
masak we've been through a few iterations on this word already
TimToady I wasn't here when it was iterated 13:30
masak we shouldn't make a decision about a new name without absorbing all the knowledge of our predecessors
I believe it was some YAPC::Europe (maybe 2011) with tadzik and TheDamian
here, let me go fetch the relevant commit
I remember making it on TheDamian's behalf
TimToady agrees that we should probably avoid =end, but =finish has always struck me as bogus 13:31
masak github.com/perl6/specs/commit/3e1a...31513513f2
13:31 zakharyas joined
masak oh, less of a rationale than I remembered. 13:32
it was just that `=END` was lower-cased, and then we couldn't use `=end`, which was taken already as an end marker for delimited blocks.
TimToady =ending
masak so we went with `=finish` after, as I remember it, some deliberation back and forth.
well, `=ending` doesn't strike me as a great improvement on `=finish`...
let's go back to what this marker is meant to accomplish. 13:33
TimToady =fake-eof
masak :)
well, that's honest, anyway 13:34
I wish there were an as-good alternative without the dash
13:34 Ven joined
masak maybe `=eof` captures it, actually 13:34
TimToady might
masak it clearly makes it a noun, in any case
and it's not like "eof" is a weird unknown term. I think. 13:35
in fact, it's a very short, standard way to say "end of file"
masak likes it
TimToady and why does it have to be lower-case, except for hobgoblins?
masak because the Pod specification itself points out what upper-case directives mean. 13:36
Ulti EoF
:P
masak TimToady: I don't like your "except for hobgoblins" counter-argument. with it, one can create a counter against *any* type of consistency. there's something to be said for following one's own rules. 13:37
hoelzro jnthn, FROGGS[mobile]: I did some bisecting, and I found the *rakudo* commit that fixes the MoarVM precomp bug: a59393246f74eaef9b185b0c7964ba9ff2b0f922 13:39
I haven't narrowed it down to NQP/Moar yet; I'll have a chance tomorrow
jnthn hoelzro++ 13:47
TimToady quiz meet today, so largely afk &
13:48 gfldex joined 13:58 nige left 13:59 nige joined
grondilu was =stop considered? 14:00
masak grondilu: also too verb-y. 14:02
14:04 Ven left
moritz =theend 14:07
=itsover
literal =qed
moritz =nofurther
fwiw I've added some process protocoling to hack
literal =done
14:08 rindolf left 14:09 rindolf joined
masak =nevermore 14:10
moritz =lastwords
masak =imma-let-you-finish
grondilu =die
masak =bikeshed 14:11
grondilu (verby I know, but I like it still)
moritz =slut # the Swedish one :-)
masak yeah, that'll go over well
grondilu =done
masak already done =done :)
grondilu oh yeah
=bye 14:12
14:12 tinyblak joined, rindolf left
masak grondilu: I dislike =bye a lot less than most others 14:12
jnthn =kthxbai :P
masak grondilu: but I still think =eof is my favorite
14:12 rindolf joined
moritz =over-and-out 14:12
masak =ten-four
=fat-lady-sings 14:13
imagine the horror of someone backlogging this (either in the presence or in the future) and going, "omg, those Perl 6 designers are *insane*!"
grondilu =eop (end of program)
masak =eob (end of bugs)
=eos (end of suffering) 14:14
moritz =ender
grondilu =finished
14:14 Ven joined
masak =terminator 14:14
moritz =iknowadeadparrotwheniseeone 14:15
Ven masak: fwiw, I don't think "stop" is more verby than "end" or "finish" 14:16
I'm first thinking about "full stop". but maybe it's because of how we use french around here :)
grondilu =exit
moritz =elvishasleaftthebuilding 14:17
grondilu =comments-from-here-up-to-eof 14:19
masak Ven: I definitely have `=stop` as being primarily verby.
=wovon-man-nicht-sprechen-kann-darüber-muss-man-schweigen 14:20
14:21 rindolf left, rindolf joined
masak .u σ 14:22
yoleaux U+03C3 GREEK SMALL LETTER SIGMA [Ll] (σ)
masak m: my $σ0;
camelia ( no output )
masak is surprised by rt.perl.org/Ticket/Display.html?id=124120 failing on Windows 14:23
14:24 skids joined
masak m: multi foo(Int $x, Str $b) {}; my $a = "bcd"; foo $a, "bar" 14:24
camelia rakudo-moar d835c8: OUTPUT«Cannot call foo(Str, Str); none of these signatures match:␤ (Int $x, Str $b)␤ in sub foo at /tmp/NJbdO2GdWx:1␤ in block <unit> at /tmp/NJbdO2GdWx:1␤␤»
masak TimToady: are you fine with the order of things in the above error message?
TimToady: I remember you mentioning that the preferred order tends to be "expected X, but got Y" 14:25
this Tom Browder guy seems very active, judging from p6u. nice. 14:27
is he here on #perl6 too?
psch .seen tbrowder 14:28
yoleaux I saw tbrowder 17 Mar 2015 16:46Z in #perl6: <tbrowder> Thanks TimToady and [Coke].
masak \i/^H^Ho/
er, \o/
psch++ tbrowder++ 14:29
14:32 grondilu left 14:33 nige left 14:34 nige joined
jdv79 the moar build still kills my sad vm 14:38
14:38 kjs_ joined 14:40 kjs_ left 14:42 larion left 14:45 zjmarlow_ joined, Util joined 14:48 zjmarlow left
masak .u sad vm 14:50
yoleaux No characters found
14:50 larion joined
jnthn .u sad cat 14:51
yoleaux No characters found
jnthn aww
masak .u crying cat
yoleaux U+1F63F CRYING CAT FACE [So] (😿)
masak jnthn: there you go :) 14:52
jnthn :)
14:52 anaeem1 joined
masak .u loudly 14:52
yoleaux U+1F62D LOUDLY CRYING FACE [So] (😭)
jdv79 oh wow - its done. only took 15mins. 14:53
14:57 anaeem1 left
dalek kudo/moar-gen2-frame-opts: c5e32f6 | jnthn++ | src/vm/moar/ops/perl6_ops.c:
Chase API change in Moar for frame/gen2 opts.
15:03
15:04 zakharyas left 15:05 larion left 15:06 skids left 15:10 diana_olhovik_ left 15:13 kurahaupo left 15:16 j1n3l0 joined 15:17 rurban_ joined 15:19 rmgk_ joined, rmgk left, rmgk_ is now known as rmgk
timotimo did somebody change something about Test and printing? 15:20
write string requires an object with REPR MVMOSHandle
^- i get this for all modules now
15:23 Ven left
jdv79 ditto 15:23
15:27 kurahaupo joined 15:28 kjs_ joined 15:30 rurban joined
itz I would expect this to fail under fudge and it doesn't :/ 15:31
?rakudo emit if 0 { skip("foo",1); #
ok 1==0, "fail";
#?rakudo emit }
masak was just bitten by a bug (in my code) that amounted to .map flattening things less than I naïvely assumed. 15:32
DrForr When trying to run the perl6 binary out of my rakudo Git repo, I get an 'Unhandled exception: While looking for...' error on Perl6/Grammar.moarvm - It seems that Perl6::Grammar is a module that shouldn't need to be specified. 15:37
15:37 darutoko- left 15:38 fhelmberger left 15:39 darutoko joined
masak DrForr: this error only occurs when you're standing inside the rakudo/ directory? 15:40
DrForr No, I'm outside the directory.
moritz DrForr: did you do a 'make install'?
masak that was going to be my next question :>
moritz and read the README, for that matter 15:41
masak it should work without `make install`, but sometimes... it doesn't :/
DrForr Earlier perls worked without 'make install', I was just being foolish.
eli-se my compiler works! 15:43
15:43 nige left
DrForr I take it most people use rakudobrew anyway? 15:44
masak eli-se: \o/
DrForr: actually, I still build from git.
DrForr: but I always `make install`
moritz DrForr: I use rakudobrew for a developing modules, and build directly from git for experimenting/hacking on the compiler itself
DrForr moritz: That sounds reasonable. 15:45
masak that's probably what I *should* do. :)
15:45 raiph joined
j1n3l0 hi all o/ 15:47
question from a (returning) perl6 newb :)
should "augment class ClassName" be lexical?
i was under the impression it should be :) 15:48
moritz j1n3l0: it's not
j1n3l0 thanks 15:49
moritz (and it can't be)
15:49 Ven joined
j1n3l0 moritz: thanks for the response 15:50
15:50 BenGoldberg joined 15:51 kjs_ left
moritz j1n3l0: I'm curious, what's your use case for (lexical) augment= 15:51
s/'='/?/
dalek ar: 143239c | moritz++ | tools/star/release-guide.pod:
Add 2015.03 to the list of releases
15:53
15:53 xfix left
psch m: class A { }; { constant A := A but role { method foo { "bar" } }; A.new.foo.say }; A.new.foo.say # huh 15:53
camelia rakudo-moar d835c8: OUTPUT«bar␤No such method 'foo' for invocant of type 'A'␤ in block <unit> at /tmp/T94RU9wJw5:1␤␤»
psch i'm a bit surprised that works :P
moritz 'but' clones the type object 15:54
psch oh, okay 15:55
moritz 'does' doesn't
psch i remembered the constant binding for runtime class declarations
i think the Metamodel docs have that in a snippet
j1n3l0 moritz: i was thinking of adding methods to existing classes within test scope
masak if you want to lexically extend a class, maybe subclass with a `my` declaration?
j1n3l0 masak: okay ... 15:56
moritz right, seems to be a saner approach
j1n3l0 let me see if that works
thanks
moritz my MyTestClass is TestClass { ....}
ok, R* tarball uploaded, release tagged 15:57
FROGGS_ moritz++ 15:59
psch moritz++
dalek p: f99b014 | peschwa++ | src/vm/jvm/runtime/org/perl6/nqp/tools/EvalServer.java:
Correct typo.
16:00
p: dce84ec | peschwa++ | src/vm/jvm/runtime/org/perl6/nqp/tools/EvalServer.java:
Correct another typo.
p: c8e73b9 | peschwa++ | src/vm/jvm/runtime/org/perl6/nqp/tools/EvalServer.java:
Add the command 'run_limited' to the EvalServer.

Send via eval-client.pl with an integer as next argument limits the execution time of the Perl 6 interpreter to that many seconds.
p: 004206b | peschwa++ | tools/build/gen-jvm-properties.pl:
Move prefix from jvmconfig.properties.runtime to jvmconfig.properties.

An optimization for $*VM in Rakudo relies on this.
kudo/nom: e0976f9 | peschwa++ | Configure.pl:
Read prefix from jvmconfig.properties root.

An optimization for $*VM access by jnthn++ relies on prefix existing.
kudo/nom: d9294a9 | peschwa++ | tools/build/NQP_REVISION:
Bump NQP_REVISION.
psch moritz: i haven't looked closely at the evalbot, but the run_timed in nqp.tools.EvalServer seemed like a should-work-anyway approach 16:02
moritz psch++
psch err, run_limited
moritz psch: does that work for rakudo too?
psch moritz: yeah, the perl6-eval-server starts the nqp.tools.EvalServer with perl6.jar as -app 16:03
moritz psch: ok, I'll have to experiment with that
psch moritz: the RakudoEvalServer is (in hindsight) maybe a bit misnomed. it's currently more of a use-this-to-integrate-a-r-j-interpreter-into-your-java-programm 16:04
*thing
16:04 nige joined
psch moritz: from the looks of it evalbot.pl:149 ~~ s/run/run_limited $timeout-in-seconds/ should be enough 16:05
moritz: although we might want to look closer at RESTRICTED.setting, jvminterop alone is quite open 16:06
16:06 rindolf left
j1n3l0 within a role, how do you specify required methods (like you would in Moose)? 16:08
moritz j1n3l0: method you-need-this { ... }
j1n3l0: with literal ...
j1n3l0 ta :)
moritz m: role R { method x() { ... } }; class A does R { }
camelia rakudo-moar d835c8: OUTPUT«===SORRY!===␤Method 'x' must be implemented by A because it is required by a role␤»
16:09 Ven left
j1n3l0 cool 16:09
16:12 fhelmberger joined 16:14 rindolf joined 16:20 xfix joined 16:25 eli-se left 16:26 rurban left
timotimo the rakudo commit that prevents $*VM from being allocated at startup causes the REPR problem on my machine 16:28
dalek ast: 4f0676b | (Steve Mynott)++ | S03-operators/arith.t:
this reveals a bug in NetBSD libm - skip
ast: d1a25ac | (Steve Mynott)++ | S03-operators/arith.t:
correct text
ast: 0cbceec | (Steve Mynott)++ | S03-operators/arith.t:
Merge pull request #54 from stmuk/master

Skip test on NetBSD
16:31 [Sno] left, [Sno] joined
psch timotimo: i pushed a fix for jnthn++'s $*VM opt 16:31
oh 16:32
nvm
jnthn psch: But that was for JVM, no?
psch if it's broken on moar i don#t have anything to do with that :)
s/#/'/
16:34 colomon left, kjs_ joined 16:41 colomon joined, larion joined 16:42 raiph left 16:45 eli-se joined 16:48 colomon left
j1n3l0 last question :) 16:51
how do i get the attributes on a class and their types?
given the $?CLASS?
moritz j1n3l0: doc.perl6.org/type/Metamodel::Attri...attributes 16:52
j1n3l0 moritz: thanks :)
moritz so, $?CLASS.^attributes
j1n3l0 cheers :) 16:53
moritz psch: it would be nice if eval-client.pl would/could indicate it when it runs into the timeout set with run_limited 16:54
dalek albot: fba2a50 | moritz++ | runtime/run-rakudo-jvm-evalserver:
Chase directory layout change
16:55
moritz psch: currently there's no "(timeout)" output or so, and exit status is 0
psch: on the plus side, it works \o/
psch++
m: say 1 16:59
camelia rakudo-moar d9294a: OUTPUT«1␤»
17:01 rurban joined, raiph joined
dalek albot: 67a91f9 | moritz++ | runtime/run-rakudo-jvm-evalserver:
cleanup run-rakudo-jvm-evalserver

  * fewer hardcoded paths
  * restart eval server every 4 hours
17:01
17:02 rurban left
TimToady masak: yes, but in this case I think endweight puts the list of candidates last; also, with signatures, we have kind of a ~~ situation of the pattern being on the right 17:03
one can also justify the inconsistency by saying there's a specific order of constructing the capture for the call vs making the call and binding 17:05
you'll note I also removed the "Expected" from the new messages, since that's more a testing metaphor 17:06
and the 'any of' is now part of the first line of message
dalek albot: 1cfc4c5 | moritz++ | build-scripts/rebuild-rakudo.pl:
Build rakudo-jvm again
17:08
TimToady \o/ 17:09
dalek albot: cc0cee4 | moritz++ | build (2 files):
Option for force-rebuilding rakudo
17:11
TimToady resists the urge to recompile rakudo while using it to run his quiz editor, which, despite Unix process semantics, causes it to blow up for some reason 17:12
is something in our build process overwriting an existing file rather than replacing it?
moritz TimToady: you can still rebuild in another directory :-)
TimToady that would require more of my scant brainpower :P 17:13
moritz git clone rakudo rakudo2; cd rakudo2 17:14
TimToady and more of my scant SSD
17:14 diana_olhovik_ joined, `7stud joined
TimToady well, back to scorekeeping & 17:14
`7stud hello 17:15
17:15 rurban joined
moritz hi 17:15
`7stud Is anyone aware of bug in reading a file in paragraph mode using latest Rakudo/MoarVM? 17:16
This is perl6 version 2015.03-21-gcfa4974 built on MoarVM version 2015.03
moritz I'm not even ware of a paragraph mode :-)
*aware
`7stud For example: for $infile.lines(nl => "\n\n") -> $para {... 17:17
masak ooh
`7stud That code still reads line by line, i.e. with input line separator as "\n"
masak does that DTRT even for Windows newlines? 17:18
`7stud What is Windows?
moritz `7stud: you have to specify nl in open, not in lines
psch moritz: i don't see an easy way to prepend (timeout) as it happens for m: currently, but i can append it
`7stud @moritz, I did both--neither work.
moritz psch: that'd be fine
masak `7stud: I'm looking at the source now, and none of the .lines methods have a :$nl parameter
`7stud The docs say there is an nl parameter in both lines() and open(). 17:19
itz hmm I'm having panda issues related to Shell::Command
==> Testing Shell::Command
write string requires an object with REPR MVMOSHandle
moritz `7stud: which docs?
psch (there is probably some way, but that would need a bit more effort than i'm able to put into that atm)
itz is that me not cleaning up or should I wait?
flussence itz: broken for me too 17:20
`7stud @mortiz, let me fine the docs I was looking at. Give me a minute.
fine = find
17:22 sqirrel_ joined
j1n3l0 last question - i promise :) 17:22
i'm getting the following error:
# Default constructor for 'Person' only takes named arguments
masak (no, please do keep asking questions) :)
j1n3l0 :) 17:23
masak j1n3l0: you passed something to .new that wasn't a named parameter
j1n3l0 this is what i am passing to Person.new()
masak j1n3l0: like, .new($foo) instead of .new(foo => $foo)
j1n3l0 ("age" => 201, "name" => "baz").list
according to ...
masak what's the exact line of code with Person.new() in it? 17:24
j1n3l0 MY_CALCULATION..perl.say
umm
1 sec ...
$?CLASS.new( ?CLASS.^attributes.map({ $_.name.split(/'!'/).[*-1] => $_.type.sample }) );
j1n3l0 i know .. hideous
j1n3l0 wip 17:25
masak yeah, that's... not a named argument.
that's, at most, a list of pairs.
j1n3l0 how do i turn that into a named argument?
masak keep in mind Perl 6 doesn't auto-flatten the way Perl 5 does.
jnthn $?CLASS.new(|%( ...all the stuff... ))
masak j1n3l0: what jnthn said works, but may I recommend you put the .map stuff in a hash, and then just do |%args in the .new ? 17:26
17:26 telex left
`7stud @moritz, lines() docs: github.com/perl6/specs/blob/master...ary/IO.pod 17:26
open docs: doc.perl6.org/type/IO#sub_open
j1n3l0 will do - once i have something working :)
thanks :) 17:27
that worked!
masak \o/
17:28 telex joined
`7stud In any case, I was unable to read a file in paragraph mode, using either open() or lines(), so before filing a bug report, I thought I'd check here if it was known issue. 17:28
masak not known by me, and I'm not aware it's in RT 17:29
please submit
17:29 kjs_ left
flussence that «:$nl = "EOF"» in the spec is a bit... ew 17:30
`7stud Someone at SO looked at the source code and said *it* was reading only the last character of the nl string.
I looked at the source code, and I couldn't understand it.
dalek p: 018a450 | peschwa++ | src/vm/jvm/runtime/org/perl6/nqp/tools/EvalServer.java:
Emit "\n(timeout)" when run_limited exceeded the limit.
17:31
FROGGS_ SO seems right then
`7stud The lines cited were: syncfile.c:38, syncfile.c:119 and syncfile.c:91
jnthn FROGGS_: Didn't you have a branch at some point working on multi-char seps?
FROGGS_ I patched it, but that sleeps in a branch atm :o(
yes
needs review + discussion 17:32
jnthn Aye. Well, can try the late end of next week if you've time...I'm going to be largely tied up until Wed or so...
17:33 raiph left
psch afk & 17:37
FROGGS_ jnthn: I'll have time
jnthn OK, cool :)
FROGGS_ ;o)
`7stud masak: What about the source code for open()? 17:39
17:39 diana_olhovik_ left
dalek kudo/no-vm-at-startup: 0e56328 | jnthn++ | src/core/Inc.pm:
Revert "Avoid $*VM initialization at startup."

This reverts commit d835c8e3d5810ad6c6efae3a52d377311ba32bb4, which causes inexplicable bustage to Panda bootstrap.
17:39
kudo/no-vm-at-startup: d90a6da | jnthn++ | src/core/Inc.pm:
Avoid $*VM initialization at startup.

This shaves around 30ms off CORE.setting loading (under the profiler, so a bit less in reality - but still very measurable).
kudo/nom: 0e56328 | jnthn++ | src/core/Inc.pm:
Revert "Avoid $*VM initialization at startup."

This reverts commit d835c8e3d5810ad6c6efae3a52d377311ba32bb4, which causes inexplicable bustage to Panda bootstrap.
jnthn bbiab 17:40
j1n3l0 thanks guys 17:42
this is what i was working on - gist.github.com/9fb24a4e8e15c26cf25a
it's only a proof of concept 17:43
was thinking about generative testing for perl6
something along the lines of quickcheck :)
`7stud moritz: The lines docs I looked at are here: github.com/perl6/specs/blob/master...ary/IO.pod 17:44
mortiz: The open docs I looked at are here: doc.perl6.org/type/IO#sub_open
j1n3l0 hacked on this thanks to the london.pm :) 17:45
17:46 diana_olhovik_ joined 17:47 colomon joined 17:48 eternaleye left 17:50 eternaleye joined 17:51 kjs_ joined 17:59 j1n3l0 left 18:00 virtualsue left, kjs_ left 18:01 kjs_ joined 18:02 virtualsue joined, virtualsue left
dalek ecs: c1a2f0b | moritz++ | S32-setting-library/IO.pod:
S32::IO: lines does not have :nl, open does. `7stud++ for noticing
18:03
moritz `7stud: fixed the docs
`7stud moritz: Should I file a bug report about open() not being able to use "\n\n" as the input line separator? 18:05
moritz `7stud: yes please
`7stud mortiz: Okay. Thanks for the responses. 18:06
dalek: Thanks.
masak: Thanks.
18:06 colomon left 18:07 zjmarlow__ joined, mr-foobar left 18:08 mr-foobar joined
dalek albot: ad15762 | moritz++ | evalbot.pl:
update rakudo-jvm target
18:10
18:10 zjmarlow_ left 18:11 camelia left
timotimo is that one of the things froggs' linesep branch will be able to fixify? 18:12
"bustage" read as a german word is a little funny 18:13
18:15 kjs_ left 18:18 camelia joined, camelia left 18:19 BenGoldberg left 18:20 BenGoldberg joined 18:21 kjs_ joined
moritz fwiw I have trouble starting camelia via systemd 18:21
Mar 21 19:18:29 ns1 systemd[32137]: Failed at step EXEC spawning /bin/bash: Resource temporarily unavailable
18:22 BenGoldberg left 18:23 BenGoldberg joined
moritz works now, with PrivatedDevices=yes commented out. weird. 18:23
18:23 BenGoldberg left
FROGGS_ moritz: the testers.perl6.org stuff is disabled since three hours though (on hack) 18:23
ahh
moritz FROGGS_: different host
FROGGS_ k
18:24 BenGoldberg joined 18:27 colomon joined 18:29 nige left 18:30 camelia joined 18:32 ChanServ sets mode: +v camelia, rurban left 18:33 tinyblak left 18:39 rurban joined 18:41 colomon left
moritz boo, the JVM seems to severly dislike memory limits 18:41
j: say 42
18:41 camelia left, colomon joined
moritz *drumroll* 18:42
ENOCAMELIA
18:47 sqirrel_ left
TimToady Dreadful sorry, Cameliantine... 18:48
18:49 camelia joined
moritz j: say 42 18:49
18:50 ChanServ sets mode: +v camelia
camelia rakudo-jvm 0e5632: OUTPUT«Can't open perl script "/home/camelia/jvm-rakudo/eval-client.pl": No such file or directory␤» 18:50
dalek albot: e338022 | moritz++ | evalbot.pl:
Fix path
18:51
18:51 camelia left, davido_ joined, camelia joined 18:53 ChanServ sets mode: +v camelia
moritz m: say 42 18:53
camelia rakudo-moar 0e5632: OUTPUT«42␤»
moritz j: say 42
camelia rakudo-jvm 0e5632: OUTPUT«Can't open perl script "/home/camelia/rakudo-inst/eval-client.pl": No such file or directory␤»
moritz eeks
dalek albot: 095e6ed | moritz++ | evalbot.pl:
yet another attempt at fixing eval-client.pl path
18:54
18:54 camelia left
masak .oO( write once, run nowhere ) 18:54
18:54 camelia joined, Ven joined
moritz masak: except it's "write 15 times", judging the amounts of commits (and local service file modifications) I need 18:54
m: say 42
masak .oO( write 15 times, run nowhere ) 18:55
moritz now we observe pocoirc's rate limiting
18:55 ChanServ sets mode: +v camelia
camelia rakudo-moar 0e5632: OUTPUT«42␤» 18:55
moritz j: say 42
camelia rakudo-jvm 0e5632: OUTPUT«Can't open perl script "/home/camelia/rakudo-inst/eval-client.pl": No such file or directory␤»
moritz forgot the pull before the reload :( 18:56
18:56 camelia left, camelia joined
masak wonders if there would be a way to automate this... 18:56
moritz probably. 18:57
arnsholt
.oO(If only there were a simple way of specifying a sequence of steps to be taken by a machine...)
=)
moritz m: say 'baseline'
18:57 ChanServ sets mode: +v camelia
masak arnsholt: I'm sure I read something about that in an article somewhere. 18:57
camelia rakudo-moar 0e5632: OUTPUT«baseline␤»
moritz j: say 'j-line'
camelia rakudo-jvm 0e5632: OUTPUT«Could not open /tmp/yy8ImJg5s5. java.nio.file.NoSuchFileException: /tmp/yy8ImJg5s5␤»
masak improvement. 18:58
maybe?
moritz yes
masak: now please automate a way to fix this :-)
18:59 anaeem1 joined
masak .oO( we have shown a solution for n = 1. now please generalize to all transfinite n ) 18:59
18:59 camelia left, camelia joined
moritz ok, the camelia systemd file had PrivateTmp=yes 19:00
and it seems that the eval client and server communicate through temp files :(
or communicate by passing the command line (including file names) around
19:00 ChanServ sets mode: +v camelia
moritz m: say 'baseline' 19:00
camelia rakudo-moar 0e5632: OUTPUT«baseline␤»
moritz too tired for this whole ops shit 19:01
j: say 'jline'
camelia rakudo-jvm 0e5632: OUTPUT«jline␤»
raydiak \o/
masak moritz++ # doing thankless ops work
j: say "JVM, my nemesis. we meet again"
19:01 fhelmberger left
TimToady thanks moritz++ for doing thankless work...oh wait... 19:01
camelia rakudo-jvm 0e5632: OUTPUT«JVM, my nemesis. we meet again␤»
masak TimToady: also, people never buy and sell priceless items. 19:02
moritz I was so >.< close to giving up
psch j: use System:from<Java>; System.get_out.println("i wonder...") 19:03
camelia rakudo-jvm 0e5632: OUTPUT«===SORRY!===␤java.lang.ClassNotFoundException: System␤»
masak moritz: just imagine how often that must happen to people. they give up that >.< close to the solution in solution space
`7stud moritz: "I'm not even ware of a paragraph mode" => In perl5, "slurp mode": local $/ = undef;, or just: local $/; and for "paragraph mode": local $/ = '';
masak moritz: a higher-dimensional being outside of solution space would shake their head and go "oh, well..."
moritz `7stud: yes, I know p5's paragraph mode
psch moritz++ 19:04
`7stud moritz: Well, if you are the same moritz on perlmonks, then I thought you must know that!
TimToady note that $/ = "\n\n" is specifically not paragraph mode, since it should be /\n\n+/
moritz `7stud: I am
19:05 Alina-malina left
moritz it seems I have a reputation to uphold :-) 19:05
`7stud Anyway, I tried perl6 with nl => '', and it still wouldn't read a file in paragraph mode. 19:06
Bug report filed.
masak `7stud: fwiw, that '' thing is one aspect of that I hope we don't inherit from p5 :) 19:07
19:07 spider-mario left
masak `7stud: it makes not-enough-sense that '' would mean "two newlines, except be lenient about whitespace" 19:07
19:08 Alina-malina joined
moritz well, $handle.paragraphs could exist 19:10
or, once we have Cat, $handle.Cat.split(/\n\n+/) 19:11
19:14 `7stud_ joined
psch j: say $*VM.config<runtime.classpath> 19:14
camelia rakudo-jvm 0e5632: OUTPUT«/home/camelia/rakudo-inst-2/share/nqp/lib␤»
psch j: say $*VM.config<runtime.bootclasspath>
camelia rakudo-jvm 0e5632: OUTPUT«-Xbootclasspath/a:.:/home/camelia/rakudo-inst-2/share/nqp/runtime/asm-4.1.jar:/home/camelia/rakudo-inst-2/share/nqp/runtime/asm-tree-4.1.jar:/home/camelia/rakudo-inst-2/share/nqp/runtime/jline-1.0.jar:/home/camelia/rakudo-inst-2/share/nqp/runtime/jna.jar:/h…»
19:14 `7stud__ joined 19:16 `7stud left, `7stud__ is now known as `7stud, [Tux] left, `7stud left
dalek c: 5f9e753 | paultcochrane++ | lib/Type/IO.pod:
Document rmdir
19:17
c: 46e6edf | paultcochrane++ | lib/Type/List.pod:
Document roundrobin

  ... wantonly stealing from the specs
19:18 `7stud_ left 19:19 Ven left
timotimo when i hear "but be lenient about whitespace" i think of splitting at /\s*[\n\s*]+/ tbh 19:22
19:23 [Tux] joined
masak oh, the actual semantics -- I had forgotten the details -- is that $/ = "" reads /\n ** 2..*/ between paragraphs 19:24
TimToady that pattern is equivalen to /\s+/
oh, wait that's p6 19:25
/\n[\h*\n]+/ seems more like
sivoais masak: have you seen OCaml's ppx? <blogs.janestreet.com/extension-poi...lisp/>. I'm not well-versed in Perl6 macros, but does it have something similar 19:27
more info <www.lexifi.com/blog/ppx-and-extensi...oints>, <whitequark.org/blog/2014/04/16/a-gu...ocaml/> 19:28
vendethiel "Or can you? Lisp has a rich syntactic macro system but just one parser" sorry, what?
ah, I see what they mean 19:29
raydiak updated github.com/rakudo/rakudo/pull/392 with a suggestion from Mouq++...anyone else have any input or feel good about merging it?
masak sivoais: hm, seems on first blush to be quite unlike Perl 6's situation -- in that we won't be doing a separate parser frontend; we'll just be parsing and running macros all at the same time. 19:30
19:30 colomon left, amaliapomian joined 19:31 Ven joined 19:32 kjs_ left 19:33 diana_olhovik_ left 19:36 darutoko left
psch j: use java::lang::System:from<Java>; System.get_out.println("i wonder...") # we don't get java.lang as CORE... 19:36
camelia ( no output )
psch welp, that goes to the term it seems 19:37
sivoais masak: right, many of these things just aren't needed in Perl6 because it already has traits and quasiquotes. Maybe the bit that might be most useful is how they provide an API to the AST
19:38 rurban left
masak that could be very interesting, yes. 19:39
masak checks the other links
19:39 mr_ron joined
masak hm, looks interesting. 19:40
I skimmed the "A Guide..." post. I will read it in depth later.
mr_ron perl6: multi want-b-or-c('b'){ say 'got letter b' }; multi want-b-or-c('c'){ say 'got letter c' }; want-b-or-c('c');try {want-b-or-c(5);} 19:43
camelia rakudo-moar 0e5632: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tmpfile␤Calling want-b-or-c(int) will never work with any of these multi signatures:␤ (Str $ where { ... }) ␤ (Str $ where { ... })␤at /tmp/tmpfile:1␤------> 3'got letter c' }; want-b-or-c('c')…»
mr_ron perl6: multi want-b-or-c('b'){ say 'got letter b' }; multi want-b-or-c('c'){ say 'got letter c' }; want-b-or-c('c');try {want-b-or-c('d');} 19:44
camelia rakudo-moar 0e5632: OUTPUT«got letter c␤»
mr_ron second one caught OK ... how to catch exception in first example ?? 19:45
19:45 diana_olhovik_ joined
dalek Heuristic branch merge: pushed 17 commits to perl6-examples by paultcochrane 19:48
psch mr_ron: your second code snippet is a compile time error, try only suppressed runtime exceptions
mr_ron first snippet gave compile time error. Why is mismatch on string run time but mismatch on type compile time. Couldn't the mismatch on type be runtime too so we could try/catch 19:50
psch m: sub f(Str(Cool) $ where 'c') { "got c" }; try f(5); say "alive" 19:51
camelia rakudo-moar 0e5632: OUTPUT«alive␤»
psch m: sub f(Str(Cool) $ where 'c') { "got c" }; f(5) 19:52
camelia rakudo-moar 0e5632: OUTPUT«Constraint type check failed for parameter '<anon>'␤ in sub f at /tmp/8d6TItjEEv:1␤ in block <unit> at /tmp/8d6TItjEEv:1␤␤»
psch mr_ron: that's the only way i can think of, there might be a better one
mr_ron thanks ... that helps ... not as familiar with "where". Helps with what I was trying to do though ... 19:53
19:59 raiph joined
mr_ron perl6: multi want-b-or-c(Str $s where 'b'){ say 'got letter b' }; multi want-b-or-c(Str $s where 'c'){ say 'got letter c' }; want-b-or-c('c');try {want-b-or-c(5);} 19:59
camelia rakudo-moar 0e5632: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tmpfile␤Calling want-b-or-c(int) will never work with any of these multi signatures:␤ (Str $s where { ... }) ␤ (Str $s where { ... })␤at /tmp/tmpfile:1␤------> 3'got letter c' }; want-b-or-c('c…»
mr_ron its not the "where" that's helping it's the Cool 20:00
psch mr_ron: but 'where' is how you write 'i want only one specific value' in a signature when you need an explicit type 20:02
m: sub f(Str 'c') { }
camelia rakudo-moar 0e5632: OUTPUT«5===SORRY!5=== Error while compiling /tmp/b2R4_kBcs8␤A parameter may only have one prefix type constraint␤at /tmp/b2R4_kBcs8:1␤------> 3sub f(Str 'c'7⏏5) { }␤»
psch m: sub f(Str $ 'c') { }
camelia rakudo-moar 0e5632: OUTPUT«5===SORRY!5=== Error while compiling /tmp/uAUBY7ZTZx␤Missing block␤at /tmp/uAUBY7ZTZx:1␤------> 3sub f(Str $ 7⏏5'c') { }␤»
psch m: sub f(Str $ where 'c') { }
camelia ( no output )
psch mr_ron: and Cool is the type that allows translation of e.g. Numeric to String 20:03
mr_ron m sub f('c'){}
m: sub f('c'){}
camelia ( no output )
mr_ron m: multi want-b-or-c(Str $s where 'b'){ say 'got letter b' }; multi want-b-or-c(Str $s where 'c'){ say 'got letter c' }; want-b-or-c('c');try {want-b-or-c('d');} 20:07
camelia rakudo-moar 0e5632: OUTPUT«got letter c␤»
mr_ron m: multi want-b-or-c(Str $s where 'b'){ say 'got letter b' }; multi want-b-or-c(Str $s where 'c'){ say 'got letter c' }; want-b-or-c('c');try {want-b-or-c(5);}
camelia rakudo-moar 0e5632: OUTPUT«5===SORRY!5=== Error while compiling /tmp/HH9c4ymFdM␤Calling want-b-or-c(int) will never work with any of these multi signatures:␤ (Str $s where { ... }) ␤ (Str $s where { ... })␤at /tmp/HH9c4ymFdM:1␤------> 3'got letter c' }; want-b-o…»
mr_ron still think it might be nice to catch type collisions as exceptions too ... 20:08
psch m: my &f = sub ('c') { "c" }; try f(5) # this works too 20:09
camelia ( no output )
20:13 kurahaupo left, rindolf left 20:14 kurahaupo joined
mr_ron m: multi want-b-or-c(Str $s where 'b'){ say 'got letter b' }; multi want-b-or-c(Str $s where 'c'){ say 'got letter c' }; want-b-or-c('c'); my $f = &want-b-or-c; try {$f('b'); $f(5);} 20:15
camelia rakudo-moar 0e5632: OUTPUT«got letter c␤got letter b␤»
mr_ron works but a little obscure ...
TimToady just write an extra multi with Any instead of 'b' or 'c', and complain if you get there 20:16
there's no reason to write Str $x where 'b'
that's what a simple 'b' means
20:16 adu_ joined
TimToady notice in your first error message that it expanded 'b' to Str $ where {...} 20:18
mr_ron Still working away at it but think multi with Any will work ... thanks ... 20:22
20:29 anaeem1 left
TimToady afk 20:29
20:29 anaeem1 joined
mr_ron m: multi want-b-or-c(Any) {fail "bad param"}; multi want-b-or-c('b'){ say 'got letter b' }; multi want-b-or-c('c'){ say 'got letter c' }; want-b-or-c('c');try {want-b-or-c(5); CATCH { when "bad param" {say "caught it"} }}; try {want-b-or-c('d');} 20:32
camelia rakudo-moar 0e5632: OUTPUT«got letter c␤caught it␤Unhandled exception: bad param␤ at <unknown>:1 (/home/camelia/rakudo-inst-2/share/perl6/runtime/CORE.setting.moarvm:throw:4294967295)␤ from src/gen/m-CORE.setting:15830 (/home/camelia/rakudo-inst-2/share/perl6/runtime/COR…»
mr_ron wfm I think
20:32 anaeem1 left, anaeem1 joined 20:38 adu_ left 20:47 rurban_ left 20:53 kurahaupo left 20:56 mr_ron left 20:57 youngg left 20:59 Ven left
masak m: class C { has @.foo }; my @bar = 1, 2, 3; my C $c .= new; $c.foo = @bar; say $c.perl 21:01
camelia rakudo-moar 0e5632: OUTPUT«C.new(foo => Array.new(1, 2, 3))␤»
masak I'm always a little uneasy in situations like the above, afraid I'll get double layers of array. but this seems to work; nice :) 21:02
21:03 yqt joined
jnthn Yes, it behaves like you did @!foo = @bar inside of C, if you want a way to remember it :) 21:03
masak I also note that all the 'is hidden-from-backtrace' work seems to be in vain, because I keep getting these useless reify/gimme/sink lines in my stacktraces :( 21:04
jnthn: oh, that's a useful mnemonic
jnthn masak: I expect a load of those will go away in the GLR 21:06
dalek q: 77cda34 | moritz++ | answers.md:
Add naming FAQ
moritz feedback/additions very welcome 21:07
raiph .tell p6weekly Tux++ RFC7111 finished irclog.perlgeek.de/perl6/2015-03-20#i_10312704 21:17
yoleaux raiph: I'll pass your message to p6weekly.
21:21 adu_ joined, anaeem1 left, anaeem1 joined 21:22 adu_ left
masak moritz: "...hurts Perl 5 somehow" -- the "somehow" at the end makes it seem like the notion that Perl 6 hurting Perl 5 is somewhat far-fetched or ludicrous. is long as you meant it that way, it's fine, but it doesn't seem all that consistent with detached, objecting answering. maybe s/shoehow/simply by having the same name and a larger version number/ ? 21:23
(which more closely identifies the renamingists' critique, too) 21:24
21:25 adu_ joined
masak moritz: ss/alternative name <(instead)>//, p'haps 21:25
21:26 anaeem1 left 21:30 adu_ left 21:31 pierrot left 21:35 pierrot joined
dalek q: 103e3b8 | moritz++ | answers.md:
Incorporate feedback from masak++
21:36
21:41 amaliapomian left
literal shoehow? :P 21:41
masak oops! 21:52
masak .oO( getting corrected by someone called "literal", just my luck ) :P 21:53
21:54 espadrine left
jnthn ShoeHOW sounds like the object behind a "shoe" package declarator :) 21:56
21:57 adu joined
Ulti |Tux|: is your csv.pl getting faster just from compiler changes? 22:00
masak jnthn: "I give you this whole wonderful MOP, and all you come up with is... ShowHOW!?" :P 22:08
timotimo feels kind of shoehorned to me
jnthn masak: Exactly. Now you're really put your foot in it. :P 22:11
Ulti hmm my tests have gotten 4s slower which is +50% runtime 22:12
0.5 seconds is just more frequent and longer GC 22:13
by the looks of it 22:14
22:19 rurban joined
jnthn Ulti: That's probably a product or more allocations... 22:20
(As in, that's probably a symptom rather than the cause)
jnthn afk for a bit 22:21
timotimo right, but at least we can look at allocations in the profiler
22:24 xfix left 22:25 coffee` left 22:26 anaeem1_ joined 22:30 anaeem1_ left 22:33 ggoebel joined
masak 'night, #perl6 22:36
timotimo gnite masak
22:49 camelia left 22:50 camelia joined 22:52 ChanServ sets mode: +v camelia 22:53 |Tux| left 22:54 Tux__ joined
timotimo we can't --profile-compile unless the target is running the actual code 22:58
oh 22:59
i might have used --profile, in which case that behavior is completely justified
23:10 jack_rabbit joined 23:14 skids joined 23:17 jack_rabbit left 23:25 adu left 23:29 adu joined, prime| left 23:33 xprime joined
Ulti github.com/perl6/doc/blob/3085663c...airMap.pod odes -> does typo needs fixing especially as its linked from the release announcement 23:34
dalek c: 1db56d7 | timo++ | lib/Type/PairMap.pod:
odes -> does, Ulti++
23:39
geekosaur ...it odes not well? 23:43
timotimo beware the odes of march 23:44
Ulti an ode to Perl 6 www.thomasgray.org/cgi-bin/display.cgi?text=pppo 23:46
23:46 bjz joined 23:49 diana_olhovik_ left 23:50 yqt left 23:52 larion left