»ö« 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:06 kurahaupo1 joined 00:12 tinyblak joined 00:17 cognominal left 00:32 tinyblak left 00:33 tinyblak joined 00:41 wicope left 00:50 yqt left 00:51 telex left 00:52 geekosaur left, telex joined 00:53 geekosaur joined, laouji joined 00:59 prime left 01:15 skids joined 01:27 synopsebot left, broquaint left 01:28 hugme left, erdic left, broquaint joined 01:30 erdic joined 01:33 synopsebot joined, bayprogrammer left, hugme joined, ChanServ sets mode: +v hugme 01:37 dayangkun joined 01:44 tinyblak left 01:45 tinyblak joined 02:00 awwaiid left, awwaiid joined 02:12 tinyblak left, zakharyas joined 02:13 tinyblak joined 02:17 tinyblak left 02:24 tinyblak joined 02:31 colomon left, colomon joined 02:44 ilbot3 left 02:45 colomon left 02:47 ilbot3 joined 02:50 colomon joined 02:55 osto left 03:13 aborazmeh left, dabockster left 03:14 aborazmeh joined, aborazmeh left, aborazmeh joined, noganex_ joined 03:15 skids left 03:17 prime joined, noganex left 03:26 zakharyas left 03:41 djanatyn left 03:43 aborazmeh left 03:44 zakharyas joined 03:45 aborazmeh joined, aborazmeh left, aborazmeh joined 03:57 laouji_ joined 03:59 laouji left 04:00 freebie joined
freebie Hey 04:00
*ping* 04:02
04:04 freebie left 04:05 Sqirrel left, estrabd left 04:06 laouji joined, estrabd joined 04:07 laouji_ left 04:13 adu joined
TimToady back hoam 04:24
adu who's back? 04:25
04:31 Sqirrel joined 04:49 ash_gti joined 04:52 osto joined 04:59 osto left 05:00 molaf left 05:02 grondilu joined
grondilu hello, how do I test compilation on MoarVM? I tried --target=mbc but I got a 'Cannot dump this object; no dump method' error. 05:02
grondilu would like to test a compilation issue reported on github.com/grondilu/libdigest-perl6/issues/7 05:03
05:05 laouji left
grondilu oh, I just had to specify the output file with --output apparently. 05:06
05:06 ponbiki left 05:10 kaleem joined 05:12 BenGoldberg_ left 05:14 nige joined
grondilu not related, instead of "first-index", why not a :$index! form of first? 05:18
m: say first-index * < 0.01, rand xx *
camelia rakudo-moar b9d6d3: OUTPUT«21␤»
grondilu m: say first * < 0.01, rand xx *, :index 05:19
camelia rakudo-moar b9d6d3: OUTPUT«Unexpected named parameter 'index' passed␤ in sub first at src/gen/m-CORE.setting:2342␤ in block <unit> at /tmp/YzD0uD8pTM:1␤␤»
05:20 kaleem left 05:40 laouji joined 05:45 laouji left 05:51 aborazmeh left 05:54 xinming left 05:56 kaare_ left, kurahaupo1 left, yeahnoob joined 06:03 diana_olhovik_ joined 06:07 mr-foobar joined 06:08 aborazmeh joined, aborazmeh left, aborazmeh joined 06:18 aborazmeh left 06:20 laouji joined 06:24 dayangkun left 06:26 diana_olhovik_ left 06:32 ash_gti left 06:33 rurban joined 06:36 anaeem1_ joined 06:40 anaeem1_ left 06:41 anaeem1 joined 06:45 anaeem1 left 06:46 anaeem1 joined 06:49 mr-foobar left 06:50 ash_gti joined 06:52 anaeem1 left 06:53 anaeem1 joined, anaeem1 left, anaeem1 joined 06:54 gfldex joined 06:56 ponbiki joined 06:57 ponbiki is now known as Guest3088 06:58 cdc left 07:01 anaeem1 left, anaeem1_ joined, anaeem1_ left 07:02 anaeem1 joined, diana_olhovik_ joined 07:03 prime left 07:06 anaeem1 left 07:15 prime joined, prime left, prime joined 07:29 zakharyas left, rurban left 07:30 rurban joined 07:33 darutoko joined 07:35 FROGGS joined 07:38 yeahnoob left
FROGGS TimToady: is 'hoam' a reference to MUC? :D 07:39
bartolin good morning, #perl6 07:41
could someone with a commit bit for rakudo please clean up my fiddling with SEQUENCE before todays release? (cmp. irclog.perlgeek.de/perl6/2015-03-17#i_10294496 and below)
07:41 rurban1 joined
bartolin (that would either mean to revert both commits 91a1b7a028 and cd51b3401c or check wether PR 389 is sane. in the fi 07:41
rst case I would re-fudge the three tests for RT #80574
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=80574
FROGGS .tell grondilu look at this for inspiration: github.com/perl6/roast/blob/master...pilation.t 07:42
yoleaux FROGGS: I'll pass your message to grondilu.
07:42 zakharyas joined 07:43 nige left
dalek kudo/nom: 574541a | retupmoca++ | lib/NativeCall.pm:
Add 'is native(&find-lib)'

This gives us a way to find a native library at runtime, since find-lib won't be called until the native function is used for the first time.
07:44
kudo/nom: 27685a0 | FROGGS++ | lib/NativeCall.pm:
Merge pull request #390 from retupmoca/nativetweak

Add 'is native(&find-lib)'
FROGGS bartolin: if I have some spare time I'll try to understand the issue 07:45
bartolin: but if you could outline it in a few lines, I'd be happy :o)
bartolin FROGGS: basically, RT #80574 says that in some cases infix:<...> wrongly does not flatten its return values. 07:47
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=80574
bartolin FROGGS: I tried to fix this with cd51b3401c (more) 07:48
07:48 kaleem joined
bartolin FROGGS: but that was "too much" of flattening and broke a test in integration/advent2012-day04.t (I must have missed that when spectesting) 07:49
FROGGS so I should look at cd51b3401c, revert it but attemp to find a similar fix? 07:50
bartolin yes (that was the intention of PR 389). alternatively we could return to the previous state. 07:52
redoing both my commits would probably be the fastest thing for now
thanks a lot for looking at this!
FROGGS redoing? 07:53
bartolin erm, undoing :-)
FROGGS ahh :o)
I've not much brain power anyway due to a cold
(I'm not quite ill or something, it just does not help :o)
bartolin (a cold)-- 07:54
FROGGS yeah
07:54 Ven joined 07:55 CurtisOvidPoe joined 07:57 yeahnoob joined 07:58 Rounin joined 08:01 Ven left 08:02 gfldex left 08:05 wicope joined 08:11 Ven joined 08:12 rindolf joined
[Tux] OT: :( arxiv.org/abs/1502.07373 08:17
08:21 eli-se joined, kaleem left, brrt joined
brrt what, nlpw is april 10th already? :-O 08:24
08:25 eli-se left, eli-se joined
[Tux] yep 08:28
Inline::Perl5 is broken again on git-checkout
eli-se hi
[Tux] panic: MUTEX_LOCK 08:29
ok, restart passed
08:31 abraxxa joined 08:32 LonelyGM joined 08:34 kaleem joined 08:35 eli-se left
abraxxa morning! 08:35
08:35 fhelmberger joined
LonelyGM good morning everyoneee :) 08:35
brrt morning 08:36
lizmat hopes it is a good day for a release 08:38
rakudo builds and tests fine on MoarVM 2015.03, fwiw
abraxxa when i want to pass a Rat as float to a C library with nativecall, how do I do that? 08:41
DrForr TODAY IS A GOOD DAY TO DIE :) 08:42
lizmat
.oO( to pass a Rat to a C library as a float, you need to num them )
moritz abraxxa: .Num
08:43 kaare_ joined
lizmat moritz: not native num ? 08:43
abraxxa Unhandled exception: Cannot unbox a type object
moritz m: say (1/3).Num.^name
camelia rakudo-moar 27685a: OUTPUT«Num␤»
FROGGS lizmat: a Num can unbox to a num
abraxxa the interessting fact is that the value can be a utf-8 encoded string as well as an int or a float 08:44
docs.oracle.com/database/121/LNOCI...LNOCI72805
moritz lizmat: I don't think we have direct coercion to num in place, do we?
abraxxa valuep
i've currently defined it as OraText $valuep is rw is encoded('utf8'),
constant OraText = Str
lizmat moritz: indeed, I thought we had
abraxxa the weird thing is, the test with 4.85 succeeds, the one with 1.2 doesn't 08:45
.Num.Str makes the value 1.2 fail as well 08:46
FROGGS abraxxa: if you pass a Str (which implies pointer because it is char* in C), remove the 'is rw'
abraxxa FROGGS: already awake? 08:47
FROGGS I am :o)
abraxxa that makes the test with 1.2 fail as well
FROGGS 1.2 is a value you pass? 08:48
abraxxa although i'm quite sure it succeeding was an accident or inserted something else
yeah, see 99-common.t
FROGGS url?
abraxxa this is the test in question github.com/abraxxa/DBIish/blob/mas...on.pl6#L94 08:49
it would be better to specify the c lib param type agnostic
the OCI docs say void because of this 08:50
08:50 alini joined
abraxxa is there something like multi...how is it called? 08:50
FROGGS multi method dispatch? 08:51
abraxxa yeah!
FROGGS there is
abraxxa so a different param definition is used depending on the type passed
FROGGS you can do that, yes
abraxxa how?
moritz m: multi sub f(Str $x) { say "Str $x" }; multi sub f(Int $x) { say "Int $x" }; f 1 08:52
camelia rakudo-moar 27685a: OUTPUT«Int 1␤»
moritz m: multi sub f(Str $x) { say "Str $x" }; multi sub f(Int $x) { say "Int $x" }; f 'a string'
camelia rakudo-moar 27685a: OUTPUT«Str a string␤»
abraxxa tries
FROGGS and within these subs you call a specific nativecall sub
08:52 brrt left
FROGGS so you have to declare nativecall subs for every type you expect 08:53
abraxxa: in the execute method you dont use @params in the version I see here: github.com/abraxxa/DBIish/blob/mas...Oracle.pm6 08:55
abraxxa damn unboxing error! 08:56
FROGGS I might be able to help if I'd see your code 08:57
08:57 nige joined
dalek ast: 49ba10e | lizmat++ | S02-literals/adverbs.t:
Fudge test on JVM by skipping

This test apparently breaks because Test::is() doesn't take Mu
08:57
ast: 67def95 | lizmat++ | S02-types/ (2 files):
Unfudge some now fixed bag/mix issues on JVM
abraxxa Unhandled exception: Cannot unbox a type object 08:58
08:59 adu left
FROGGS yes, you cannot unbox a type object 08:59
abraxxa i don't understand what that means
and it doesn't point to the line in my code
FROGGS a type object is an undefined thing... and you cannot pull a value out of that
so you are passing an undefined thing around, where you intended to pass a value around (an object instance of a type) 09:00
abraxxa hm...i have an undeclared variable and perl doesn't blame me
FROGGS [Coke]: do you get a chance to push to perl6-roast-data and rakudo-star-daily? 09:01
abraxxa: well, this could be intentional...
m: sub foo(Int $a) { say $a }; foo(Int)
camelia rakudo-moar 27685a: OUTPUT«(Int)␤»
FROGGS -----------------------^ type object
abraxxa when i pass an int or a float, is the lenght always static?
FROGGS m: sub foo(Int $a) { say $a }; foo(42) 09:02
camelia rakudo-moar 27685a: OUTPUT«42␤»
FROGGS -----------------------^ value
abraxxa could i define the value of that param in the multisub definition instead of passing it in?
FROGGS m: sub foo(Int:D $a) { say $a }; foo(Int) # disallow type objects explicitly
camelia rakudo-moar 27685a: OUTPUT«Parameter '$a' requires an instance, but a type object was passed␤ in sub foo at /tmp/CWiwrLAyJn:1␤ in block <unit> at /tmp/CWiwrLAyJn:1␤␤»
FROGGS abraxxa: I dont understand your question.... can you gist your code?
abraxxa FROGGS: gist.github.com/abraxxa/c0f5cf283a90e143c286 09:05
the only difference in the OCIBindByName definition is $valuep
in $dty I need to pass in a different value to tell OCI the datatype
FROGGS abraxxa: that feels wrong: gist.github.com/abraxxa/c0f5cf283a...le-pm6-L29 09:06
abraxxa i tried 'is rw' too
FROGGS 1) C does not handle Int (big integers), use int8, int16, int32, long or longlong 09:07
dalek ast: 91f3c43 | lizmat++ | S06-other/pairs-as-lvalues.t:
Skip rather than todo failing test on JVM
ast: 43f8d23 | lizmat++ | integration/weird-errors.t:
Unfudge passing test on JVM
FROGGS 2) you are meant to pass an pointer to an integer type... so add 'is rw' or declare the param to be a Pointer
abraxxa makes sense 09:08
lizmat FROGGS: I only have 2 S17 flappers in my JVM spectest now
abraxxa the question now is: how do I find out what C datatype OCI expects for SQLT_INT and SQLT_FLT
09:11 eli-se joined, daxim left
FROGGS abraxxa: grep in its header files 09:11
09:11 eli-se left
FROGGS abraxxa: it must be typedef'd or defined somewhere 09:11
lizmat: that sounds awesome :o) 09:12
I'll later run spectests on linux and windows, and star module tests und probably also an ecosystem smoke
the ecosystem smoke on linux only I guess... otherwise there would not be a release today :o) 09:13
09:15 daxim joined
FROGGS abraxxa: docs.oracle.com/database/121/LNOCI...LNOCI16271 09:15
abraxxa FROGGS: AH, thanks!!! 09:16
so for int i'll use long long to be safe 09:17
FROGGS you dont want to be safe, you want to be correct 09:18
you have to look at the definition of the C function you call
09:19 larion joined, tinyblak left 09:21 tinyblak joined
dalek ast: f794661 | lizmat++ | S32-basics/xxPOS-native.t:
Add some AT-POS & friends tests on native arrays
09:23
Ulti FROGGS from parsing the .h files do you think it's possible to have use library:from<C> ? I guess it gets complicated with the inclusion of all the other headers 09:24
dalek kudo/nom: 971c090 | lizmat++ | t/spectest.data:
Add some AT-POS & friends tests on native arrays

Moar only!
09:25
09:26 dakkar joined
lizmat afk for a few hours 09:26
Ulti I guess the place to start is a script which produces the code you would write by hand since even if it doesn't work properly it gives you a nice place to start instead of a blank file
Ulti is tempted to have a play at doing that... lots of C libraries I'd want to wrap for bioinformatics stuff 09:27
09:28 LonelyGM left, kaleem left
Ven o/, #perl6 09:30
abraxxa FROGGS: sure, but the link you pasted shows multiple C datatypes for SQLT_INT 09:31
FROGGS abraxxa: yes, but is SQLT_INT used in a C function you have to call? 09:32
09:32 yeahnoob left
FROGGS I'd guess not 09:32
abraxxa i pass that constant in $dty
09:33 nige left
FROGGS so you are passing a '3' for all integer types, right? 09:33
09:33 nige joined
abraxxa yes 09:33
FROGGS and where do you want to pass a longlong like you said? 09:34
abraxxa FROGGS: gist.github.com/abraxxa/c0f5cf283a...le-pm6-L83
FROGGS and what is SQLT_INT? 09:36
it is not defined in the gist
I mean, the declaration is not in the gist visible
abraxxa now it is 09:37
FROGGS ahh, yes
that looks good
and the longlong your were talking about is about valuep?
abraxxa yes
for the multidispatch
what was the name of the function that returns the lenght of a native type? 09:38
FROGGS nativesizeof
abraxxa i can't find it in the zavolaj commit history
that 'Cannot unbox a type object' error makes me crazy! 09:39
moritz zavolaj is dead, long live rakudo
abraxxa i was told it still is developed in the separate git repo
09:40 zjmarlow joined
FROGGS that's not true 09:41
nwc10 it's no longer true. I think it was true 6 weeks ago.
"this week" for some value of week. 09:42
FROGGS the development in zavolaj stopped at the same day I moved it to rakudo
its issue tracker is still alive though 09:43
09:45 rurban1 left 09:46 brrt joined
abraxxa update the readme? 09:48
09:48 rurban1 joined
abraxxa so where do I find it? 09:49
I can't find a link to the git repo on perl6.org nor rakudo.org
FROGGS abraxxa: github.com/rakudo/rakudo/blob/nom/...iveCall.pm 09:50
abraxxa ah, it's not in the perl6 org
FROGGS it is *in* the rakudo repo, and gets shipped with the compiler
abraxxa i didn't find the rakudo repo
FROGGS its documentation is here, but lacks some areas: doc.perl6.org/language/nativecall
abraxxa so instead of defining sb4 $value_sz, ub2 $dty, in the multi sub, can I assign values to it directly? 09:51
maybe as default value?
FROGGS you can only give them defaults if these are the last params
params in the middle never can be optional 09:52
abraxxa you're right
FROGGS but you can create a wrapper sub, that generates the flags depending on the type
abraxxa i just don't like having multisub AND the if/elsif/else for the type handling
so $value_sz = nativesizeof($v); should be the correct thing to pass for ints and floats? 09:53
now how do I find out where that 'Cannot unbox a type object' comes from?
FROGGS so $value_sz = nativesizeof($v); # yes, seems so 09:54
09:55 brrt left
FROGGS abraxxa: can you gist your error message? 09:55
abraxxa i've defined $value_sz as sb4 (int16), what datatype does nativesizeof return?
FROGGS nativesizeof returns a numeric value
abraxxa i've added it to the end of the current gist
09:56 espadrine joined
FROGGS and that can be passes as an sb4 (int32), yes 09:56
09:56 telex left
abraxxa yeah, sb4 is int32, sorry 09:56
FROGGS what does this give you? perl6 --ll-exception -Ilib t/45-oracle-common.t 09:58
09:58 telex joined
abraxxa Invalid typename 'float' in parameter declaration. 09:59
and a long stacktrace
float doesn't seem to be a recognized type 10:00
FROGGS float is num32
abraxxa that did it, thanks 10:01
Undeclared routine:
nativesizeof used at lines 393, 398
isn't it part of 2015.02?
grondilu you need to use NativeCall
yoleaux 07:42Z <FROGGS> grondilu: look at this for inspiration: github.com/perl6/roast/blob/master...pilation.t
abraxxa grondilu: I already do
grondilu oh, my bad
abraxxa i'll hardcode the sizes for now
moritz star-m: use NativeCall; say nativesizeof(num32)
camelia star-m 2015.02: OUTPUT«5===SORRY!5=== Error while compiling /tmp/UuqNjxOtPc␤Undeclared routine:␤ nativesizeof used at line 1␤␤»
moritz m: use NativeCall; say nativesizeof(num32)
camelia rakudo-moar 971c09: OUTPUT«4␤»
moritz nope, 2015.02 is TOO OLD 10:02
FROGGS abraxxa: it might have landed after the 2014.02 release :/
err, 2015.02
abraxxa ok 10:03
dalek kudo/nom: 3d6a731 | moritz++ | docs/ChangeLog:
mention nativesizeof function in changelog
abraxxa which bot runs the newest moar version? 10:04
moritz camelia
(with 'm:'; 'star-m:' uses the last star release)
abraxxa camelia: use NativeCall; say nativesizeof(num32) 10:05
m: use NativeCall; say nativesizeof(num32)
camelia rakudo-moar 971c09: OUTPUT«4␤»
abraxxa m: use NativeCall; say nativesizeof(long) 10:06
camelia rakudo-moar 971c09: OUTPUT«8␤»
abraxxa an integer is longer than a float?
moritz why not?
: use NativeCall; say nativesizeof(Num)
m: use NativeCall; say nativesizeof(Num)
camelia rakudo-moar 971c09: OUTPUT«NativeCall op sizeof expected type with CPointer, CStruct, CArray, P6int or P6num representation, but got a P6opaque␤ in sub nativesizeof at lib/NativeCall.pm:423␤ in block <unit> at /tmp/7dRSJQ48gb:1␤␤»
abraxxa because a float has more precision?
moritz m: use NativeCall; say nativesizeof(num) 10:07
camelia rakudo-moar 971c09: OUTPUT«8␤»
moritz abraxxa: apples and oranges comparison
abraxxa Cannot call 'OCIBindByName'; none of these signatures match
how should one handle such exceptions at runtime?
moritz with try 10:09
or if it's a bug in the parameter lists, fix those
10:10 anaeem1 joined
abraxxa i now use long for ints and num32 for floats, still something doesn't match 10:10
10:10 zakharyas left
abraxxa i guess I should use the same types for the if tree matching 10:10
not Int and Rat
10:11 tinyblak left, tinyblak joined 10:12 tinyblak_ joined 10:15 Foxcool_ left, Foxcool_ joined 10:16 Foxcool_ left, Foxcool joined, tinyblak left
colomon m: my num32 $f = 321513413321332; say $f 10:16
camelia rakudo-moar 3d6a73: OUTPUT«This type cannot unbox to a native number␤ in block <unit> at /tmp/tIMev4ToQh:1␤␤»
abraxxa the Str multisub doesn't match
colomon m: my num32 $f = 321513413321332e0; say $f
camelia rakudo-moar 3d6a73: OUTPUT«-89209344␤»
FROGGS m: my num32() $f = 321513413321332; say $f 10:18
camelia rakudo-moar 3d6a73: OUTPUT«5===SORRY!5=== Error while compiling /tmp/o9IjMjfg1o␤num32() cannot be used as a nominal type on a variable␤at /tmp/o9IjMjfg1o:1␤------> 3my num32() $f7⏏5 = 321513413321332; say $f␤ expecting any of:␤ constraint␤»
FROGGS :/
10:19 tinyblak_ left
abraxxa what is wrong when a var that returns true for $v ~~ Str can't be used in a say "$v"; because it triggers Cannot unbox a type object 10:20
FROGGS m: sub foo( num() $f ) { say $f }; foo 321513413321332
camelia rakudo-moar 3d6a73: OUTPUT«No such method 'num' for invocant of type 'Int'␤ in sub foo at /tmp/HaoHfw7MX3:1␤ in block <unit> at /tmp/HaoHfw7MX3:1␤␤»
FROGGS m: sub foo( num32() $f ) { say $f }; foo 321513413321332
camelia rakudo-moar 3d6a73: OUTPUT«No such method 'num32' for invocant of type 'Int'␤ in sub foo at /tmp/9um84wnUcR:1␤ in block <unit> at /tmp/9um84wnUcR:1␤␤»
abraxxa m: my Str $v = 'TAFM'; say "$v";
camelia rakudo-moar 3d6a73: OUTPUT«TAFM␤»
10:21 koo6 left
FROGGS m: my Str $v; say $v ~~ Str; say "$v"; 10:21
camelia rakudo-moar 3d6a73: OUTPUT«True␤use of uninitialized value $v of type Str in string context in block <unit> at /tmp/fGq84xqL9h:1␤␤␤»
FROGGS this
abraxxa doh! does the match change the value?
autocasting?
FROGGS no, such a match does not change anything 10:22
$v seems to uninitialized on your end
abraxxa then it shouldn't match! 10:24
FROGGS abraxxa: and undefined string is still a string
that is what types are for
psch \o 10:25
10:25 Ven left
FROGGS m: say Str ~~ Str 10:25
camelia rakudo-moar 3d6a73: OUTPUT«True␤»
psch abraxxa: you can match against a signatre
*signature
...i thought
but i can't seem to get a working example 10:26
point being, that in a signature you get the definedness smileys
m: my Str $x; say $x ~~ :(Str:D $); $x = "foo"; say $x ~~ :(Str:D $) # was expected 'True' for the second one
camelia rakudo-moar 3d6a73: OUTPUT«False␤False␤»
psch but if it's only about definedness, .defined is likely smarter :p 10:27
moritz m: say \(1) ~~ :(Str:D)
camelia rakudo-moar 3d6a73: OUTPUT«False␤»
moritz m: say \(1) ~~ :(Int:D)
camelia rakudo-moar 3d6a73: OUTPUT«True␤»
psch moritz: oh, lhs has to be a capture, thanks
moritz psch: that might help, yes :-)
abraxxa perl6 --ll-exception reports 'missing semicolon', without that i get Cannot unbox a type object
is there a syntax to print $v.gist inside quotes? 10:31
10:31 pecastro joined
moritz $v.gist() 10:33
abraxxa thanks
moritz lizmat: fwiw j-spectest is clean here (linux), moarvm has a flapper
abraxxa why does $v.gist() return the value and not the type? 10:34
.WHAT() returns '' 10:35
psch m: my Str $x = "foo"; say "$x.WHAT()"
camelia rakudo-moar 3d6a73: OUTPUT«use of uninitialized value of type Str in string context in block <unit> at /tmp/omepB9cXSJ:1␤␤␤»
psch m: my Str $x = "foo"; say "$x.^name()" 10:36
camelia rakudo-moar 3d6a73: OUTPUT«Str␤»
moritz abraxxa: .WHAT returns the type object, not the type name
abraxxa: use .^name() to get the type name
abraxxa i've updated my gist
that returns Str, still the multisub doesn't match
lunch! 10:38
zjmarlow Hello. I get a StackOverflowError when trying to run Configure.pl. Is there a way to pass options to java? 10:39
10:44 anaeem1 left, anaeem1_ joined 10:53 zjmarlow_ joined
psch zjmarlow_: no, we don't have that as far as i can see. we're setting -Xss1m internally, which was sufficient for known configurations 10:55
FROGGS: what hardware did you run on to get 1m for -Xss? 10:56
10:56 zjmarlow left 10:57 zjmarlow_ left, zjmarlow_ joined 11:00 kaleem joined
abraxxa FROGGS: any idea why the multisub doesn't match? 11:01
the gist is up2date
maybe it doesn't match because of another param type mismatch... 11:02
can we improve the error message in that regard?
psch abraxxa: which gist? c0f5cf283a90e143c286? 11:03
zjmarlow_: you can manually set -Xss in nqp/tools/build/install-jvm-runner.pl 11:04
abraxxa yes 11:05
psch abraxxa: multi dispatch error should tell you what params are defined and what it got instead 11:07
m: multi f(Str $, Int $) { }; multi f(Int $, Str $) { }; f("foo", "bar")
camelia rakudo-moar 3d6a73: OUTPUT«5===SORRY!5=== Error while compiling /tmp/sqsB8zE0FP␤Calling 'f' will never work with argument types (Str, Str)␤ Expected any of: ␤ :(Str $, Int $) ␤ :(Int $, Str $)␤at /tmp/sqsB8zE0FP:1␤------> 3 Int $) { }; multi f(Int $, Str $)…»
psch oh, except maybe trait_mod:<is> pushes that to runtime? 11:08
abraxxa i only see the defiitions, not what it got
the error is now at the end of the gist
psch hm 11:10
FROGGS m: say CArray[OpaquePointer] ~~ CArray[OpaquePointer]
camelia rakudo-moar 3d6a73: OUTPUT«5===SORRY!5=== Error while compiling /tmp/lgYZOO5TlY␤Undeclared names:␤ CArray used at line 1. Did you mean 'Array', 'array'?␤ OpaquePointer used at line 1␤␤»
FROGGS m: use NativeCall; say CArray[OpaquePointer] ~~ CArray[OpaquePointer]
camelia rakudo-moar 3d6a73: OUTPUT«False␤»
FROGGS m: use NativeCall; say CArray[OpaquePointer] ~~ CArray
camelia rakudo-moar 3d6a73: OUTPUT«True␤»
11:10 alini left
FROGGS abraxxa: can you change your multi declarations to CArray instead of TypedCArray[OpaquePointer]? 11:11
abraxxa: but only the sub declarations, nothing else
dalek ast: b6dc271 | peschwa++ | S32-exceptions/misc.t:
Add test for RT #114430.
11:12
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=114430
abraxxa FROGGS: i have CArray[OCIBind] $bindpp, because OCIBind $bindpp is rw, doesn't work in 2015.02
FROGGS: still no match 11:13
can i use some NativeCall function to convert Str, long and num32 to the binary representation instead of using multidispatch 11:17
FROGGS abraxxa: using Str, long or num32 *is* your way of specifying the binary representation 11:24
abraxxa: if you have CArray[sonmthing] in a sub declaration, then please change that to CArray like i just said 11:25
abraxxa FROGGS: already did that
11:25 coffee` joined
abraxxa i'm now checking all the other params 11:25
i guess it auto casts one or some of them without multi dispatch but fails now 11:26
11:26 alini joined
abraxxa or can i specify a default match sub? 11:26
FROGGS what is a match sub?
abraxxa sorry, multi sub
i pass 0 for three params that are defined as ub2, ub2 and ub4, is that a problem? 11:27
FROGGS that's the core of multi subs... it looks for the most specific and matching signature for the call you do
abraxxa can, should I define a type for constants?
FROGGS so if you have 'sub foo(Int)' and 'sub foo(Any)', the former will be called for ints and the latter for anything else 11:28
abraxxa sure
but it's quite harder with multiple params
FROGGS abraxxa: I dont think this is a problem... but you might not want to pass a literal 0 but a variable containing 0 11:29
abraxxa my naive guess is that the three 0's and/or the constant which lack a type definition cause it to not match
FROGGS abraxxa: because the C function is allowed to change the value of these variables in case the param is 'is rw'
11:29 koo6 joined
abraxxa YES! 11:30
that fixed it
the three 0
ah, no
FROGGS :/
abraxxa can i define a type for the constant too? 11:31
when I pass a variable of type ub4 and the value 0 instead of OCI_DEFAULT it matches
but it fails with Cannot invoke object with invocation handler in this context 11:32
FROGGS m: my int32 constant a = 42
camelia ( no output )
abraxxa back to no signature match
FROGGS abraxxa: can you push all your local changes to a dev branch? 11:33
abraxxa sure
FROGGS and... I guess I'd need to install some pkg?
I'm ubuntu
abraxxa Oracle InstantClient and Oracle XE 11:34
i'm using registry.hub.docker.com/u/wnameles...le-xe-11g/
and www.oracle.com/technetwork/topics/l...92277.html
you need basic + sdk
FROGGS ewww
that sounds like a lot
abraxxa which Ubuntu version? 11:35
FROGGS 14.04
abraxxa the instantclient is easy, just unzip two files and set env vars
i'm on 14.10 64bit
i think it would be easier to get rid of multidispatch
timotimo couldn't you put a proto up for the multi that'd print .perl the capture? 11:38
abraxxa how do i specify default values?
then i could get rid of passing the last four params
FROGGS like an assignment after all traits 11:39
abraxxa Cannot use 'is rw' on an optional parameter 11:41
FROGGS hmmm, docker is not available as a debian package?
abraxxa it is for 14.10
as ubuntu package
11:41 xfix joined, muraiki joined
FROGGS abraxxa: right, like you cannot pass integer constant to is rw params 11:41
abraxxa called docker.io in 14.10
11:42 Ziemniak left, muraiki left
abraxxa Cannot unbox a type object again 11:44
ub4 $mode = OCI_DEFAULT, caused it 11:45
FROGGS okay, I'm not going to mess with my $work system now... but can you please push to a dev branch so I can look at the code?
abraxxa even if I define my ub4 constant OCI_DEFAULT = 0;
11:46 cognominal joined
abraxxa FROGGS: pushed 11:46
FROGGS: github.com/abraxxa/DBIish/blob/mas...Oracle.pm6 11:47
11:50 laouji left, laouji joined
abraxxa FROGGS++ # thanks for your efforts and help! 11:51
FROGGS I think one issue is that the 'is rw' which implied pointer is not in 2015.02... I think we found that out yesterday 11:52
so, it might make sense to continue with 2015.03
I have to do some more $dayjob and then I'll focus on the release 11:53
11:53 laouji_ joined, laouji_ left 11:54 laouji left 11:55 laouji joined
abraxxa so it is valid syntax but has no effect? 11:55
11:55 eli-se joined, eli-se_ joined, eli-se_ left
eli-se hey 11:55
psch o/ eli-se 11:56
FROGGS abraxxa: for nativecall subs it has not effect, correct
hi eli-se
11:56 rurban1 left
abraxxa FROGGS: got it 11:56
fine for me
11:57 eli-se left 11:59 eli-se joined 12:09 itz_ joined 12:11 itz left 12:14 itz joined
rjbs Got email this morning: 12:14
Dear Perl,
You have not paid for driving on a toll road.
"Perl" is ambiguous, but I haven't been driving Perl, so I'm sending the ticket to you folks. 12:15
timotimo wat %) 12:16
eli-se Perl is great!
12:17 itz_ left, eli-se left, lichtkind_ joined
BinGOs rjbs++ 12:18
12:20 Ven joined 12:21 pecastro left, lichtkind left
FROGGS :P 12:22
12:23 pecastro joined
itz I think the driving ticket was addressed to perl 4 12:34
12:36 rurban left 12:39 kaleem left
dalek kudo/no-linenoise: e13cbf5 | hoelzro++ | src/Perl6/Compiler.nqp:
Use Linenoise for the REPL if it's available
12:40
kudo/completion: 59a6d3d | hoelzro++ | / (2 files):
Add rudimentary tab completion
12:42
12:46 anaeem1_ left, anaeem1 joined
tadzik \o/ 12:46
12:46 anaeem1 left, rurban joined
psch hoelzro++ 12:47
12:47 anaeem1_ joined, rurban1 joined, anaeem1_ left 12:48 anaeem1_ joined 12:52 anaeem1_ left
itz hoelzro++ 12:53
12:56 spider-mario joined
dalek kudo-star-daily: 528c0c6 | coke++ | log/ (9 files):
today (automated commit)
12:56
rl6-roast-data: b7abe1c | coke++ | / (9 files):
today (automated commit)
[Coke] (perl 4) Dammit, grandpa, not letting you borrow the car anymore. 13:04
13:09 tinyblak joined, tinyblak left
dalek rl6-most-wanted: f5a3277 | (Tom Browder)++ | most-wanted/modules.md:
put Numerical group in alphabetical order
13:10
rl6-most-wanted: f587fe7 | (Tom Browder)++ | most-wanted/modules.md:
add WIP location
rl6-most-wanted: 22dacef | (Tom Browder)++ | most-wanted/modules.md:
use same format as others on list
rl6-most-wanted: 451968f | (Tom Browder)++ | most-wanted/modules.md:
add module needed for Geo::Ellipsoid
rl6-most-wanted: e9cb6c8 | colomon++ | most-wanted/modules.md:
Merge pull request #3 from tbrowder/master

Add new module, modify list and module info
13:11 tinyblak joined 13:27 laouji left 13:30 anaeem1 joined
dalek ecs: 0f5bdf9 | (Stéphane Payrard)++ | S99-glossary.pod:
added NCI
13:35
13:38 brrt joined 13:39 eli-se joined
eli-se shiny 13:39
dalek ecs: 4a1a774 | (Stéphane Payrard)++ | S99-glossary.pod:
update zavolaj
13:43
Ven eli-se, o/ 13:44
FROGGS there is a typo 'interoperabiity' 13:46
cognominal^^ 13:47
timotimo eli-se: what's shiny? i want to see, too! 13:50
dalek ecs: 56f6adf | (Stéphane Payrard)++ | S99-glossary.pod:
typo spotted by FROGGS++
eli-se my AWK program 13:53
timotimo i wonder if i ought to learn a bit of AWK at some point 13:54
13:54 skarlso joined
skarlso g-day 13:54
timotimo hello skarlso 13:55
tadzik timotimo: I found it quite insightful
eli-se timotimo: my most useful AWK program: alias c1='awk { print $1 }' 13:56
timotimo as a "history lesson" kind of insightful or what?
eli-se with some more quotes
timotimo heh, ok
skarlso hello timotimo 13:57
tadzik timotimo: not really, I find it still viable for certain shell-related tasks
timotimo mhm 13:58
TimToady waves from not-yet-sunny California
tadzik Perl is basically superior to it these days anyway, but it's often easier than using grep and cut and sed and whatnot
quite fun :)
eli-se Perl has better regexen 13:59
TimToady FSDO
eli-se fresh salad double onion?
TimToady for some definition of 14:00
FROGGS eli-se: I like yours better :D
timotimo double onion <3
TimToady Perl is kind of a double onion 14:01
eli-se m: say 'onion' x 2
FROGGS aye
camelia rakudo-moar 3d6a73: OUTPUT«oniononion␤»
TimToady put that into an earl SOTO talk
timotimo m: say 'onion' xx 2
TimToady *y
camelia rakudo-moar 3d6a73: OUTPUT«onion onion␤»
FROGGS .oO( floatonion doubleonion longdoubleonion )
timotimo just a single character more gives us spaces between the words :3 14:02
volatile onion // oops
TimToady spaces, the final frontier...
eli-se std::atomic<> onion; // exciting
FROGGS wow, such onion
TimToady wants a tokomak onion 14:03
nwc10 so allium
eyewatering
TimToady *tokamak
TimToady can't speel this mroning 14:04
nwc10 insufficient coffee?
or excessive jetlag?
TimToady there's lots of coffee, just haven't drunk it all yet
TimToady was awake half the night thinking about how to make dynvar lookup faster 14:05
psch m: say .subst(/(.)+/, { (@0[0..*/2], $0, @0[*/2..*]).comb(/\w/).join }) given 'onion'
|Tux| m: (π+0).say
camelia rakudo-moar 3d6a73: OUTPUT«onionionion␤»
rakudo-moar 3d6a73: OUTPUT«3.14159265358979␤»
|Tux| :) 14:06
nwc10 j: (π+0).say
camelia rakudo-jvm 3d6a73: OUTPUT«Can't open perl script "/home/camelia/jvm-rakudo/eval-client.pl": No such file or directory␤»
psch .comb(/\w/).join seems excessive for what i wanted ther :/
yoleaux psch: Sorry, this command is admin-only.
nwc10 the naughty word is .join is it 14:07
timotimo tee hee
psch yoleaux: oh shush
nwc10 oh, bot baiting failed
psch .c
yoleaux Query Wolfram Alpha for a calculator result
14:07 raiph joined
psch .comb 14:07
.join
yoleaux psch: Sorry, this command is admin-only.
nwc10 .bogus.comb
psch that parsing seems wonky
nwc10 er 14:08
.bogus.join
yoleaux nwc10: Sorry, this command is admin-only.
eli-se .onion
psch looks like «^\.(.+)?$keyword (.+)» or something
14:08 CurtisOvidPoe_ joined
FROGGS . tell psch huh? 14:09
ahh w/e
psch FROGGS: right. \w not . :)
14:10 eli-se left, CurtisOvidPoe left, CurtisOvidPoe_ is now known as CurtisOvidPoe 14:19 cdc_ joined 14:20 adu joined
cdc_ Hello #perl6 14:22
perl6: class A { has $.callback }; my A $a .= new(callback => &say); $a.callback('OK')
camelia rakudo-moar 3d6a73: OUTPUT«Too many positionals passed; expected 1 argument but got 2␤ in method callback at src/gen/m-CORE.setting:3993␤ in block <unit> at /tmp/tmpfile:1␤␤»
FROGGS hi cdc_
cdc_ perl6: class A { has $.callback }; my A $a .= new(callback => &say); my $callback = $a.callback; $callback('OK') 14:23
camelia rakudo-moar 3d6a73: OUTPUT«OK␤»
cdc_ o/ FROGGS
FROGGS m: class A { has $.callback }; my A $a .= new(callback => &say); $a.callback()('OK')
camelia rakudo-moar 3d6a73: OUTPUT«OK␤»
cdc_ FROGGS: thanks! :)
FROGGS cdc_: $a.callback() will return that callback, and then you can invoke it
cdc_ ok, I understand
*now
TimToady perl6: class A { has $.callback }; my A $a .= new(callback => &say); $a.callback()('OK') 14:24
camelia rakudo-moar 3d6a73: OUTPUT«OK␤»
TimToady that owrks too
OWRK! that hurts
FROGGS that's.... what I did,no?
cdc_ :)
TimToady oh, yeah, eyes still crossed this morning
FROGGS ahh... 14:25
then I can stop comparing both lines :o)
TimToady I believe it even says that in the docs somewhere...
cdc_ S03: foo.() # same as foo()()
synopsebot Link: design.perl6.org/S03.html#foo
psch m: class A { has $.callback }; my A $a .= new(callback => &say); $a.callback.('OK')
camelia rakudo-moar 3d6a73: OUTPUT«OK␤»
psch design matches implementation \o/ 14:26
14:26 tinyblak left
FROGGS m: class A { has $.cb; method callback(|args) { $!cb(|args) }; my A $a .= new(cb => &say); $a.callback('OK') 14:26
camelia rakudo-moar 3d6a73: OUTPUT«5===SORRY!5=== Error while compiling /tmp/hSU6U_TVoV␤Unable to parse expression in block; couldn't find final '}' ␤at /tmp/hSU6U_TVoV:1␤------> 3$a .= new(cb => &say); $a.callback('OK')7⏏5<EOL>␤ expecting any of:␤ statement en…»
FROGGS m: class A { has $.cb; method callback(|args) { $!cb(|args) } }; my A $a .= new(cb => &say); $a.callback('OK')
camelia rakudo-moar 3d6a73: OUTPUT«OK␤»
TimToady maybe I'm imaginging it, or maybe we've just said the ()() trick on IRC before 14:27
maybe I'll have some more coffee
FROGGS m: class A { has $.cb; method new($callback) { self.bless: :cb($callback) }; method callback(|args) { $!cb(|args) } }; my A $a .= new(callback => &say); $a.callback('OK')
camelia rakudo-moar 3d6a73: OUTPUT«Too few positionals passed; expected 2 arguments but got 1␤ in method new at /tmp/WLfViU3phC:1␤ in method dispatch:<.=> at src/gen/m-CORE.setting:1370␤ in block <unit> at /tmp/WLfViU3phC:1␤␤»
FROGGS m: class A { has $.cb; method new(:$callback) { self.bless: :cb($callback) }; method callback(|args) { $!cb(|args) } }; my A $a .= new(callback => &say); $a.callback('OK') 14:28
camelia rakudo-moar 3d6a73: OUTPUT«OK␤»
cdc_ smart! 14:29
FROGGS cdc_: ^^
TimToady you don't cheat fair :P 14:30
hoelzro o/ #perl6 14:31
cdc_ it's smart, but I prefer using the .() syntax instead of using slef.bless (I'm not confident enough with it)
hoelzro if anyone is curious about my tab completion changes, I made a PR here: github.com/rakudo/rakudo/pull/391
14:31 Rounin left
hoelzro with notes on ways in which it could be improved 14:31
tadzik hmm, a challenge: A Perl grammar to parse the spell list copypasted from the D&D 5e Basic Rules PDF 14:32
cdc_ hoelzro: is this tab completion for the REPL?
hoelzro cdc_: yes
14:32 eli-se joined
cdc_ hoelzro++ # I always find myself using the TAB key by reflex in the perl6 REPL (without success yet) 14:33
moritz sounds like a good proof of concept, but not mergable yet 14:35
TimToady wonders how a REPL can handle the need competing needs of evaluating the next value while sinking statements that are not the final statement...
ss/need /
hoelzro moritz: definitely not 14:36
it's a rough draft based on what I could get done in a single coding session
14:36 Rounin joined
moritz TimToady: it doesn't sink, it gists/prints 14:36
hoelzro I'm posting it because I'm going to need some help on some of the points that need improvement (ex. getting a list of completions, loading Linenoise.pm from NQP, etc)
TimToady I know, but it feels like that's gonna bite us someday, is all... 14:37
moritz hoelzro: understood; I just don't want anybody else do say "awesome, let's merge!" :-)
hoelzro moritz: good call =)
I'll actually add a note to the PR
moritz I already did
hoelzro: I might be able to help with the introspect-y bits
hoelzro that would be great 14:38
moritz (though not right now; feel free to bug me tonight if I forget it) 14:40
14:40 tinyblak joined
hoelzro ok, will do 14:40
TimToady thinks this message is LTA: Calling 'f' will never work with argument types (Str, Str)
needs to bring the f(Str, Str) together somehow, plusee the :(Int $, Str $) for the candidates can lose the : and the $ signs to make (Int, Str) 14:42
since $ doesn't not really impose any additional constraint
*plus
|Tux| m: (e**(2*π*i)).say 14:43
camelia rakudo-moar 3d6a73: OUTPUT«1-2.44929359829471e-16i␤»
|Tux| webmind claims that that should print 1
TimToady my typing reflexes must still be somewhere over Greenland...
moritz |Tux|: it should; but floating point inaccuracies make that not exactly 1
m: say sin(20 * pi) 14:44
camelia rakudo-moar 3d6a73: OUTPUT«-2.44929359829471e-15␤»
FROGGS TimToady: seems pretty LHF
moritz same here; should be 0
|Tux|: only a computer algebra system can preserve these identities exactly
TimToady FROGGS: yes, but I don't dare fix that in my current state, so I'm just sayin' it out loud so I don't forget it after backlogging :)
also, aren't we still in release mode? 14:45
moritz something to be done after the release, I think :-)
|Tux| I know about those floating point issues, jussed passed on the message
moritz FROGGS: you're doing the release, right?
|Tux| (trying to make *more* people enthusiastic about perl6)
FROGGS moritz: right 14:46
TimToady: I'd also want to wait for the release first...
TimToady but...but...you can't wait for the release if you're doing it... :) 14:48
iv Can I import a class (e.g. LWP::Simple) under another name (e.g. just LWP)?
grondilu m: constant mypi = pi but role Pi {}; multi sin(Pi) { 0 }; say sin(mypi); 14:49
camelia rakudo-moar 3d6a73: OUTPUT«Ambiguous call to 'sin'; these signatures all match:␤:(Numeric \x)␤:(Pi $)␤ in block <unit> at /tmp/41AyNxd5J6:1␤␤»
TimToady iv: supposed to be able to
m: use LWP:name<LWP::SIMPLE>; # or so
camelia rakudo-moar 3d6a73: OUTPUT«===SORRY!===␤Could not find LWP in any of: /home/camelia/rakudo-inst-1/languages/perl6/lib, /home/camelia/rakudo-inst-1/languages/perl6␤»
skarlso question: are mixins like groovy mixins? 14:50
TimToady dunno if that's implemented yet, but we need aliasing to hide all the version/auth longnames anyway
moritz skarlso: how are groovy mixins?
FROGGS TimToady: I'll wait in another process :o)
iv m: use LWP::Simple:name<LWP>; say LWP.WHO; say LWP::Simple.WHO
camelia rakudo-moar 3d6a73: OUTPUT«===SORRY!===␤Could not find LWP::Simple in any of: /home/camelia/rakudo-inst-1/languages/perl6/lib, /home/camelia/rakudo-inst-1/languages/perl6␤»
FROGGS ahh, it was not about blocking oneself
iv Oh. Well, anyway, looks like it imports the name you give it first, and then imports some kind of package object under the :name. 14:51
Not what I thought S11 says.
TimToady m-star: use LWP::Simple:name<LWP>; say LWP.WHO; say LWP::Simple.WHO
skarlso well, they are sort of like a template, they are completely incorporated into whichever file you include them, using the variables and everything, which makes them confusing. Hence, they have been abandoned and replaced by traits.
FROGGS star-m: use LWP::Simple:name<LWP>; say LWP.WHO; say LWP::Simple.WHO
camelia star-m 2015.02: OUTPUT«Simple => (LWP::Simple)␤$.class_default_encoding => utf-8, $VERSION => 0.085, GET => GET, HEAD => HEAD, POST => POST, PUT => PUT, RequestType => (RequestType)␤»
TimToady star: use LWP::Simple:name<LWP>; say LWP.WHO; say LWP::Simple.WHO
camelia star-{m,p} 2015.02: OUTPUT«Simple => (LWP::Simple)␤$.class_default_encoding => utf-8, $VERSION => 0.085, GET => GET, HEAD => HEAD, POST => POST, PUT => PUT, RequestType => (RequestType)␤»
iv Right. I'd guess LWP there is the, well, LWP package, which has one member, Simple. No alias made, as far as I can see. 14:52
moritz skarlso: well, Perl 6 has roles, which are inspired by the original "traits" paper
TimToady yeah, S11 has :name as the name it's coming *from*, last I knew
moritz skarlso: and when we talking about mixins in Perl 6, we mean run-time application of a role to an object
iv I'll chalk it up as not implemented yet. Thanks! 14:53
skarlso gooooooooooood
thanks moritz
This was the only sentence which threw me off a bit: ## Roles are supported too (also called Mixins in other languages). That's why I was a little bit nervous. 14:54
TimToady yeah, that's not quite accurate
skarlso indeed. :) 14:55
TimToady mixins are just one of the ways that roles can be used, is how I'd say it
a mixin is run-time composition
by adding an anon class as a derived class
Ven TimToady: hi. someone asked something I thought was interesting about my tutorial. Everywhere I use "@array", but should it be "@list" instead?
And change every "array" to "list" (except when talking about $0 or things like that) 14:56
skarlso as long as I don't have to declare it at class level with an annotation, and it's visible what belongs to what, I'm happy. :)
14:56 rmgk_ joined, rmgk left, rmgk_ is now known as rmgk
moritz Ven: IMHO it should @things_inside_the_list, like @numbers or so 14:56
Ven: the @ already implies Array (or Positional)
Ven moritz: sure, but that's outside the point of my question
TimToady thinks @array is more communicative, if less precise 14:57
Ven m: say [].WHAT.perl 14:58
camelia rakudo-moar 3d6a73: OUTPUT«Array␤»
14:58 cognominal left
Ven m: say (1,).WHAT.perl 14:58
camelia rakudo-moar 3d6a73: OUTPUT«Parcel␤»
Ven m: say (my $ = (1,)).WHAT.perl # sigh
camelia rakudo-moar 3d6a73: OUTPUT«Parcel␤»
Ven ah, well.
ah, it's $. oops
TimToady most people know what an array is, but have wildly varying views on what "list" means 14:59
14:59 cdc_ left
TimToady so it's more a matter of avoiding a badly overloaded word 15:00
(for teaching purposes)
15:03 lizmat_ joined, eli-se left 15:06 lizmat left 15:12 xinming joined 15:25 molaf joined 15:27 brrt left 15:29 raiph left 15:36 pecastro left
tadzik ooh, +~$0 is legal 15:38
so awful and so handy
15:39 skids joined, rindolf left
moritz we should have a name for that 15:40
TimToady maybe we should bias $0 in favor of strings in the first place
moritz "The Sośnierz maneuver"
tadzik moritz: I was thinking of 'A belly dancer'...
TimToady now that we have @0 to man the subbits of it 15:41
tadzik but this is good too :P
TimToady *mean
15:41 skids left
sjn m: say (+~+~+~+~+~+~$0).WHAT 15:41
camelia rakudo-moar 3d6a73: OUTPUT«(Int)␤»
sjn m: say (~+~+~+~+~+~$0).WHAT
camelia rakudo-moar 3d6a73: OUTPUT«(Str)␤»
sjn happy times 15:42
15:43 raiph joined
TimToady or even more radical, make Match ~~ Str 15:45
moritz I'm not sure I'd be happy with that
for me, a Match is much more than a Str with a bit of extra functionality 15:46
TimToady it's very counterintuitive to a P5 programmer though
FROGGS .oO( Quick! It is almost released! )
DrForr TimToady: You made it back safe and sound?
TimToady so it would seem, though my brane is still somewhere between there and here :) 15:47
tadzik funny story: a 2nd degree friend had a contest on a university to write a regex in a syntax from the newest version of Perl. He lost, because he wrote it in Perl 6 syntax
and that was 10 years ago
DrForr I'll shove it your way :)
tadzik: That means he was 4 degrees away from Kevin Bacon? 15:48
tadzik DrForr: sounds about right :)
although this group may not have this property 15:49
not sure if friend scoping is additive
TimToady likes bacon with a high number of degrees
tadzik or if I'm using the right vocabulary for this
15:50 raiph left
DrForr Well, friend mapping may not necessarily be bijective :) 15:50
15:51 rurban1 left
tadzik possibly :) 15:51
that's like the messenger's dillema/paradox: when two people speak different languages, can they ever tell if they understand each other? 15:52
15:54 mr-foobar joined
DrForr journeys to Skund. 16:00
16:00 dalek left
psch moritz: load seems to creep up unreasonably on hack again, to ~24 in the last 2-3 minutes 16:01
16:01 eli-se joined
moritz psch: thanks, I'll take a look 16:01
timotimo tries to journalctl and it freezes 16:03
16:04 avuserow left
moritz there seem to be about ~30 cron processes 16:05
that simply hang there
dammit, frozen
can anybody still do anything on that machine?
FROGGS hack again?
moritz FROGGS: yes :(
FROGGS hmmm, do we know what cron processes that are? 16:06
moritz FROGGS: they didn't have any child processes
FROGGS: so not processes started by cron, but cron itself
FROGGS if I'd try to ssh into it now then I'd just kill it even more
psch i still have one shell
moritz psch: do you have sudo? 16:07
psch and the irssi screen, but new screens hang
no i don't
gpasswd needs a relogg iirc? so we're kinda stuck again i suppose
i hope i don't have any unsafed buffers open
16:08 eli-se left 16:09 Guest3088 is now known as ponbiki
moritz reboot running 16:11
16:11 masak left, Util left, [Coke] left, Mouq left, sergot left, psch left, dalek joined, ChanServ sets mode: +v dalek 16:12 psch joined
moritz anybody have any ideas how to limit cron's resource usage, or debug that problem? 16:12
FROGGS grrr, I am attempted to remove all S17 tests for t/spectest.data 16:13
moritz: no... :/ 16:14
moritz there was a rakudo-star-daily running, but it shouldn't use *that* many resources
and, since it runs as a user account, it should be resource-limited
collectd didn't collect any stats :( 16:15
at least not for this time
decommute& 16:16
FROGGS hmpf
16:16 telex left, alini left 16:18 telex joined, Rounin left
psch serverfault.com/questions/500385/ seems related, at a glance 16:19
16:21 Ven left 16:22 muraiki_ joined 16:32 kaleem joined 16:34 lichtkind_ left, Ven joined 16:35 perl6_newbee joined 16:36 kaleem left, gfldex joined
dalek rl6-roast-data: 1db24bc | coke++ | / (9 files):
today (automated commit)
16:41
16:42 wicope left 16:44 [Coke] joined
dalek kudo/nom: ac36302 | FROGGS++ | t/spectest.data:
skip S17 test that segfaulted once in spectest
16:44
FROGGS brb &
16:45 FROGGS left, andreoss joined
[Coke] so the reboot was rakudo-star-daily's fault? 16:47
Wonder if we should have one vm for IRC sessions and one for testing.
16:48 diana_olhovik_ left 16:49 lichtkind_ joined
nine_ moritz: LimitData= in cron.service 16:52
16:53 Ven left, larion left 17:02 abraxxa left 17:07 nige left 17:09 madmuid joined 17:10 skarlso left 17:11 beastd joined 17:15 cognominal joined 17:16 cognominal left 17:20 masak joined, rurban1 joined
masak good evening, #perl6 17:20
jnthn o/ masɐk 17:23
masak m: $_ = "masek"; s[(a)s(e)] = $1 ~ "s" ~ $0; say $_ 17:24
camelia rakudo-moar ac3630: OUTPUT«mesak␤»
masak dang. :)
17:25 alini joined
masak m: $_ = "masek"; s[(a)s(e)] = $0 ~ "s" ~ $0; say $_ 17:25
camelia rakudo-moar ac3630: OUTPUT«masak␤»
masak m: $_ = "masek"; s[(.)s(.)] = $0 ~ "s" ~ $0; say $_
camelia rakudo-moar ac3630: OUTPUT«masak␤»
masak oh, it was an ɐ
jnthn m: $_ = "masɐk"; s[(a)s(e)] = $0 ~ "s" ~ $0; say $_
camelia rakudo-moar ac3630: OUTPUT«masɐk␤»
jnthn :P
haha
masak m: $_ = "masɐk"; s[(.)s(.)] = $0 ~ "s" ~ $0; say $_
camelia rakudo-moar ac3630: OUTPUT«masak␤»
masak \o/
jnthn The things one finds in Unicode... 17:26
17:26 nige joined 17:28 rindolf joined 17:29 diana_olhovik_ joined
masak I have a question from a Perl 5 user and (new) colleague: does Perl 6 have anything akin to p5's `goto &foo`, to tail-call into a sub? the important criterion being that it replaces the current stack frame with the new one. 17:36
jnthn Not afaik
Maybe the NYI &foo.callwith(...) 17:37
masak I searched my memory for something, but I could only think of `nextsame` (et al.) and `&*ROUTINE`, neither of which felt like a good match.
[Coke] huh: dayswithoutansslexploit.com/ 17:38
TimToady jnthn: it'd have to be nextwith to avoid the frame 17:41
17:41 FROGGS joined 17:44 anaeem1 left, anaeem1 joined
jnthn TimToady: I thought .callwith was somehting special defined as not introducting a stack frame, and not related to the whole deferral thing 17:44
TimToady it's just that the rest of call* imply a return 17:45
jnthn ah
TimToady so maybe it should be gotowith or so
jnthn In S06:
sub foo (|args) { say args.perl; &bar.callwith(|args); }
...
Use of callwith allows the routine to be called without introducing an official CALLER frame.
That's the bit I was remembering. However, unofficial doesn't mean not existing :) 17:46
TimToady yeah, that's bad design
jnthn wtf, it wants translit 17:47
uh, ww
timotimo "continuewith"? 17:48
jnthn wonders how we'll get the tailcall to work on JVM :) 17:49
Oh...probably by hacking the infrastructure we already use for continuations :)
TimToady though the "official CALLER frame" that is not introduced by wrap is kind of a different issue 17:50
jnthn yeah 17:51
And at the moment you do get one :)
TimToady presumably there's a frame for callwith, it's just not official
17:51 rurban left
dalek ecs: 3d4f2dc | TimToady++ | S06-routines.pod:
s/callsame/nextsame/ for actual tailcall
17:52
TimToady well, it was actually s/callwith/nextwith/ 17:53
17:57 pecastro joined
jnthn *nod* 17:58
dalek kudo/nom: 77ea41b | Mouq++ | docs/ChangeLog:
use + consistently in ChangeLog.
18:01
TimToady is thinking of getting rid of %*LANG in favor of inherited braid methods of some sort 18:02
use of %*LANG forces strict recursive descent parsing, perhaps more strict than strictly necessary 18:03
18:04 espadrine left, dakkar left
TimToady one ought to be able to save the current braid in a cursor without relying on the current dynamic scope 18:04
and method caching might be more efficient than dynvar caching, at least until we revamp the latter 18:05
18:05 Mouq joined
psch jnthn: the if at QAST/Compiler.nqp:4333 is what breaks «sub f(int $x is rw) {...}» on jvm 18:05
jnthn Methods are also inlinable
psch jnthn: i have a suspicion that just removing it is wrong, although spectest doesn't complain 18:06
TimToady in general, dynvars are a bit of an attractive nuisance
18:06 CurtisOvidPoe_ joined
jnthn psch: hmmm 18:07
18:07 CurtisOvidPoe left, CurtisOvidPoe_ is now known as CurtisOvidPoe
psch jnthn: fwiw, i didn't figure that out by understanding the code, i just crawled the bytecode to figure out where the NPE comes from 18:07
jnthn psch: Oh...on moar we never make it that far
psch: If a declaration is in void context we simply return from compile_var earlier 18:08
Around the location of the want analysis
See compile_var for Moar
Search for "Declaration in void context"
Might as well port that, since it'll improve code-gen on JVM as well as fixing the bug :)
psch jnthn: thanks, i'll have a go at that 18:10
Mouq psch: Is there already a ticket/test for this? 18:12
jnthn Mouq: afaik, he's fixing something that causes a spectest fail 18:13
psch Mouq: S02-types/native.t indirectly points at the issue, and i think bartolin RT'd it
Mouq Okay, just wanted to check :)
psch RT #124051 is the ticket, albeit a bit misleading 18:18
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=124051
18:18 mohij joined 18:24 eli-se joined
eli-se hi :3 18:25
Mouq m: sub prefix:<maybe> (|c) { c.perl.say; not(|c) }; say maybe(1)||2
camelia rakudo-moar 77ea41: OUTPUT«5===SORRY!5=== Error while compiling /tmp/diMcCDWksY␤Undeclared routine:␤ maybe used at line 1. Did you mean 'make'?␤␤»
Mouq m: sub prefix:<maybe> (|c) { c.perl.say; not(|c) }; say maybe (1)||2
camelia rakudo-moar 77ea41: OUTPUT«Capture.new(list => (1,))␤2␤»
Mouq m: sub prefix:<maybe> (|c) is looser(&prefix:<so>) { c.perl.say; not(|c) }; say maybe 1||2 18:26
camelia rakudo-moar 77ea41: OUTPUT«Capture.new(list => (1,))␤False␤» 18:27
dalek kudo/nom: 6289ae4 | Mouq++ | docs/ChangeLog:
Add a few more ChangeLog entries
18:36
TimToady all this crud with dynvar $*ACTIONS is also pretty bogus; we should just mix in the ACTIONS to the current language 18:38
jnthn TimToady: Putting it into ParseShared (hanging off each Cursor) may make sense. 18:39
TimToady except that's shared among different languages 18:40
(I think)
jnthn I...thought not 18:41
I don't think it is
TimToady see method LANG in HLL, it just takes self's shared 18:42
which is a different language
Mouq TimToady: +1 for something better (and faster) than $*ACTIONS
jnthn TimToady: Ah, OK. 18:44
timotimo how often do we look up $*ACTIONS?
jnthn Every single rule 18:45
FROGGS Mouq: I am currently working on the Changlog (by looking at *all* commits...), please stop working on it for now 18:46
Mouq FROGGS: Sure, sorry :) 18:47
18:47 Peter_R left 18:49 Peter_R joined 18:52 nige left
FROGGS lizmat_: can you set a kebab cases environment variable on osx? 18:53
18:54 lizmat_ is now known as lizmat
lizmat indeed, you can't 18:55
FROGGS :o)
lizmat so I guess we need to revert the DEPRECATIONS env var change
FROGGS rakudo/src/core/Deprecations.pm:109: unless %*ENV<RAKUDO-NO-DEPRECATIONS> {
revert/fix, yes
lizmat will do
FROGGS lizmat++
I'll just correct the changelog entry :o)
dalek kudo/nom: b710ae9 | lizmat++ | src/core/Deprecations.pm:
Revert "Kebab-case RAKUDO_NO_DEPRECATIONS"

Apparently, many OS's aren't as advanced allowing kebab-cased env vars.
  FROGGS++ for pointing it out
18:57
timotimo d'oh 19:00
geekosaur afaik POSIX only specs _, and - is a Linuxism 19:03
TimToady well, a Lispism, probably :) 19:07
spider-mario I’ve seen “kebab-case” mentioned for a few days now 19:08
what are we calling that? 19:09
TimToady use of hyphens instead of underscores
spider-mario oh, never mind
thanks
TimToady like your nick :P
masak some TODO passed tests in my spectest run: t/spec/S17-procasync/basic.rakudo.moar TODO passed: 28, t/spec/S17-procasync/print.rakudo.moar TODO passed: 12-14
xfix ~ $ set -x LISP-IS-GOOD abc
set: Invalid character '-' in variable name. Only alphanumerical characters and underscores are valid in a variable name.
Fish shell complains.
huf why is hyphen kebabby? 19:10
xfix But to be honest, even if you would declare such a variable name, accessing it would be tricky.
masak huf: meat on a stick.
spider-mario at least the error message isn’t LTA
huf OH
.... that's brilliant and painful at once
xfix So it's probably reasonable to block this.
spider-mario fish’s reaction is better than “Syntax error line 1” 19:11
masak huf: meh.
huf: it's about on par with "camel case", I'd say :)
huf masak: yes, but i already got used to that one 19:12
so long ago that i dont remember my initial reaction
masak there's a lesson about cognition in there somewhere, I'm sure.
huf so what's this_called? unstated-case? default-case?
masak .oO( basket case? ) 19:13
huf i'll use that then
spider-mario we could find another animal 19:14
snake and camel are already taken
but we can probably find another one
how about poodle case? 19:15
19:15 skids joined 19:16 perl6_newbee left
timotimo dachshund case 19:16
masak wiener dog case 19:17
oh. those are the same kind of dog. 19:18
the German word seems to mean "badger dog".
timotimo in german i believe we call them "dackel" 19:21
FROGGS only native arrays are TBD for jvm, right? 19:22
the other native type stuff is supported, right?
timotimo i ... think so?
TimToady maybe we should require use MONKEY‾TYPING; 19:23
FROGGS $ perl6-j -e 'my int8 $x; say ++$x'
java.lang.NullPointerException
in sub prefix:<++> at gen/jvm/CORE.setting:5698
huf oh yeah, gotta have a bar where the monkey can swing
timotimo .u monkey
yoleaux U+1F412 MONKEY [So] (🐒)
FROGGS :o(
seems not
timotimo m: constant = 1; use NativeCall; my Pointer[ ] $monkey; 19:24
camelia rakudo-moar b710ae: OUTPUT«===SORRY!===␤Too few positionals passed; expected 3 arguments but got 2␤»
timotimo :o
moritz \o
FROGGS m: constant = 1; 19:25
camelia ( no output )
FROGGS m: use NativeCall; my Pointer[ ] $monkey;
camelia rakudo-moar b710ae: OUTPUT«===SORRY!===␤Too few positionals passed; expected 3 arguments but got 2␤»
timotimo weird.
FROGGS yeah
timotimo m: use NativeCall; my Pointer[int] $foo; 19:26
camelia ( no output )
timotimo Unhandled exception: This representation (VMArray) does not support positional access
?!
spider-mario TimToady: is that ‾ the branch that the monkey is hanging from? 19:29
timotimo :D
moritz [Coke]: fwiw I don't know if the rakudo-star-daily killed hack, I just noticed it was running at the time it happend 19:30
[Coke] ok.
moritz [Coke]: but it seemed to be behave normally (1 CPU, no excessive memory usage)
[Coke] thanks.
dalek kudo/nom: 2d24651 | FROGGS++ | docs/ChangeLog:
update changelog
moritz I'm more worried about cron itself having too many unkillable processes 19:31
19:31 darutoko left
Mouq FROGGS++ 19:31
timotimo FROGGS: shouldn't it be called "incompatible changes"?
or is this "a change in the incompatibilities"?
FROGGS I did not write it...
timotimo mhm
FROGGS so, somebody with more English fu than a stool (me) is invited to fix it :o) 19:32
moritz I did install some resource limits for cron now, nine_++ 19:33
askubuntu.com/questions/548810/many...-processes seems to fit to my observations; sadly no answer
19:35 fhelmberger left
dalek kudo/install-dir-layout: 81e8b48 | moritz++ | docs/ChangeLog:
Changelog: language improvements (I hope :)
19:35
FROGGS ERONGBRANCH :P
19:35 fhelmberger joined
FROGGS m: say Callable.^can 19:36
camelia rakudo-moar b710ae: OUTPUT«0␤»
FROGGS m: say Callable.^methods
camelia rakudo-moar b710ae: OUTPUT«of returns␤»
moritz eeks
FROGGS m: sub foo { }; say &foo.^methods
camelia rakudo-moar b710ae: OUTPUT«<anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> of returns onlystar assuming candidates cando multi soft wrap unwrap yada package WHY set_why perl <anon> add_phaser fire_phasers phasers perl <anon> <…»
FROGGS m: sub foo { }; say &foo.^methods.grep(/post/)
camelia rakudo-moar b710ae: OUTPUT«No such method 'match' for invocant of type 'ForeignCode'␤ in block at src/gen/m-CORE.setting:1879␤ in method reify at src/gen/m-CORE.setting:9618␤ in block at src/gen/m-CORE.setting:9454␤ in method reify at src/gen/m-CORE.setting:9424␤ in…»
FROGGS m: sub foo { }; say &foo.^methods».name.grep(/post/)
camelia rakudo-moar b710ae: OUTPUT«␤»
FROGGS m: sub foo { }; say &foo.^methods».name.grep(/inv/)
camelia rakudo-moar b710ae: OUTPUT«␤»
FROGGS m: sub foo { }; say &foo.^methods».name.grep(/CALL/) 19:37
camelia rakudo-moar b710ae: OUTPUT«␤»
FROGGS :o(
dalek kudo/nom: c925a90 | moritz++ | docs/ChangeLog:
Language improvements in ChangeLog
19:38
FROGGS moritz++
19:39 Rounin joined 19:40 fhelmberger left
dalek kudo/nom: fb11e47 | FROGGS++ | docs/ChangeLog:
move a changelog entry to section fixes
19:42
19:43 molaf left 19:47 Sir_Ragnarok left 19:49 raiph joined 19:50 Sir_Ragnarok joined
dalek kudo/nom: 1119d6b | FROGGS++ | docs/announce/2015.03.md:
add release announcement for 2015.03
19:53
FROGGS please review
nwc10 "Larry Wall as the icing" I think ought to be "Larry Wall as the icing on the cake" 19:54
but to me that doesn't feel like the usual sort of phrase to use in an announcment
I can't spot anything else. I don't know enough to "fact check" the technical details. 19:55
19:56 eli-se left
FROGGS hmmmm 19:58
masak nwc10: it's actually "Larry Wall as the icing on the hockey rink" -- a very rare but choice metaphor. 19:59
20:00 muraiki_ left
dalek kudo/nom: 2353b17 | FROGGS++ | docs/announce/2015.03.md:
update announcement, nwc10++
20:00
FROGGS I... just removed it
masak: why do you have to explain English idioms to the British? O.o 20:01
mst FROGGS: because the hockey rink is a lie 20:02
FROGGS hehe
vendethiel :o
masak :P
FROGGS bartolin: ping 20:03
dalek ast: 37042ae | FROGGS++ | S17-procasync/ (2 files):
skip flapping tests for release
20:07
ast: ee85002 | FROGGS++ | S17-procasync/basic.t:
also skip test that depend on another
20:13
psch o/
FROGGS hi psch
timotimo is benchmarking devirt'd reprs vs virtual reprs
psch jnthn: emitting NOP where moar builds an instruction list from an empty array is sane i hope?
FROGGS timotimo: ohh, please tell as soon as you see something 20:14
20:14 rindolf left
psch FROGGS: if the answer to my question to jnthn++ is 'yes' i could push the fix for jvm «my int $x = 0; $x++», assuming you haven't frozen NQP yet 20:15
[Coke] emits NOPE
timotimo FROGGS: sadly, i don't do push_* and unshift_* yet. also not pop_* or shift_*...
FROGGS psch: have not frozen it yet
psch (it spectests fine except for 3-4 flappers, but...)
timotimo but i do atpos/atkey/bindpos/bindkey and elems
20:15 rurban1 left
timotimo and all the getattr ops, too 20:16
FROGGS psch: can you paste the diff? then I'll take that into account for further testing
timotimo i need a brrt :( 20:18
TimToady well, I was literally the icing on the cake this time
20:18 yqt joined
FROGGS gosh, and I removed it! 20:19
FROGGS shakes his fist angrily
psch FROGGS: gist.github.com/peschwa/f37c69a4e97814ddfc6d 20:20
bartolin FROGGS: pong 20:21
psch i had one fails-with-make-spectest-but-passes-with-make-$filename in advent2013-day14.t
(are those also flappers?)
FROGGS bartolin: you said something about reverting a commit... what about applying the fix in #358?
dalek kudo/nom: f8671ea | Mouq++ | src/core/metaops.pm:
fix "Bag(<a b b c d d d>) »-» 1" + a micro-opt
20:22
kudo/nom: 637a613 | Mouq++ | / (3 files):
Merge branch 'nom' of github.com/rakudo/rakudo into nom
[Coke] anything that touches concurrency is a potential flapper. I haven't seen any advent stuff actually flapping, though
Mouq ( FROGGS: ^^ Requires no ChangeLog changes )
[Coke] mainly S17*
bartolin FROGGS: #358? 20:23
20:23 pyrimidine left
FROGGS bartolin: ohh, I mean this: github.com/rakudo/rakudo/pull/389 20:23
Mouq: and hopefully does not break anything :o)
Mouq FROGGS: I spectested 20:24
20:24 eli-se joined
TimToady FROGGS: see twitter.com/clujpm/status/57757789...08/photo/1 20:24
FROGGS and I'll ecotest
bartolin FROGGS: ahh. yes afaiu that would be good as well
FROGGS TimToady: that is awesome :D
bartolin: do you have a one-liner that shows the borkage?
Mouq m: say ($(1,2),{ $(.[0]+2,.[1]+2) } ... *)[^4] 20:27
camelia rakudo-moar 2353b1: OUTPUT«1 2 3 4 5␤»
Mouq m: say ($(1,2),{ $(.[0]+2,.[1]+2) } ... *)[^4].perl
camelia rakudo-moar 2353b1: OUTPUT«($(1, 2), 3, 4, 5)␤»
bartolin FROGGS: no, I don't. but testing whether $value is an Array is not the right thing
Mouq ^^ I believe that's what bartolin++'s patch fixes
FROGGS k
Mouq (Where the correct value is ($(1,2), $(3,4), $(5,6), $(7,8)) 20:28
)
TimToady m: say ([1,2],{ [.[0]+2,.[1]+2] } ... *)[^4] 20:29
camelia rakudo-moar 2353b1: OUTPUT«1 2 3 4 5 6 7 8␤»
TimToady m: say $(1,2)[0,1] 20:30
camelia rakudo-moar 2353b1: OUTPUT«1 2␤»
bartolin with the PR i get ($(1, 2), $(3, 4), $(5, 6), $(7, 8)) locally
FROGGS I'll know soon too
Mouq m: say ([1,2], { $_ »+» 2 } ... *)[^4] # ;) 20:34
camelia rakudo-moar 2353b1: OUTPUT«1 2 3 4 5 6 7 8␤»
20:35 avuserow joined
avuserow japhb: did you get IO.resolve working on Rakudo JVM? I get: No such method 'AT-POS' for invocant of type 'BOOTArray' 20:37
20:39 pyrimidine joined
bartolin Mouq: would it make sense to add those evaluations as a test to roast? 20:39
20:41 diana_olhovik_ left, A4ABVTSA joined, J-L left, J-L joined
J-L In Perl6, is there a way to get the name from a named variable? (which might be useful for debugging) 20:42
masak m: my $foo = 42; say :$foo.perl
camelia rakudo-moar 637a61: OUTPUT«"foo" => 42␤» 20:43
masak J-L: ^^
J-L masak: Wow! Thank you!
masak courtesy of TheDamian++. 20:44
avuserow m: my $foo = bar => 42; say :$foo.perl
camelia rakudo-moar 637a61: OUTPUT«"foo" => "bar" => 42␤»
J-L masak: I didn't think there was going to be such a straightforward answer!
masak J-L: I'm happy it's what you wanted :)
J-L masak: To tell the truth, I don't understand all of it. Why :$foo ? 20:45
masak J-L: constructs a pair.
J-L: actually, stepping back a bit, pairs are constructed like this: `foo => 42`, or like this: `:foo(42)`
J-L masak: A pair... of name and contents?
avuserow J-L: the relevant design bit: design.perl6.org/S02.html#Adverbial_Pair_forms 20:46
masak J-L: but in the case where your pair key is named as your variable, you can abbreviate `:foo($foo)` as just `:$foo`
J-L: hope that makes sense.
J-L masak: Okay, I understand the 'foo => 42' and :foo(42) part. (I think.)
psch m: Pair.WHAT.say
camelia rakudo-moar 637a61: OUTPUT«(Pair)␤»
masak J-L: it's great when passing things into functions, too.
J-L: the remaining piece of the puzzle is that the colon binds very tight, even tighter than method invocation. so `:$foo.perl` means `(:$foo).perl` 20:47
J-L: when I first heard your question, I first thought of C#'s new `nameof` feature: blogs.msdn.com/b/csharpfaq/archive/...n-c-6.aspx
J-L: we won't get that in Perl 6 until we get good enough macro/Qtree introspection. 20:48
(well, I could fake it already today, but it'd be l'ugly)
J-L masak: So is ':$var' just syntactic sugar for ':var($var)' ? I don't see the connection from :$v to :v($v) .
masak J-L: you got it.
J-L: and `:v($v)` means the same as `v => $v`
J-L masak: So, a shortcut, then. Nice. 20:49
masak yes, a very useful one.
raydiak m: sub foo (:$bar) { say $bar }; my $bar = 42; foo :$bar; 20:50
camelia rakudo-moar 637a61: OUTPUT«42␤»
masak actually, it's often a relief when naming variables, because I know if I just name them as my parameters, then I will have an easier time with the call :) 20:51
timotimo FROGGS: seems like my result is: either noise is too big, or the positive effect is too small 20:53
J-L m: sub f ($a) { :$a.perl.say }; my $var = 42; f($var);
camelia rakudo-moar 637a61: OUTPUT«"a" => 42␤»
timotimo hm, i should check somethign
FROGGS timotimo: yeah, I feared that
timotimo yeah, it was definitely the correct moarvm binary that was running
J-L I notice that inside a function it uses the function's name.
timotimo kinda sad :( 20:54
then again, i haven't checked what ops are encountered during the benchmarks and could be usefully devirtualized
psch J-L: that's a scope thing. the variable you're putting in a pair is your parameter, not the argument that was passed
timotimo but i have the technology to find out 20:55
J-L How can I create a function that knows the name(s) of the variables passed in? Is that possible? 20:56
FROGGS timotimo: and you are not done yet, right? I mean, there are ops left
m: sub foo(:$bar) { say $bar }; foo(bar => 42); foo(:bar(21)) 20:57
camelia rakudo-moar 637a61: OUTPUT«42␤21␤»
FROGGS J-L: ^^
pair constructors again
timotimo correct, there are many ops left 20:58
bindattr, for example, and push/unshift and pop/shift
FROGGS these might be used more often 20:59
masak m: class C { has $.name }; my $name = "Bob"; given C.new(:$name) { say .name }
camelia rakudo-moar 637a61: OUTPUT«Bob␤»
FROGGS I mean, the devirt "only" reduces the call overhead, right?
masak J-L: ^^
psch m: sub f($x is rw) { $x.VAR.name.say }; my $y = "foo"; f $y # this works 21:00
camelia rakudo-moar 637a61: OUTPUT«$y␤»
psch wonders who understood J-L++ correctly
21:00 itz_ joined
FROGGS psch: yes, but this can be dangerous 21:00
(or at least plain wrong in some situations)
psch FROGGS: right, there should probably a disclaimer 21:01
(i'm guessing, because i can't think of things where it breaks)
FROGGS ohh, you a word
forgot*
psch :P
FROGGS *g*
masak J-L: in general you can't create a function that knows the name(s) of the variables passed in. 21:02
psch FROGGS: ooc, where is it dangerous?
masak J-L: because variables aren't primary; values are.
21:02 itz left
masak J-L: variables get to hold values -- values don't have to be held by variables. 21:02
skids So why does nativecall map perl "int32" to C "int" again? That seems not very future-proof.
masak J-L: who's to say it was through a variable you passed a value to a function? could be any number of things. 21:03
FROGGS psch: telling the user about variable $y in a warning/exception when this is triggered by code-in-the-middle can be misleading
psch: that kind of dangerous
21:03 eternaleye left
J-L masak: I know it can get hairy with references and copies of variables and all that, but psch's example above does seem to work for me. 21:03
psch FROGGS: oh. yeah, that's probably misleading at least 21:04
FROGGS skids: int in C is 32bit wide, that's why
masak J-L: so it does.
J-L: good luck on your quest, then :>
skids No, it isn't.
FROGGS skids: where?
skids It is in practice, but not by spec.
And in fact on older machines was 16 bits. 21:05
J-L I'll keep both in mind, though. They're both great solutions, and both great examples to learn what's going on under the hood.
FROGGS skids: yes, but since things like ffi exist it is unlikely that int will change in future
skids FROGGS: A 64-bit compiler is free to have sizeof(int) = 8
I don't thik that's a sound design choice. 21:06
J-L I keep wanting to pass in a pair like this: 21:07
m: sub f ($a) {$a.say}; my $var = 42; f(:$var);
camelia rakudo-moar 637a61: OUTPUT«Too few positionals passed; expected 1 argument but got 0␤ in sub f at /tmp/gCRRtSDQ8D:1␤ in block <unit> at /tmp/gCRRtSDQ8D:1␤␤»
21:07 eternaleye joined
FROGGS skids: you can declare your own int type that'll have sizeof(int) 21:07
arnsholt J-L: Well you can always do :a($var) 21:08
skids FROGGS: how?
arnsholt Having the compiler guess which named you meant when there's no match is a terrible idea
FROGGS m: use NativeCall; my native int is Int is ctype("int") is repr("P6int") { }; say nativesizeof int 21:09
camelia rakudo-moar 637a61: OUTPUT«4␤»
J-L arnsholt: I'm not sure how to use :a($var)
21:10 koo6 left
FROGGS :a($var) is the same as a => $var, so you use that in the call 21:10
masak m: sub f ($a) {$a.say}; my $var = 42; f(:a($var))
camelia rakudo-moar 637a61: OUTPUT«Too few positionals passed; expected 1 argument but got 0␤ in sub f at /tmp/t10fyEhNqD:1␤ in block <unit> at /tmp/t10fyEhNqD:1␤␤»
psch J-L: pair notation has two meanings
FROGGS m: sub f (:$a) {$a.say}; my $var = 42; f(:a($var))
camelia rakudo-moar 637a61: OUTPUT«42␤»
psch J-L: one is to build a Pair object, the other is to pass a value to a named parameter 21:11
FROGGS++ last code example is the latter
J-L: you can parenthesize a Pair to have it as a positional argument
m: sub f($a) { $a.say }; my $var = 42; f((:$var))
camelia rakudo-moar 637a61: OUTPUT«var => 42␤»
psch s/Pair/colonpair/ 21:12
skids FROGGS: Thanks that helps a lot.
timotimo Unhandled exception: This representation (VMArray) does not support positional access
wait what
what did i do this time 21:13
psch timotimo: i have a hazy recollection of a similar encounter with jvm array marshalling
FROGGS skids: btw, that will do a sizeof(int) at compile time of the VM (on MoarVM)
psch timotimo: i think HLL mismatch? i.e. method AT-POS against a VMArray? 21:14
FROGGS skids: and we can also add stuff like size_t to that, though that also needs a patch to the VM
timotimo oh, duh :D 21:15
J-L psch: Ah, that works (the parenthesizing a Pair). I'd been trying to do something like that, but never thought abut the (( ... )) part.
timotimo i put the arguments in the wrong order
skids Sure, the stuation would get sticky if MoarVM was compiled differently than the dominant local platform convention, but we don't do that. :-)
skids tries to syntactically categorize "my native foo" 21:16
21:16 Madcap-Jake joined
FROGGS m: use NativeCall; native int is Int is ctype("int") is repr("P6int") { }; say nativesizeof int 21:17
camelia rakudo-moar 637a61: OUTPUT«4␤»
FROGGS it is like a packagy keyword 21:18
timotimo it's not specced by perl6, though
FROGGS timotimo: it probably is specced
21:18 MadcapJake left
timotimo oh 21:19
it ... is?
21:20 kjs_ joined
FROGGS ahh no, the spectest only use natives but not declare natives 21:20
21:23 spider-mario left 21:24 MadcapRusso joined 21:27 Madcap-Jake left 21:36 fhelmberger joined 21:37 spider-mario joined
FROGGS interesting: 21:37
Compiling lib/Web/Request/Multipart.pm6 to mbc
useless use of 'is rw' on $!file in any at src/Perl6/World.nqp:2044
useless use of 'is rw' on $!nest in any at src/Perl6/World.nqp:2044
(that's for *after* the release) 21:38
21:38 nige joined, Sir_Ragnarok left
timotimo i built that warning 21:39
but ... huh?
FROGGS the file annotation gets messed up probably due to precomp 21:40
21:40 kjs_ left
timotimo spec tests don't seem to b0rk after implementing bindattr_* :) 21:41
FROGGS nice :o)
21:41 fhelmberger left
japhb avuserow: Yes, IO.resolve was working on r-j for me when I did the Rakudo commit that enabled it. I have not rebuilt in a while, so I don't know if something broke in the mean time. 21:41
(Sorry if that was already discussed, I'm just responding to the highlight and haven't actually backlogged.) 21:42
21:42 Sir_Ragnarok joined
skids So, I'm guessing that eventually after a series of "well, why not?"s array[] will do everything Buf[] does and visa versa, the only difference remaining being buf[] is guaranteed to be contiguous. 21:43
FROGGS hmmm, that would mean that array[T] gets stringlike like Buf 21:45
21:46 xfix left
skids Eventually maybe buf8 ~~ array[uint8] (but not the other way around and not array[uint8] ~~ blob8) 21:47
I guess the part most likely to remain is the behavior of +^ et al. 21:48
timotimo damn. i'm getting This type does not support associative operations sometimes 21:49
21:50 Rounin left
skids m: my $f = Buf.new(1,2,3); my $g = Buf.new(3,2,1); say ($g +^ $f).perl; # which is NYI 21:51
camelia rakudo-moar 637a61: OUTPUT«0␤»
timotimo there must be some factor that i'm missing somewhere 21:54
22:03 adu left 22:08 rurban joined
masak 'night, #perl6 22:11
22:11 telex left
FROGGS gnight masak 22:12
22:12 telex joined
FROGGS psch: still there? 22:19
psch FROGGS: yeah
FROGGS psch: I think you can commit now
tests look good
psch FROGGS: will do 22:20
FROGGS psch++
dalek p: 4d4bec8 | peschwa++ | src/vm/jvm/QAST/Compiler.nqp:
Fix codegen to properly support native rw parameters.
22:21
psch FROGGS: you'll bump NQP_REVISION for the release?
FROGGS yes, of course :o)
jnthn skids: I don't see array[T] getting .decode either, nor supporting the stringy ops
psch FROGGS++
psch goes back to looking at the EvalServer bits... 22:22
jnthn FROGGS++ # working on the release
FROGGS psch: I mean, I have to set it to 2015.03 anyway
psch FROGGS: yeah, i realised that a bit after hitting enter :)
FROGGS yeah, late it is :D
avuserow japhb: I tried to re-enable IO.resolve for JVM when I originally made the NQP patch and it wasn't working for me 22:24
but if it IS working then it should be mentioned in the changelog if not too late already
22:24 koo6 joined
dalek kudo/nom: 2a9c03f | usev6++ | src/core/operators.pm:
Clean up flattening of return values from SEQUENCE

cmp. github.com/rakudo/rakudo/commit/91...t-10240842
22:24
kudo/nom: b1d353d | FROGGS++ | src/core/operators.pm:
Merge pull request #389 from usev6/nom

Clean up flattening of return values from SEQUENCE
avuserow japhb: it appears to fail for me on a symlink
kudo/nom: b57f245 | FROGGS++ | docs/ (2 files):
adjust changes, psch++
22:27
22:28 mohij left
dalek kudo/nom: a6c8d8e | FROGGS++ | docs/release_guide.pod:
update release information
22:28
22:31 eli-se left
dalek p: 2975829 | FROGGS++ | / (2 files):
bump VERSION to 2015.03
22:32
22:34 itz joined 22:35 gfldex left, nige left, itz_ left 22:38 Util joined
timotimo oooh 22:40
in the release announcement, the list of incompatible changes gets squashed into a single line 22:41
FROGGS O.o
timotimo at least when github renders the markdown
FROGGS I'll add bullet points 22:42
timotimo++
22:42 BenGoldberg_ joined
psch does github flavored markdown support links for footnotes? if so, those aren't there either 22:43
on github.com/rakudo/rakudo/blob/b57f...2015.03.md 22:44
ah, footnotes aren't supported apparently 22:45
timotimo it doesn't, no
we rely on the reader to implement these
22:48 adu joined
dalek kudo/nom: ac5f2ec | FROGGS++ | docs/announce/2015.03.md:
add bullet points to not collapse into single line, timotimo++
22:49
22:54 anaeem1 left, itz_ joined 22:55 anaeem1 joined 22:58 itz left 22:59 itz joined 23:00 anaeem1 left, itz_ left
psch & 23:03
23:06 itz_ joined 23:08 itz left
labster m: my $bar = 12 but [ 12, "hi" ] 23:09
camelia rakudo-moar a6c8d8: OUTPUT«Cannot find method 'specialize'␤ in any compose at src/gen/m-Metamodel.nqp:2741␤ in any generate_mixin at src/gen/m-Metamodel.nqp:1267␤ in any at src/gen/m-Metamodel.nqp:1188␤ in any mixin at src/gen/m-Metamodel.nqp:1223␤ in sub infix:<but>…»
labster I'm thinking rakudobug, but it's been so long since I've done this, I wonder if it already exists 23:15
skids So, if I actually try to use one of those "my native foo" types as a parm to a native function, it bombs with "Unknown type foo used in native call." 23:16
23:16 beastd left 23:19 coffee` left 23:22 spider-mario left 23:24 spider-mario joined 23:29 osto joined 23:32 alini left
dalek kudo/nom: dddeb0a | FROGGS++ | docs/release_guide.pod:
remove --gen-parrot from release guide
23:34
labster yay!
I mean, uh, wouldn't it be nice is someone fixed up parrot? 23:35
*if
FROGGS yes :o)
and one could already start aligning parrot to moar/jvm
dalek kudo/nom: 6a19a21 | FROGGS++ | tools/build/NQP_REVISION:
[release] bump NQP revision
23:36
23:36 itz joined
dalek kudo/nom: 66a5bb3 | FROGGS++ | VERSION:
[release] bump VERSION
23:36
23:37 fhelmberger joined
dalek kudo/nom: 251891f | FROGGS++ | docs/ChangeLog:
also add bullet points to changelog
23:39
23:39 itz_ left 23:42 fhelmberger left
labster r: True but [ 1, 2 ] 23:43
camelia rakudo-moar 66a5bb: OUTPUT«Cannot find method 'specialize'␤ in any compose at src/gen/m-Metamodel.nqp:2741␤ in any generate_mixin at src/gen/m-Metamodel.nqp:1267␤ in any at src/gen/m-Metamodel.nqp:1188␤ in any mixin at src/gen/m-Metamodel.nqp:1223␤ in sub infix:<but>…»
labster submits rakudobug
23:45 lichtkind_ left
timotimo my little AI player for this silly AI vs AI game spends about 5x as much time in parsing json compared to calculating what to do 23:53
FROGGS hehe, ouch 23:54
23:57 madmuid left 23:58 yqt left