»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend! Set by sorear on 25 June 2013. |
|||
00:04
colomon left
00:07
lucas_ joined
|
|||
lucas_ | m: my Nil $a; $a = Any | 00:08 | |
camelia | rakudo-moar ae1cde: OUTPUT«Type check failed in assignment to '$a'; expected 'Any' but got 'Any' in block <unit> at /tmp/a99HILvlHe:1» | ||
00:10
jfredett left
00:12
BenGoldberg joined
00:14
thou left
00:16
Mouq left
00:22
colomon joined,
bowtie_ left
00:23
lucas_ left
00:25
bowtie joined,
bowtie is now known as Guest57340
00:28
ab5tract left
00:29
Guest57340 left
00:31
bowtie_ joined
00:36
bowtie_ left
00:39
bowtie_ joined
00:41
ugator left
00:44
mephinet joined
00:45
Diederich is now known as Diederich-away
00:46
bowtie_ left
00:50
erkan joined
00:51
bowtie_ joined
00:52
immortal left
00:53
bjz left,
timotimo2 joined
|
|||
timotimo2 | something's wrong with the server that hosts my irc session :\ | 00:53 | |
00:58
bowtie_ left
00:59
bowtie_ joined
01:13
grondilu left
01:17
bowtie_ left
01:18
cognominal joined,
bowtie_ joined
|
|||
timotimo2 | .tell japhb i get "not expected output" for divide and conquer for 4 and timed out for 5, is that expected? | 01:23 | |
yoleaux | timotimo2: I'll pass your message to japhb. | ||
01:23
bowtie_ left
01:27
regreg joined
|
|||
BenGoldberg | m: sub d-and-c (\n, \d, \f) { d > 0 ?? [+] await do for ^f { start { d-and-c n/f, d-1, f } } !! n }; say d-and-c 42, 2, 3; | 01:30 | |
camelia | rakudo-moar ae1cde: OUTPUT«Memory allocation failed; could not allocate 8872 bytes» | ||
BenGoldberg | That ^ divide and conquer? Or a different one? | ||
01:32
immortal joined,
immortal left,
immortal joined
|
|||
timotimo2 | the one from perl6-bench | 01:33 | |
not sure if it's that | |||
01:34
erkan left
|
|||
TimToady | my compile time for moar's setting has more than doubled | 01:36 | |
japhb | timotimo: That's why it's a stress test. It really is causing r-m and r-j to fail (though in different ways). | 01:37 | |
yoleaux | 01:23Z <timotimo2> japhb: i get "not expected output" for divide and conquer for 4 and timed out for 5, is that expected? | ||
timotimo2 | OK | ||
i'm running a few rakudo-moars with the current benchmarks now | |||
oh, i didn't git pull bench before i started >_< | |||
japhb | BenGoldberg: The perl6-bench divide-and-conquer is basically the long form of what you pasted | 01:38 | |
Note that failure information is being collected during normal benchmarking, it's just the defaults (number of runs per scale, number of runs that can fail before giving up, default set of tests, etc.) that vary between the two types of timeall testing. But both will collect both timing and failure data. | 01:40 | ||
timotimo2 | ah | ||
yeah that seems clever | |||
TimToady: are you measuring only the core setting or all of it? | 01:41 | ||
i've only been looking at core setting's stages | |||
TimToady | not slower on my other machine, so something strange is going on on my laptop | ||
load avg only .4 though, on a 4 core machine | 01:42 | ||
oh, probably because I was trying to use gprof (unsuccessfully) | 01:43 | ||
japhb | That would do it | 01:44 | |
01:44
exixt_ is now known as exixt
01:46
bowtie joined,
bowtie is now known as Guest33122
01:53
thou joined
01:54
tinyblak joined
01:55
Guest33122 left
|
|||
timotimo2 | jnthn said he'd be starting on shaped arrays, i'm looking forward to that :3 | 01:57 | |
01:58
thou left
|
|||
japhb | Yes, definitely. :-) | 02:02 | |
Though we really need to fix some of the stability issues and flapping tests and such, too. | 02:03 | ||
02:03
bowtie_ joined
|
|||
timotimo2 | well, i'm having a hard time reproducing stuff ;( | 02:05 | |
02:07
leont left
02:08
espadrine` left
02:10
bowtie_ left
02:13
bowtie_ joined
02:16
cognominal left
02:17
bowtie_ left
|
|||
japhb | Have we thrown ThreadSanitizer against r-m yet? (I know we've done AddressSanitizer quite a bit) | 02:18 | |
02:19
bowtie_ joined
|
|||
japhb | MemorySanitizer as well ... | 02:19 | |
02:20
xenoterracide joined
|
|||
dj_goku | so the panda reporter branch does that get sent to testers.perl6.org site? | 02:21 | |
japhb | dj_goku: IIRC, you need to set an env var to make it happen. | 02:23 | |
02:28
KCL joined
|
|||
timotimo2 | correct | 02:29 | |
02:31
KCL_ left
02:37
bowtie_ left
02:38
erkan joined
02:40
immortal left,
bowtie joined
02:41
bowtie is now known as Guest41166
|
|||
dj_goku | japhb: right I did, but I don't see the results on the most recent reports | 02:41 | |
02:47
chenryn joined
02:49
nhayashi left
02:54
thou joined
02:58
thou left
03:07
Guest41166 left
03:09
Mso150_x joined
03:13
bowtie_ joined
03:14
araujo left
03:17
chenryn left
03:24
telex left,
bowtie_ left,
Mouq joined
03:26
telex joined
03:28
bowtie_ joined
03:29
adu joined
03:31
raiph left
|
|||
timotimo2 | interestingly, 2014.09 had been rather regressive in comparison to 2014.08 | 03:36 | |
03:39
bowtie_ left
03:40
lue left
|
|||
TimToady | .oO(jitrot?) |
03:43 | |
we might, at some point, try to do what I did for Perl 5, and figure out what are all the very hottest C routines, and put them all together in one spot to at least get some secondary cache effects | 03:45 | ||
03:46
lue joined
|
|||
TimToady | lue: o/ | 03:46 | |
lue | o/ | ||
03:50
Mso150_x left
03:56
kaare_ joined
04:03
bowtie joined,
bowtie is now known as Guest49018
04:05
rmgk left
04:06
rmgk joined
04:08
Guest49018 left
04:10
bowtie_ joined
04:18
chenryn joined
04:19
bowtie_ left
04:23
chenryn left
04:25
timotimo2 left
04:31
thou joined
04:41
thou left
04:44
kaare_ left
04:54
bowtie joined
04:55
bowtie is now known as Guest62564
04:57
BenGoldberg left
05:06
cooper_ left
05:08
ptc_p6 left
05:13
jack_rabbit left
05:17
kaare_ joined
05:19
chenryn joined
05:22
xenoterracide left
05:23
xenoterracide joined,
chenryn left
05:24
regreg left
05:28
xenoterracide left
05:29
xenoterracide joined
05:31
adu left
|
|||
ugexe | p: say Buf.new(1..10).subbuf(9, 5); | 05:33 | |
camelia | rakudo-parrot ae1cde: OUTPUT«VMArray: index out of bounds in method subbuf at gen/parrot/CORE.setting:5738 in block <unit> at /tmp/0L9c9B25V2:1» | ||
ugexe | M: say Buf.new(1..10).subbuf(9, 5); | ||
m: say Buf.new(1..10).subbuf(9, 5); | |||
camelia | rakudo-moar ae1cde: OUTPUT«Buf:0x<0a 00 00 00 00>» | ||
ugexe | j: say Buf.new(1..10).subbuf(9, 5); | ||
camelia | rakudo-jvm ae1cde: OUTPUT«Can't open perl script "/home/camelia/jvm-rakudo/eval-client.pl": No such file or directory» | ||
ugexe | it seems parrots behavior does not match the docs statement of "(or less if the buffer is shorter" | 05:34 | |
05:38
tinyblak left
05:39
tinyblak joined
|
|||
TimToady | the moar behavior is also incorrect, just differently | 05:49 | |
Mouq | Hm. Mixing into Perl6::Actions is not so easy | 05:59 | |
06:04
anaeem1 joined,
zakharyas joined
06:11
esaym153 left
|
|||
Mouq | :o it worked! | 06:16 | |
06:19
chenryn joined
06:22
xenoterracide left
06:23
chenryn left
06:30
rurban joined
06:34
kaleem joined
06:45
kjs_ joined
06:55
chenryn joined,
kjs_ left
06:56
kjs_ joined
|
|||
dalek | p: 306da23 | Mouq++ | src/ (2 files): Change NQPMatch!make to NQPMatch.make Not sure why it was private in the first place, when it was written in 2012 by jnthn++, but having it public makes it much easier to work with $/ when crossing the Perl6/NQP border |
06:57 | |
kudo/nom: 93083fc | Mouq++ | src/Perl6/Grammar.nqp: Eat the terminator before changing languages Note this doesn't eat any whitespace, so generally something like: rule statementlist { '' … } will be wanted to eat the leading whitespace after the use statement, if the language is whitespace-insignificant. |
|||
kudo/nom: 0c0b4c4 | Mouq++ | src/Perl6/Grammar.nqp: Merge branch 'nom' of github.com/rakudo/rakudo into nom |
|||
kudo/nom: dedba74 | Mouq++ | src/Perl6/Actions.nqp: 76b5059 | TimToady++ | src/core/Buf.pm: |
|||
07:05
kjs_ left,
kjs_ joined
|
|||
jnthn | morning, #perl6 | 07:05 | |
TimToady | o/ | 07:07 | |
nwc10 | good *, #perl6 | 07:08 | |
07:09
kjs_ left
|
|||
TimToady | ugexe: ^^^ | ||
ugexe++ too | |||
07:12
kjs_ joined
07:14
rindolf joined
07:16
jfredett joined
07:26
jfredett left,
kaleem left
07:28
slavik left
07:29
kaleem joined
07:32
kjs_ left,
[Sno] left
07:35
FROGGS left
07:36
masak_webchat joined
|
|||
masak_webchat | morning, #perl6 | 07:36 | |
wow. ssh refuses to connect to feather.perl6.nl | |||
anyone have any idea why? | |||
also, when I try to `whois feather.perl6.nl`, I get "Error: invalid domain name" :( | 07:37 | ||
nwc10 | try whois perl6.nl | 07:41 | |
$ telnet feather.perl6.nl ssh | 07:42 | ||
Trying 193.200.132.135... | |||
Connected to feather.perl6.nl. | |||
Escape character is '^]'. | |||
SSH-2.0-OpenSSH_6.6.1p1 Debian-8 | |||
so, sshd is up. What's firewalling you? | |||
07:47
FROGGS joined
|
|||
rurban | try the ip | 07:49 | |
masak_webchat | same result with the ip | 07:50 | |
but yeah, maybe it's my network, or my provider | |||
nwc10: the telnet command works o.O | 07:51 | ||
07:51
tinyblak left
|
|||
nwc10 | masak_webchat: very strange. Have you tried turning the Internet off and on again? | 07:56 | |
masak_webchat tries that | |||
didn't help much | 07:57 | ||
oh well. time to head to work | |||
& | |||
07:57
tinyblak joined,
masak_webchat left
|
|||
Mouq | github.com/Mouq/p6-Grammar-Mixin (requires latest NQP) | 07:57 | |
FROGGS: ^ | 07:59 | ||
FROGGS | yeah, already looking at it | ||
Mouq | Only took 3 hours XP | 08:01 | |
FROGGS | would be nice to only have one (good working) slang helper module in the end | 08:04 | |
08:04
pecastro left
|
|||
FROGGS | so I might take parts of it for mine, or I might send PR's to yours :o) | 08:04 | |
also, we can happily turn the stuff in this &EXPORT into: augment slang $~MAIN { token ... } - github.com/FROGGS/p6-Slang-Tuxic/b...g/Tuxic.pm | 08:06 | ||
and this could hopefully also do the hllizing of the $/ | 08:07 | ||
Mouq | :) I actually wanted this so I could try stuff with your Slangy.pm, because I'm too lazy to copy&paste stuff from the original token to the overriding one | ||
FROGGS: Or augment slang $~Regex { … } as the case may be | 08:08 | ||
FROGGS | true | 08:10 | |
and I propose we also introduce a augment actions $~MAIN | |||
Mouq | +1, if we're doing the above | 08:11 | |
08:13
tinyblak left,
tinyblak joined
08:15
darutoko joined
08:17
ghostlines joined
08:23
[Sno] joined
|
|||
dalek | kudo/nom: a7cbe30 | Mouq++ | src/Perl6/Grammar.nqp: Add twigil ~ to the grammar |
08:24 | |
Mouq | NYI, before anyone gets excited :P | 08:25 | |
FROGGS | *g* | ||
would be nice to compile it to a lookup to %*LANG{~$<identifier>} with a fallback to something like: "Can only access slang variables in EXPORT routines in unit" or so | 08:27 | ||
(including "... for now") | |||
08:27
salv0 left
08:32
tinyblak_ joined
08:34
FROGGS left
08:36
tinyblak left
08:39
azawawi joined
|
|||
azawawi | hi | 08:39 | |
lizmat: ping | |||
is there a way to show deprecations as warnings in perl6 without running it? that is... perl6 -c | 08:40 | ||
.tell lizmat is there a way to show deprecations as warnings in perl6 without running it? that is... perl6 -c | 08:43 | ||
yoleaux | azawawi: I'll pass your message to lizmat. | ||
08:44
abraxxa joined
08:46
salv0 joined
08:48
molaf__ joined
08:51
rindolf left
08:52
molaf_ left,
FROGGS joined
08:55
tinyblak_ left,
tinyblak joined
08:57
virtualsue joined
08:59
ptc_p6 joined
09:05
regreg joined,
FROGGS left
09:06
virtualsue_ joined
09:09
virtualsue left,
virtualsue_ is now known as virtualsue,
slavik joined
09:10
masaq joined
|
|||
masaq | *sigh* | 09:10 | |
09:10
azawawi left
|
|||
masaq | rebooted the laptop. removed entries in known_hosts. still can't access feather. | 09:10 | |
jnthn | fwiw, I cna't SSH to feather.perl6.nl either | 09:15 | |
moritz | $ ssh feather | ||
Connection closed by 193.200.132.135 | |||
masaq | oh | ||
ok, so it's not just me. | |||
*phew* | |||
jnthn | For once. | ||
masaq | jnthn: love you too :P | ||
moritz | feather2 and feather3 still respond | ||
does anybody have a shell still open on feather? | 09:16 | ||
nwc10 | OK, so the server is up, but closes the connection pretty soon after you do anything. | 09:18 | |
09:18
ugator joined
|
|||
nwc10 | (I infer the latter. I don't have an account, but I have telnet and ssh clients) | 09:18 | |
09:19
FROGGS joined,
slavik left
09:22
tinyblak left
09:23
tinyblak joined
|
|||
masaq | apparently "Masaq" is a village in Kazakhstan. | 09:25 | |
09:26
fhelmberger joined
09:27
tinyblak_ joined
09:28
tinyblak left
|
|||
ugator | my int32 $t=0; $t.say; in the rakudo-shell will produce «Unhandled lexical type in lexprimspec for '$t'» after any command I type afterwards, have to ctr-c out of perl | 09:28 | |
only in rakudo-moar | 09:30 | ||
masaq | ugator: confirmed locally. | ||
jnthn | Interesting. Please file a book | ||
a *bug* | |||
ugator | k | ||
masaq | and yes, it happens in the command after. | ||
jnthn really needs more coffee | |||
09:31
dakkar joined,
virtualsue left
09:33
slavik joined
09:36
cognominal joined
|
|||
masaq | vendethiel: statically typed Lisp: gist.github.com/chrisdone/516489f4...anintro-md | 09:46 | |
HN discussion (with one comment so far): news.ycombinator.com/item?id=8593261 | 09:47 | ||
moritz | fwiw we've had the same bug (natively typed lexicals confusing the REPL) in parrot already | 09:51 | |
in rakudo-p, I should say | |||
09:53
espadrine` joined
09:54
pmurias joined
09:57
not_tadzik joined
|
|||
not_tadzik | feather's broken for me too :) | 09:57 | |
09:57
Mouq left
|
|||
not_tadzik | also "Connection closed by bla bla bla", both on v4 and v6, both from home and from work | 09:57 | |
I can't even access my archive of fatfaces to express my confusion :o | 09:58 | ||
10:08
GibbaTheHutt joined
|
|||
ugator | moritz: [perl #102254] seems to be exactly the same problem, but it looks like it fixed itself.... | 10:08 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=102254 | ||
10:09
pecastro joined
10:11
Mouq joined
|
|||
masaq | ugator: I think this deserves a new ticket, though. | 10:16 | |
ugator | opened one already^^ | 10:17 | |
10:21
exixt is now known as exixt_
10:25
Mouq left
10:26
virtualsue joined
|
|||
masaq | ugator++ | 10:28 | |
10:33
virtualsue left
10:41
tinyblak_ left,
tinyblak joined
10:45
myp joined
10:53
sqirrel_ joined
10:54
bjz joined,
denis_boyun_ joined,
anaeem1 left
10:55
anaeem1 joined
11:01
arnsholt left
11:03
espadrine` left
11:04
ggoebel111111117 joined
11:06
ggoebel111111116 left
11:08
virtualsue joined
11:16
anaeem1 left,
anaeem1 joined,
espadrine` joined
11:23
zakharyas left
11:25
chenryn left
11:30
dj_goku left
11:33
timotimo2 joined,
dj_goku joined,
dj_goku left,
dj_goku joined
11:35
timotimo2 left
11:36
dsm left
|
|||
timotimo | o/ | 11:40 | |
not_tadzik | is feather back for you? | 11:41 | |
11:42
regreg left
|
|||
colomon | *** glibc detected *** /home/smoker/.rakudobrew/moar-HEAD/install/bin/moar: malloc(): smallbin double linked list corrupted: 0x000000000714e130 *** | 11:44 | |
Segmentation fault (core dumped) | |||
not what I like to see at the "end" of a emmentaler run. :( | |||
yakudza | Hello perl6. | 11:46 | |
colomon | \o | 11:49 | |
11:53
chenryn joined
11:59
tinyblak_ joined
12:02
tinyblak left,
kaleem left
12:04
kaleem joined,
Mouq joined
12:10
rindolf joined
12:16
Mouq left
12:17
bwisti joined
12:18
tinyblak_ left
12:19
tinyblak joined
12:24
leont joined
12:25
chenryn left
|
|||
masaq | not_tadzik: feather not back for me. | 12:26 | |
12:37
sqirrel_ left
12:41
erkan left
12:49
pmurias left
12:56
anaeem1 left
13:00
erkan joined,
erkan left,
erkan joined
13:04
masaq left
13:06
tinyblak left
13:22
tinyblak joined
13:23
tinyblak_ joined
13:27
kaare_ left,
tinyblak left
13:32
tinyblak_ left
13:33
tinyblak joined
13:34
PerlPilot joined
13:36
PerlPilot left
13:37
telex left
13:38
telex joined
13:39
arnsholt joined
13:48
guru joined,
guru is now known as Guest78165,
Guest78165 is now known as ajr_
13:49
xenoterracide joined
13:50
sorear left
|
|||
dalek | rl6-roast-data: 4564c1f | coke++ | / (5 files): today (automated commit) |
13:53 | |
13:54
xtreak joined
13:56
nebuchad` joined
13:57
sorear joined,
jfredett joined,
nebuchadnezzar left
14:01
spider-mario joined
14:19
woolfy left
14:21
woolfy joined
|
|||
colomon | woolfy! o/ | 14:24 | |
14:26
xtreak left
14:27
bjz left
14:28
KCL_ joined
|
|||
lizmat | colomon \o | 14:28 | |
yoleaux | 08:43Z <azawawi> lizmat: is there a way to show deprecations as warnings in perl6 without running it? that is... perl6 -c | ||
lizmat | .tell azawawi don't think so, deprecations are basically runtime call to a special internal sub | 14:29 | |
yoleaux | lizmat: I'll pass your message to azawawi. | ||
colomon | lizmat! \o/ | 14:31 | |
14:31
KCL left
|
|||
jnthn | colomon: Any chance of a debug build and backtrace on that SEGV? Or better, ASAN? | 14:32 | |
14:32
raiph joined
|
|||
colomon | jnthn: probably not | 14:33 | |
14:33
bjz joined
|
|||
rurban | colomon: looks like a wrong free to me | 14:33 | |
colomon | thought I guess I might be able to figure out which day's run triggered it and load up the appropriate commit and try again. | ||
woolfy | colomon \o/ | 14:34 | |
14:34
nebuchad` is now known as nebuchadnezzar
|
|||
jnthn | colomon: Ah, I'd assumed it was from today's run | 14:36 | |
14:36
kaleem left
|
|||
colomon | jnthn: I got the results this morning. but that was because two day's runs were wedged. | 14:36 | |
jnthn | ah. | ||
colomon | jnthn: I'm trying to see if I can duplicate it now, I think it happened under abd2bc5 | ||
I launched a run this morning that worked just fine, so it may be an intermittent issue, or it may have been fixed. | 14:37 | ||
jnthn | Well, more likely it's heisenbug... | ||
But if it can be reproduced at a certain version and we can get a backtrace or other data, it may help | 14:38 | ||
colomon | well, I've got moar-abd2bc5 built now | 14:43 | |
jnthn | colomon++ | 14:46 | |
14:49
kaleem joined
14:59
Mouq joined
15:04
thou joined
15:05
ptc_p6 left
15:07
kjs_ joined
15:09
kaleem left
15:17
[Sno] left
15:28
chenryn joined
|
|||
TimToady | good cometlanding, everyone. | 15:36 | |
lizmat | TimToady++ :-) | ||
timotimo | well, just about to ... or so i've heard | 15:37 | |
lizmat | new.livestream.com/ESA/cometlanding for those in the dark :-) | ||
timotimo | oh yes. also: you may have to do some additional computer sciency things to turn that widget from "show me what happened 10 hours ago" to "show me what's happening now" | 15:38 | |
TimToady | which runs about 13 seconds and hangs here due to some kind of throttling, but picking it up on nasa's feed, which is apparently not throttled | ||
timotimo | what frequency do i have to tune my radio to to hear the beeps and boops of rosetta? | ||
when does it pass over germany? | |||
:P | |||
will rosetta bring a bit of gas from the comet home so we can have "space fragrance"? | 15:39 | ||
TimToady | you'll need really big ears to hear rosetta since it's so far away | ||
15:39
araujo joined
|
|||
TimToady | no, this is a one-way mission | 15:39 | |
timotimo | so no recycling? | ||
TimToady | yes, very wasteful | 15:40 | |
timotimo | is the spelling of "rendezuous" really correct? | ||
because i really don't think it is | |||
geekosaur | it's a weird font | ||
15:40
cognominal left
|
|||
TimToady | if you're Roman it's okay | 15:40 | |
timotimo | ah, of course | ||
geekosaur | if you look closely, the v is rounded and the u is square at rightr bottom | ||
timotimo | oh! | ||
OK | 15:41 | ||
for some reason i thought the correct spelling had to begin with "round" | |||
geekosaur | the kind of font that makes me think some font designers have lost sight of the idea that words are meant to be read | ||
TimToady | hmm, lost sound | ||
lizmat | faces are not looking happy :-( | ||
geekosaur | rendez-vous | ||
french | |||
timotimo | they are probably just tired and anxious | ||
when i forget i have cameras on my face, i usually also don't smile terribly much | 15:42 | ||
especially when my space robots are about to land on space comets | |||
TimToady | I wish they'd show us telemetry instead of faces | ||
timotimo | i observe i'm being sillier than my usual | ||
lizmat | the NSA agrees | 15:43 | |
TimToady | obviously you need to raise your average | ||
leont | I rather like xkcd's status report :-p | ||
timotimo | who might this "prime minister" be? | 15:44 | |
lizmat | one that can only be divided by 1 and himself? | 15:46 | |
TimToady | no, he just enforces it | ||
lizmat notices some silliness level rising as well | |||
TimToady | couldn't have anything to do with me getting online... | ||
15:47
brrt joined
|
|||
brrt | \o #perl6 | 15:47 | |
15:47
treehug88 joined
|
|||
lizmat | brrt o/ | 15:47 | |
brrt | \o lizmat | ||
iirc leont complained recently about being unable to do something like 'gdb perl6' | |||
which is an annoyance i've also faced | 15:48 | ||
timotimo | me, too | ||
15:48
exixt_ is now known as exixt
|
|||
timotimo | but i'm used to cat (which perl6) now :P | 15:48 | |
brrt | and my solution has been to introduce an environment variable in the runner script which is imposed between the exec and the moar executable | ||
which allows you to do something like MVM_DEBUG="gdb --args" perl6 | 15:49 | ||
and have it start gdb :-) | |||
leont was thinking about such a solution | |||
brrt has implemented such a solution :-) | |||
my only question i | |||
is | |||
what should be the name of our environment variable | |||
i'm torn between PERL6_DEBUG, PERL6_RUN, MVM_RUN, MVM_DEBUG | 15:50 | ||
etc | |||
nb. - this will not work on windows | |||
arnsholt | I looked into making ./perl6 --gdb work, but option parsing in (portable) shell script is just ridiculously painful | 15:53 | |
Also, no idea how to fix the Windows-side BAT file | |||
brrt | also, note that macs do not ship with gdb | 15:54 | |
TimToady | rewrite the runner in perl? :) | ||
15:54
kjs_ left
|
|||
brrt | .... no | 15:54 | |
ultimately we want to ship perl6 to people who don't have perl5 | 15:55 | ||
timotimo | that's why people have discussed rewriting Configure.pl in nqp and shipping a bootstrapped nqp with moarvm | ||
nwc10 | why do we need a runner at all? | ||
leont | Yeah, what nwc10 said | ||
brrt | hmmmm | 15:56 | |
you could.. potentially.. write a 'bootstrapper' in c | |||
15:56
tinyblak_ joined
|
|||
nwc10 is only half awake, having been at work since 07:30 | 15:56 | ||
leont | This is exposing the moar/nqp/perl6 split to a user level in a way that's not functional | ||
brrt | that would work | ||
timotimo | well, froggs already had a little prototype that bundled .moarvm bytecode files within the same binary that runs | ||
nwc10 | it's more the "bundle all the bytecode" thing that I'm wondering about | ||
timotimo | somewhat similar to how parrot has the pmc2exe thing | ||
nwc10 | a binary | ||
arnsholt | I suppose we could do the same thing as Parrot does and make a C thing that basically just contains the bytecode and stuffs that into the interpreter | ||
nwc10 | more awesome would be to take the address of the bytecoe, and pass that direct to the bytecode loader | 15:57 | |
which I think you can do pretty much portably by converting the bytecode to a massive array of unsigned char, in a C source file | |||
compiling that, and linking it | |||
I figure that this approach is portable, given that Encode uses this for perl 5 | 15:58 | ||
moritz | which is exactly what parrot's "fakexecutables" do, no? | ||
arnsholt | Yeah, that's more or less what Parrot does I think | ||
nwc10 | excellent | ||
brrt | hmmm | ||
nwc10 goes back to sleep | |||
brrt is not against, but not directly for it, either | |||
15:58
fhelmberger left
|
|||
nwc10 | I don't mind. I'd like to avoid the gdb pain, as I hit it sometimes | 15:59 | |
lizmat | meanwhile, all I can say is AAAAAAAAAAAAAAAAA! | ||
nwc10 | but I have other itches I need to scratch first | ||
15:59
tinyblak left
|
|||
brrt | why lizmat? :-) | 15:59 | |
lizmat | #CometLanding | ||
brrt | oh yes, very wow | 16:00 | |
lizmat | also: xkcd1446.org | ||
leont | lizmat: just like a whale? ;-) | 16:01 | |
timotimo | i'm now failing to watch the live stream | ||
or maybe not? | |||
who knows. | |||
lizmat | yeah, I guess there's too many of us ... | ||
timotimo | i only see "loading" | 16:04 | |
damn it | |||
16:04
tinyblak_ left
|
|||
lizmat | BBC says landing successful! | 16:04 | |
16:04
tinyblak joined
|
|||
woolfy | landing indeed successfull... | 16:04 | |
timotimo | i want to see, too | 16:05 | |
it's 2014, how the hell can video live streaming from one place on the earth to another be so difficult? | |||
brrt | because networks | ||
timotimo | ah, finally i can see stuff | ||
brrt: networks and browsers and adobe flash players | |||
i'm going to get every new frame by hitting F5 and maybe i'll get a video-like experience from that | 16:06 | ||
moritz | timotimo: now it's time to install a tool that sends the F5 key event in rapid succession :-) | 16:07 | |
timotimo | it's called "a little stone on the key" :) | ||
moritz | don't be so last-millenium! | 16:08 | |
timotimo | when do we finally get working multicast on the internets? | ||
moritz | never | ||
timotimo | don't be so defeatist | ||
moritz | would be very easy to abuse for DDoS | ||
brrt | hmmm | 16:09 | |
timotimo | will we at least ever get rid of adobe flash player for video streaming and watching? | ||
moritz | so basically all edge routers discard multicast packages | ||
timotimo | oh | ||
it would be easy to abuse for DDoS? | |||
moritz | you'd just configure your bots to multicast all traffic both to the intended IP and to the ones you want to DDoS | 16:10 | |
TimToady | well, everyone cheered | ||
moritz | then they'd the same amount as traffic as ever, and still attack several targets at the same time | 16:11 | |
TimToady | and they've announce it's talking and reporting it's on the comet | ||
timotimo | um ... but your targets have to subscribe to your address to even get anything at all | ||
how do you get your victim to subscribe to the multicast streams of all your bots? | |||
brrt | i think multicasts are just forwarded by default | ||
but i'm not sure | 16:12 | ||
16:13
tinyblak_ joined
|
|||
timotimo | ... don't you need to get a multicast address from your ISP to even multicast in the first place? | 16:13 | |
moritz | woah, .NET framework is being open-sourced (MIT license) | ||
timotimo: yes, because normally, the ISP's routers are configured to discard multicast packets | 16:14 | ||
timotimo | oh, that is the reason? :) | ||
moritz | basically all IP stacks implement multicast | ||
16:14
kaleem joined
|
|||
moritz | the ISPs just don't trust it | 16:14 | |
timotimo | maybe i should read up on multicast some more | 16:15 | |
16:16
tinyblak left
|
|||
timotimo | perhaps the next release should be called Philae.pm? :P | 16:16 | |
geekosaur | multicast addresses aren't assigned to hosts, but to protocols | 16:17 | |
you subscribe a host to an address | |||
but if the router drops multicast packets, that won't work | |||
16:18
chenryn left
|
|||
brrt | hmm you can locally-multicast timotimo | 16:18 | |
but yeah, you need an address | 16:19 | ||
16:22
Diederich-away is now known as Diederich,
tinyblak_ left
|
|||
brrt | very awesome philae | 16:23 | |
16:23
tinyblak joined,
tinyblak left
16:24
tinyblak joined
|
|||
TimToady | pictures or it didn't happen :) | 16:24 | |
brrt | :-D | 16:26 | |
16:26
tinyblak_ joined
16:29
tinyblak left
|
|||
brrt afk :-) | 16:31 | ||
16:31
brrt left
16:34
ugator left
16:38
ugator joined
16:41
colomon left
16:42
kjs_ joined
16:43
colomon joined,
d4l3k_ joined
16:45
anaeem1 joined,
felher left,
dalek left
16:46
d4l3k_ is now known as dalek,
ChanServ sets mode: +v dalek,
felher joined,
denis_boyun_ left,
felher is now known as Guest19433
16:48
cognominal joined,
ajr_ left,
colomon left
16:49
guru joined
16:50
guru is now known as Guest92985,
colomon joined
16:51
Guest92985 is now known as ajr_
16:52
ajr_ left
16:53
kjs_ left
17:00
lucas__ joined,
ghostlines left
|
|||
lucas__ | hello | 17:03 | |
m: my &c; &c := sub {} | |||
camelia | rakudo-moar a7cbe3: OUTPUT«===SORRY!=== Error while compiling /tmp/xg0pOdT15nCannot use bind operator with this left-hand sideat /tmp/xg0pOdT15n:1------> my &c; &c := sub {}⏏<EOL> expecting any of: statement list …» | ||
lucas__ | I can't bind to lexical sub? | 17:04 | |
TimToady | m: my &c; &c = sub {} | ||
camelia | ( no output ) | ||
TimToady | assignment works | ||
not entirely clear why binding doesn't | 17:05 | ||
lucas__ | m: my &c := sub {} | ||
camelia | ( no output ) | ||
lucas__ | this is ok ^^^ | ||
TimToady | probably is ignoring the : there | ||
17:05
psch joined
|
|||
psch | hi #perl6 o/ | 17:06 | |
TimToady | pseudo assignment gets the information on = vs := vs ::= but each kind of initialization can choose how to treat each of those | ||
psch has his computer set up finally in the new place | |||
TimToady | \o | ||
psch | re binding of subs: bind_op in actions doesn't do the right thing with & lexicals | 17:07 | |
as in, the QAST that comes in for & lexicals has a :op(ifnull) around | |||
additionally, <sub foo { }> doesn't register a container | 17:08 | ||
i had looked at both of those recently, but didn't quite figure it out | |||
timotimo | the harpoon diddn't fire? | ||
psch | s/actions/Actions.nqp/ | ||
TimToady | timotimo: where do you get that? | 17:09 | |
timotimo | twitter.com/ESA_Rosetta/status/532...1202238464 | ||
17:15
esaym153 joined,
FROGGS left
17:19
[Sno] joined
|
|||
cognominal | TimToady, what is a coercion type? | 17:22 | |
acking 'coercion type' on the specs gives me 3 lines and I am not wiser reading it | 17:24 | ||
TimToady | S02:563 | 17:27 | |
synopsebot | Link: perlcabal.org/syn/S02.html#line_563 | ||
TimToady | so, I guess someone needs to port rakudo to .NET now that it's being open sourced | 17:31 | |
17:31
GibbaTheHutt left
17:33
kaleem left
|
|||
japhb | Now if we could just get back a certain .NET/Mono expert ... | 17:44 | |
17:44
rurban left
|
|||
moritz | japhb: iirc jnthn++ is quite well-versed in .NET too. Though I also guess he has enough on his plate :-) | 17:45 | |
17:45
espadrine` left
|
|||
timotimo | japhb: how do you feel about a tiny tool that gets us the commit ids for each day between two given commits? | 17:47 | |
17:55
dakkar left
17:56
ab5tract joined
|
|||
ab5tract | o/ #perl6 | 17:56 | |
18:00
tinyblak_ left,
pecastro left,
kjs_ joined
|
|||
timotimo | hey you | 18:03 | |
18:03
amkrankruleuen joined,
amkrankruleuen left,
amkrankruleuen joined
18:05
raiph left
18:07
virtualsue left
18:08
aghbas joined
|
|||
jnthn | fwiw, the shell script that launches moar and gives it the Perl 6 bytecode thing was done because it was expedient rather than out of any particular technical preference. :) | 18:08 | |
Well, aside from the "something works now" preference :P | |||
18:08
aghbas left
|
|||
jnthn | Open source .Net under MIT license?! :D | 18:10 | |
arnsholt | Hehe. I figured you might like that =) | 18:11 | |
jnthn | Mostly, it's "At darn last!" :) | ||
Diederich | so damn cool: pbs.twimg.com/media/B2Qm0T-IMAErh5H.png:large | ||
Philae 3km above the surface | 18:12 | ||
jnthn | Wow | ||
Diederich | haven't checked backscroll here, but it is confirmed landed and 'harpoon'd' into the surface for stability. lots more images coming. | ||
oh never mind, the harpoons didn't fire...but it's still stable. | 18:13 | ||
heh | |||
18:15
FROGGS joined
|
|||
psch | timotimo: fwiw, i un-dynvar'd the CPU, peschwa.github.io/profile-1415813798.01796.html is a (x86, so no jit) profile | 18:16 | |
ab5tract | i've been sitting on the two approaches to the 'unified set comparators' | ||
both are working as expected, it seems :) | |||
psch | it's short because i don't feel like writing much asm :P | 18:17 | |
i just took the longest test i have | |||
vendethiel | yay for open source .net ;-) | ||
ab5tract | however, there was a question of which is faster. any suggestions on making a scientific analysis of the two approaches are welcome | ||
vendethiel | masak: the author said it was not that important as a statically-typed list | 18:18 | |
(after all, there exists shen, core.typed, typed racket, and some others) | |||
jnthn | psch: What is this a profile of? | ||
The time spent on dyn opt is high. | |||
psch | jnthn: github.com/peschwa/h6809, specifically github.com/peschwa/H6809/blob/mast...asic.t#L90 | 18:19 | |
ab5tract | also, i don't believe there are any tests at all for mix interactions with set operators | ||
18:20
naxa joined
|
|||
ab5tract | which makes sense, as none of them support Mixes as Mixes | 18:20 | |
vendethiel | oh whoops, anime downloads have made my hard drive full >_> no wonder I was laggy. | ||
jnthn | psch: Seems it spends quite a lot of time auto-threading junctions, glancing the profile further. | ||
18:21
jack_rabbit joined,
exixt is now known as exixt_
|
|||
jnthn | Quite a bit in trans as well | 18:21 | |
psch | yeah, that's the grammar | ||
FROGGS | TimToady: does this magic value has to be that large? github.com/perl6/nqp/commit/3047e9...648c1f2350 | ||
TimToady: would be nice if it was <= 0x7FFFFFFF, because that would unbreak nqp on parrot | 18:22 | ||
TimToady: if that is not possible or sane, then I have to hunt this bug, which is a bad (un)sign | |||
psch | i should probably rewrite the few .trans calls in the grammar to substrings, especially considering i almost always want to strip up to the first two chars | 18:23 | |
s/substrings/substr/ | |||
hm, except the " " => "0" are kind of finicky, although filling up with '0' x * or somesuch might work | 18:24 | ||
well, the code has potential for optimization :) | 18:27 | ||
ingy | moritz: yes please | ||
there was a bit of dissent but I think I've worked through it with everyone. | 18:28 | ||
18:31
lucas__ left,
grondilu joined
|
|||
grondilu wonders if jnthn has seen www.wired.com/2014/11/microsoft-ope...linux-mac/ | 18:31 | ||
tony-o | are there really millions of developers using .net or millions of apps | 18:33 | |
18:34
naxa left
18:42
kjs_ left
|
|||
moritz | tony-o: szabgab.com/the-size-of-the-perl-community.html estimates the number of perl users/programmers to be 100..500k | 18:42 | |
18:42
gfldex joined
|
|||
moritz | tony-o: it's entirely thinkable that there are a million or more .net developers | 18:42 | |
18:45
raiph joined,
araujo left
|
|||
jnthn | grondilu: Yes. :) | 18:49 | |
timotimo | jnthn: have you had any chance to look into why the benchmark that shouldn't allocate at all fills up entire nurseries with huge amounts of MVMStaticFrames (and a more or less negligible amount of P6Opaque) | 18:51 | |
18:52
araujo joined
|
|||
jnthn | timotimo: Not yet | 18:52 | |
timotimo | what i do know about it is that it doesn't call the gc_allocate that's in the MVMStaticFrame REPR_ops struct | ||
18:54
araujo left
18:55
araujo joined
|
|||
japhb | timotimo: re: 'japhb: how do you feel about a tiny tool that gets us the commit ids for each day between two given commits?' ... what are you asking for that isn't just standard git functionality? | 18:55 | |
TimToady | FROGGS: it could be 0xFFFFFF for 16-million fates I suppose | 18:59 | |
but that's not the only place it would have to change | |||
FROGGS | TimToady: I am testing now if a stage0 update helps... | ||
19:11
denis_boyun_ joined
|
|||
timotimo | japhb: i would have to type the git command out manually :) | 19:11 | |
19:11
guru joined
19:12
guru is now known as Guest98842,
Guest98842 is now known as ajr_
19:13
awwaiid left
19:16
bwisti left
19:17
espadrine` joined
|
|||
TimToady | FROGGS: but then we'd need another stage0 update to fix it | 19:24 | |
19:25
Mouq left
|
|||
FROGGS | TimToady: we'd just need one stage0 update | 19:25 | |
TimToady | the funny thing is that that particular line is probably redundant anyway, since the NFA repr already does &= 0xffffffff | 19:27 | |
19:27
ptc_p6 joined
|
|||
FROGGS | ohh, would be nice to get rid of it then :o) | 19:28 | |
jnthn: did you know that nqp always rebuilds when I invoke `nmake p-test` and other rules? | |||
19:30
ab5tract left
|
|||
japhb | timotimo: I'm partial to the following in bash: | 19:32 | |
alias glr='git log -p --reverse' | |||
gpr () { cur=`git rev-parse HEAD`; git pull; git log -p --reverse $cur...; } | |||
glg () { git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %Cblue<%an>%Creset' --abbrev-commit --date=relative "$@" | less -R ; } | |||
TimToady | if only the glr were that easy... | ||
timotimo | hehe. | ||
i've done a few timings now | |||
of commits between 2014.10 and nom-now | |||
TimToady hopes it's his fault | 19:33 | ||
19:35
ab5tract joined
|
|||
dalek | ake: 4e498fa | (Arne Skjærholt)++ | src/Snake/ (2 files): Basic while implementation. |
19:37 | |
19:38
kaare_ joined
|
|||
FROGGS | TimToady: a stage0 update does not help | 19:41 | |
arnsholt | nqp: say(nqp::getlex('$foo')) | ||
camelia | nqp-jvm: OUTPUT«(signal ABRT)## A fatal error has been detected by the Java Runtime Environment:[t# SIGSEGV (0xb) at pc=0x00007f70fbe56b29, pid=7710, tid=140123260208896## JRE version: (7.0_51) (build )# Java VM: OpenJDK 64-Bit Server VM (24.45-b08 mixed mode lin…» | ||
..nqp-moarvm: OUTPUT«» | |||
..nqp-parrot: OUTPUT«Null PMC access in get_string()current instr.: 'print' pc 709 (gen/parrot/stage2/NQPCORE.setting.pir:322) (gen/parrot/stage2/NQPCORE.setting:673)» | |||
arnsholt | jnthn: Is that just above intended behaviour? | 19:42 | |
japhb | .oO( Sheesh, now I need to add fuzz tests to my list .... ) |
||
FROGGS | TimToady: so am I allowed to revert it because of its redundantness? github.com/perl6/nqp/commit/3047e9...648c1f2350 | ||
japhb | arnsholt: SEGV is never good | 19:43 | |
arnsholt | Yeah, that's true. I didn't actually know about that | ||
19:43
denis_boyun_ left
|
|||
FROGGS | but keep in mind that some ops have to be really cheap | 19:43 | |
and we can not check everything at that level while keeping it cheep | 19:44 | ||
arnsholt | I've been doing this on Moar, which simply appears to do something different from what the NQP docs say: "An error is thrown if [the variable does not exist or if the type is incorrect." | ||
jnthn | arnsholt: getlex, iirc, gives null if the symbol ain't found | 19:45 | |
japhb | FROGGS: If we write the ops to have a fast path and a slow path, then we can leave it to spesh to prove we can drop the slow path. | ||
dalek | p: 09cee28 | TimToady++ | src/QRegex/ (2 files): reduce fates to 24 bits, remove redundant AND |
||
FROGGS tries | 19:46 | ||
arnsholt | jnthn: Right, that's what I suspected. I'll update the docs | 19:47 | |
jnthn | FROGGS: (nmake p-test) I haven't built nqp-p for a good while... | 19:48 | |
FROGGS | jnthn: I can imagine :o) | ||
though, not everybody is in that position :P | 19:49 | ||
timotimo | is there a good overview of what features made it into perl5 (and cpan) from perl6 development, except for moose and smart matching? | 19:51 | |
i think lexical $_? | |||
FROGGS | subroutine signatures | 19:52 | |
lexical subs too, right? | |||
timotimo | can they really be called "a perl6 feature"? | ||
they are kind of pretty weaksauce | |||
19:52
darutoko left
|
|||
FROGGS | like smart matching | 19:53 | |
moritz | no, they are really 6y features | ||
say() | |||
// | |||
FROGGS | slurp | ||
19:55
perltricks joined
|
|||
FROGGS | (given/when) | 19:55 | |
timotimo | is given/when not the same as smart matching? | 19:56 | |
or at least "the same batch of features"? | |||
FROGGS | it is connected, aye | ||
ugator | mhh sry I'm a cs noob, but one question: Isn't every float a rational number? so it should be possible to convert any float to FatRat? That would be interesting | 19:57 | |
timotimo | that's not quite how floats work | ||
as defined by the IEEE, floats are one part fixed-comma-numbers and an exponent | 19:58 | ||
ugator | but that will give you a rational? | 19:59 | |
19:59
kjs_ joined
|
|||
timotimo | it depends on what you say is a rational number | 20:00 | |
20:00
masaq joined
|
|||
timotimo | our rational numbers are made up of a numerator and a denominator | 20:00 | |
masaq | evening, #perl6 | ||
ugator | a/b with a,b int? | ||
FROGGS | timotimo: I understand the question as: can floats be turned into FatRats without loss of information | ||
timotimo | yes | ||
jnthn | In which case I'd say yes, they can | 20:01 | |
timotimo | you can't 1/3 as a float properly | ||
ugator | thats what I mean^^ | ||
of course, but the other direction would work? | |||
timotimo | the other direction ought to work | ||
japhb | Not every float is a number. | 20:02 | |
m: say FatRat.new(NaN) | |||
camelia | rakudo-moar a7cbe3: OUTPUT«Type check failed in binding nu; expected 'Int' but got 'Num' in method new at src/gen/m-CORE.setting:11170 in block <unit> at /tmp/Dowjzjdrko:1» | ||
timotimo | yeah, there's floats that are Not A Number | ||
20:03
pecastro joined
|
|||
japhb | m: say NaN.FatRat | 20:03 | |
camelia | rakudo-moar a7cbe3: OUTPUT«NaN» | ||
arnsholt | I guess all number floats should be rationals though | ||
japhb | YEs | ||
20:04
perltricks left
20:07
ab5tract left
20:11
telex left
20:12
ptc_p6 left,
telex joined
20:13
Mouq joined
|
|||
timotimo | the number of all floats is a rational, too | 20:17 | |
TimToady | in fact, its denomintor is 1 :) | 20:18 | |
*nator | |||
20:20
colomon left,
colomon joined
|
|||
masaq | timotimo: which is the same way as saying that most reals can not be expressed as floats or doubles. :) | 20:25 | |
masaq .oO( how do I love thee? let me uncountable the ways... ) | |||
TimToady | masaq: pretty darn near all of them, in terms of percentages | 20:27 | |
20:28
kaare_ left
|
|||
masaq | TimToady: yes, that's what "almost all" means in mathematics. en.wikipedia.org/wiki/Almost_all | 20:29 | |
20:33
denis_boyun_ joined
20:35
ab5tract joined
|
|||
ab5tract | timotimo: smart matching is not a good example for features from p6. it's use is strongly discouraged. this casts a gloom over given/when as well | 20:36 | |
20:36
Guest19433 is now known as felher
|
|||
ab5tract | it's a good example for why p6 needed a complete rewrite, though :) | 20:37 | |
20:38
cognominal left
20:41
rindolf left
|
|||
ab5tract | i guess i mean 'good' in the sense of 'positive', there | 20:44 | |
masaq is writing Perl 5 code, and has just defined helper subs eq_any and any_eq | 20:47 | ||
dalek | ake: b7cdff1 | (Arne Skjærholt)++ | src/Snake/Grammar.nqp: Fix bug where compound statements ate the indent of following line. |
20:57 | |
ake: c7bc09f | (Arne Skjærholt)++ | src/Snake/ (2 files): Basic loop control implementation. |
|||
timotimo | Q4kh7666666666666666666666666666666666666666hhhhhhhhhh | 20:59 | |
sorry, cat sat on my keyboard | |||
FROGGS | *g* | ||
arnsholt | I was about to type cat-like typing detected =D | ||
20:59
abraxxa left
21:09
colomon left
21:11
bbkr joined
|
|||
bbkr | retupmoca: hi, is it safe to use single Net::DNS object across many asynchronous Promises? | 21:12 | |
21:12
Mouq left
21:17
bwisti joined,
bwisti left
|
|||
masaq | 'night, #perl6 | 21:18 | |
21:18
masaq left
|
|||
ab5tract | m: say set ( this => 10, that => 20, for => 5 ).hash | 21:19 | |
camelia | rakudo-moar a7cbe3: OUTPUT«set("this" => 10, "that" => 20, "for" => 5)» | ||
ab5tract | m: say ( this => 10, that => 20, for => 5 ).hash.Set | 21:20 | |
camelia | rakudo-moar a7cbe3: OUTPUT«set(this, that, for)» | ||
ab5tract ponders whether set in subroutine form is evil | 21:22 | ||
21:25
perltricks joined
|
|||
timotimo | should it be? | 21:25 | |
perltricks | hey all, quick question: is the $*IN.input-line-separator() as defined in s28 implemented? I'm trying to set it for a 1 liner | 21:26 | |
yoleaux | 4 Jul 2014 06:57Z <FROGGS_> perltricks: I would put EVAL where try/CATCH is, so P5er see how P5's eval became try *or* EVAL | ||
ab5tract | timotimo: should it be evil? i would argue, no | 21:27 | |
there is a test failing in S02-types/set.t | 21:28 | ||
timotimo | perltricks: well, froggs just worked on making multiple (as well as multi-char) line separators work | ||
but i think that's still in a branch | |||
retupmoca | bbkr: I *think* the only possible issue with threading is two lookups using the same request id - which should be ok, as each lookup happens over its own TCP connection | ||
FROGGS | timotimo: aye, needs review/talk by/with jnthn | ||
retupmoca | bbkr: note that I have not tested this, and it's based on a 5-minute glance over the code | ||
perltricks | all right, so for now it's fixed at "\n" right? That's fine, just want to check | 21:29 | |
FROGGS | perltricks: only one-char separators are supported atm | ||
perltricks | ok when you open a file using a one liner arg like -n or -p, can I change the value of $*IN.input-line-separator() ? | 21:31 | |
FROGGS | dev/rakudo$ perl6-m -e 'say open("README.md", :nl<e>).lines[0]' | ||
# Rakudo Pe | |||
hmmm | |||
psch | ab5tract: the distinction between "set of pairs" and "set from pairs" seems useful, but i agree that it should be more obvious which one gets and why | 21:32 | |
ab5tract | psch: i agree about the distinction, but in my opinion the ().hash already negates any expectation for a set of pairs | 21:33 | |
as a set made out of a hash is defined behavior, making a set out of its keys | 21:34 | ||
m: set ( this => 5, that => 4 ) | |||
camelia | ( no output ) | ||
ab5tract | m: say set ( this => 5, that => 4 ) | ||
camelia | rakudo-moar a7cbe3: OUTPUT«set("this" => 5, "that" => 4)» | ||
ab5tract | m: say (this => 5, that => 4).Set | 21:35 | |
camelia | rakudo-moar a7cbe3: OUTPUT«set(this, that)» | ||
psch | ab5tract: sounds like we'd want a multi set(%a) { Setty.new-from-pairs(%a.pairs) } | ||
bbkr | retupmoca: I'll stress test Net::DNS it a bit. Got over 5_000_000 domains to check :) | ||
retupmoca | bbkr: note that Net::DNS.new() doesn't do any work, either - so there shouldn't be any real performance difference compared to keeping the object alive | ||
ab5tract | ok, so it goes deeper than i thought | ||
FROGGS | perltricks: I try to wire it up, gimme a second | ||
retupmoca | bbkr: ooh, please open issues :D | ||
psch | ab5tract: src/core/set_operators.pm:253 | 21:36 | |
ab5tract | psch: the more i poke at it, the more the entire set architecture seems to fall apart :( | ||
psch | ab5tract: the GLR semantic change might also matter; i.e. flattening methods and non-flattening subs (or was it the other way around..?) | 21:37 | |
ab5tract | but has the GLR already occured? | ||
timotimo | non-flattening method calls | ||
perltricks | FROGGS: thanks for looking, appreciate it | ||
psch | although i think we're not considering <"quoted" => "key"> vs <non-quoted => "key"> as any kind of flattening | 21:38 | |
btyler_ | any NativeCall experts, what's the 'right' way to render something like this snippet: libgit2.github.com/docs/guides/101...nit_simple ? my C is weak and I feel like specifying a CStruct repr with a single int8 member is an awfully hacky way to get to ** | ||
21:38
colomon joined
|
|||
ab5tract | m: say Set.new( (this => 5, that => 4) ) | 21:40 | |
camelia | rakudo-moar a7cbe3: OUTPUT«set("this" => 5, "that" => 4)» | ||
ab5tract | m: say (this => 5, that => 4).Set | ||
camelia | rakudo-moar a7cbe3: OUTPUT«set(this, that)» | ||
psch | m: say Setty.new-from-pairs( this => 5, that => 5 ) | ||
camelia | rakudo-moar a7cbe3: OUTPUT«Setty.new()» | ||
ab5tract | that is just not SWIM | ||
DWIM | |||
timotimo | Setty is a role that's rpobably not intended to be punned | 21:41 | |
at least i think so | |||
ab5tract | timotimo: punned? | ||
psch | m: say Set.new-from-pairs(this => 5, that => 3) | ||
camelia | rakudo-moar a7cbe3: OUTPUT«set()» | ||
timotimo | a pun is a class that's created from a role by basically mixing the role into an empty class | ||
psch | m: say Set.new-from-pairs("this" => 5, "that" => 3) | ||
camelia | rakudo-moar a7cbe3: OUTPUT«set(this, that)» | ||
ab5tract | under what expectations is a dev supposed to think of ().Set and Set.new() as having different meanings | 21:42 | |
psch | ^ that's what i meant... :) | ||
bbkr | retupmoca: I'm just reading the code. Indeed .new in every Promise is the best option without performance penalty. Unfortunately it will be already 50% slower than p5 due to lack of UDP. Because I already have linear P5 version I'm refactoring I'll let them race - linear p5 on XS and UDP VS. pure threaded P6 - and hope to get some conclusions for next blog post :) | ||
psch | ab5tract: i'd almost argue the other way. new-from-pairs exists for a reason, and .Set should do what Set.new does | ||
ab5tract | i'm not against you there | ||
my main concern is that it should be consistent | 21:43 | ||
retupmoca | bbkr: yeah, no UDP in rakudo yet :( | ||
timotimo | new-from-pairs is a performance optimization that's rather internal | ||
i don't think new-from-pairs is specced | |||
ab5tract | i think if this is a list of pairs: "a" => "thing", "an" => "other" | 21:44 | |
then any of set/().Set/Set.new() should create a set of pairs | |||
if you want a set of the keys, call hash on the set of pairs | 21:45 | ||
erm, list of pairs | |||
21:46
exixt_ is now known as exixt
|
|||
ab5tract | honestly folks, the state of sets/bags/mixes worries me | 21:47 | |
dalek | kudo/nom: 1d3d97f | (Tobias Leich)++ | src/core/IO/Handle.pm: implement IO::Handle.input-line-separator |
||
FROGGS | perltricks: that patch seems to make this work: dev/rakudo$ cat README.md | perl6 -p -e '$*IN.input-line-separator = "e"' | ||
lizmat | ab5tract: new-from-pairs is supposed to be an internal method | 21:48 | |
psch | m: say Set(%(a => 1, b => 2)) # coercion NYI :/ | ||
camelia | rakudo-moar a7cbe3: OUTPUT«set(a, b)» | ||
psch | ooh | ||
that's there | |||
ab5tract: S32/Containers#Set | |||
ab5tract | lizmat: that's fine, none of my examples are related to new-from-pairs | ||
FROGGS | perltricks: though, since \n is the default, the first line will end with a \n, even when it contains an e | ||
ab5tract | they are related to what i would expect would be every day use cases for sets | ||
lizmat | ab5tract: so what worries you then? | 21:49 | |
btyler_ | FROGGS: can I borrow your brain for a moment? would love some NativeCall wisdom, playing around with libgit2 and flailing a bit | ||
FROGGS | btyler_: sure, ask | ||
timotimo | i may be able to lend some wisdom, too | ||
i've done a bit of nativecall stuff recently as well :) | |||
ab5tract | m: say Set.new( (this => 5, that => 4) ) # expected | 21:50 | |
camelia | rakudo-moar a7cbe3: OUTPUT«set("this" => 5, "that" => 4)» | ||
btyler_ | irclog.perlgeek.de/perl6/2014-11-12#i_9650257 | ||
ab5tract | m: say (this => 5, that => 4).Set # expected | ||
camelia | rakudo-moar a7cbe3: OUTPUT«set(this, that)» | ||
btyler_ | next time I'll just ping one of you guys :) timotimo, yeah, was just reading through cairo-p6 | ||
ab5tract | wait, sorry | ||
timotimo | :) | 21:51 | |
ab5tract | m: say Set.new( (this => 5, that => 4) ); say set (this => 5, that => 4); say (this => 5, that => 4).Set; | ||
camelia | rakudo-moar a7cbe3: OUTPUT«set("this" => 5, "that" => 4)set("this" => 5, "that" => 4)set(this, that)» | ||
timotimo | btyler_: i would use a CArray[uint8] for a &int parameter | 21:52 | |
ab5tract | wait.. | ||
m: say ((this => 5, that => 4)).Set | |||
camelia | rakudo-moar a7cbe3: OUTPUT«set(this, that)» | ||
timotimo | (but i always forget to .= new those, leading to gnarly errors) | ||
ab5tract | right, so ().Set is my concern lizmat | ||
psch | m: say Set(a => 1, b => 2) # .Set as something sub-y | 21:53 | |
camelia | rakudo-moar a7cbe3: OUTPUT«Cannot coerce to Set with named parameters in block <unit> at /tmp/L0hVnsQuj3:1» | ||
timotimo | (if the function i'm wrapping isn't checking for null pointers) | ||
psch | grml | ||
m: say Set("a" => 1, "b" => 2) # .Set as something sub-y | |||
camelia | rakudo-moar a7cbe3: OUTPUT«set(a, b)» | ||
psch | everything there, naming might be non-obvious | ||
*is there | |||
ab5tract | .... | ||
psch: how is Set() having a different behavior than set() "everything there" | 21:54 | ||
btyler_ | timotimo: in this case it is. see: github.com/libgit2/libgit2/blob/ma...ry.c#L1473 | ||
timotimo | good | ||
psch | ab5tract: "set of pairs" and "set from pairs" exist both as method and sub form, was my thought, but i think that was wrong, apologies | 21:55 | |
ab5tract | again, if you want a set of keys from a list of pairs, make it a has first | ||
timotimo | and you also have to $arr[0] = 0 | ||
ab5tract | psch: i see what you mean, and it does seem to imply that Set() is implemented as .new-fp and set() as .new | ||
perltricks | FROGGS: thanks! | 21:56 | |
ab5tract | lizmat: does my concern make sense to you? | ||
lizmat | the odd thing is that I don't see how Set() actually works | ||
there is no 'sub Set()' in the settings, so I wonder where this behaviour is coming from | |||
colomon | m: my %a = a => 2, b => 3; say Set.new(%a); say %a.Set | 21:57 | |
camelia | rakudo-moar a7cbe3: OUTPUT«set("a" => 2, "b" => 3)set(a, b)» | ||
colomon | m: my %a = a => 2, b => 3; say Set.new(%a).elems; say %a.Set | ||
camelia | rakudo-moar a7cbe3: OUTPUT«2set(a, b)» | ||
timotimo | class Set must have some invocation thingie handled | ||
colomon | m: my %a = a => 2, b => 3, c => 0; say Set.new(%a).elems; say %a.Set | 21:58 | |
camelia | rakudo-moar a7cbe3: OUTPUT«3set(a, b)» | ||
lizmat | aha... I see | ||
timotimo | oh? | 21:59 | |
i don't see it yet | |||
lizmat | m: say Int("20") | ||
camelia | rakudo-moar a7cbe3: OUTPUT«20» | ||
lizmat | m: say "20".Int | ||
camelia | rakudo-moar a7cbe3: OUTPUT«20» | ||
colomon | lizmat: is Set.new(%a) behaving properly? I thought it was supposed to make a Set with a Hash in it. | 22:00 | |
lizmat | Foo(bar) will call the method Foo on bar | ||
colomon | lizmat: !!! | ||
22:01
bbkr_ joined
|
|||
timotimo | oh | 22:01 | |
that thing is in here now | |||
lizmat | m: say DateTime(23) | ||
camelia | rakudo-moar a7cbe3: OUTPUT«Cannot find method 'DateTime' in block <unit> at /tmp/knnAfLcf7S:1» | ||
timotimo | i find that slightly awkward | ||
ab5tract | lizmat: ah, i thought that was designed behavior | ||
colomon | m: class Foo { method bar { say "Hello!"; }; }; bar(Foo.new) | ||
camelia | rakudo-moar a7cbe3: OUTPUT«===SORRY!=== Error while compiling /tmp/S11YLKkvmDUndeclared routine: bar used at line 1. Did you mean 'bag'?» | ||
lizmat | it is, but you only need to create an Any.method for that | ||
ab5tract | lizmat: that still does not address the discrepancy between set()/().Set/Set.new | 22:02 | |
TimToady | set is *supposed* to be different from Set | ||
colomon | ab5tract: the idea is this: Set.new is supposed to construct exactly what you tell it to. | ||
ab5tract: .Set is supposed to convert an object into an "equivalent" set | 22:03 | ||
FROGGS | timotimo: I have problems understanding it... | ||
TimToady | they are different by design | ||
22:03
bbkr left
|
|||
FROGGS | timotimo: that's the definition: libgit2/include/git2/types.h:105:typedef struct git_repository git_repository; | 22:03 | |
ab5tract | TimToady: i'm afraid that it will mean a lot of headaches in the long run | ||
TimToady | not doing will make more | ||
timotimo | FROGGS: excuse me? | ||
FROGGS | timotimo: how is that equal to CArray[uint8] ? | ||
timotimo | are we looking at the same thing? | ||
let me re-read | 22:04 | ||
colomon | ab5tract: so if you have a Hash %a which you've been using like a set, then %a.Set makes the Set which is equivalent to that Hash. | ||
ab5tract: which is nothing at all like the Set of the pairs in the Hash | |||
TimToady | composers are not coercers | ||
ab5tract | ok | ||
that is clearer | |||
timotimo | "a CStruct repr with a single int8 member" - this part threw me off | ||
apparently | |||
FROGGS | yes, but I don't see any sign of a int8 member | 22:05 | |
btyler_ | timotimo: sorry, my question was unclear -- I mentioned the int8 because it's the same size as a pointer in my understanding of C | ||
FROGGS | err | ||
timotimo | oh! | ||
no, that's very not correct :) | |||
psch | only sometimes, maybe | ||
btyler_ | heh, right, yeah. not a C programmer, just read it sometimes | ||
timotimo | the size of a pointer is sizeof(void *) | ||
which you should not assume to be the same as 32bit or 64bit | |||
FROGGS | btyler_: I'd do: class git_repository is repr('CPointer') { } | 22:06 | |
timotimo | and 8bit is rather seldomly found in modern machines | ||
FROGGS | btyler_: the you can use that as the type in your sub declaration | ||
lizmat | m: sub a(*@a) { .say for @a }; my %h = a=>1, b=>2; a %h # colomon: is this behaviour correct? | ||
camelia | rakudo-moar a7cbe3: OUTPUT«"a" => 1"b" => 2» | ||
ab5tract | TimToady: then i think that makes the case of 'sub set()' begin evil a bit stronger.. ().Set vs Set.new() can be distinguished by the general rule of composers <> coercers | ||
lizmat | colomon: aka, is it ok that a slurpy array turns a hash into a list of pairs ? | 22:07 | |
FROGGS | star-m: class git_repository is repr('CPointer') { }; say git_repository; say git_repository.new | ||
camelia | star-m 2014.09: OUTPUT«(git_repository)git_repository.new()» | ||
ab5tract | but set() doesn't make itself clear | ||
colomon | lizmat: …. I have no idea | ||
TimToady | set is a composer, sugar for Set.new | ||
that's all | |||
colomon | lizmat: it's certainly not what I would expect | ||
ab5tract | right, but not every composer has sugar | ||
TimToady | Set() is a coercer, if you want it to look like a function | ||
timotimo | btyler_: or do you mean an 8 byte integer? | ||
m: say 64 / 8 | 22:08 | ||
camelia | rakudo-moar a7cbe3: OUTPUT«8» | ||
lizmat | m: sub a(*@a) { .say for @a }; my %h = a=>1, b=>2; a %h # TimToady: is this correct ? | ||
camelia | rakudo-moar a7cbe3: OUTPUT«"a" => 1"b" => 2» | ||
timotimo | because in perl6, int8 means a single byte | ||
colomon | timotimo: he surely thought int8 was an 8-byte int. He even had me convinced for a minute there... | ||
TimToady | lizmat: yes, looks right to me | ||
listifying a hash produces pairs | |||
lizmat | so a slurpy turns a hash into a list of pairs | 22:09 | |
btyler_ | don't bother trying to plumb the depths of my C ignorance, I'm afraid it'll take you a while to hit rock bottom. sorry for the mix up! | ||
lizmat | Set.new is currently implemented with a slurpy, so I guess that is correct as well then? | ||
FROGGS | *g* | ||
timotimo | :D | ||
TimToady | gotta go afk for the afternoon, since I'm on vacation | ||
lizmat: yes | |||
ab5tract | TimToady: enjoy! | ||
22:09
gfldex left
|
|||
TimToady | laters & | 22:10 | |
lizmat | TimToady: have fun! | ||
colomon | lizmat, TimToady: then how do you create a Set of Hashes? | ||
perltricks | FROGGS: do you know if $*IN.ins is working? perl6 -ne 'say $*IN.ins' /path/to/file prints zero for each line | ||
timotimo | could be it's NYI :( | 22:11 | |
FROGGS | no, it is supposed to work | ||
perltricks | yah sorry I might be jumping the gun. Trying to write a collection of one liners in p6 :) | ||
lizmat | m: my @a={a=>1,b=>2},{c=>3}; say Set.new(@a).perl # colomon: like this ? | ||
camelia | rakudo-moar a7cbe3: OUTPUT«set({"b" => 2, "a" => 1},{"c" => 3})» | ||
FROGGS | because -n calls .lines, and .lines increments $!ins | ||
colomon | lizmat: that… seems odd. The same goes for a Set of Lists? | 22:12 | |
lizmat: mind you, I guess it works. | |||
lizmat | m: say Set.new({a => 1}).perl | ||
camelia | rakudo-moar a7cbe3: OUTPUT«set({"a" => 1})» | ||
22:12
colomon left
|
|||
psch | m: say set(%(a => 1, b => 2), %(c => 3, d => 4)) | 22:13 | |
camelia | rakudo-moar a7cbe3: OUTPUT«set("a" => 1, "b" => 2, "c" => 3, "d" => 4)» | ||
psch | right, that flattens | ||
lizmat | m: sub a(*@a) { .say for @a }; my %h = a=>1, b=>2; a $%h # avoid flattening | ||
camelia | rakudo-moar a7cbe3: OUTPUT«"a" => 1, "b" => 2» | ||
FROGGS | perltricks: but yeah, I can confirm that one gets zeros | ||
psch | i think it shouldn't, cf. S32/Containers.html#Set | ||
lizmat | m: my %h=a=>1,b=>2; say Set.new($%h).perl # itemizing also works | 22:14 | |
camelia | rakudo-moar a7cbe3: OUTPUT«set({"a" => 1, "b" => 2})» | ||
psch | "The set composer will very literally make a Set of whatever you pass it;" | ||
ab5tract | psch: i was just noticing that difference in behavior between %() and {} too | ||
psch | oh, right | ||
i wasn't passing hashes | |||
FROGGS | perltricks: dev/rakudo$ perl6 -ne 'say $*ARGFILES.ins' README.md | 22:15 | |
1 | |||
2 | |||
psch | m: sub a($b) { $b.perl }; say a %(a => 1, b => 2) | ||
camelia | rakudo-moar a7cbe3: OUTPUT«{"b" => 2, "a" => 1}» | ||
22:15
ajr_ left
|
|||
psch | well, now i'm confused :) | 22:15 | |
FROGGS | perltricks: if you pass a filename like that, it is not $*IN anymore | 22:16 | |
ab5tract | m: say set (this => 5, that => 4).hash, (other => 3, than => 2).hash | ||
camelia | rakudo-moar a7cbe3: OUTPUT«set("this" => 5, "that" => 4, "other" => 3, "than" => 2)» | ||
psch | m: say set({a => 1, b => 2}, {c => 3, d => 4}) | ||
lizmat | ab5tract: so now you're the proud owner of a set with 5 pairs | ||
camelia | rakudo-moar a7cbe3: OUTPUT«set("a" => 1, "b" => 2, "c" => 3, "d" => 4)» | ||
lizmat | *4 | ||
perltricks | FROGGS: gotcha, thanks | ||
psch | maybe i'm misinterpreting "quite literally" from the quoted bit of spec | 22:17 | |
ab5tract | m: say ((this => 5, that => 4).hash, (other => 3, than => 2).hash).Set | ||
camelia | rakudo-moar a7cbe3: OUTPUT«set(this, that, other, than)» | ||
ab5tract | lizmat: it seems that i'm dense regarding the distinction between | 22:18 | |
m: (this => 5, that => 4).hash.perl.say | |||
camelia | rakudo-moar a7cbe3: OUTPUT«("this" => 5, "that" => 4).hash» | ||
ab5tract | m: {this => 5, that => 4}.perl.say | 22:19 | |
camelia | rakudo-moar a7cbe3: OUTPUT«{"this" => 5, "that" => 4}» | ||
hoelzro | is there a way to declare a trait for grammars such that grammar MyGrammar is case_insensitive { ... } will work? | 22:20 | |
multi trait_mod:is<case_insensitive(|) {} doesn't do the trick | |||
lizmat | ab5tract: the latter is itemized, the former isn't | 22:23 | |
in P5 terms, the latter is a reference, the former is not | |||
ab5tract | m: say [&&] (this => 5, that => 4).hash ~~ Hash, {this => 5, that => 4} ~~ Hash | ||
camelia | rakudo-moar 1d3d97: OUTPUT«True» | ||
ab5tract | if it smokes like a hash.. | 22:24 | |
lizmat | m: say [] ~~ Array; say Array.new ~~ Array | ||
camelia | rakudo-moar 1d3d97: OUTPUT«TrueTrue» | ||
ab5tract | lizmat: okay, that seems pretty clear. but then i see something like this: | ||
m: say all {this => 5, that => 4}, {that => 5, this => 4} | 22:25 | ||
camelia | rakudo-moar 1d3d97: OUTPUT«all("that" => 4, "this" => 5, "that" => 5, "this" => 4)» | ||
psch | m: sub a (\b) { .say for b }; a {a => 1, b => 2}; a %(a => 1, b => 2) | ||
ab5tract | why does itemization not count there? | ||
camelia | rakudo-moar 1d3d97: OUTPUT«"a" => 1, "b" => 2"a" => 1"b" => 2» | ||
lizmat | m: say all({this => 5, that => 4}, {that => 5, this => 4}).perl | ||
camelia | rakudo-moar 1d3d97: OUTPUT«all({"this" => 5, "that" => 4}, {"that" => 5, "this" => 4})» | ||
psch is off to bed o/ | 22:26 | ||
timotimo | gnite psch | ||
lizmat | goodnight psch | ||
ab5tract | lizmat: ah, okay that's ... | ||
ciao psch, thanks for golfing with me :) | |||
lizmat | you're created a junction with 2 hashes | ||
*you've | 22:27 | ||
ab5tract | yeah, as i was expecting. i just would have expected $junction.say and $junction.perl.say to show the same internal structure. i'm pretty new to all this still | ||
lizmat | ab5tract: .gist is *not* always 100% correct | ||
ab5tract | so i see :) | ||
lizmat | .gist is for humans, for quick interrogation | 22:28 | |
always use .perl if you want to be sure | |||
ab5tract | duly noted | ||
lizmat is going to make it an early night | 22:29 | ||
a long commute to Copenhagen is in order tomorrow | |||
sleep& | 22:30 | ||
ab5tract | ciao lizmat! | ||
22:31
psch left
22:34
espadrine` left
22:35
spider-mario left
22:38
exixt is now known as exixt_
22:40
perltricks left
22:44
Mouq joined
22:48
exixt_ is now known as exixt,
bbkr_ left
22:58
vendethiel left
23:03
[Sno] left,
kjs_ left
23:05
colomon joined
23:16
ugator left
23:20
denis_boyun_ left
23:23
treehug88 left
|
|||
Mouq | hoelzro: I don't think there's really a way to do that :/ | 23:24 | |
timotimo | so in this example code i have here, infix:<<> gets inlined a few times here and there and if we follow the fact that p6bool is "basically" a box_i instruction... that'd really be worth something | 23:37 | |
especially since that happens in postcircumfix:<[ ]> | |||
23:39
FROGGS left
23:41
jfredett left
23:42
Mouq left
|
|||
ugexe | nqp: sub xx (*@vars) { my int $elem := nqp::shift_i(@vars); return $elem; }; nqp::say(xx(1,2,3,4)); | 23:49 | |
camelia | nqp-parrot: OUTPUT«1» | ||
..nqp-moarvm: OUTPUT«MVMArray: shift expected object register at /tmp/tmpfile:1 (<ephemeral file>:xx:5) from /tmp/tmpfile:1 (<ephemeral file>:<mainline>:35) from gen/moar/stage2/NQPHLL.nqp:1234 (/home/camelia/rakudo-inst-2/languages/nqp/lib/NQPHLL.moarvm:eval:172) fro…» | |||
..nqp-jvm: OUTPUT«(signal ABRT)» | |||
timotimo | you cannot shift an _i out of a generic list | 23:51 | |
(on moar and jvm) | |||
ugexe | ah thanks | ||
nqp: sub xx (*@vars) { my $elem := nqp::shift(@vars); return $elem; }; nqp::say(xx(1,2,3,4)); | 23:53 | ||
camelia | nqp-{moarvm,parrot}: OUTPUT«1» | ||
..nqp-jvm: OUTPUT«(signal ABRT)» | |||
timotimo | if you nqp::shift into an int variable it should correctly coerce for you | ||
hm |