»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by moritz on 25 December 2014.
00:07 spider-mario left
skids One could even say he's a pro at it :-) 00:07
00:24 adu joined
colomon japhb: where are nine’s slides? 00:29
japhb Hold on
niner.name/talks/Leapfrogging%20the%20bootstrap/
The PDF version has good speaker's notes, didn't check the ODP
colomon japhb++ 00:30
japhb nine++
:-) 00:31
00:33 skids left 00:35 alinbsp left
colomon nine++ 00:35
colomon is still reading
00:35 Ugator left
colomon and watching football 00:38
BenGoldberg Oooh, a round Tuit. Where can I get one? 00:42
masak 'night, #perl6.0.0 00:43
raydiak heh good night masak
japhb o/
asdf12z_ video.fosdem.org/ ? 00:45
colomon BenGoldberg: try talking to lizmat
BenGoldberg Does there exist a program which can read in a c header file (.h) and produce a perl6 program with a 'use NativeCall; ...', where ... contains a 'sub somefunction(blah blah) is native('libsomething') { * }' for each c function in the .h file? 00:48
BenGoldberg was joking about getting a wooden round tuit ;) 00:49
raydiak imagines a Minority Report-like device which carves out Tuits with names on them using lasers
BenGoldberg With psychics in life support prisons to provide the names? 00:51
japhb BenGoldberg: someone was working on a parser for C headers, and I think the AST portion had gotten fairly far along, but I'm not aware of it getting to the next stage where it can generate the NativeCall interface.
raydiak BenGoldberg: there does not afaik, but a C grammar is being worked on by adu++ which would allow such a thing to exist
github.com/andydude/p6-c-parser
japhb beat raydiak by mere seconds ... but he did the research. :-)
raydiak :) 00:52
BenGoldberg Why not take some pre-existing C parser, and use NativeCall to talk to it? Like tcc, maybe. 00:53
raydiak last I tried, it still had some issues with the 0mq header I was trying to parse as a test...I'll bet he'd be happy for some help, if anyone...*looks at tuit-lazing machine* 00:54
I'm sure we could use an existing parser...guess nobody has cuz it'd be kinda a shame to not use our grammars? idk...*kicks inert tuit-lazing machine* 01:03
01:04 skids joined
colomon nine++ 01:07
adu Raydiak are you talking about c parser?
It it doesn't work on something, let me know and I'll try to improve it 01:08
If*
raydiak suspects many of his failure cases are typedef-related 01:09
adu Wait, I didnt know there was a nativecall step, what is that step?
colomon nine: Inline::Python not in the ecosystem? 01:10
raydiak it's not a step, it's a module you can use to call into c code
star-m: use NativeCall; sub alloc(int) returns OpaquePointer is native {*}; say alloc(1024); # <- adu 01:11
camelia star-m 2014.12: OUTPUT«Cannot locate symbol 'alloc' in native library ''␤ in method postcircumfix:<( )> at /home/camelia/rakudo-star-2014.12/install/languages/perl6/lib/NativeCall.pm6:130␤ in block <unit> at /tmp/5Tqb50M3ku:1␤␤»
adu My problem is that I can think of too many applications of a parser, a slang, a syntax highlighter, an indenter, static analysis, etc
raydiak star-m: use NativeCall; sub malloc(int) returns OpaquePointer is native {*}; say malloc(1024);
camelia star-m 2014.12: OUTPUT«OpaquePointer<0x4a20f50>␤»
raydiak far and away the biggest thing I've heard (and my own use) is to generate NativeCall bindings 01:12
adu Well, maybe I should look into that then. 01:13
01:14 espadrine left
raydiak here are the things from zmq which don't parse, and the things which crash: gist.github.com/raydiak/708adb1e6b8d6d62d2a3 01:14
each was tried one at a time. I know many of them are jsut the typedef thing, but some are other stuff
01:15 dayangkun joined
raydiak (by crash I mean error instead of parse, that is) 01:15
01:16 yeahnoob joined
raydiak I wanted to sort them out more by failure so I didn't show you a big list of "ew" to sort through yourself, but it got forgotten until now 01:16
01:21 espadrine joined
japhb adu, raydiak: The C parser is a need prerequisite to, but not the same as, a NativeCall auto-binder. It should be possible to use just the C parser, for all the reasons you specify. The NativeCall autobinder can be a module that uses the parser. 01:24
adu Japhb, well, I can work on writing 01:28
More tests and documentation for c::parset
Er 01:29
raydiak japhb: yes we don't want to write the autobinder into the parser, we were just talking about why I run into failures more often than adu does...so he was asking "how do people plan to use it, so I can keep that in mind for extra testing and features" 01:36
at least that's what I got out of it :)
adu Raydiak: yeah, thats about it, I can think of a couple ways to remove the requirement for a typename to be typedefed, but I don't see why you're parsing line by line in the first place. 01:38
raydiak adu: b/c otherwise it just goes *BOOM* and I have no idea which lines work and which ones don't parse and which ones cause crashes 01:39
adu So, i should work on the typedef issue, and error reporting... 01:40
raydiak and whatever the other crashes in my gist are :) 01:42
adu Oh, I thought I got you zmq.h to parse correctly 01:44
raydiak oh never even close :)
adu Ray are you parsing the entire file once? Or line-by-line?
01:45 espadrine left
raydiak either way won't work...only *some* of those fails are typedef-related 01:45
and some are extentions and stuff from standards you may not be trying to support, idk
adu I added gnu attributes and gnu asm, so it should work 01:46
raydiak ah, k cool 01:47
admittedly, that gist was from at least a couple weeks ago, idk how much of the parsing may have changed since then
adu But I'm not at my computer right now, so I won't be able to work on it until tomorrow 01:48
raydiak I'm not in a rush, and I know yer a busy guy outside of your much-appreciated contributions here :) 01:49
adu Ray quite a bit, I changed the grammer so that stucts parse correctly now, and the AST has been through 3 major revisions since then
raydiak neat, I'll try again tonight then 01:50
adu: when I look later, if I see anything that I think could be obviously improved, would you like pull requests instead of suggestions? 01:58
adu Either would be appreciated 02:01
I'm very flexible 02:02
raydiak has known various people with various attitudes towards their code and changes to it
adu I'm not a code nazi
raydiak cool, Whatever wfm too :) 02:03
gotta take off for a while, so... \o
gtodd So if one wants to hack up something quick using an existing computer vision library then .... NativeCall -> into libopencv ... then use perl6 to "orchestrate" libopencv functions and fiddle with CV data ... is uhh a viable approach ? 02:10
it seems too easy :-)
02:11 BenGoldberg left 02:12 BenGoldberg joined
skids gtodd: it is pretty easy (some hitches still) and will get even easier as the hitches go away. 02:28
rjbs gist.github.com/rjbs/de0b26a258553c75104c 02:29
^ janky test for problem with grapheme-oriented parsing discussed with pm and timtoady tonight
skids gtodd: I'm sure the C parser being discussed will be useful for large APIs, for some other small APIs it's so easy you just do it by hand without even thinking "this is tedious". 02:30
rjbs: so why should that die? In the raw gist I see "123 #̈ die"; is github getting the right codes across? 02:46
02:46 chenryn joined, BenGoldberg left 02:47 BenGoldberg joined
skids (the graphemes are coded as 0xc38c and 0xcb86) 02:47
gtodd skids: It seems to be getting easier to access libraries all over (towhit perl5 and FFI::Platypus) ... i.e. less XS and C knowledge requred 02:50
skids Well, IMO C knowlege is always required everywhere and the house should not be left without it, but yes, less glue! :-) 02:51
02:56 muraiki_ left
raydiak wonders if some of the cleaner header files couldn't be autobound by a simple series of plain old regexen (maybe with a little hand-holding on either end of the conversion) 02:59
03:00 fil_ left
colomon hmm… if I’ve got a Num, how do I get a num? 03:00
raydiak has a p6 script laying around somewhere which generates zmq bindings for luajit the "dirty way", as an example of it being possible
m: say num.new: 1e0 03:01
camelia rakudo-moar 6e182d: OUTPUT«1e0␤»
colomon raydiak++ 03:03
03:03 chenryn left 03:05 dayangkun left
adu Raydiak, should the native call thing produce text or qast? 03:07
03:07 chenryn joined
skids Bah /. -- where everyone goes to pop their emotional pimples. 03:15
dalek osystem: 308b87c | colomon++ | META.list:
Add Math::OddFunctions.

New module designed to test out getting the functions described in www.johndcook.com/blog/2010/06/07/m...necessary/ into p6.
03:16
geekosaur look at it this way: as a POSIX path "/." doesn't make much sense. neither does the site.
japhb adu: I actually see a use-case for both. QAST generation is great for fully runtime binding, but text generation is better for providing a first-approximation binding that a human can then improve on. 03:17
raydiak well, a tool which just spits out the whole binding is probably what we need the most, but if you wanted to provide a whole tree representing it too, I'm sure that wuold be useful too, like if you need to manually change things that don't get autogenned completely how you want in whatever way
yeah, what japhb++ beat me to (again) :)
hoelzro skids: I've been try to avoid reading the comments all day =/
geekosaur hugs the "Shut Up" browser extension yet again 03:18
japhb geekosaur: What does that one do? Just remove all the comments? 03:19
geekosaur yep, knows how to remove the comment sections of many websites
colomon n: say erf(10)
camelia niecza v24-109-g48a8de3: OUTPUT«(signal ABRT)Stacktrace:␤␤ at <unknown> <0xffffffff>␤ at (wrapper managed-to-native) object.__icall_wrapper_mono_gc_alloc_string (intptr,intptr,int) <0xffffffff>␤ at (wrapper alloc) object.AllocString (intptr,int) <0xffffffff>␤ at string…»
geekosaur ...which makes many sites almost tolerable
03:21 raiph left 03:23 chenryn left 03:24 chenryn joined
JimmyZ colomon: I could'nt see the git repo 03:28
Math::OddFunctions
colomon github.com/colomon/Math-Odd-Functions 03:29
try that?
mind you, there’s basically nothing there yet.
03:31 noganex_ joined
JimmyZ colomon: raw.githubusercontent.com/colomon/.../META.info 03:31
colomon oh. interesting
JimmyZ I think you meant raw.githubusercontent.com/colomon/.../META.info
colomon I think you might be right 03:32
JimmyZ++
dalek osystem: db92fc0 | colomon++ | META.list:
Fix typo.

JummyZ++
03:33
colomon Ack! Sorry about that.
JimmyZ++ again
03:34 noganex left
colomon m: say (10**1000000).Num 03:36
camelia rakudo-moar 6e182d: OUTPUT«Inf␤»
colomon perfect
JimmyZ how do rakudo know it is INF 03:39
geekosaur presumably it's being handed off at some level to the CPU's floating point ops which return Inf on overflow 03:40
03:46 adu left
colomon getting a really weird error here, but I don’t have the brain power to sort it out 04:01
never mind, that was something totally obvious 04:02
afk # bed
skids o/
alpha- hmm 04:07
so if you don't need to change the sigil when accessing array elements, eg. my @arr = 1,2,3; say @arr[1]; then what exactly is my $s = [1,2,3]; say $s[1]; ? 04:08
colomon alpha-: In that case, $s is an item which holds an array 04:11
geekosaur it's implicitly something like perl 5's: my $s = [1,2,3]; say $s->[1]; 04:12
colomon afk # for real this time
geekosaur the differences are subtle and you probably shouldn't get into that habit
skids alpha-: when you say "my @a" the @ is saying "don't let me put anything in @a that is not list-or-array-like.
aplha-: but when you use $, pretty much anything goes. 04:13
m: my @a = 1: @a.perl.say; # puts the 1 in a 1-element Array so you're guaranteed your values will be accessible by using [] 04:15
camelia rakudo-moar 6e182d: OUTPUT«===SORRY!=== Error while compiling /tmp/ccoLEBEObz␤Invocant colon not allowed here␤at /tmp/ccoLEBEObz:1␤------> my @a = 1:⏏ @a.perl.say; # puts the 1 in a 1-elemen␤»
skids whoops 04:16
m: my @a = 1; @a.perl.say; # puts the 1 in a 1-element Array so you're guaranteed your values will be accessible by using []
camelia rakudo-moar 6e182d: OUTPUT«Array.new(1)␤»
alpha- ok 04:18
Mouq alpha-: @/$ still means list/item context in Perl 6, though. So: 04:20
m: my @a = 1,2,3; for @a { .perl.say }; my $a = @a; for $a { .perl.say }
camelia rakudo-moar 6e182d: OUTPUT«1␤2␤3␤[1, 2, 3]␤»
Mouq ^^ The second loop is only done once 04:21
m: my @a = 1,2,3; for @a { .perl.say }; my $a = @a; for @$a { .perl.say }
camelia rakudo-moar 6e182d: OUTPUT«1␤2␤3␤1␤2␤3␤»
alpha- my $a = @a creates arrayref ?
skids Essentially but we don't call it that.
alpha- o...k.. 04:22
Mouq my $a = @a is like my $a = [1, 2, 3]
m: my @list = 1, 2, 3; my $scalar = @list; @list[0] = 42; say @list.perl; say $scalar.perl' 04:23
camelia rakudo-moar 6e182d: OUTPUT«===SORRY!=== Error while compiling /tmp/h41t5WkIve␤Two terms in a row␤at /tmp/h41t5WkIve:1␤------> ] = 42; say @list.perl; say $scalar.perl⏏'␤ expecting any of:␤ infix stopper␤ infix or me…»
Mouq m: my @list = 1, 2, 3; my $scalar = @list; @list[0] = 42; say @list.perl; say $scalar.perl;
camelia rakudo-moar 6e182d: OUTPUT«Array.new(42, 2, 3)␤[42, 2, 3]␤»
04:23 kaleem joined
raydiak alpha-: more or less everything is a ref, so you don't really think about refs any more... 04:30
skids What's the equivalent of "&sub" for methods? I'm having a hard time remembering/finding it.
alpha- raydiak how do you pass by value vs pass by reference then 04:31
raydiak alpha-: you always pass by ref, just the ref is read-only by default, and you can say 'is copy' or 'is rw'
skids: I use MyClass.^lookup('method') or something like that often 04:32
skids: there's also .^can and another one, I'm not precisely sure which you shoulduse when tbh
04:33 kaleem left
raydiak skids: but if you declare the method with our, you can use MyClass::method 04:33
skids Hrm. I thought there was a non-introspective syntax.
raydiak not without our, that I know of
Mouq skids: .find_method 04:34
04:38 chenryn left 04:47 yeahnoob left 04:50 jack_rabbit left
skids "Yes, Perl 6 scales to talent" <-- my hopefully not-taken-as-condescending retort to "too many features" argument. 04:52
04:53 yeahnoob joined, nige joined 04:55 adu joined
adu ok I'm back 04:58
05:07 jack_rabbit joined 05:11 chenryn joined 05:17 jack_rabbit left 05:19 konsolebox joined
Mouq m: say [].VAR.name; say [1,2,3].VAR.name # wut 05:29
camelia rakudo-moar 6e182d: OUTPUT«$x␤$x␤»
geekosaur uhhhh 05:30
rakudobug 05:31
skids The spec says the subish form of the VAR macro should be a noop and calls the method form "corresponding" so it should be a noop IMO. 05:33
geekosaur arguably a literal like [1.2.3] shouldn't *have* a .VAR... and that's not really a subish form, is it? 05:34
05:34 Peter_R left
skids I'm just saying it's only explicitly stated as a noop for the sub form. 05:35
But then the method form is called "corresponding" so it would be moderatly implied it should be too.
geekosaur well, it's wrong even if it's a no-op; it's not $x, certainly 05:36
skids Yes.
05:36 Peter_R joined
skids m: say (VAR([])); say (VAR([1,2,3])) 05:36
camelia rakudo-moar 6e182d: OUTPUT«[]␤[1, 2, 3]␤»
skids ok 05:37
m: say (VAR([]).name); say (VAR([1,2,3]).name)
camelia rakudo-moar 6e182d: OUTPUT«$x␤$x␤»
skids m: say ([].name); say ([1,2,3].name)
camelia rakudo-moar 6e182d: OUTPUT«(Str)␤(Str)␤»
JimmyZ news: www.cnbeta.com/articles/367429.htm 05:38
adu wow 05:44
05:51 BenGoldberg left
asdf12z_ im a little slow, rakudo.org/downloads/star/ , what's the difference between -parrot and -moar ? 05:51
i installed parrot, i can run perl6 code, so what vm does the -parrot install? 05:52
spollei developers.slashdot.org/story/15/02...-christmas
asdf12z_ referring to the msi files
skids That's the parrot vm.
You might find the moarvm faster.
asdf12z_ i thought parrot was just a compiler
skids parrot is a vm. www.parrot.org. 05:53
asdf12z_ oh so rakudo is the compiler 05:54
skids Yes rakudo is the perl6 compiler. There's a layer in the middle between then called NQP but ignore it unless you intend to hack on the guts. 05:55
and, "star" is a bunch of modules you probably want to have, bundled with rakudo. 05:56
06:04 spollei left 06:06 gr33n7007h left
adu raydiak: I found more bugs in my typedef code 06:12
Mouq LHF: rt.perl.org/Ticket/Display.html?id=115744 06:17
06:26 Rounin joined, gr33n7007h joined 06:28 adu left
madcapJake why does `for 1, 3, 5 ... 10 -> $n { say $n; }` give an infinite loop? 06:34
Mouq madcapJake: 1, 3, 5 ... never reaches 10 06:35
06:35 adu joined
Mouq m: for 1, 3, 5 ... 11 -> $n { say $n } 06:36
camelia rakudo-moar 6e182d: OUTPUT«1␤3␤5␤7␤9␤11␤»
skids The last part is an expression.
Mouq m: for 1, 3, 5 ... 10 < * -> $n { say $n }
camelia rakudo-moar 6e182d: OUTPUT«1␤3␤5␤7␤9␤11␤»
06:37 gr33n7007h left, dayangkun joined
madcapJake ohhh ok! thanks! 06:38
06:39 dayangkun left 06:50 kurahaupo1 left, kurahaupo1 joined 07:01 kurahaupo1 left 07:02 gr33n7007h joined 07:03 kaleem joined
raydiak adu: the first thing I run in to when trying to parse a preprocessed zmq.h whole is 'expected eof' 07:04
adu raydiak: that means I need to improve error reporting
raydiak: the way I usually diagnose grammars is by uncommenting "#use Grammar::Tracer;" at the top of C::Parser::Grammar 07:05
but I should probably have it report the line number where it got stuck 07:06
raydiak I think there's interesting info like that in the match object probably
adu yes, I'm just not sure what it's called, it's either .pos or .lineno
raydiak m: say Match.^methods».name 07:07
camelia rakudo-moar 6e182d: OUTPUT«new BUILD ast prematch postmatch caps chunks make Str Numeric Bool ACCEPTS perl gist <anon> <anon> <anon> <anon> <anon> new hash list elems Capture FLATTENABLE_LIST FLATTENABLE_HASH WHICH at_key at_pos exists_key Str gist perl Bool Numeric keys kv values p…»
raydiak m: say Match.^attributes».name.unique
camelia rakudo-moar 6e182d: OUTPUT«$!orig $!from $!to $!CURSOR $!made $!list $!hash␤»
raydiak m: say Cursor.^attributes».name.unique 07:08
camelia rakudo-moar 6e182d: OUTPUT«$!made $!shared $!from $!pos $!match $!name $!bstack $!cstack $!regexsub $!restart␤»
adu but I know very little about panics
like for example, can you panic in two places? 07:09
raydiak in two places?
adu like a type error, and the top-level declaration where it happened?
07:10 alinbsp joined, alinbsp left
adu I'm not sure how you would do that 07:10
raydiak usually you would use fail 07:12
I think
Mouq adu: BTW, here's something that's been sitting on my machine for a while: gist.github.com/Mouq/bdddda34e4e0c5569b35
raydiak I admit to not having much experience with these things either
adu Mouq: oOo
07:12 MadcapRusso joined, ggoebel111111113 joined
Mouq adu: It doesn't seem to work, alas :P I can't get it to actually parse the C part of a routine 07:12
adu Mouq: does it work?
Mouq: maybe I can
07:13 ggoebel111111112 left
adu so how should I be constructing TOP? 07:13
Mouq adu: be neat if you could :) notice it calls "<C11=.FOREIGN_LANG: 'C11', 'TOP'>". "TOP" probably isn't the right place for it to start from :P
adu currently it's just { ^ <translation-unit> [$ || {die("expected eof")}] } 07:14
Mouq :/ idk. I saw that but didn't have time to dig into it when I looked
adu raydiak: and so that error message means it got stuck on a declaration, but it didn't take the time to figure out which one it got stuck on
since inline::c requires that it's, well, inline, it should probably use <translation-unit> instead of TOP, right? 07:16
Mouq adu: Ahh, yeah, that's probably why it's failing :P 07:17
adu: The issue is you're initializing in TOP 07:18
adu Mouq: I'm only setting some default types, those can all be removed, and it should be able to parse everything correctly
the only one that's super important is __builtin_va_list, since that's in stdio, stdlib, and lots of other common includes 07:19
07:19 jluis joined
adu maybe I should move some of that to <translation-unit> 07:20
07:25 gr33n7007h left 07:27 gfldex joined 07:31 alini joined 07:37 mr-fooba_ left 07:38 gfldex left
vendethiel masak: re symbol declarations in our macros, nim-lang.org/manual.html#ordinary-v...-templates 07:39
(you'll probably to backlog a bit on the manual, I'm sorry) 07:40
Mouq vendethiel: Nim's method there seems decidedly un-perly :P
vendethiel definitely. I just didn't find a solution I think is "good enough" for us yet. so I'm just throwing links at masak ;) 07:41
Mouq vendethiel: I have some thoughts with regards to it in github.com/masak/007/issues/13 07:43
vendethiel Mouq: yes, I read that, it was very interesting
Mouq vendethiel: They definitely need expansion at some point
vendethiel Mouq: I'm really not sure I want to have the variable declared inside the regex, but at least it's very interesting you're proposing it 07:44
I never considered it before you posted it 07:45
vendethiel school &
Mouq vendethiel: In my eyes that's the base case. I have no issue with sugar for it at the level of macro declarations
o/ vendethiel
Mouq kind of hopes campus gets closed because of the snow… 07:46
adu ok 07:59
raydiak: it parses zmq.h now :) 08:01
08:05 konsolebox left 08:07 anaeem1_ joined
JimmyZ adu: I think <!before <[_A..Za..z0..9]>> could be somethinkg token keyword-breaker 08:08
adu Mouq: and I move those inits to translation-unit, and kept the ^ and $ in TOP
JimmyZ so you don't need write it everywhere, and maybe don't need *-keyword too
adu JimmyZ: can you elaborate? 08:09
08:09 darutoko joined
adu 'int' was matching 'int8_t' which is an <ident> not a keyword 08:09
Mouq adu: Nice! :D
adu JimmyZ: oh, you mean refactor it into a named method? 08:10
08:11 zakharyas joined
JimmyZ adu: yeah, and can remove all token *-keyword 08:11
adu wait what? 08:12
but everything else is dependand on them
08:12 alini left
adu I don't see how I could remove those methods 08:13
JimmyZ token keyword:sym<else> { <sym> <keyword-breaker> } 08:14
adu JimmyZ: yes, but then 'int' will still match 'int8_t' in a typedef 08:15
<keyword> is never used in the grammar, it's only used if someone calls the lexer directly
JimmyZ I meant you could avoid token break-keyword etc. 08:16
[Tux] doc.perl6.org is nice, but is misses "examples", is there some example site resembling doc.perl6.org already?
adu JimmyZ: but then I'd have to add it everywhere there is a keyword in the source, which is a lot of work 08:17
JimmyZ oh
adu I'd rather have keyword-break as part of the keyword itself
JimmyZ maybe I didn't look at i deeply :P 08:18
*it
adu github.com/andydude/p6-c-parser/co...e750e08332 08:20
JimmyZ adu++ 08:21
Is it complex-keyword only used by token keyword:sym<_Complex>? 08:22
adu JimmyZ: no, it should also be used in rule type-specifier:sym<_Complex> 08:23
but it's currently not being used 08:24
dalek kudo/nom: 073586b | Mouq++ | src/Perl6/ (2 files):
Allow `sub MAIN($params); …` declarations — RT #123309
08:25
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=123309
kudo/nom: 02515c9 | Mouq++ | src/ (2 files):
Turn "declarator Foo;" errors into Exceptions
JimmyZ ok, that's what I missed :P
dalek ast: 093f03f | Mouq++ | S (3 files):
Add and correct tests for `sub MAIN;` form
08:26
ast: 6806fcd | Mouq++ | / (2 files):
Merge branch 'master' of github.com/perl6/roast
08:27 _mg_ joined
adu JimmyZ: one of these days my final vision for C::Parser will be complete 08:27
08:29 andreoss joined
JimmyZ That'd be awesome 08:29
andreoss no videos from fosdem yet? 08:30
yoleaux 29 Jan 2015 20:15Z <japhb> andreoss: See irclog.perlgeek.de/perl6/2015-01-29#i_10026518 and thereabouts. Let me know if you have questions.
30 Jan 2015 21:26Z <japhb> andreoss: How is the perl6-bench pull request coming?
08:30 [Sno] left
[Tux] gist.github.com/Tux/3dd494f8ec889f56e23a 08:32
Inline::Perl5 failure
moritz [Tux]: how new or old is your rakudo? 08:35
[Tux] built 5 minutes ago
rakudobrew build moar
08:36 coffee` joined
[Tux] I could update rakudobrew itself too, but I doubt that would help 08:36
dalek kudo/nom: 12db81b | Mouq++ | t/spectest.data:
Add new test file for RT #123309
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=123309
adu Mouq: are you still here? 08:37
Mouq adu: About as here as my tired brain allows, yes :) 08:38
adu Mouq: how would you Inline.pm6 be used? (if it did work?)
s/you/your/
Mouq perl6 -I. -MInline -e'inline foo { 1+1 }'
Exceeept
I have a module I never put into the ecosystem that it's using 08:39
08:39 rindolf joined
Mouq So let me do that quick 08:39
adu Grammar::Mixin?
Mouq yup
Ah. So the reason I never put it into the ecosystem is because it's broken. Who'da thought? :P 08:42
08:42 avuserow_ left
adu Mouq: is it online? 08:42
Mouq adu: github.com/Mouq/p6-Grammar-Mixin 08:43
adu oh ok
Mouq adu: Oh wait 08:44
adu: You don't even need it
08:44 khisanth_ left
Mouq adu: Just delete the line from the top of Inline.pm 08:44
It's there from an earlier iteration
(which explains why I didn't realize it was broken) 08:45
08:45 khisanth_ joined 08:46 anaeem1_ left
adu Mouq: hmm panda install NativeCall failed for me 08:46
Mouq adu: You might be behind on your Rakudo 08:47
.oO( We really need to get versioning sorted out )
08:47 anaeem1 joined
[Tux] I also do not quite like this: 08:48
Code object coerced to string (please use .gist or .perl to do that) in sub is at lib/Test.pm:114
08:53 oetiker joined, KPTN joined, Kristien joined
adu Mouq: "==> Successfully installed NativeCall" 08:54
:D
Kristien hola
08:54 p6_newbee joined
p6_newbee hi guys 08:55
08:55 avuserow_ joined
adu Mouq: I get "Cannot find method 'package_at_key': no method cache and no .^find_method" 08:55
Mouq eek
uh
08:55 khisanth_ left
Mouq Those kind of cryptic errors I usually run again with --ll-exception and see if I can get any hints to play around with things 08:56
08:56 alini joined
p6_newbee Someone an idea how I can copy a string into the Window clipboard? As far as I know there is are not any Win32 module yet 08:56
adu p6_newbee: www.c3scripts.com/tutorials/msdos/clip.html 08:58
p6_newbee Jippieh. That was what I was looking for. THX 08:59
adu so if you can pipe, then you can do that
p6_newbee Besides, off course, a p6 module would provide that functionality :-) 09:00
run should do the job for me
THX adu
dalek ast: 85b1707 | Mouq++ | S12-construction/new.t:
Add a test for RT #77200
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=77200
adu p6_newbee: and if you want to be really cross-platform: developer.apple.com/library/mac/do...opy.1.html 09:01
p6_newbee I know pbcopy from Mac, but did not expect it on WIndows. 09:02
Kristien pbcopy is OS X-specific 09:03
although I have it as a custom Z shell function on Gentoo ^.^
p6_newbee it may be a posix command. anyway thx for the help 09:05
09:05 p6_newbee left
andreoss japhb: i sent a pull request. Seems working but takes a long time, about half of an hour on core2duo. I asked about auxiliary input before, people here advised me to generate it within test-script, i don't feel like it's quite correct though. 09:07
nine gtodd: only just now saw your messages about Platypus. My gut reaction is that it's probably not powerful enough for a Perl 6 <-> Perl 5 bridge. I do have to go to some extremes to make everything work. I not only want to make it possible to mix code, I want to make it as seamless as possible.
Kristien p6_newbee no 09:08
it has nothing to do with POSIX
it's OS X feature, POSIX doesn't have a notion of clipboards
nine colomon: how do I add Inline::Python to the ecosystem?
Kristien I've been thinking about something interesting lately 09:09
adu "xclip -i -selection clipboard" for linux 09:10
nine: do you have a META.info? 09:11
nine adu: yes
adu nine: is it on github? 09:13
nine adu: yep
adu nine: then all you have to do is add it to github.com/perl6/ecosystem/blob/ma.../META.list
nine: do you have a commit bit? 09:14
Kristien adu, gist.github.com/rightfold/bccbb49c4beb4620631c :D 09:15
adu Kristien: lol
nine adu: apparently not
adu nine: I could add it for you, I like Python 09:16
nine adu: please, go ahead :)
09:17 reugen joined
adu nine: is it this one? raw.githubusercontent.com/niner/In.../META.info 09:17
nine adu: indeed 09:18
adu nine: hrm, all the unit tests fail for me
nine adu: any common error message? 09:19
adu "unable to find Inline/pyhelper.so IN @*INC"
09:19 anaeem1 left
adu nine: "make: *** No rule to make target `/Users/ajr/Workspaces/Perl6/Inline-Python/.panda-work/1422868783_2/blib/lib/Inline/pyhelper.dylib', needed by `all'. Stop." 09:20
dalek line-Python: 79ee820 | (Stefan Seifert)++ | Makefile.in:
Enable C compiler warnings to more easily catch compilation problems
09:21
09:21 Kristien left
nine adu: do you get more information with this commit? 09:22
adu: looks like you're on OS X. Unfortunately I don't know anything about this system. configure.pl6 might need some adaptions.
adu I am 09:23
nine: there's one more .so in the Makefile.in that could be converted to %SO% 09:25
nine adu: even two 09:26
dalek line-Python: 69d053d | (Stefan Seifert)++ | Makefile.in:
Replace remaining hard coded .so extensions by %SO% in Makefile.in

Thanks to adu++ for noticing!
09:27
adu nine: how to I add configure parameters? 09:30
dalek line-Perl5: 05668e1 | (Stefan Seifert)++ | Makefile.in:
Replace hard coded .so extensions by %SO% variable in Makefile.in
09:32
nine adu: like what for example?
adu like INCLUDEPY=.../include
I have several to choose from: pastie.org/9879946 09:33
09:34 Kristien joined, molaf left
Kristien can one create custom meta-operators? 09:34
09:34 telex left
moritz I don't think so 09:34
09:34 molaf joined
nine adu: configure.pl6 is a fairly straight forward Perl 6 script. It calls the python executable to get build information. If you make sure that "python" calls the python you want, everything should work. Otherwise you could add some logic to support multiple Python installations to configure.pl6 09:35
09:35 abraxxa joined
nine www.phoronix.com/scan.php?page=news...-Christmas 09:35
09:36 telex joined 09:37 abraxxa left, [Sno] joined, abraxxa joined 09:38 Kristien left, Kristien joined 09:39 espadrine_ joined
adu nine: perl -MExtUtils::Embed -e ccopts -e ldopts is returning -arch x86_64 -arch i386 but my python was only compiled with -arch i386, so I get a link error 09:39
nine adu: I cannot imagine a 64 bit Perl6 working with a 32 bit Python 09:40
09:42 anaeem1_ joined
Kristien nine: using IPC! 09:42
09:42 SamuraiJack joined
nine Kristien: of course, yes. A solution that Python people intriguingly have never discovered and instead force people to port everything to their incompatible new version. 09:43
_mg_ There seems to be a problem with the way rakudo star sets up its executables. Please see stackoverflow.com/questions/9988125...y-ignored, it does affect MacOS as far as I can see. Calling "panda" will not work, because its shebang points to another script with a shebang line. The shell will ignore that and try to interpret panda on its own, which of course fails. Calling "perl6 panda" does work 09:46
09:51 kjs_ joined
adu nine: I think I got it to work on mac: gist.github.com/andydude/437bbc4a3752d0889b70 09:53
the problem was what I said above, my python was x86_64, but clang was trying to link against the i386 version of it, which doesn't exist, so I got lots of errors 09:55
nine adu: cool :) There's probably some variable we can use to make a patch to lib/Inline/Python.pm6 unnecessary. I'm not sure about what to do about perl seeming to give the wrong compiler flags though.
El_Che slashot: developers.slashdot.org/story/15/02...edium=feed 09:56
adu nine: why do you need to like to perl libraries for perl6 anyways?
_mg_ _mg_: this means that on MacOS no perl scripts can be ran directly 09:57
adu _mg_: confirmed, I had a pastebin about that
_mg_ adu: any idea how it can be solved? How to proceed? 09:58
tadzik hello #perl6
adu It was very alarming to see "bash: command not found: use v6" while running panda 09:59
_mg_: well, if I remember correctly /usr/bin/env solves it because it's a binary 10:00
_mg_ hm, let me try that 10:01
adu _mg_: #!/absolute/path/to/perl6 fails for some reason, especially if it's a bash script around moar or something
_mg_ yes, because if the issue I mentioned above
adu _mg_: but I was told to use rakudobrew instead of rakudostar, because it's more up to date, and it works for me 10:02
_mg_ adu: your fix works. I can add this to the homebrew formula. Will it also go upstream? 10:03
adu _mg_: rakudobrew already has that fix iirc
_mg_ adu: I think a working released homebrew formula is also needed
adu: ok, thanks, I'll add the workaround and mark it as temporary 10:04
nine adu: that's an excellent question! And I actually don't know. I guess it's just because I started by copying the build scripts from Inline::Perl5 and did not give it any thought after I got it running. 10:05
adu nine: my suggesstion would be to remove as many options as you can until it doesn't compile anymore, then start adding them back 10:06
10:06 Mouq left
nine adu: on my system I can remove the whole call to perl altogether and have it still work 10:07
10:07 SamuraiJack left
adu nine: me too, x86_64 is the default arch 10:07
10:08 SamuraiJack joined
adu so you could probably get rid of -MExtUtils::Embed / $(EXTOPTS) 10:08
dalek line-Python: df208e7 | (Stefan Seifert)++ | Makefile.in:
Remove leftover call to perl from build script

The call to perl's ExtUtils::Embed was just a leftover from copying the build scripts from Inline::Perl5. The do actually do more harm than good.
  adu++ for asking me the obvious :)
10:09
adu s/like/link/ 10:10
dalek osystem: b4c8337 | (Andrew Robbins)++ | META.list:
Added Inline::Python to META.list
10:11
[Tux] new rakudowbrew uses moar-nom instead of moar-HEAD and panda now fails: 10:13
Could not find Shell::Command in any of: /pro/3gl/CPAN/rakudobrew/moar-nom/install/languages/perl6/lib, /pro/3gl/CPAN/rakudobrew/moar-nom/install/languages/perl6
[Tux] rebuilds panda
right, that fixed it 10:14
Inline::Perl5 still fails though
10:16 SamuraiJack left, SamuraiJack joined
adu nine: I added it to META.list, but it might take a day to show up places 10:17
10:18 rurban joined
nine adu: many thanks :) 10:19
[Tux] no real change in performance. all still well after the move from head to nom: tux.nl/Files/20150202111905.png (left = HEAD, right = nom)
top 5 are perl5, bottom 4 are perl6 10:20
when I have Inline::Perl5 working, I want to add that to the list
[Tux] => $work now
10:26 ven joined 10:27 adu left
ven o/, #perl6 10:29
yoleaux 5 Jan 2015 20:22Z <timotimo> ven: I'm following AGDQ, but i'm not able to watch most of it live, more or less for the same reason why i can't do the weekly or do much perl6 coding
ven wow, that was a long time ago :-)
10:29 yeahnoob left
Kristien lol 10:29
how reliable are CPAN reviews? 10:31
nvm, what a horrible question 10:33
10:33 pecastro joined
nine Kristien: well there's at least not much incentive for writing reviews in bad faith. 10:35
10:36 chenryn left
ven looks like the c++ guys found a way to add their own infixes... pfultz2.github.io/Fit/doc/html/infix/ uhh 10:38
10:39 reugen left
Kristien ven github.com/klmr/named-operator 10:41
that guy did it a long time ago
ven "they didn 10:42
oh my god, this keyboard.
10:44 _mg_ left
moritz what do you guys use for continuous builds (and maybe continues delivery)? 10:45
ven
.oO( [coke] )
Kristien moritz: TeamCity 10:47
10:47 valentin joined 10:48 rindolf left
moritz Kristien: do you like it? does it work? 10:48
Kristien Yes. Yes. 10:49
It works very well.
10:49 rindolf joined
moritz Kristien: which language are those projects in? 10:50
Kristien One in PHP, one in Python.
ven teamcity is intellij's, right?
moritz ven: jetbrain's
ven right, what I meant
Kristien but you can have it run any shell script
if your tooling is not supported otherwise 10:51
there's no contiguous delivery though
I always run ./deploy.zsh manually
moritz we're currently experimenting with gocd, and it seems to be a huge hassle to transport the version information through the stages
Kristien what do you mean? 10:52
communicating information between build stages?
can't you write the data to a file? 10:53
mst Kristien: cpanrantings is utterly terrible, IME 10:54
ven
.oO( In my e-opinion )
10:55
moritz Kristien: I can. But then I can't use the automatic retrieval of build artifacts, because the file name is in the meta data file, not in the tool
10:55 SamuraiJack left
moritz at least that's my understanding 10:55
the docs are less than awesome
Kristien mst: OK :P 10:57
moritz: oh :v 10:58
mst Kristien: 70%+ of the reviews are "I got it to work first time for my use case, therefore 5 stars" or "I didn't get it to work first time for my use case, therefore 1 star"
I mean, people invent reasons for their ratings, but those are generally the underlying reasons
so ... it does provide data points, but not the data points you might actually want it to 10:59
the various module review blogs on iron man seem to do rather better 11:00
11:00 pecastro_ joined 11:03 khisanth_ joined, valentin left 11:04 pecastro left 11:05 pecastro_ left, pecastro joined 11:08 prime left
masak good afternoon, #perl6. 11:11
moritz \o masak 11:16
11:16 chenryn joined 11:20 yeahnoob joined 11:24 prime joined 11:25 chenryn left
cdc cleqr 11:27
oops ww
masak that was meant for the #cleqr channel :P 11:30
11:32 kaleem left 11:33 chenryn joined 11:44 rurban left, rurban joined 11:46 rurban1 joined, rurban1 left 11:48 chenryn left 11:49 chenryn joined 11:52 f3ew joined
|Tux| gist.github.com/Tux/280d6c6c87a6e7c647f5 11:54
12:13 kjs_ left
nine |Tux|: could you please try running the failing Inline::Perl5 tests with perl6 directly and see if they still fail? They do work for me, but Inline::Python's t/call_back.t fails with a similiar message when I run make test but not with perl6 or even prove -e 'perl6 -I' 12:14
|Tux| $0 for panda should strip path for usage message :) 12:18
$ panda -install Inline::Perl5
Usage:
/pro/3gl/CPAN/rakudobrew/moar-nom/install/languages/perl6/site/bin/panda [--notests] [--nodeps] install [<modules> ...] -- Install the specified modules
ab5tract o/ #perl6 12:20
so, today i feel good. TimToady used a Hobbit-LotR framework for his talk! 12:21
i've been using that analogy about Perl 5 - Perl 6 for over a year :)
osfameron I'm not entirely certain that's a favourable analogy :D
ab5tract osfameron: how so?
|Tux| niner$ rakudobrew/Inline-Perl5 578 > perl6 -Ilib t/call.t 12:22
===SORRY!===
unable to find Inline/p5helper.so IN @*INC
osfameron Hobbit is small but perfectly formed... though I haven't heard how he's using the analogy so may be misunderstanding?
12:24 Kristien left
nine |Tux|: did you run perl6 configure.pl6 before? 12:24
colomon .u 𝚪
yoleaux U+1D6AA MATHEMATICAL BOLD CAPITAL GAMMA [Lu] (𝚪)
|Tux| not that I am aware 12:25
it is not in rakodobrew's readme I think
|Tux| re-reads
nine |Tux|: I mean Inline-Perl5's configure.pl6
|Tux| FWIW, I did a git checkout, cd'd to the folder and ran "panda install ." 12:26
assuming that would do the required steps
ab5tract osfameron: the Hobbit required significant retcon'ing
nine |Tux|: never tried that. I just run configure and use it from the repo directory
ab5tract and Tolkien disliked the style of the work later in life
(though i don't agree with that dislike) 12:27
|Tux| nine, configure ran, and then?
ab5tract also, the hobbit was written without knowing the end. it's actually full of holes that no one wants (or really needs) to pay attention to.
nine |Tux|: now perl6 -Ilib t/call_back.t
|Tux| all pass 12:28
ab5tract anyway, i haven't heard his talk either. my own comparison always came from the scope of the two projects, and the length of time to realize them
|Tux| so it must be interaction with panda that breaks.
nine |Tux|: what about prove -e 'perl6 -Ilib' t
|Tux|: and finally make test
ab5tract osfameron: i highly recommend the Tolkien Professor podcast, or his book, for more information 12:29
12:32 pecastro left, espadrine_ is now known as espadrine
|Tux| nine: gist.github.com/Tux/5838b1eac0512495dd30 12:33
12:34 pecastro joined
ab5tract interesting conclusion from the Tolkien Professor and friends, was that the issues with Peter Jackson's hobbit films is that they stick _too_ closely to the books. if that sounds counterintuitive to you, i think giving it a listen is highly worth it :) 12:34
nine |Tux|: that's so very strange. Have a look at the Makefile. It runs exactly "prove -e 'perl6 -Ilib' t" when you do make test. So how can it fail with make but work when you run the command directly??
|Tux| it fails with both, right? 12:35
nine |Tux|: t/call_back.t doesn't
|Tux| it is not call_back.t, but call.t that fails
the error is shown too late
dsm m: 0x123456.chr 12:36
camelia ( no output )
dsm m: say 0x123456.chr 12:37
camelia rakudo-moar 12db81: OUTPUT«Iteration past end of grapheme iterator␤ in method print at src/gen/m-CORE.setting:16657␤ in sub say at src/gen/m-CORE.setting:17357␤ in block <unit> at /tmp/Kf_Cce_paG:1␤␤»
nine |Tux|: what's your locale?
|Tux| en_US.utf8
en_US.UTF-8
12:37 fhelmberger joined 12:38 rmgk_ joined, rmgk is now known as Guest68501, Guest68501 left, rmgk_ is now known as rmgk
nine |Tux|: well, there's definitely some floating point strangeness going on 12:41
|Tux| my perl5 is -Duselongdouble
jnthn Afternoon, #perl6 12:44
jnthn is safely back from FOSDEM 12:45
nine |Tux|: that's probably the reason! p5_float_to_sv passes a double to newSVnv. perl5's documentation is inconsistent there. perlapi says the parameter is an NV, perlguts says it's a double
|Tux| feels like bit useful again :)
colomon o/ 12:49
nine Can I cast a long double to a double in C? 12:51
moritz (double) thingy
dalek line-Perl5: bfa5003 | (Stefan Seifert)++ | p5helper.c:
Hopefully fix compatibility with perls compiled with -Duselongdouble
12:52
moritz feels a bit useful agian
nine |Tux|: please give that ^^^ a try
12:53 kjs_ joined
|Tux| p5_to_p6 and p6_to_p5 pass 12:54
nine \o/ progress!
|Tux| call_back from test still fails, passes on manual
nine what about call.t? 12:55
|Tux| pass
12:55 kaleem joined
|Tux| gist.github.com/Tux/9ad62e2c3a75e2a3455d 12:56
afp6 ($work calls) back later 12:57
nine Ok. I do not see that message here but do get the exact same message with Inline::Python's call_back.t. So it's probably the same reason
jnthn nine: If you have it to hand, suggest a run under valgrind (alternatively, ASAN) 12:58
12:59 jansolcon joined
nine jnthn: thanks, will give that a try 13:03
masak jnthn! \o/ 13:12
jnthn: slides slides slides slides? :D 13:13
timotimo hum
the video of jnthns talk isn't in the same folder as the other perl devroom things: video.fosdem.org/2014/K3201/Saturday/
moritz timotimo: you realize that's 2014? 13:14
timotimo ... oh!
well ... 13:15
i live in the past, i suppose :)
moritz today, I accidentally pasted some DDL (schema changes) into the wrong window
I planned to paste it into the db shell from the staging environment
and instead pasted it into the production one 13:16
luckily, I don't have the permissions to do schema changes in prod :-)
|Tux| masak, want me to RT the macro fail in classes?
m: class C{has$.x=1;macro m(){$.x;};method foo(){m;}};C.foo;
camelia rakudo-moar 12db81: OUTPUT«===SORRY!=== Error while compiling /tmp/RjyIDi3YQk␤Variable $.x used where no 'self' is available␤at /tmp/RjyIDi3YQk:1␤------> class C{has$.x=1;macro m(){$.x⏏;};method foo(){m;}};C.foo;␤ expecting any of:…»
jnthn masak: haha :P
masak: Will tend to that on le tren later this afty :)
moritz |Tux|: I'm pretty sure masak++ knows about this, given that one of his grant milestones is fixing it :-) 13:17
|Tux| ok
masak jnthn: "le train", surprisingly.
|Tux| jnthn asked me to ask on fosdem
masak looks at |Tux|'s thing 13:18
|Tux|: please submit that one.
timotimo in that case, i'll patiently wait for jnthn to upload his slides :)
jnthn masak: French...Spanish...it's all romance languages. :P
masak it might be in RT, but I'm not 100% sure it is.
|Tux|: secondly, I'm not 100% it's wrong as is.
there *is* no self avaliable there. 13:19
and you're not using a quasi.
|Tux| when macro is "like" in-line, it should have the context of the caller
masak even if you were, quasis usually adhere to lexical scoping.
|Tux|: not automatically, no.
|Tux|: that would be unhygienic.
|Tux| I was already explained the diff for "sub" (vs macro)
masak apparently not in a good way :P 13:20
13:20 muraiki_ joined
|Tux| well, nobody was 100% sure about this either 13:20
masak lunch, but I can explain more later &
timotimo there was no post-fosdem hackathon in brussels?
TimToady nope 13:21
more of a walkathon
|Tux| :)
timotimo you're walking back to america?
TimToady via the Bering Land Bridge 13:22
we might have to wait for the next ice age though
nine The one thing I do not miss at all from FOSDEM is standing and walking in the cold :)
jnthn Bah, it wasn't really cold
TimToady today the weather is lovely, go figure 13:23
|Tux| even left his jacket in the car
nine jnthn: probably sitting on metal benches with Ævar for three hours and drinking beer has something to do with me having been thouroughly frozen
timotimo any word on jnthn slides btw? 13:24
nine outside that is
jnthn nine: Uh, yeah... :P 13:25
timotimo: They had lots of words on them, I heard...
13:30 Kristien joined 13:33 davercc left 13:36 Kristien left 13:41 konsolebox joined
nine valgrind does not detect any errors, but I can reproduce the error by calling moar directly instead of using the perl6 shell wrapper (still executing exactly the same command) 13:48
Passing any --optimize argument hides the error again 13:51
As does setting any of MVM_SPESH_DISABLE, MVM_SPESH_INLINE_DISABLE, MVM_SPESH_OSR_DISABLE or MVM_JIT_DISABLE 13:53
13:54 FROGGS[mobile] joined 13:55 kaare_ left
timotimo jnthn: :D 13:55
13:56 Kristien joined, xfix joined
nine call_back.t does run its tests a 100 times in a loop, so SPESH might actually be the source of the strangeness 13:57
14:02 chenryn left
Kristien Am I the only one who often confuses ack and awk? 14:06
gtodd nine: hi ... glad your talk was well received !
nine gtodd: thanks :) 14:09
14:09 Woodi joined
|Tux| gtodd, one of the "new" names I now have met IRL 14:11
gtodd [Tux]: who me or nine ? :) 14:12
|Tux| you
gtodd oh good
|Tux| walking to the venue, sa-morning
gtodd I hope I enjoyed the talks ... 14:13
ven :D
gtodd :-D
must've been another smarter younger me
hoelzro good *, #perl6 14:15
colomon \o
As long as I’m typing here…. in Math::OddFunctions, I need to NativeCall functions in the standard library. 14:17
Unfortatunately, OS X seems to call the standard lib libSystem, which I’m guessing isn’t going to fly in Linux. 14:18
moritz iirc there was a hack with using the empty library name
colomon Anyone have a notion how I can tackle this issue?
moritz does that happen to work?
colomon like just “” ?
is native('') fails on OS X 14:19
errr… if that’s a recent hack, though, I guess I might not have it here.
Kristien is there not a function to get the current image
dlsym takes NULL
moritz colomon: or just 'is native()' maybe? 14:20
14:20 khisanth_ left
colomon moritz: nope, that fails even harder 14:21
Kristien > If the library name is an undefined value or the empty string, the symbol will be searched for in the currently loaded libraries of the process
arnsholt is native(Str) IIRC
colomon moritz: (compile time fail versus run time fail)
arnsholt++
moritz++ # for trying
arnsholt (Str being the null value for strings)
14:22 atta_ is now known as atta 14:23 Rounin left, khisanth_ joined 14:24 khisanth_ is now known as Guest87392
|Tux| "Jan 30 12:42:10 * colomon is completely baffled by TuxCM’s code" 14:26
rba_ q
|Tux| do you remember *why*?
ven stage parse: 34. and that's on a vm... 14:28
Kristien I'm so happy. 14:29
I finally go threads working with Perl
14:29 pmurias joined
dalek p-js: 64f5a76 | (Pawel Murias)++ | src/vm/js/QAST/Compiler.nqp:
Implement nqp::bindkey.
14:29
p-js: 4743eed | (Pawel Murias)++ | t/nqp/71-setboolspec.t:
Add tests for setboolspec with mode 5 (MODE_NOT_TYPE_OBJECT).
p-js: 90f958a | (Pawel Murias)++ | src/vm/js/ (7 files):
Pass test 71.

Implement setboolspec with modes 0 and 5. Made mode 5 the default.
p-js: 2f9ee98 | (Pawel Murias)++ | src/vm/js/nqp-runtime/io.js:
Remove dead code.
ven rip dalek? 14:30
did fglock work again on his 5 to 6?
pmurias ven: dalek survived ;)
colomon |Tux|: I think mostly because previous comments on #perl6 had lead me to be looking at the code backwards. 14:32
14:40 _mg_ joined
masak now www.perlfoundation.org/ is saying "Version 1.0 release" :( 14:41
moritz masak: if you care about the wording, contact mdk? 14:43
masak I would need more official backing than just my say-so to say that it's not called "1.0" 14:44
moritz still proposes to tag the language version with year and month, just like the rakudo releases
masak in retrospect, we should've been ready with a press announcement of our own.
moritz aye
Juerd masak: Yeah, that should be 1.0.0 instead :P 14:45
masak set the tone and the terms ourselves.
another thing -- are we going to make a schedule for future 6.x.0 releases?
like, once every Christmas or so?
Juerd masak: You're saying that as if it's too late now.
masak .oO( in the future, every Christmas will be Perl 6! )
PerlJam greetings! How was fosdem for those of you who were there?
Juerd PerlJam: Great, absolutely great. 14:46
|Tux| worthwhile
PerlJam excellent
Are any of the videos on youtube (or whatever) yet?
Juerd For me, the best conference experience of the past year or so.
moritz I have some stream dumps; if anybody cares, I can make them available 14:47
no idea what their quality is
Juerd It was very nice to see the Perl booth being the most crowded one, obviously more so than the Python booth right next to it.
colomon :)
14:48 _mg_ left
Juerd The Perl devroom had an average audience of twice its capacity 14:48
timotimo but perl is dead!?
Juerd timotimo: Perhaps it was, and I think it still is in .nl, but every FOSDEM, it seems like Perl is getting more popular than the year before
moritz must be quite morbid, all those corpses filling the room... :-)
|Tux| I'd like to see rjbs' talk, as I had to miss that 14:49
timotimo :D
El_Che PerlJam: I am in the (close) dev-room manager list. They should announce the first videos there. I'll keep you posted
PerlJam: Status: "Real Soon" (with capitals)
14:49 pecastro left
TimToady thinks .[] is a prettier post-@ than ->@* is 14:50
PerlJam El_Che++ awesome, thanks!
Juerd TimToady: ->@* makes me very sad
PerlJam TimToady: me too
Juerd ->$#* is even worse
14:50 jansolcon left
El_Che masak: it's not to late to do a "press" like release about perl6 and distribute it widely 14:50
TimToady is not really interested in a lot of press at this point 14:51
Juerd But, on the other hand, decreasing readability in Perl 5 makes Perl 6 look even better :P
TimToady we just need to get it out, and call it whatever we like
pmurias TimToady: with the "official" Perl 6 release be called Perl6 v1.0? 14:53
s/with/will/
JimmyZ 1.0.0
TimToady we don't have to decide that till Christmas 14:54
masak oh, and here I just assumed it's a no-brainer to not call it "Perl 6 v1.0"
I'm glad I waited for confirmation before contacting mdk ;) 14:55
Kristien Perl 5.9999999999998549894 now featuring floating-point support!
El_Che ::)
moritz Kristien++
pmurias masak: yes
PerlJam wonders how many people are still holding out hope that TimToady will officially change the name to Rakudo (or something *other* than Perl 6) 14:56
pmurias masak: re offical Perl 6 release
moritz PerlJam: quiet a few, it seems
14:56 daxim joined
daxim m: class Foo { has @bar; for @bar { } } 14:56
camelia rakudo-moar 12db81: OUTPUT«Cannot look up attributes in a type object␤ in block <unit> at /tmp/LubobfSr_4:1␤␤»
daxim nice :thumbsup:
masak PerlJam: or Camelia Perl, or something. 14:57
TimToady yawn
JimmyZ Zerl
daxim p6: class Foo { has @bars; has $quux; for @bars -> $bar { if $bar.name === $quux { } } }
moritz masak: le't short CAmelia peRL to "carl" :-)
go|dfish PerlHP
camelia rakudo-parrot 12db81: OUTPUT«Can only use repr_get_attr_obj on a SixModelObject␤ in block <unit> at /tmp/tmpfile:1␤␤»
..rakudo-moar 12db81: OUTPUT«Cannot look up attributes in a type object␤ in block <unit> at /tmp/tmpfile:1␤␤»
TimToady Pirl 14:58
PerlJam now I'm sorry I wondered out loud :)
psch .oO( P»ö«rl )
masak PerlJam: masak's law of serious topics: no topic is so serious it can't be turned into a bikeshed.
El_Che There is More Than One Way To Name It
PerlJam is twice reminded of Dr. Seuss' Sleep Book now 14:59
masak we should just change the name of the language with each point release.
keep people on their toes.
masak .oO( Now Announcing: Psychedelic Perl 8.4! )
PerlJam perl, perm, pern, pero, perp (oops!)
ab5tract Kristien: when you say that you have threads working with Perl, do you mean Perl 6? or do you mean Inline::Perl5 in Perl 6? or ...
hoelzro .oO( reincarnated Perl? ) 15:00
PerlJam hoelzro: zombie perl! 15:01
hoelzro after all, Perl 6 is just another manifestation of the Perl spirit, right? =)
PerlJam: haha, isn't that 5.8?
masak PerlJam: there, you asked for it. it's your fault, not mine this time:
m: my $lang = "perl"; $lang++ for ^45565; say $lang
PerlJam heh
camelia rakudo-moar 12db81: OUTPUT«ruby␤»
masak laughs hysterically
psch masak++
hoelzro masak: that should go on @perlhex
pmurias masak: re name change, that would win over the ruby/node.js silly names crowd immediately
PerlJam masak: you *know* someone is going to tweet that if you don't 15:02
colomon m: my $lang = "perl"; $lang++ for ^15; say $lang
camelia rakudo-moar 12db81: OUTPUT«pesa␤»
masak I'll give someone else the pleasure.
masak .oO( Now Announcing: Bonkers Bugaboo Perl 14.3! )
masak .oO( Now Announcing: Happy Happy Boom Boom Swamp Swamp Swamp Perl 19.i.-7! ) 15:05
moritz am I the only one who is just glad that we can now do 45565 string ++ without running into camelia's timeout? :-)
PerlJam masak: your first one made me think of bertie botts every flavored beans, and that's oddly appropriate for perl :-)
Kristien ab5tract: use threads in Perl 5 15:08
Gentoo didn't agree with me at first. 15:09
But I won.
moritz Kristien: and then you tried to actually do something with them, and lost again :-)
geekosaur threads in perl 5 are :(
moritz Kristien: at least that's been my experience, consistently 15:10
Kristien I tried forks but that failed horribly
geekosaur ?
15:10 FROGGS joined
FROGGS masak: about releases... I think time based releases (monthly compiler, star every three) have served us well, perhaps lets keep it that way 15:11
masak FROGGS: yes, but I mean time-based releases of Perl 6 the languagespectestsuite. 15:15
FROGGS masak: and I think you cannot divide the two - (roast and rakudo)... you need to add tests for the implementation and you need to implement the spec(tests) to prove it is working 15:16
masak well, as soon as we have language versions, I imagine phrases like "this Rakudo targets Perl 6.3" will creep into the compiler announcements. 15:17
or something.
FROGGS aye
moritz "Rakudo 2015.12 targets Perl 6 version 2015.12" 15:18
FROGGS which means that rakudo can happily keep the YYYY.MM versioning theme
I'd like to see a semver-ish versioning theme for the language spec though
masak moritz: I... I think I'm fine with a "Perl 6 version 2015.12" naming scheme.
moritz: but part of me is a little sad to see "6.0.0" go. 15:19
pmurias does storing closure code in string form and then recreating them with eval when compiling closures seems sane?
masak pmurias: as long as you're really, *really* sure you're evaling in the "same" environment.
FROGGS like, tests refined but no features added: 6.0.0 -> 6.0.1; features added that of course do not break back compat: 6.0.0 -> 6.1.0
pmurias s/compiling/deserializing/ 15:20
moritz pmurias: no :-)
masak what moritz said.
pmurias masak: the environment I'm also deserializing
FROGGS on the other hand, that means that you cannot break back compat in the slightest way and have that visible in the version number
so, maybe a Perl 6 1.0.0 might be what we want instead
15:20 dolmen joined
ugexe m: my $x = "example/x-deprecated.a.b.c"; say 'match1: '; say $x ~~ / \/ <before x> /; say 'match2: '; say $x ~~ / \- <after x>/; # why does <before return what i expect (/) but <after does not? (expected: -, got: Nil) 15:21
camelia rakudo-moar 12db81: OUTPUT«match1: ␤「/」␤ before => 「」␤match2: ␤Nil␤»
moritz ugexe: / <after x> '-' / 15:22
ugexe ah
JimmyZ
.oO(use v1.0.0;)
15:23
moritz m: given 'example/x-deprecated.a.b.c' { say ~m/ <after x> '-' / }
camelia rakudo-moar 12db81: OUTPUT«-␤»
hoelzro I've been reading through the spec changes for January, and I came across this little change by jnthn:
m: class A is Array { method m() { say "> $_" for self } ; } ; A.new(1, 2, 3).m
camelia rakudo-moar 12db81: OUTPUT«> 1␤> 2␤> 3␤»
pmurias masak: the other alternative is not using native javascript lexicals for deserialized closures
masak I see. 15:24
hoelzro I thought self was always treated in item context? so why can I do ... for self?
moritz hoelzro: because it isn't anymore :-)
hoelzro: the $ usually forces item context, 'self' doesn't start with '$'
hoelzro oh, I should've noticed those lines prefixed with '-'
sorry for the stupid question!
hoelzro makes more coffee 15:25
ugexe moritz++ so i suppose that makes doing like [<before x> | <after y>] slightly more complicated...
15:25 [Sno] left
PerlJam m: class A is Array { method m($self:) { say "> $_" for $self } ; } ; A.new(1, 2, 3).m 15:25
camelia rakudo-moar 12db81: OUTPUT«> 1 2 3␤»
itz_ hmm the datetimes on the 2014 fosdem videos suggests ~2-6 week lead time 15:29
moritz ugexe: if you want to do that, you likely haven't thought through your problem properly 15:30
PerlJam got assigned TimeDate for his Feb PRC.
not sure how I feel about the. 15:31
er, that
15:31 jluis left
moritz PerlJam: I've got Plack::App::Gearman::Status. Dunno yet what to do about it 15:31
itz_ that's odd DBIish doesn't seem to find libsqlite3.so anymore .. I'm sure it used it 15:34
^ to
or NativeCall rather
15:37 kjs_ left, jluis joined
pmurias masak: OTOH it might make sense for me to think that a bit more and work on something with more clear sane choice 15:38
today
15:39 Guest87392 left 15:41 konsolebox left 15:42 Guest87392 joined 15:44 mr-foobar joined 15:48 Guest87392 is now known as Khisanth 15:55 spollei joined 15:58 konsolebox joined 16:00 Ugator joined 16:05 Kristien_ joined 16:06 Kristien_ left 16:07 pecastro joined
skids I was thinking this morning, once slangs are done, examples showing how to turn off or warn on "some of the ways to do it" as a DSL/enforced-coding-syle-environment might ameliorate a few of the more legitimate complaints. 16:07
16:08 virtualsue joined
hoelzro has anyone thought about my COERCE multi idea anymore? I've implemented it and added tests in branches, so I'm eager for feedback =) 16:09
16:10 rindolf left
dalek kudo-star-daily: ecd08ff | coke++ | log/ (9 files):
today (automated commit)
16:10
rl6-roast-data: 41a839d | coke++ | / (5 files):
today (automated commit)
rl6-roast-data: bfecab2 | coke++ | / (5 files):
today (automated commit)
ven hoelzro: I'm just not sure how's that more interesting that adding methods directly to the classes? 16:13
hoelzro ven: because sometimes you don't control the classes
ven to m, it just adds indirection, and you need to keep track of more (as in: did I export my coerce? can I have two conflicting coerces?...)
hoelzro: but then you have two different syntaxes, so... 16:14
hoelzro two different syntaxes?
16:14 kgoess joined
kgoess is Proc::Async expected to work, or is it still a work-in-progress? I'm getting a different failure each time I run this github.com/kgoess/restart-concurre...restart.p6 16:17
though I may be Doing It Wrong... :-/
skids Can anyone give me some bits on rt.perl.ok so I can do stuff while logged in? 16:18
ord
org
I promise I will type better when I'm in there :-)
16:19 gfldex joined
jdv79 so i ran something through perl --profile and the top 2 callsites for exlusive time (~10% each) were <anon> but looking at the source i think its nqp::is_concrete. 16:20
JimmyZ kgoess: know bug, methinks
*known
kgoess k, thanks
jdv79 is that a common hot spot? 16:22
16:23 FROGGS[mobile] left, Kristien left 16:33 zakharyas left
moritz kgoess: just for the record, github.com/kgoess/restart-concurre...art.p6#L12 won't work, because it's not evaluated through a shell 16:34
dalek c: fbfbf48 | moritz++ | lib/Language/functions.pod:
funcitons: talk about return
16:35
moritz kgoess: but yes, I get lots of weird internal errors from that one too 16:38
kgoess: oh, also, you'll want to pass in the arguments as a flat list, not as an array in brackets 16:39
ven hoelzro: foo.Str and Str(foo)
16:39 kgoess left
hoelzro ah, I see 16:39
moritz kgoess: never mind my last line, you're probably doing this one right after all
hoelzro well, I think you'd only see the former for some core classes, or for classes within a framework that need to convert among each other 16:40
having two syntaxes that achieve the same thing isn't bad; after all, TIMTOWTDI =)
a problem could arise, however, if Str($foo) and $foo.Str did different things (and COERCE($foo, Str) as well) 16:41
we have that problem *now*, though, just not the COERCE($foo, Str) variant
it just happens to be that Str($foo) calls $foo.Str by default
ven hoelzro: I 16:42
I really hate that keyboard, to start with...
hoelzro haha
ven hoelzro: having two different syntaxes to do the exact same thing in some cases. I'm not a big fan of TIMTOWDY, so MMMV (my mileage) 16:43
that's not really what TIMTOWDI means to me – having two different syntaxes but with powerful differences
PerlJam hoelzro: but also, what you said about not having access to foo's class. Someone has given you some byte code for a Point class, and now you want to be able to coerce a Point into your brand new GeoPoint or something. Do you prefer to "use MONKEY_TYPING; augment class Point { method GeoPoint... }" or "multi COERCE (Point,GeoPoint) "?
hoelzro the latter 16:44
PerlJam: ^
ven: ah, I see
PerlJam indeed.
ven hoelzro: honestly, something like Coerce[GeoPoint](Point) would feel better to me, I think
and that have that *everywhere*
hoelzro ven: well, that problem needs to be addressed in Str($foo) vs $foo.Str as it is
ven: so ditch $foo.Str and Str($foo), and favor Coerce[GeoPoint](Point) 16:45
?
ven yeah, that's imho
I don't like Str(foo) because I don't really want coercing to be "invisible"
I don
I HATE THAT KEYBOARD.
hoelzro PerlJam: I feel like MONKEY_TYPING needs to be reserved for the most dire of circumstances
PerlJam me too. 16:46
hoelzro unless we can do something like Ruby refinements, which are monkey patches that only take affect in a lexical context
ven I don't think coercing should be something so small that it reads as any other function call. But then, there's conversing and coercing
hoelzro: agreed. it's really dangerous ;-)
pmurias hoelzro: you mean translating Ruby code?
PerlJam heh
hoelzro pmurias: =P
japhb FROGGS, lizmat: Are your S11 changes all merged yet, or are they still in branches?
hoelzro ven: I think coercion and conversion overlap a bit in Perl 6
ven they definitely do ;) 16:47
hoelzro I personally think of it as conversion rather than coercion
16:48 yeahnoob left
ven hoelzro: the rule for me is "I want conversion to be done explicitly, always. coercing is like "some type of int to some other", which I'd like to have behind the scenes instead 16:49
hoelzro makes sense to me 16:50
PerlJam not to bikeshed or anything, but I think "MONKEY_TYPING" should have been spelled "MONKEY_BUSINESS" because many times you aren't concerned with "type" so much. 16:51
hoelzro PerlJam++ 16:52
16:52 kaleem left
geekosaur MONKEYING_AROUND 16:57
</bikeshed>
hoelzro I guess the meanings of Str($foo) and $foo.Str are slightly different; the former is 'hey Str, give me a Str based on what $foo is', and the latter is 'hey $foo, give me a Str that represents you" 16:58
it's a matter of who's responsible
and the former just defers the responsibility to the value being coerced by default
ven that *can* make sense, but has to be explained as such
and then, COERCE() should not call .Str 16:59
hoelzro why not?
17:01 alini left 17:04 fhelmberger left 17:05 Kristien joined, fhelmberger joined
Kristien hi 17:05
17:06 [Sno] joined
moritz \o Kristien 17:06
17:09 KPTN left, fhelmberger left
ab5tract hoelzro: is that right? i thought that Str() was just a sugar around .Str 17:10
17:10 pyrimidine joined
dalek c: 4b45c2d | moritz++ | lib/Language/functions.pod:
Document the trait mechanism a bit
17:12
hoelzro ab5tract: by default, it is
well, Str($value) is right now (and will stay that way until the rakudo team decides to change it, or someone decides to monkeypatch) 17:13
but for any type T, T($value) may be overridden so that it does something other than call $value.T
ab5tract umm, that sounds very sad to me :) 17:17
s/:)/:(/
i think it should only do that
ie, it should only ever be sugar. otherwise i don't see how it can be worth it
jnthn Because having to monkeypatch to add coercions feels kinda wrong. 17:18
Making an object invokable in order to do it isn't much better, though.
jnthn wonders if $thing.TypeName and TypeName($thing) should just be special forms for the same thing (maybe the COERCE thing hoelzro is looking at) 17:20
17:21 kgoess joined
hoelzro jnthn: in my branch, the latter just calls COERCE (by default, anyway) 17:22
jnthn: the former would require some dispatcher hacking, wouldn't it? 17:23
FROGGS japhb: it is all merged IIRC, though it needs tweaking and extensive testing
kgoess thanks, moritz, that was part of my experimenting to see if it did anything different. changing the sleep && echo to just echo gives the same results
17:23 telex left
jnthn hoelzro: No, it'd be a syntactic distinction 17:23
FROGGS japhb: what is not merged is the CPAN support for panda, this is because the zlib bindings are not very portable atm
skids There has to be a way to choose between which class's coercion implementation to use, because one class may be know better. So that's the intent of the spec.
jnthn hoelzro: Because we know what a typename is.
hoelzro jnthn: oh, so $obj.Type woud generate a different AST, then? 17:24
jnthn Yeah
hoelzro what about my $method-sort-of = 'Str'; $value."$method-sort-of"()?
17:24 telex joined
jnthn Well, not suggesting it yet, just throwing ideas about. 17:24
hoelzro ideas are good =)
jnthn hoelzro: That one we can't see syntactically
hoelzro right
colomon errr…. wouldn’t that cause issues with new type names conflicting with existing method names?
jnthn hoelzro: It's that edge case and related that make me hesitate. 17:25
colomon: That'd be rare given types are typically uppercase and method names lowercase.
hoelzro colomon: maybe you couldn't declare a method with a titlecase name, then?
that seems...off, though
colomon jnthn: but that’s purely a convention
jnthn But yeah. There's a lot of reasons to be hesitant.
hoelzro jnthn: I would almost say that $value."Str"() would call a Str method on value
17:26 kjs_ joined
japhb FROGGS: Other than not shipping zlib's DLL for windows, what else is not portable about those bindings? 17:26
hoelzro I don't know if things like $value."not a method name"() work, though
jnthn colomon: Sure, though strong enough that STD (and Rakudo too) use it to make guesses on how best to report errors. :)
colomon knows he has not always consistently made his method names lower case … bad spillover from his C++ work
17:27 adu joined
FROGGS japhb: 32bit os support is an issue IIRC 17:29
japhb: but I will investigate soonish anyway, because qa2015 will be the next workshop I'm going to attend 17:30
japhb wonders if that's sufficient reason not to merge -- given that merging will make 32-bit life no worse, and 64-bit life better.
hoelzro hmmm...what if $value.Type dispatched to the method Type on $value, unless none was defined, in which case it would invoke COERCE?
hoelzro is also not too keen on that, tbh 17:31
FROGGS japhb: it will make 32bit life worse, because when one dependency is faulty, your panda won't work at all
jnthn hoelzro: I don't really like fallback-y things... 17:32
hoelzro: Not on hot-path-ish stuff like coercion
hoelzro jnthn: yeah, just thinking out loud...on IRC.
skids jnthn: If I were looking to add some Mu methods to NQPCursor and other "faked" stuff, just add them, or is there a preferred course of action there? I imaging hiding them by promoting them (somehow?) to the corresponding P6 classes is currently either NYI or not performant? 17:33
jnthn skids: Where does NQPCursor show up? 17:34
17:34 Kristien left
skids Regex.^methods. 17:34
And NQPRoutine in Grammar.^methods.
jnthn m: Regex.^methods.map({.^name}).unique.say 17:35
camelia rakudo-moar 12db81: OUTPUT«ForeignCode Method␤»
jnthn m: Grammar.^methods.map({.^name}).unique.say
camelia rakudo-moar 12db81: OUTPUT«Method NQPRoutine␤»
skids Sorry I meant parents I think.
m: Grammar.^methods.say
camelia rakudo-moar 12db81: OUTPUT«No such method 'gist' for invocant of type 'NQPRoutine'␤ in method gist at src/gen/m-CORE.setting:8557␤ in sub say at src/gen/m-CORE.setting:17358␤ in method say at src/gen/m-CORE.setting:1166␤ in block <unit> at /tmp/K4ENvENF8z:1␤␤»
jnthn That feels off too. We bring in the shared bits via a role
But now, I don't think the real solution is adding methods to NQPRoutine. 17:36
*no
I'd rather we look at wrapping NQP objects in general up so we can solve the problem with using Perl6::Grammar and so forth too 17:38
skids Has that path been beaten yet? 17:39
17:40 kjs_ left
dalek c: bf9e77e | moritz++ | lib/ (2 files):
Document "is cached"
17:40
japhb FROGGS: Isn't that (failure of zlib dep on 32-bit) a matter of making it possible for tarball support to be an optional feature (or falling back to a hackish implementation), rather than just breaking outright?
17:40 kgoess left
FROGGS japhb: well, there is no fallback 17:40
jnthn skids: Not really except I put in the HLL interop plumbing stuff at VM-level that might back it... 17:41
FROGGS japhb: but yeah, could be an option that we shell out, and just try to 'require' the zlib support
brb
skids jnthn: Might be a stretch for me then.
17:42 pmurias left
japhb FROGGS: ISTM that panda ought to be as forgiving as it can be (so using 'try require' seems sane), while not giving up the ability to support more features than rock-bottom. 17:42
17:42 kjs_ joined 17:43 Peter_R left 17:45 Peter_R joined
jnthn jnthn.net/papers/2015-fosdem-static-dynamic.pdf # my FOSDEM slides 17:46
japhb jnthn++ # I was just about to nudge again. ;-) 17:47
retupmoca FROGGS: note that I pushed a commit early december that might fix zlib on 32 bit systems
FROGGS: but I haven't tested it
japhb
.oO( Zoom to 150% and ... commence enjoyment. )
retupmoca++
# for resolving the discussion the best way ... by making the problem disappear 17:48
retupmoca and if my moarvm / nativecall patches get accepted, I should be able to make the zlib bindings faster, as well 17:51
japhb w00t
(Because if there's anything you want in a zlib binding beyond raw correctness, it's definitely speed.) 17:52
retupmoca because it would remove the need to copy from a Buf to a CArray
japhb Excellent.
tadzik oh hai
moritz \o tadzik 17:53
japhb o/ tadzik
skids Are Bufs roped, or contiguous OOC?
retupmoca roped? 17:54
skids Stored as chunks with index fixups.
retupmoca They're implemented as a VMArray, which on moar means a contiguous chunk of data
don't know about JVM/parrot
moritz I'm pretty sure it's the same on parrot 17:55
jnthn Contiguous everywhere
avar Are there some existing implementations of embedding MoarVM to call nqp/rakudo? I wanted to take a poke at trying to write support for perl6 for uwsgi (so something like github.com/unbit/uwsgi/blob/master...er.c#L328)
El_Che japhb: pretty enthousiastic audience at your talk, don't you think
japhb El_Che: Wrong j<tab>. :-) 17:56
El_Che hehe
jnthn avar: The only attempt I've seen so far was over the shoulder of nine++ at FOSDEM yesterday... :) 17:57
avar: So, there'll likely be at least one interesting example soon
avar Yeah him and I were talking about that at FOSDEM
17:58 Kristien joined
retupmoca Also, unrelated but: someone else was wanting to use IO::Socket::SSL to wrap a perl6 socket after some plaintext was transferred 17:59
I don't recall who is was, but they should look at the latest patches for IO::Socket::SSL - because that's now possible
jnthn El_Che: Yes, it was a great atudience; plenty of good questions :)
uh, audience
moritz perlpunks.de/paste/show/54cfbb84.5194.390 why does this die? 18:01
shouldn't it autovivify the nested element? 18:02
avar Is someone here aware of moarvm/nqp/rakudo rpm packages? Or deb or whatever, I want to try to package it up on my os... 18:03
jnthn moritz: Should the "return $current" be outside of the loop?
FROGGS retupmoca++ 18:04
moritz jnthn: yes, it should, but that's not the cause for the bug
oh, I need return-rw, right?
skids Was just about to say that, yes.
dalek c: 73200f8 | moritz++ | lib/Type/Routine.pod:
Document routine trait rw
18:07
18:11 trone joined
jdv79 hmm, disabling spesh shaves ~25% off the runtime of a use case. 18:11
did not expect that
18:11 alini joined
dalek c: 1fe2e5f | Mouq++ | lib/Language/functions.pod:
Typo: s/warp/wrap
18:12
jnthn jdv79: Presumably a short-running one?
jdv79 quite. 18:13
jnthn Optimization that you don't get much chance to use is kinda costly.
Probably means we need to tweak the thresholds some more. They're still largely guesses. :) 18:14
[Coke]_ yawns.
18:15 pecastro left
jdv79 cool. i was just surprised at the magnitude of the diff. 18:16
18:16 spollei left 18:20 kst joined, anaeem1_ left 18:21 anaeem1_ joined 18:22 trone left 18:25 anaeem1_ left 18:26 beastd joined 18:27 espadrine left
dalek c: 41d52f9 | moritz++ | util/update-and-sync:
Put build shell script under version control
18:27
18:28 kjs_ left
moritz doc.perl6.org/build-log/ now exists. 18:33
I guess I'll later add a cron job that gzips old files, and deletes really old files
japhb moritz++ # Good idea 18:34
[Coke] .seen donaldh? 18:35
yoleaux I haven't seen donaldh? around.
[Coke] .seen donaldh
yoleaux I saw donaldh 22 Jan 2015 18:07Z in #perl6: <donaldh> recreation&
[Coke] .tell donaldh - if you can help me get a perl 6 eclipse plugin working, I can start implementing work build stuff in perl6. would be super nice. 18:36
yoleaux [Coke]: I'll pass your message to donaldh.
18:37 rurban left
flussence
.oO( /me wishes the http2 authors had added lzma alongside gzip/deflate, instead of everyone pushing the latter to ridiculous extremes )
18:40
dalek c: 6258df8 | paultcochrane++ | lib/Language/functions.pod:
Minor corrections to text in functions.pod
18:43
18:44 Sqirrel joined 18:46 anaeem1_ joined 18:51 Diederich joined, spider-mario joined
FROGGS retupmoca: testing now MoarVM's PR 173 (with adjustments) 18:51
nine I don't get it. Whatever I do, MoarVM fails to load libperl6_ops_moar.so unless I LD_PRELOAD libmoar.so 18:53
18:53 Kristien left
jnthn I'm pretty sure we dlopen the libperl6_ops_moar.so 18:56
Dunno if that makes it any understandabler
nine libperl6_ops_moar.so is not linked against libmoar.so. It depends on libmoar.so already being loaded. But no linker flags I have discovered seem to be enough. I even dlopen'ed it without success. 18:58
jnthn Hm, curious. On Windows I'm sure we mention the moar.dll type lib on the link line for libperl6_ops_moar.dll otherwise it'd not resolve the functions in there... 18:59
19:01 guru joined, guru is now known as Guest71936
nine nine@sphinx:~/Inline-Perl6 (master *=)> ldd /home/nine/install/rakudo/install/languages/perl6/runtime/dynext/libperl6_ops_moar.so 19:02
libm.so.6 => /lib64/libm.so.6 (0x00007f0408843000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f0408626000) librt.so.1 => /lib64/librt.so.1 (0x00007f040841e000) libdl.so.2 => /lib64/libdl.so.2 (0x00007f040821a000) libc.so.6 => /lib64/libc.so.6 (0x00007f0407e7c000) /lib64/ld-linux-x86-64.so.2 (0x00007f0408d8e000)
jnthn Interesting. :)
Question is, why does your embedding thingy not work out, but the moar executable does? 19:03
vendethiel jnthn: are you talk's slides available somewhere :)? 19:05
nine jnthn: that's what I've been trying to figure out for hours without any success 19:06
skids vendethiel: jnthn linked them in backlog 19:07
vendethiel thanks skids 19:08
jnthn Also I updated the talk slides page on my site to link 'em :) 19:09
masak a couple of new names dropping by every day. nice. 19:10
jnthn nine: I dunno if strace might log loading related things and offer a clue. 19:11
FROGGS masak: you should have seen the more than full devroom at the fosdem and the also quite full arena when TimToady++ was on stage :o)
japhb Which is awesome, BTW. 19:12
FROGGS masak: a lot of interested ppl popped by
vendethiel jnthn++
raydiak FROGGS: if you get a chance any time today, can you explain to me what was going on at github.com/MoarVM/MoarVM/commit/b6...f3bebac730 ? reverting it makes my patch work but I'm hesitant to submit a PR which undoes the work of more experienced people while I still have less than half a clue what's going on in there :) 19:13
masak FROGGS: people still want to believe in the Perl 6 project. it's amazing. we just need to not disappoint them.
nine jnthn: tried that :/ the strace looks almost exactly the same until suddenly the embedded thingy throws the error. The only differences up to that point are in brk syscalls
FROGGS masak: aye! 19:14
masak slides! \o/ jnthn.net/papers/2015-fosdem-static-dynamic.pdf
jnthn nine: Well, wat. :S
FROGGS raydiak: AFAIK we need a way to deref a pointer for openssl or so...
raydiak FROGGS: it breaks stuff like irclog.perlgeek.de/perl6/2015-01-31#i_10035684 19:15
19:15 Guest71936 left
raydiak b/c we just blindly deref whatever you pass into cast if target is a pointer, regarless of source 19:16
*regardless
FROGGS raydiak: hmmm
19:16 alini left 19:18 Kristien joined 19:19 alini joined
raydiak here is what I am doing which exposed the problem: github.com/raydiak/MoarVM/compare/...r...master 19:19
FROGGS raydiak: I think I know what we can do... gimme five minutes 19:20
raydiak FROGGS: sure thing no hurry :)
FROGGS sergot: ping 19:27
19:35 kjs_ joined
FROGGS star-m: use NativeCall; sub malloc (int) returns OpaquePointer is native {*}; sub memset (OpaquePointer, int8, int) returns OpaquePointer is native {*}; my $ptr = malloc(8); memset $ptr, 1, 8; say $ptr; say nativecast OpaquePointer, $ptr; 19:37
camelia star-m 2014.12: OUTPUT«OpaquePointer<0x4bd4700>␤OpaquePointer<0x101010101010101>␤»
FROGGS star-m: use NativeCall; sub malloc (int) returns OpaquePointer is native {*}; sub memset (OpaquePointer, int8, int) returns OpaquePointer is native {*}; my $ptr = malloc(8); memset $ptr, 1, 8; say $ptr; say nativecast(CArray[OpaquePointer], $ptr)[0];
camelia star-m 2014.12: OUTPUT«OpaquePointer<0x1a6e430>␤OpaquePointer<0x101010101010101>␤»
Kristien I see {*} every now and then. What is it?
FROGGS I guess that is how we wanna derefence a void **
raydiak: +1 for your PR 19:38
japhb Kristien: "Use the default dispatcher here"
Kristien OK.
FROGGS raydiak: but if you wait another five minutes, I'll merge retupmoca++'s PRs first
japhb You'll see it in proto definitions as well.
raydiak FROGGS: thanks for checking it out :) I'll pull what you merge then make a PR
Kristien omg 19:39
was FOSDEM in brussels
I thought it was in the USA
moritz :-)
FROGGS Kristien: you can remember it as: the * is called Whatever, so the proto will dispatch Whatever the default is, same is true for calls into C libs using NativeCall
moritz that's OSCON
japhb Kristien: Do you live near there?
Kristien well fuck :(
japhb: yeah it's like an hour or two with the train 19:40
FROGGS: ah I see, nice.
FROGGS Kristien: there will be another one next year if that helps, and also, there are other Perl workshops
Kristien nice :D
japhb Kristien: Oh, d'oh!
FROGGS Kristien: you are in .nl, right?
Kristien yeah
near the belgian border
it's like five minutes cycling
japhb There are *lots* of Perl workshops in Europe.
FROGGS there is a NL perl mongers meeting every now and then, and there is the NLPW in mid April 19:41
moritz there are perl workshops in netherlands, germany, france, austria, poland
FROGGS Kristien: and Perl is is a topic there
moritz and probably more
FROGGS switzerland too
moritz m: class Foo { method bar() is export { say 42 } }; say bar 19:42
camelia rakudo-moar 12db81: OUTPUT«===SORRY!=== Error while compiling /tmp/oqxT7EwuOu␤Undeclared routine:␤ bar used at line 1. Did you mean 'bag'?␤␤»
moritz m: class Foo { method bar() is export { say 42 } }; import Foo; say bar 19:43
camelia rakudo-moar 12db81: OUTPUT«Too few positionals passed; expected 1 argument but got 0␤ in method bar at /tmp/AAAs6wQxJQ:1␤ in block <unit> at /tmp/AAAs6wQxJQ:1␤␤»
moritz m: class Foo { method bar() is export { say 42 } }; import Foo; say bar(Foo)
camelia rakudo-moar 12db81: OUTPUT«42␤True␤»
dalek volaj: 31f392b | (Andrew Egeler)++ | / (2 files):
Enable direct Buf/Blob passing to C functions
19:46
volaj: e758edb | FROGGS++ | / (2 files):
Merge pull request #55 from retupmoca/master

Enable direct Buf/Blob passing to C functions
PerlJam I wonder if we can make that 'too few positionals' error better to let the user know it was missing the invocant
FROGGS raydiak: done
colomon nine++
retupmoca FROGGS++ 19:47
FROGGS retupmoca++ # really :o)
vendethiel (wrt perl workshops, people at fpw mostly speak french ;)...)
FROGGS retupmoca: that's how to REPR_data btw: github.com/MoarVM/MoarVM/commit/0d...191ea39696
raydiak FROGGS: github.com/MoarVM/MoarVM/pull/174 19:48
retupmoca Ah, STABLE - I knew there was something, but couldn't remember what it was
19:48 Khisanth left 19:49 andreoss left
FROGGS retupmoca: I just grepped for MVMArrayREPRData and found plenty examples :o) 19:49
raydiak yes retupmoca++ indeed...I was already hacking around that
19:50 Khisanth joined
retupmoca FROGGS: fair enough :) 19:50
raydiak oh btw retupmoca...how would you feel about packaging a dll with compress::zlib::raw, for complete windows portability?
retupmoca raydiak: hopefully I'll have time tonight to change up Compress::Zlib for speed
yeah, I'd like to include .dlls - I'm on a windows system myself 19:51
just haven't looked into the details - not sure if I need to ship different version for different systems and such
raydiak \o/ I have a chopped up version of compress which circumvents that limitation I won't need any more :)
itz_ whats the | sigil? 19:52
raydiak I was wondering that too...zlib only provides on official compiled dll download
*one
m: sub foo ($a, $b) { say "$a $b" }; my @ab = <a b>; foo(|@ab); # itz_ 19:53
camelia rakudo-moar 12db81: OUTPUT«a b␤»
retupmoca yeah, I've installed that locally - I could just throw it into the package, but I'm not sure if that's the best way to do it
colomon wonders how Rakudo would run on the Raspberry Pi 2...
retupmoca raydiak: but if you throw me a PR that passes tests on my machine, I'll merge it 19:54
and review "correct" later
itz_ raydiak: ty
vendethiel colomon: slowly :P
raydiak retupmoca: deal :) idk what else you would do with it...certainly not install into \windows\system32 or any of that nonsense 19:55
yw itz_\
jdv79 it might compile on the 2 - i severly doubt it on the 1
pyrimidine I'm seeing NativeCall failing via latest rakudo update: gist.github.com/cjfields/f674a33dbde0f62aaafa 19:56
FROGGS pyrimidine: it requires latest Moarvm... hmmm 19:57
pyrimidine FROGGS: version bump?
FROGGS ohh, aye
retupmoca hmm
FROGGS pyrimidine++
retupmoca FROGGS: that NativeCall patch may fail tests on parrot/jvm as well 19:58
pyrimidine FROGGS: np. Just really bad timing on my part :)
retupmoca since I didn't patch them for vmarray calls
FROGGS /o\
damn, I forgot
I will fix that
retupmoca sorry - I have a bad habit of building on moarvm and forgetting the others 19:59
FROGGS yeah, same for me as it seems
rjbs skids: Sorry, you replied to my paste last night, but I was already gone. I'm going to try to produce a more documented file and then ... make a GitHub issue? Or t ticket? 20:00
hoelzro didn't someone bring up the idea of migrating RT → GH? 20:02
is that a thing?
FROGGS hoelzro: years ago
hoelzro o_O
FROGGS but it is not a thing atm for rakudo AFAIK 20:03
masak we have a lot of value dug down into RT.
skids rjbs: note there is a "dies_ok" and "eval_dies_ok" in Test so you don't have to rewrite that unless they don't work for your case.
hoelzro indeed; and RT doesn't require an account to report a bug, does it?
pyrimidine pmichaud suggested that I think # RT → GH 20:04
rjbs skids: Thanks. I had no idea what I Was doing. :)
ugexe RT is a PITA to log in to... every time i go to do it i cant remember how to get to it
rjbs I'm always logged into rt.perl.org /and/ gh, so I will use whichever you prefer to receive tickets in.
20:05 darutoko left
skids I have no perms for anything after logging into RT. 20:05
20:06 mvuets joined
dalek c: db0354a | moritz++ | lib/Type/Routine.pod:
start to document "is export" on routines
20:06
raydiak .tell adu \o/ nicely done! I get three warnings about unknown condition in typedef, but it does run through to completion and gives a big parse back...I'll let you know how it goes when I have a chance to try actually using it...very exciting :) 20:09
yoleaux raydiak: I'll pass your message to adu.
dalek c: 4edfeda | moritz++ | lib/Type/Parameter.pod:
Correct and expand on Paramter.capture
Kristien apparently my friend went to FOSDEM *~* 20:13
and he didn't even tell me :(
PerlJam Kristien: btw, do you know what FOSDEM stands for? 20:14
Kristien yes
20:15 brrt joined
PerlJam okay, just checking because earlier you said you thought it was a USA thing 20:15
Kristien I do know
But I didn't until like an hour ago :v
PerlJam ah
20:16 kjs_ left
brrt hey, would it make sense to add bug tests to the perl6 test suite 20:19
dalek c: 62fd6c4 | moritz++ | lib/Type/Any.pod:
And an example for .flat
20:20
moritz brrt: we do that all the time :-)
brrt: at least for stuff that is (or should be) covered by the synopsis; but we don't want nqp:: stuff in roast
masak jnthn++ # jnthn.net/papers/2015-fosdem-static-dynamic.pdf
colomon jnthn++ # a very nice presentation indeed 20:21
brrt no.. but i'm asking about two bug reports of which i have a relatively golfed test case
20:21 rindolf joined
brrt and i'm thinking that putting them in the test suite is a quick and easy way to get attentiont to them 20:21
(ooh new jnthn++ presentation. nine++'s was also very nice and very impressive) 20:22
20:22 anaeem1_ left
raydiak goes to un-fudge bug tests he wants fixed too (j/k) 20:24
20:26 Peter_R left
FROGGS raydiak: :P 20:26
20:28 Peter_R joined
moritz jnthn++ # slides 20:28
brrt: sure, do that 20:29
vendethiel stopped trying to go through issues in RT because it's so overwhelming 20:30
brrt ok, where should i put them? they're segfaulting issues
raydiak FROGGS: I searched all 3 SSL packages in the ecosystem for 'cast' and came up empty...so whoever was using cast to deref is in for some breakage if it's still out there somewhere
brrt: as I understand it, the usual procedure is to fudge failing tests when you add them 20:31
FROGGS raydiak: I did the same in the repositories I was sure it had that... seems gone nowadays 20:32
raydiak brrt: you'll see special comments in roast which skip different compilers or rakudo backends for many tests, as examples to copy
FROGGS: cool, I'll stop worrying then 20:33
[Coke] anyone needs privs to bugadmin on RT, ping me.
20:39 kaare_ joined
rjbs What's the p6 equivalent of "use lib 'x'"? 20:40
masak same. 20:41
japhb El_Che: Do you have a contact method for the FOSDEM presenters that would allow us to bug the ones who don't come here very often about slide deck URLs? :-) 20:42
skids [Coke]: ping
rjbs masak: Oh, I see. lib is, itself, under lib. So I needed -I lib to be able to use lib. Duh. :-) 20:43
El_Che japhb: I'll mail for the slides. They can be inserted in the fosdem page
japhb Which page? Do you mean each talk's page? 20:44
Kristien woot TIL use lib 20:45
I always used BEGIN { push @INC, "…" } :(
rjbs Woah, lots of noise from "$x.^methods.sort" in repl.
skids [Coke]++ RT privs
japhb rjbs: What is $x in this instance? 20:46
FROGGS rjbs: when you make install rakudo, and use the installed perl6 "binary", then you don't need to -Ilib
moritz rjbs: do .sort(*.name) instead
rjbs: less noise :-)
20:46 rindolf left
FROGGS m: say Int.^methods[0].WHAT 20:47
camelia rakudo-moar 12db81: OUTPUT«(Method)␤»
FROGGS IC
20:47 rindolf joined
El_Che japhb: in the meantime you can poke rjbs for his slides :) 20:47
japhb rjbs: Consider yourself poked (for a link to your FOSDEM preso slides) :-) 20:48
dalek kudo-star-daily: 5dbd81f | coke++ | log/ (9 files):
today (automated commit)
FROGGS El_Che: do we put the slides on the fosdem page?
rjbs japhb: I'll put them on Speakerdeck between now and ... August? But I will! :) 20:49
El_Che FROGGS: yes, that would make sense. Video and slides on the same page
FROGGS El_Che: mine would be at froggs.de/perl6/C-bindings.odp and froggs.de/perl6/C-bindings.pdf
El_Che thx! 20:50
raydiak m: say Any.^methods».name.unique
camelia rakudo-moar 12db81: OUTPUT«exists_key delete_key delete_pos list flat eager hash Parcel elems end keys kv values pairs invert squish rotor reverse sort reduce combinations permutations unique uniq pick roll classify categorize lol map for flatmap duckmap deepmap tree Array push unsh…»
FROGGS sjn: you are going to do the NativeCall hackathon, right? 20:51
Kristien Is » map? 20:52
masak it used to be.
moritz Kristien: mostly, yes. But it's eager (and even allows out-of-order execution), where map is lazy
Kristien: and it descends into sub-structures where .map doesn't
Kristien so hardcore 20:53
moritz m: my $x = [1, { a => 2} }; $x»++; say $x
camelia rakudo-moar 12db81: OUTPUT«===SORRY!=== Error while compiling /tmp/rAcuvVLBNc␤Unable to parse expression in array composer; couldn't find final ']' ␤at /tmp/rAcuvVLBNc:1␤------> my $x = [1, { a => 2} ⏏}; $x»++; say $x␤ expecting any…»
japhb Kristien: It's hyper-apply. "Do these in optimal and possibly concurrent order internally, and return the results eagerly but in the same order they would have come out if they were done serially in order"
moritz m: my $x = [1, { a => 2} }]; $x»++; say $x.perl
camelia rakudo-moar 12db81: OUTPUT«===SORRY!=== Error while compiling /tmp/GPk3JAnbxc␤Unable to parse expression in array composer; couldn't find final ']' ␤at /tmp/GPk3JAnbxc:1␤------> my $x = [1, { a => 2} ⏏}]; $x»++; say $x.perl␤ expecti…»
moritz m: my $x = [1, { a => 2}]; $x»++; say $x.perl
camelia rakudo-moar 12db81: OUTPUT«No such method 'succ' for invocant of type 'Hash'␤ in sub postfix:<++> at src/gen/m-CORE.setting:2166␤ in sub flatmap at src/gen/m-CORE.setting:20821␤ in sub METAOP_HYPER_POSTFIX at src/gen/m-CORE.setting:20727␤ in block <unit> at /tmp/GQUs7FTR…»
moritz eeks
or maybe it doesn't anymore :-)
Kristien I like tacit programming. 20:54
masak Kristien: it's mutual, but tacit programming would never deign to spell it out for you.
20:55 Peter_R left
Kristien I should learn J. 20:55
Shouldn't be too hard knowing APL.
20:57 Peter_R joined
pyrimidine Cool, NativeCall slides. FROGGS++ 20:57
FROGGS :o)
japhb FROGGS: Shadowed text is kinda hard to read in the PDF version of your talk (haven't tried the ODP)
masak where are FROGGS++' slides?
Kristien "mean =: +/ % #" is just beautiful 20:58
japhb masak: See 9 minutes ago in the logs.
FROGGS masak: froggs.de/perl6/C-bindings.odp and froggs.de/perl6/C-bindings.pdf
japhb: hmm, it looks okay-ish on my box
masak FROGGS: thanks!
japhb FROGGS: Hmmm. I wonder if it's Chrome's builtin PDF viewer that's uglifying it. 20:59
b2gills m: (^5)>>.say
camelia rakudo-moar 12db81: OUTPUT«4␤2␤0␤3␤1␤»
TimToady m: my &mean = -> { @_ R/ [+] @_ }; say mean 1,3,5,7
camelia rakudo-moar 12db81: OUTPUT«===SORRY!=== Error while compiling /tmp/qIZu6FJGjg␤Placeholder variable '@_' cannot override existing signature␤at /tmp/qIZu6FJGjg:1␤------> my &mean = -> { @_ R/ [+] @_ }⏏; say mean 1,3,5,7␤ expecting any …»
TimToady m: my &mean = { @_ R/ [+] @_ }; say mean 1,3,5,7
camelia rakudo-moar 12db81: OUTPUT«4␤»
FROGGS japhb: I am also viewing it with pdf.js or what it is called (in firefox) 21:00
TimToady Kristien: ^^
Kristien :O
What's R/?
masak reversed /
TimToady reversed /
Kristien Well arguably using @_ is not point-free
TimToady sure
otoh, most humans like nouns 21:02
japhb FROGGS: Looks the same using the GNOME client. It looks OK but a little blurry at small zoom, but at high zoom the shadows separate far enough to make the glyph shapes break up weirdly. Or maybe it's just my brain. :-/
21:02 rurban joined
FROGGS japhb: well, it was meant for a big screen, you see :o) 21:03
but yeah, I can make a shadow-less version when I have time for it
colomon is having fun downloading slide PDFs and reading them on the iPad. :)
japhb Or are the shadows tunable? It looks like just halving the shadow offset would make all the difference 21:04
masak FROGGS++ # presentation
21:04 kjs_ joined
japhb But yeah, lest I forget, FROGGS++ for the presentation. :-) 21:04
FROGGS *g*
thank you
21:05 mvuets left
Kristien m: my &mean = { .elems R/ .reduce(&infix:<+>) }; say mean [1, 3, 5, 7] 21:05
camelia rakudo-moar 12db81: OUTPUT«4␤»
Kristien :v 21:06
TimToady my &mean = { .elems R/ [+] .values }; say mean (1,3,5,7)
jdv79 where is R/ doc'ed?
21:06 vike joined
raydiak S03 has metaops 21:06
masak jdv79: S03, "metaoperators"
Kristien Hmm, still takes a parcel or array 21:08
TimToady m: my &mean = { .elems R/ [+] .values }; say mean (1,3,5,7)
camelia rakudo-moar 12db81: OUTPUT«4␤»
Kristien instead of being variadic
dalek ast: c2c4f7c | usev6++ | S04-declarations/my.t:
Add tests (fudged 'todo') for RT #117043
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=117043
TimToady m: my &mean = -> |args { args.elems R/ [+] args.values }; say mean (1,3,5,7)
camelia rakudo-moar 12db81: OUTPUT«16␤»
TimToady er, oops
something not right there... 21:09
japhb m: my &mean = -> |args { args.elems }; say mean (1,3,5,7) 21:10
camelia rakudo-moar 12db81: OUTPUT«1␤»
japhb TimToady: ^^ that
masak was gonna say.
the sub does get 1 argument, tho
m: my &mean = -> |args { args.elems R/ [+] args.values }; say mean(1,3,5,7) 21:11
camelia rakudo-moar 12db81: OUTPUT«4␤»
TimToady right
rjbs gist.github.com/rjbs/de0b26a258553c75104c
TimToady: ^ the "grammar not clustering" thing we discussed 21:12
skids: ^ Maybe this test makes it clearer what I was trying to point out. :)
Kristien I'm watching a video by a guy who writes software for devices with 16B RAM.
asdf12z_ using what?
Kristien C++
rjbs asdf12z_: corner torn off a punch card :)
TimToady rjbs: yes, that should clear up after NFG 21:13
rjbs TimToady: That is excellent!
PerlJam rjbs: how do you make a string containing only a combining mark?
japhb Kristien: Are those 16B addressed as normal RAM or as registers?
Kristien No idea
There is an 8b CPU as well
and 256B flash memory
japhb Sounds like a small microcontroller, like a PIC 21:14
I know a microcontroller programmer, but he goes with old school C
Kristien the device is only €0.28
21:21 andreoss joined, nige left
Kristien ahh, the talk is about creating high-level abstractions without sacrificing performance 21:21
rjbs PerlJam: In p5, you'd say: "\N{COMBINING DIAERESIS}" etc. 21:23
FROGGS m: say "\c[COMBINING DIAERESIS]"
camelia rakudo-moar 12db81: OUTPUT«̈␤»
Kristien m: say "\c[COMBINING DIARRHOEA]"
camelia rakudo-moar 12db81: OUTPUT«===SORRY!=== Error while compiling /tmp/qB8_y3NiW6␤Unrecognized character name COMBINING DIARRHOEA␤at /tmp/qB8_y3NiW6:1␤------> say "\c[COMBINING DIARRHOEA⏏]"␤»
rjbs FROGGS: Thanks, I was looking for that syntax earlier!
FROGGS Kristien: :P
rjbs: pleasure :o) 21:24
TimToady we decided \N should be the opposite of \n
rjbs PerlJam: Similarly, it's how you'd probably get a NUL in there, etc.
japhb Kristien: Composable disease symptoms?
rjbs m: say "\cX"
camelia rakudo-moar 12db81: OUTPUT«␤»
rjbs nice
TimToady m: say "\c0".ord
camelia rakudo-moar 12db81: OUTPUT«0␤»
TimToady m: say "\c@".ord
camelia rakudo-moar 12db81: OUTPUT«0␤»
TimToady that works too 21:25
21:25 xfix left
TimToady \N is very useful when . always matches \n 21:26
rjbs How does the numeric form work?
TimToady decimal
rjbs Yeah, we have \N in 5, too.
TimToady decimally
rjbs but there's \N and there's \N{...}
not necessarily our finest hour
TimToady m: say "\c65" 21:27
masak rjbs: it's so great to have you on here
camelia rakudo-moar 12db81: OUTPUT«A␤»
rjbs masak: I have /usually/ been idling here, but sometimes when irssi restarts, I don't auto-rejoin because my config is a bit out of date.
masak: but thanks! :-D
FROGGS rjbs: I hope I'll be able to watch your talk very soonish because I got taken as a hostage and missed it :o( 21:31
rjbs FROGGS: I'm glad to hear that you (seem to) have been released, though!
FROGGS rjbs: aye :o) 21:32
rjbs FROGGS: I believe the talk went well, and hope you enjoy it. I also want to go back and see your talk and others. I was unable to see Ovid's: room too full!
I had also hoped to see how Python wanted to add gradual typing -- been following that a bit on mailing lists -- but the talk fell through. :(
FROGGS I missed that one as well :/
21:33 Mouq joined
rjbs I did see TimToady's talk in which I believe he said, "Absolutely 6.0 on Christmas day this year with all features ever mentioned." Or so the blogs elaborated. 21:33
PerlJam Ovid++ (spreading the good word)
masak rjbs: sounds about right. 21:34
FROGGS rjbs: always believe the details in blogs :o)
rjbs Well, my FOSDEM is now ending officially. I am closing my lid to disembark this bus, and when I next reattach, I will be at home. :) I'm sure we'll all talk more later. :-) &
TimToady o/
dalek c: 531f009 | Mouq++ | lib/Type/Signature.pod:
Index some parameter types/traits
21:37
21:38 brrt left
Mouq So, a thought I had today: $foo.::bar and $foo.::Baz::bar currently are the same as $foo.bar and $foo.Baz::bar. But what if we instead reserve that syntax for a meta-op that's sugar for find_method 21:39
sjn FROGGS: yep, I am
FROGGS: so is arnsholt :)
Mouq So instead of `my $method = $foo.^find_method("bar")`, we have `my $method = $foo.::bar`, and instead of `$foo.^find_method("bar")($baz, 42)`, we have `$foo.::bar($baz, 42)` 21:41
Peter_R Why did this person feel the need to be mean in his response? news.ycombinator.com/item?id=8981668
Mouq *So I had a thought today (jumbled quite obviously a one)
masak Peter_R: 21:43
I think some people simply desire to be spared details.
Peter_R yeah, it doesn't take much effort to be a bit nicer when expressing that though 21:44
PerlJam some people are just average
vendethiel it wasn't details. I actually agree with the general spirit of this comment -- the parent does not give ANY piece of information
it's just dodging the question and answering something else
(certainly not going to defend the phrasing, though)
FROGGS sjn: when will that happen? I'd like to join remotely 21:45
Peter_R vendethiel, what would the answer be out of interest? No one backend is the one true backend?
because the feeling I always get is that nothing but Moar matters
vendethiel Peter_R: I'm saying kbenson's answer is uninteresting 21:46
not that a true answer would be
but kbenson's only sounds like spokesmanship
adu raydiak: thanks :)
yoleaux 20:09Z <raydiak> adu: \o/ nicely done! I get three warnings about unknown condition in typedef, but it does run through to completion and gives a big parse back...I'll let you know how it goes when I have a chance to try actually using it...very exciting :)
Peter_R vendethiel, Yeah, I do see what you mean. Now I'm just interested in what the true answer is :P 21:47
21:47 khisanth_ joined
sjn FROGGS: wednesday at 18:30 CET 21:48
21:48 Khisanth left
avuserow_ retupmoca++ # NativeCall improvements, should benefit at least one of my modules 21:48
sjn FROGGS: not sure how to include you remotely though...
FROGGS sjn: that's almost doable... nice
sjn: well, I am here, so just ping me if there anything I can do
21:49 khisanth_ is now known as Khisanth
sjn FROGGS: skype? hangout? appear.in? 21:52
FROGGS sjn: irc? :o)
sjn sure :)
21:59 rindolf left 22:04 FROGGS_ joined 22:05 gaston joined 22:06 Sqirrel left 22:07 FROGGS left 22:08 Sqirrel joined 22:09 BenGoldberg joined 22:11 BenGoldberg left
andreoss m: my $y = -> $x { state $b = $x; -> $c { state $a = $b ;$a+=$c; }}; say $y(1)(1); say $y(1)(1); 22:11
camelia rakudo-moar 12db81: OUTPUT«2␤2␤»
22:12 BenGoldberg joined 22:14 _dolmen_ joined, kjs_ left
masak andreoss: looks right to me. 22:14
(the inner pointy is created once per invocation to $y, and so it doesn't carry state over from one call to the next) 22:23
22:24 mohij joined 22:26 Mouq left 22:29 spider-mario left 22:31 pyrimidi_ joined 22:34 pyrimidine left 22:36 konsolebox left 22:37 woolfy joined 22:40 mohij left 22:43 beastd left
TimToady yes, state doesn't quite mean static 22:43
FROGGS_ .oO( United Static of America ) 22:44
Kristien what other lexically scoped ideas of what characters are are there other than graphemes?
TimToady what we have now, which is "codepoints" 22:45
Kristien Oh, I see
TimToady and, in theory, a really retro "bytes", which knows nothing about Unicode 22:46
but I doubt anyone will be terribly motivated to implement that 22:47
22:47 adu left
TimToady also, those contexts could conceivably be broken down into NFC vs NFD at the codepoint level 22:48
or even UTF-mumble at the bytes level
so you'd know which encoding to put literal strings into
but this is perhaps not needed for 6.0 22:49
if ever
presumably filehandles opened in such a lexical scope might also default that way 22:50
but we're tending toward a more OO view of how strings work these days anyway, so tying it to lexical scopes might be suboptimal anyway
in general, we haven't defined a lot of pragmas that set defaults like that so far 22:52
and that's probably a good thing
since it means we've generally picked pretty good defaults, at least for the uses we've put Perl 6 to so far 22:53
dalek p: 74c880d | FROGGS++ | tools/build/MOAR_REVISION:
bum nqp rev for nativecall improvements
FROGGS_ pum -.-
bum*
damn, I typo'd a typo - clearly I should be in bed 22:54
dalek kudo/nom: bececd4 | FROGGS++ | tools/build/NQP_REVISION:
bump nqp/moar rev for nativecall improvements
jdv79 would it be easy/possible to do a interopolation and backup in a simple grammar or would it be better to preprocess the text?
jnthn lol, bum! 22:56
Kristien Time to sleep. Byebye!
TimToady o/
FROGGS_ jnthn: I merged stuff in zavolaj which works for moarvm but not for the others... I am trying to fix parrot atm but I'm not very lucky
jnthn: so, nativecall HEAD is broken on perl6-p/-j until tomorrow I fear :o( 22:57
jnthn FROGGS_: Yeah, I'll glance the patches tomorrow
Broken as in build fail or test fail?
FROGGS_ test fail 22:58
TimToady jdv79: preprocessing is often the easiest wrong answer :)
FROGGS_ a new feature... passing Bufs to nativecall
22:58 Kristien left
masak 'night, #perl6 22:58
TimToady jdv79: but without more context, I couldn't say
jnthn FROGGS_: Well, could always through a skip unless $*VM.name eq 'moar' :)
Or todo 22:59
FROGGS_ jnthn: my problem is that we pass a VMArray to the nativecall ops code, and the REPR ID is 8, but I don't get my hands on a repr with that ID
and REPR(thing)->name is an empty string
ohh, todo-ing them is a good idea 23:00
jnthn++
I really am too tired
TimToady jdv79: we're somewhat allergic to multi-pass parsing here, and generally if we used a grammar, we'd then either build up the new text via 'make' actions, or just write a tree-walker to produce the new text
jnthn FROGGS_: On Moar there are #defines for the REPR IDs; dunno if they were used in the moar patch 23:01
FROGGS_: I'll read them tmorrow when I also less tired.
FROGGS_ k, thank you
jnthn has done two lots of travel today, and of course the bit inside Sweden involved a 75 minute late train... 23:02
FROGGS_ :/
23:03 coffee` left
jnthn At least I got here early enough that the restaurants were still open 23:03
jdv79 Let's say I have a lang text of "foo,$bar,baz" and i have a value for $bar elsewhere. I want to sub in the new value and allow the grammar to continue as if that substitution never happened.
asdf12z_ TimToady: i enjoy when you go into more personal history and linguistics and the convergence of your linguistics background with computers/perl, even your religious background if that played into how you went about things throughout the course of the perl evolution 23:04
so it'll be fun if you had a talk that was purely based on that
jnthn Anyway, sleep...will glance those patches tomorrow
o/
FROGGS_ sleep well jnthn
jnthn Thanks, you also :) 23:05
FROGGS_ :o)
TimToady jdv79: don't quite understand what you mean by 'continue as if that substitution had never happened', which would be a no-op 23:06
you mean continue as if the substituted text were there originally?
asdf12z_ basically, when are they going to make the larry wall biopic ? lol
TimToady asdf12z_: hopefully after I'd dead, and can't contradict 'em :) 23:07
jdv79 yes
TimToady so basically you have a language with parameterless text-based macros 23:08
jdv79 very simple, yes
asdf12z_ TimToady: you mentioned in an interview before you originally wanted to be a missionary, and i wonder if that's something you pursue still? probably not considering how busy you are?
TimToady I'm not really any healthier than I was when I dropped out for health reasons 23:09
asdf12z_ oh i see
do you personally feel like it's a blessing in disguise?
otherwise perl would've probably never been born 23:10
TimToady asdf12z_: I personally feel it's not very disguised anymore :)
but yeah, that was one of the hardest decisions of my life
asdf12z_ it may seem like an obvious answer, but you have to deal with health issues on the other hand, so that's why i asked
TimToady: hardest decisions of your life.. see that's interesting, would like to hear a talk or an interview where you went into things like that 23:12
TimToady will probably be doing far too many interviews in the coming weeks now... :/
dalek volaj: 2815c25 | FROGGS++ | t/05-arrays.t:
skip buffer tests on parrot and jvm
asdf12z_ yea but they will all be about perl lol and i don't know if all of them will make their way to youtube, only place i look 23:13
TimToady I already have done two since the talk, and have at least two more in the pipeline already
TimToady tends to stay out of the Computer History Museum too because he doesn't want to become history yet 23:14
asdf12z_ i bring it up because linguistics, computers/technology, theology are all things i'm interested in, so having someone who had to wrestle with all 3 of these things would be enlightening
TimToady jdv79: you could parse the $str separately and then just return that as if a rule in the original grammar parsed it 23:16
that would be cleaner than a text substitution
the grammar rules are all just methods, after all, and the outer ASTs don't care where the inner ones came from 23:17
jdv79 i'll try what i think you mean and report back if it fails then. 23:18
thanks
TimToady well, I'm gonna sleep soon, and in a few hours go to the airport, but I'm sure lots of folk here can help
jdv79 cool 23:20
woolfy Thanks to everybody of the Perl (6) community who helped make the Perl-presence at FOSDEM a success. TimToady, jnthn, FROGGS, tadzik, lizmat, pmichaud, nine, rjbs, ovid, danaj, Sawyer X, Stevan Little, Mickey Nasriachi, sergot, itz, El_Che, mst, Maddingue, virtualsue, charsbar, B00K, Tux, [Sno], sjn, ribasushi, Su-Shee, Juerd 23:21
and all the others that were there...
Beer event, a day of Perl-devroom, two big talks in the biggest FOSDEM-room, two nice dinners, two days of Perl-booth... 23:22
Thanks!
TimToady yer welc'm 23:23
Diederich What would Kosh say? "And so it begins."
woolfy TimToady: so many people came to the booth right after your talk, most wanted a Perl 6 button / sticker / tuit.
FROGGS_ \o/ 23:24
dalek c: adbc3ba | skids++ | lib/Type/WhateverCode.pod:
Add an example of using WhateverCode to define custom * behavior
woolfy It was quite funny to see some 25 people putting on a Perl 6 button almost simultaneously. Our friendly neightbours with the snake looked a bit surprised...
FROGGS_ *g* 23:25
virtualsue i made an honest attemp to converse with them by complimenting their language, excellent T shirts and snakes, however you can probably guess how that went 23:27
Diederich virtualsue: truly?
FROGGS_ in case I did not said it already: TimToady++'s talk was MTA (more than awesome), it was very very nice to see these probably thousand ppl clapping heavily 23:28
virtualsue that was good fun. and i really don't like tolkien :-D
23:29 adu joined
virtualsue ok i never met tolkien, but i have always failed at LOTR 23:29
FROGGS_ that said - good night!
sjn woolfy++ # for organizing a brilliant devroom and Perl stand with Claudio :)
virtualsue Diederich: truly. i like python and i'd have bought a snake if i'd had the cash handy
sjn was very happy to participate 23:30
virtualsue i had a good time taking a turn at the booth and attending various talks and all the events
23:32 rjbs joined 23:42 mr-foobar left 23:44 mr-foobar joined
[Coke] anyone else having trouble building r-p on rakudo HEAD? complaining about missing files. 23:47
23:51 Peter_R left 23:53 Peter_R joined 23:54 BenGoldberg left
hoelzro tries 23:58