»ö« 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/xg0pOdT15n␤Cannot use bind operator with this left-hand side␤at /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«2␤set(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«3␤set(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/S11YLKkvmD␤Undeclared 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«True␤True␤»
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