»ö« 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/ccoLEBEObzInvocant colon not allowed hereat /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«123[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«123123» | ||
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/h41t5WkIveTwo terms in a rowat /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«1357911» | ||
skids | The last part is an expression. | ||
Mouq | m: for 1, 3, 5 ... 10 < * -> $n { say $n } | ||
camelia | rakudo-moar 6e182d: OUTPUT«1357911» | ||
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/RjyIDi3YQkVariable $.x used where no 'self' is availableat /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/oqxT7EwuOuUndeclared 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«42True» | ||
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/rAcuvVLBNcUnable 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/GPk3JAnbxcUnable 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«42031» | ||
TimToady | m: my &mean = -> { @_ R/ [+] @_ }; say mean 1,3,5,7 | ||
camelia | rakudo-moar 12db81: OUTPUT«===SORRY!=== Error while compiling /tmp/qIZu6FJGjgPlaceholder variable '@_' cannot override existing signatureat /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_y3NiW6Unrecognized character name COMBINING DIARRHOEAat /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«22» | ||
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 |