»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend! Set by moritz on 22 December 2015. |
|||
00:00
MilkmanDan joined
00:03
bjz_ left
00:05
johnjohn101 joined
|
|||
johnjohn101 | hi perl 6 | 00:05 | |
timotimo | greetings | ||
johnjohn101 | perl 6 will have it's own cpan? | 00:06 | |
its | |||
timotimo | we currently have modules.perl6.org, but we've got someone working on making metacpan work with perl6's modules, and some efforts going on in that general cpan-y area in general | 00:07 | |
00:13
zacts joined
00:16
mcmillhj joined
|
|||
avuserow_ | bisect: say DateTime.now.Str.chars | 00:23 | |
bisectable6 | avuserow_, On both starting points (good=2015.12 bad=6e84a5e) the exit code is 0 and the output is identical as well | ||
avuserow_, Output on both points: 32 | |||
avar | timotimo: who's working on the metacpan thing? | 00:25 | |
timotimo | i seem to recall it's jdv79 | 00:26 | |
avuserow_ | does DateTime format timestamps without microseconds on some OSes? | 00:27 | |
I'm investigating test failures when trying to install Log::Minimal and the timestamp pattern expected in the tests doesn't have them, so trying to figure out why that might be | 00:28 | ||
00:29
cdg left
|
|||
timotimo heads towards bed | 00:32 | ||
00:33
BenGoldberg joined
00:36
n1lp7r joined
00:38
djbkd left
00:43
BillSussman joined
00:45
AndyBotwin left
00:51
kentnl is now known as kent\n
00:53
n1lp7r left
00:59
cpage_ left
01:01
pierre_ joined,
rkazak left
01:02
sufrostico joined
|
|||
bioduds | guys, anyone meta-programming with perl6? | 01:02 | |
I could not interpolate an array | 01:04 | ||
in heredocs | |||
is TimToady there? | 01:06 | ||
01:08
bioduds left,
perlawhirl joined,
bioduds joined
|
|||
perlawhirl | hi bioduds | 01:08 | |
bioduds | hi perlawhirl | 01:09 | |
perlawhirl | how are you interpolating... try @arr[] | ||
inside double-quotes, @var is not automatically interpolated | |||
this is so things like email address just work | |||
01:09
cognominal joined
|
|||
bioduds | I tried to simply output its value my \$.names = set < System @.cur-tables >; | 01:09 | |
perlawhirl | the work around is to use the zen slice: @arr[] | ||
01:09
pisa joined
|
|||
bioduds | oh, I'll do that | 01:09 | |
so it should say my \$.names = set < System @.cur-tables[] >; | 01:10 | ||
perlawhirl | well.. i'm not sure about the meta-programming stuff... just talking about heredocs and double-quotes in general. give it a shot | 01:11 | |
bioduds | sure will | ||
im meta-programming with heredocs so I may write indented code | 01:12 | ||
BenGoldberg | I thought meta-programming was writing a program which writes a program? | ||
01:14
pisa left
|
|||
perlawhirl | that's also my interpretation. | 01:14 | |
bioduds: if it's still not working, provide a gist of what your trying to do and what's not working | 01:15 | ||
timotimo | < and > don't interpolate at all, do they? | 01:16 | |
m: say < $foo @bar[] > | |||
camelia | rakudo-moar 998e2b: OUTPUT«($foo @bar[])» | ||
timotimo | m: say << $foo @bar[] >> | ||
camelia | rakudo-moar 998e2b: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Variable '$foo' is not declaredat <tmp>:1------> 3say << 7⏏5$foo @bar[] >>» | ||
timotimo | << and >> do interpolate | ||
01:17
rkazak joined
01:19
kashyap_ joined,
Actualeyes left
01:22
TEttinger left
01:25
TEttinger joined
01:26
sufrostico left
01:33
zacts left,
cognominal left,
cpage_ joined,
Actualeyes joined
01:35
cpage_ left
01:36
cpage_ joined
01:37
parabolize joined
01:38
cpage_ left
|
|||
benjikins | What do I do about malformed utf-8 | 01:38 | |
BenGoldberg | Throw an exception, usually. | 01:41 | |
Or return a Failure. | 01:42 | ||
benjikins | could I remove all malformed characters possible? | 01:43 | |
possibly* | |||
01:44
araujo_ joined
01:46
ilbot3 left,
cpage_ joined
01:47
ilbot3 joined
01:48
bob777 joined
01:53
mcmillhj left
01:59
raoulvdberge left
02:03
mcmillhj joined
02:07
noganex_ joined,
mcmillhj left
02:10
awwaiid joined,
noganex left
02:12
zacts joined
|
|||
bioduds | BenGoldberg meta-programming is writing a program that writes a program | 02:14 | |
exactly | |||
and the program you write may be in perl6 writing another perl6 | 02:15 | ||
in this case | |||
SmokeMachine____ | Hi! Im having trouble with trusts... | 02:16 | |
bioduds | worked perlawhirl, thanks a lot | ||
SmokeMachine____ | m: class Bla {...}; class Ble {trusts Bla; has $!private = "priv"}; class Bla {has Bla $.ble .= new; method say-ble-priv{$!ble.private.say}}; Bla.new.say-ble-priv | ||
camelia | rakudo-moar 998e2b: OUTPUT«Memory allocation failed; could not allocate 1016 bytes» | ||
BenGoldberg | That looks like a bug. | ||
02:17
mcmillhj joined
|
|||
SmokeMachine____ | and I have a question: How could I do that in 2 different files? | 02:18 | |
if I write the Ble class on a file (with the Ble stub) and the Ble in another file it dies with "The following packages were stubbed but not defined:" | 02:19 | ||
is there any way to simulate 2 different files here with camelia? | 02:21 | ||
02:22
mcmillhj left,
perlawhirl left
02:23
lambd0x left
|
|||
SmokeMachine____ | problem with 2 files www.irccloud.com/pastebin/E75Qqzdi...0and%20Ble | 02:24 | |
02:26
benjikins left
|
|||
SmokeMachine____ | BenGoldberg: should I open a bug report? | 02:29 | |
how can I do that? | |||
02:32
cyphase left
|
|||
MasterDuke | huggable: bug report | 02:34 | |
huggable | MasterDuke, nothing found | ||
MasterDuke | huggable: bug | ||
huggable | MasterDuke, nothing found | ||
MasterDuke | huggable: RT | ||
huggable | MasterDuke, nothing found | ||
MasterDuke | huggable: report a bug | ||
huggable | MasterDuke, nothing found | ||
MasterDuke | SmokeMachine___: send an email to [email@hidden.address] | 02:36 | |
02:36
wamba joined
02:38
kashyap_ left
02:39
Actualeyes left,
Actualeyes joined
|
|||
SmokeMachine____ | m: class Bla {...}; class Ble {has $.public = "pub"}; class Bla {has Bla $.ble .= new; method say-ble-priv{$.ble.public.say}}; Bla.new.say-ble-priv | 02:41 | |
camelia | rakudo-moar 998e2b: OUTPUT«Memory allocation failed; could not allocate 1016 bytes» | ||
SmokeMachine____ | that's not a "trusts" problem... | ||
02:43
rkazak left
02:45
mcmillhj joined
02:50
mcmillhj left
02:53
TEttinger left,
TEttinger joined
|
|||
BenGoldberg | m: class Bla {has Bla $.ble .= new}; Bla.new; | 02:55 | |
camelia | rakudo-moar 998e2b: OUTPUT«Memory allocation failed; could not allocate 14464 bytes» | ||
02:55
Girafferson joined
|
|||
BenGoldberg | SmokeMachine____, ^ | 02:56 | |
SmokeMachine____ | BenGoldberg: :( | ||
bioduds | do roles have constructors? | 02:57 | |
BenGoldberg | Well, it's not a rakudo bug... You're saying that any time a new Bla object is made, initialize the $.ble field it with a new Bla object. | 02:58 | |
Every Bla has a Bla, in an infinite linked list. | |||
SmokeMachine____ | BenGoldberg: but on my code, Bla has Ble, but Ble doesn't have Bla... It shouldn't be a loop... | 03:00 | |
m: class Bla {has Bla $.ble .= new; method say-ble-priv{$.ble.public.say}}; class Ble {has $.public = "pub"}; Bla.new.say-ble-priv | 03:01 | ||
camelia | rakudo-moar 998e2b: OUTPUT«Memory allocation failed; could not allocate 131072 bytes» | ||
BenGoldberg | The very first part of your code, right there, is "class Bla {has Bla $.ble .= new;" | 03:02 | |
03:02
zacts left
|
|||
SmokeMachine____ | hum!!! misspelled! | 03:02 | |
m: class Bla {has Ble $.ble .= new; method say-ble-priv{$.ble.public.say}}; class Ble {has $.public = "pub"}; Bla.new.say-ble-priv | |||
camelia | rakudo-moar 998e2b: OUTPUT«5===SORRY!5===Type 'Ble' is not declared. Did you mean 'Bla'?at <tmp>:1------> 3class Bla {has Ble7⏏5 $.ble .= new; method say-ble-priv{$.bleMalformed hasat <tmp>:1------> 3class Bla {has7⏏5 Ble $.ble .= new; method say-ble…» | ||
SmokeMachine____ | m: class Bla {...}; class Ble {has $.public = "pub"}; class Bla {has Ble $.ble .= new; method say-ble-priv{$.ble.public.say}}; Bla.new.say-ble-priv | 03:03 | |
camelia | rakudo-moar 998e2b: OUTPUT«pub» | ||
SmokeMachine____ | that's working! | ||
BenGoldberg | This is one reason why so many people use "foo" and "bar" | ||
It's a touch harder to mispell one as the other. | |||
03:03
_slade_ left
|
|||
SmokeMachine____ | m: class Foo {...}; class Bar {trusts Foo; has $!private = "priv"}; class Foo {has Bar $.bar .= new; method say-bar-priv{$!bar.private.say}}; Foo.new.say-ble-priv | 03:04 | |
camelia | rakudo-moar 998e2b: OUTPUT«Method 'say-ble-priv' not found for invocant of class 'Foo' in block <unit> at <tmp> line 1» | ||
SmokeMachine____ | m: class Foo {...}; class Bar {trusts Foo; has $!private = "priv"}; class Foo {has Bar $.bar .= new; method say-bar-priv{$!bar.private.say}}; Foo.new.say-bar-priv | ||
camelia | rakudo-moar 998e2b: OUTPUT«Method 'private' not found for invocant of class 'Bar' in method say-bar-priv at <tmp> line 1 in block <unit> at <tmp> line 1» | ||
SmokeMachine____ | m: class Foo {...}; class Bar {trusts Foo; has $!private = "priv"}; class Foo {has Bar $.bar .= new; method say-bar-prig{$!bar!private.say}}; Foo.new.say-bar-priv | 03:05 | |
camelia | rakudo-moar 998e2b: OUTPUT«5===SORRY!5=== Error while compiling <tmp>No such private method 'private' for invocant of type 'Foo'at <tmp>:1------> 3$.bar .= new; method say-bar-prig{$!bar!7⏏5private.say}}; Foo.new.say-bar-priv» | ||
BenGoldberg | m: class Foo {...}; class Bar {trusts Foo; has $!private = "priv"; method !private { return-rw $!private }}; class Foo {has Bar $.bar .= new; method say-bar-prig{$!bar!private.say}}; Foo.new.say-bar-priv | 03:07 | |
camelia | rakudo-moar 998e2b: OUTPUT«5===SORRY!5=== Error while compiling <tmp>No such private method 'private' for invocant of type 'Foo'at <tmp>:1------> 3$.bar .= new; method say-bar-prig{$!bar!7⏏5private.say}}; Foo.new.say-bar-priv» | ||
BenGoldberg | m: class Foo {...}; class Bar {trusts Foo; has $!private = "priv"; method !private { return-rw $!private }}; class Foo {has Bar $.bar .= new; method bar-priv{$!bar!private}}; Foo.new.bar-priv.say | 03:08 | |
camelia | rakudo-moar 998e2b: OUTPUT«5===SORRY!5=== Error while compiling <tmp>No such private method 'private' for invocant of type 'Foo'at <tmp>:1------> 3Bar $.bar .= new; method bar-priv{$!bar!7⏏5private}}; Foo.new.bar-priv.say» | ||
BenGoldberg | m: class Foo {...}; class Bar {trusts Foo; has $!private = "priv"; method !private { return-rw $!private }}; class Foo {has Bar $.bar .= new; method bar-priv{$!bar::private}}; Foo.new.bar-priv.say | ||
camelia | rakudo-moar 998e2b: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Attribute $!private not declared in class Fooat <tmp>:1------> 3.= new; method bar-priv{$!bar::private}}7⏏5; Foo.new.bar-priv.say expecting any of: horizontal whitespace …» | ||
BenGoldberg | m: gist.github.com/BenGoldberg1/20888...fa7c6d32aa | 03:11 | |
camelia | rakudo-moar 998e2b: OUTPUT«B.new(a => A.new(foo => 42))» | ||
BenGoldberg | On the one hand, the example from the doc does do what it says it should. | ||
03:12
mcmillhj joined
03:13
pierre_ left
|
|||
BenGoldberg | On the other hand, I'm suffering from sleepyness :P | 03:13 | |
03:17
mcmillhj left,
zacts joined
03:18
zacts left
03:20
pierre_ joined
|
|||
bioduds | you can't have more than one named parameter in method? | 03:31 | |
multi method insert-item( :$timestamp, :$item, :$value, :$table ) { ... | 03:32 | ||
$control.insert-item( :timestamp( "478637690765641" ), :item( "Name" ), :value( "Eduardo" ), :table( "Users" ) ); | |||
what is wrong here? | |||
Too many positionals passed; expected 1 argument but got 2 is interpreter error | |||
geekosaur | that error doesn't look like it goes with that signature | 03:34 | |
03:39
cpage_ left
|
|||
bioduds | correct | 03:39 | |
it was telling me something else | |||
thanks | |||
03:40
raiph joined
|
|||
bioduds | problem was here my $fh = open "files/e87d72f672a22a.pl", :w; | 03:40 | |
dont know why | |||
got why | 03:41 | ||
directory didn't exist | |||
:D | |||
good | |||
newbie thing | |||
03:42
Girafferson left
03:44
mcmillhj joined
03:46
wamba left
03:49
mcmillhj left
04:00
bjz joined
04:03
DmZDsfZoQv left
04:05
labster joined
04:06
mcmillhj joined
04:11
Cabanossi left,
mcmillhj left
04:13
araujo__ joined,
khw left
04:14
Cabanossi joined,
araujo__ left
04:16
araujo_ left
04:20
bjz left
04:24
bjz joined
04:29
cognominal joined
04:30
zacts joined,
bjz left
04:31
bjz joined
04:39
BenGoldberg left
04:44
woolfy left,
mcmillhj joined
04:47
cyphase_eviltwin joined
04:48
leont joined
|
|||
lizmat | avuserow_: the @a solution allows you to go back to element 0, so it need to keep the elements around | 04:48 | |
04:49
mcmillhj left
|
|||
lizmat | avuserow_: whereas "for |(1..3) xx * { .say }" would just iterate over the values, and not grow in memory usage | 04:50 | |
afk& | |||
04:50
lizmat left
04:53
cognominal left
05:02
pierre_ left
05:09
brrt joined
05:18
TEttinger left
05:19
TEttinger joined
05:25
mcmillhj joined
05:29
mcmillhj left
05:39
rindolf joined
05:44
cyphase_eviltwin is now known as cyphase
05:45
woodruffw left
05:46
leont left
05:56
mcmillhj joined
05:57
ItayAlmog joined
05:58
zacts left
06:00
bjz left,
mcmillhj left
06:02
brrt left,
brrt joined
|
|||
brrt | would like to wish the attendees of YAPC::EU a lot of fun | 06:04 | |
and i'd be very, very, very happy if any of the recordings were put live | 06:05 | ||
or online, at least | |||
06:06
canopus left,
bjz joined
06:12
canopus joined
06:14
nadim joined
|
|||
nadim | morning | 06:14 | |
masak: not in Cluj? | 06:15 | ||
06:15
danaj joined
06:19
brrt left
06:21
zacts joined
06:23
mcmillhj joined
06:26
danaj left
06:27
brrt joined
06:28
mcmillhj left
06:36
CIAvash joined
|
|||
El_Che | www.youtube.com/watch?v=A3ZSt5QKEAg <--- yapce live streaming! | 06:37 | |
brrt | aw yeah | ||
El_Che++ | |||
06:38
chienjo joined
06:39
firstdayonthejob left
06:40
chienjo left
|
|||
El_Che | you can see liz's head! | 06:40 | |
06:43
danaj joined
06:44
mcmillhj joined
|
|||
dalek | ateverable: 4997423 | (Aleks-Daniel Jakimenko-Aleksejev)++ | build.p6: build.p6 is executable Obviously. |
06:46 | |
06:46
dalek left
06:47
bjz left,
dalek joined,
ChanServ sets mode: +v dalek
|
|||
AlexDaniel | dalek: we don't get along very well, right? | 06:47 | |
06:48
labster left
06:49
danaj left
06:50
mcmillhj left
06:51
nadim left
06:54
dj_goku left,
dj_goku joined
06:56
darutoko joined,
nadim joined
06:57
mcmillhj joined
06:58
brrt left
07:01
mcmillhj left
07:02
danaj joined
07:07
labster joined
07:10
domidumont joined,
lizmat joined
07:11
woodruffw joined,
woodruffw left,
woodruffw joined,
woodruffw left
07:12
woodruffw joined,
woodruffw left,
lizmat left,
woodruffw joined,
woodruffw left,
lizmat joined
07:13
woodruffw joined,
lizmat left
07:14
domidumont left,
domidumont joined
|
|||
dalek | ateverable: 67ba201 | (Aleks-Daniel Jakimenko-Aleksejev)++ | README.md: Update README It is really hard to keep README up to date. Let's see if it becomes easier with the wiki. |
07:22 | |
07:23
zakharyas joined
07:27
mcmillhj joined
07:29
AlexDaniel left
07:31
leont joined
07:32
mcmillhj left
07:38
RabidGravy joined
|
|||
masak | morning, #perl6 | 07:39 | |
nadim: no, I'm at Bond-con this year :/ | |||
let me second brrt and wish everyone at YAP::Europe a wonderful conference | 07:40 | ||
ooh, a live stream. www.youtube.com/watch?v=A3ZSt5QKEAg -- El_Che++ | 07:41 | ||
masak stops procrastinating and works on his talk | |||
hehe, watching the live stream while tinkering with slides feels like an approximation of being at YAPC::Europe, sitting in the back room huddled over the laptop in controlled semi-panic | 07:43 | ||
07:49
cognominal joined,
danaj left
07:50
cpage_ joined,
leont left,
ItayAlmog left
07:51
leont joined
08:05
danaj joined
|
|||
Xliff | m: "#708090".substr(1).comb(2).say | 08:09 | |
camelia | rakudo-moar 998e2b: OUTPUT«(70 80 90)» | ||
08:09
petercommand joined
08:10
pierre_ joined
|
|||
Xliff | m: hex("10") | 08:10 | |
camelia | rakudo-moar 998e2b: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Undeclared routine: hex used at line 1» | ||
08:12
cognominal left
|
|||
Xliff | m: '0x70'.fmt('Decimal %d').say | 08:14 | |
camelia | rakudo-moar 998e2b: OUTPUT«Decimal 112» | ||
Xliff | m: '0x70'.fmt('%d').say | ||
camelia | rakudo-moar 998e2b: OUTPUT«112» | ||
Xliff | m: '0x10'.fmt('%d').say | ||
camelia | rakudo-moar 998e2b: OUTPUT«16» | ||
Xliff | m: '10'.fmt('%d').say | ||
camelia | rakudo-moar 998e2b: OUTPUT«10» | ||
Xliff | m: "#708090".substr(1).comb(2).map({ $_ = "0x$_".fmt($d) }).say | 08:15 | |
camelia | rakudo-moar 998e2b: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Variable '$d' is not declaredat <tmp>:1------> 3substr(1).comb(2).map({ $_ = "0x$_".fmt(7⏏5$d) }).say» | ||
Xliff | m: "#708090".substr(1).comb(2).map({ $_ = "0x$_".fmt('%d') }).say | ||
camelia | rakudo-moar 998e2b: OUTPUT«Cannot assign to an immutable value in block <unit> at <tmp> line 1» | ||
Xliff | m: "#708090".substr(1).comb(2).map({ "0x$_".fmt('%d') }).say | ||
camelia | rakudo-moar 998e2b: OUTPUT«(112 128 144)» | ||
Xliff | \o/ | 08:16 | |
08:16
lizmat joined
08:19
rba_ joined
08:20
TEttinger left
08:24
TEttinger joined
|
|||
TimToady | m: "#708090".substr(1).comb(2).map({ :16($_) }).say | 08:25 | |
camelia | rakudo-moar 998e2b: OUTPUT«(112 128 144)» | ||
08:25
bjz joined
|
|||
TimToady | m: :16("#708090".substr(1)).polymod(256 xx *).reverse.say | 08:27 | |
camelia | rakudo-moar 998e2b: OUTPUT«(112 128 144)» | ||
TimToady | m: "#708090".comb(/\w\w/).map({ :16($_) }).say | 08:28 | |
camelia | rakudo-moar 998e2b: OUTPUT«(112 128 144)» | ||
lizmat | is the backlog: irclog.perlgeek.de/perl6/today just not working for me, or is there a more general issue ? | 08:29 | |
TimToady | working for me | ||
moritz | lizmat: how is it not working for you? | 08:30 | |
08:30
noganex joined
|
|||
lizmat | moritz: like not at all | 08:30 | |
moritz | lizmat: what does that mean? | ||
lizmat: timeout? any HTTP error code? empty page? | |||
lizmat | well assuming TimToady is on the same Wifi as I am, I guess the problem is mine | 08:31 | |
moritz: no timeout, but no page either | |||
08:31
noganex_ left
|
|||
moritz | lizmat: does irclog.perlgeek.de/perl6/2016-08-24 work? | 08:31 | |
and you can also try the https:// URL | |||
lizmat | I fear it's a Wifi proxy malfunction or so | 08:32 | |
El_Che | wifi proxy brr | ||
lizmat: tunnel your webtraffic through ssh? | |||
moritz | try HTTPS, it can't proxy it so easily | ||
TimToady is on the speaker wifi, which did freeze up about 10 minutes ago, unless it was my computer, but reattaching fixed it | 08:33 | ||
lizmat tries that | 08:34 | ||
El_Che | the speaker on the livestream also seems to be having network problems | 08:35 | |
and it looks like he counted on it | |||
08:35
lizmat left
08:36
rba_ left
|
|||
dalek | c: 3990324 | moritz++ | doc/Language/ (2 files): Use HTTPS URLs to irclog.perlgeek.de because we can. letsencrypt++ |
08:36 | |
DrForr | letsencrypt++ # using it for .. anupcoming project :) | 08:38 | |
08:40
lizmat joined
|
|||
El_Che | lizmat: I sent you a msg in case it didn't work | 08:41 | |
moritz | I quite like that fact that there are quite some letsencrypt clients to chose from | ||
DrForr | I'm ssh'd into my home server via the speake wifi. | ||
moritz | I tend to use simp_le, which is non-interactive and well suited for cron jobs | ||
masak | heh, Markdown has corrupted my ability to type LaTeX | 08:42 | |
moritz | writing large bodies of text in latex is really painful when you're used to a simpler markup format :-) | 08:43 | |
08:46
kurahaupo joined
08:47
lizmat_ joined,
labster left
08:48
danaj left
08:49
lizmat left
08:51
g4 joined,
lizmat_ left
08:54
lizmat joined
08:58
labster joined
|
|||
lizmat | El_Che: thanks for the tip, now using proxy | 08:59 | |
El_Che | good to hear | ||
09:01
domidumont left,
jonas1 joined
09:04
zakharyas1 joined,
zakharyas left
09:05
bjz left
09:10
bjz joined
09:11
domidumont joined
|
|||
konobi | moritz: isn't there simon's typeset stuff? | 09:15 | |
moritz | konobi: there's lots of typset stuff out there, but I'm not familiar with simon's, specifically | 09:19 | |
09:22
leont left,
smls joined
09:24
danaj joined,
kaare_ joined
|
|||
konobi | moritz: sile | 09:28 | |
09:29
kurahaupo left
|
|||
moritz | so far I'm just writing my stuff in markdown, and when the time comes that I'll have to worry about formatting, I'll throw in some pandoc and latex templates, or something | 09:33 | |
El_Che | newsflash from the yapce livestream: booking is looking for developers :) | 09:39 | |
09:39
zakharyas1 left
|
|||
kaare_ | El_Che: That must be a first! | 09:42 | |
09:42
mvorg joined
09:46
CIAvash left
09:48
CIAvash joined
09:55
danaj left
09:57
nadim left
09:59
melezhik joined
|
|||
melezhik | Hi all! | 09:59 | |
I look if perl6/panda/zef has possibility to install a "share" files so that I could use them in my code , in way of File::ShareDir | 10:00 | ||
something like proposed here - perltricks.com/article/66/2014/2/7/...tribution/ | 10:01 | ||
any ideas? | 10:02 | ||
10:08
araujo joined,
araujo left,
araujo joined,
pierre_ left,
araujo left,
TEttinger left
10:13
labster left
10:15
araujo joined
10:16
lizmat left,
TheLemonMan joined
10:31
edehont joined,
zakharyas joined
10:32
leont joined
10:38
grondilu joined
10:41
canopus left,
leont left
|
|||
moritz | melezhik: I'm pretty sure some of the modules do that already | 10:42 | |
melezhik: iirc you have to specify them in the meta file | |||
jnthn | You use %?RESOURCES to get at them iirc | 10:43 | |
moritz | melezhik: example: github.com/awwaiid/p6-Inline-Ruby/...A.info#L14 and github.com/awwaiid/p6-Inline-Ruby/...by.pm6#L33 | 10:44 | |
10:45
nadim joined
10:46
canopus joined
|
|||
melezhik | mortiz: thanks a lot will take a look ... | 10:48 | |
10:49
edehont left
10:51
zakharyas left
10:54
lizmat joined
10:56
zakharyas joined
10:57
canopus left,
leont joined
11:03
bioduds left,
bioduds joined
11:04
canopus joined
11:06
kurahaupo joined
11:09
cognominal joined
11:15
telex left,
telex joined
|
|||
melezhik | mortiz: hm, looks like I succeeded in installing resources via META.info , but I can't get them in my code, %?RESOURCES looks obscure for me , where can I get a perl6doc on %?RESOURCES ? | 11:24 | |
ChoHag | moar dumps core on openbsd when using zef or panda. | 11:25 | |
I guess since it didn't last year and I've not been able to use perl6 this year, I must be its only openbsd user. | 11:26 | ||
11:32
cognominal left
|
|||
lizmat | melezhik: nine might know how much of %?RESOURCES is implemented | 11:32 | |
moritz | melezhik: pro tip: if you want to hilight me, try spelling my name right :-) Most IRC clients offer tab completion for nick names | 11:35 | |
11:35
pierre_ joined
|
|||
huf | irc clients should support hilighting by similarity :) | 11:36 | |
maurice, moric, mr ortiz, etz | |||
moritz | melezhik: docs.perl6.org/language/modules has some docs | ||
huf: well, irssi does support hilighting by regex | 11:37 | ||
but I don't care enough right now to actually use it | |||
11:39
rba_ joined,
johnjohn101 left
|
|||
melezhik | mortiz: will take a look, thanks | 11:39 | |
11:39
pierre_ left
|
|||
moritz | .oO( the appropriate German word here is "beratungsresistent" ) |
11:41 | |
melezhik | ahh, this is probably what I did wrong - "The resources section is optional, but, if present, should contain a list of the files in your resources directory" | ||
I had a directory names for resources arrays | 11:42 | ||
but I had to a file names | |||
))) | |||
11:42
rba_ left
11:43
rba_ joined
11:44
rba_ left
|
|||
El_Che | watching SawyerX's talk on XS. I must say I prefer NativeCall :) | 11:46 | |
huf | shocking | ||
i dont think even its mother can love XS :) | |||
El_Che | Well, the X makes it sound cool | 11:47 | |
11:47
rba_ joined
|
|||
tadzik | Extra Swag! | 11:51 | |
melezhik | propbably this is something I do wrong: | 11:54 | |
11:54
pierre_ joined
|
|||
melezhik | melezhik@melezhik-pc:~/projects/sparrowdo-nginx$ cat resources/foo.txt OK | 11:54 | |
"resources" : [ "foo.txt" ], | |||
pand install works fine | |||
but ... | 11:55 | ||
leont has gotten a little too comfortable with XS for his own good | |||
11:55
smls left,
smls joined
|
|||
melezhik | perl6 -MSparrowdo::Nginx -e 'say %?RESOURCES<foo.txt>;' ==> Nil | 11:55 | |
leont | It's a camel, it's ugly but it will get you there | ||
moritz | melezhik: you might need to use %?RESOURCES inside the package that you've installed | 11:56 | |
melezhik | moritz - will try, thanks | 11:57 | |
just line "use %?RESOURCES;" ? | |||
it's not compiled ... ((( | 11:58 | ||
11:58
lizmat left,
edehont joined
11:59
pierre_ left
|
|||
melezhik | ok, looks like "say %?RESOURCES<foo.txt>.Str;" | 12:00 | |
in my module code make it resource initialized ... | |||
kind lazy initialzation? | |||
abit tricky ... | |||
ahh, it is only accessible in my module scope | 12:01 | ||
it is not lazy initilaztion ... | |||
12:03
edehont left
12:07
kjs_ joined
|
|||
nine | melezhik: %?RESOURCES is for modules. It also assumes that the directory you are working in looks like lib/Foo.pm resources/foo.txt | 12:12 | |
melezhik: so in Foo.pm you can access foo.txt by %?RESOURCES<foo.txt> | 12:13 | ||
melezhik | yeah, that is it | 12:14 | |
now I know | |||
I assumed that I can access a resource outside of module, but this is not true. anyway it is ok for me as I intended to use resources in modules | 12:15 | ||
nine | It's for resources that are bundled with modules | ||
12:15
skids left
|
|||
bioduds | I am astonished with subsets | 12:16 | |
12:16
iH2O joined
|
|||
nine | bioduds: they are awesome :) | 12:16 | |
melezhik | nine, got it, it is ok | 12:17 | |
tbrowder | [Coke]: I do see the "whitespace" problem but it's a false positive: line 1580, doc/Language/5to6-nutshell.pod6 in the comment line for vim. I didn't mod that file on my last merge so I didn't pick up on it in my xtest. Looks like the whitespace test needs a tweak, but I leave that to doc decision makers as to how to fix it. | 12:21 | |
bioduds | yep nine | 12:22 | |
they reminded me of objective-c categories which I found very cool | 12:23 | ||
iH2O | isnt objective C as obsolete as smalltak? | ||
bioduds | now, if anyone could help me, I'd like a subset that avoids spaces | ||
tbrowder | [Coke]: I meant the non-breaking whitespace test needs a tweak. | 12:24 | |
bioduds | something like subset NoSpaces of Str where !/\S/ | ||
12:25
melezhik left
|
|||
jnthn | where /^\S*$/ would be one way to do it | 12:26 | |
moritz | might need to be subset NoSpace of Str where { ! /\S/ } | ||
or does "where" autothunk? | |||
12:27
iH2O left
|
|||
jnthn | Yes | 12:27 | |
m: subset NoSapce of Str where !/\s/; my NoSpace $str = 'ok'; | |||
camelia | rakudo-moar 2153bf: OUTPUT«5===SORRY!5===Type 'NoSpace' is not declared. Did you mean 'NoSapce'?at <tmp>:1------> 3t NoSapce of Str where !/\s/; my NoSpace7⏏5 $str = 'ok';Malformed myat <tmp>:1------> 3subset NoSapce of Str where !/\s/; my7⏏5 NoSpace…» | ||
jnthn | m: subset NoSpace of Str where !/\s/; my NoSpace $str = 'ok'; | 12:28 | |
camelia | ( no output ) | ||
jnthn | m: subset NoSpace of Str where !/\s/; my NoSpace $str = 'o k'; | ||
camelia | rakudo-moar 2153bf: OUTPUT«Type check failed in assignment to $str; expected NoSpace but got Str ("o k") in block <unit> at <tmp> line 1» | ||
bioduds | thanks jnthn | ||
12:28
n1lp7r joined
12:31
rkazak joined,
domidumont left,
domidumont joined
12:35
rkazak left
|
|||
[Coke] | tbrowder: no, it didn't need a tweak. I fixed it? | 12:37 | |
I'm not sure why you think the test was over-eager. | 12:38 | ||
[Coke] digs through some git history... | |||
Or do you mean there's a -current- failure? | 12:40 | ||
no, no current failure... | |||
12:40
wamba joined
|
|||
[Coke] | the change in github.com/perl6/doc/commit/2ff9fb...3beb2127e1 isn't in a comment. So, I'm confused. | 12:41 | |
timotimo | o/ | 12:43 | |
12:45
kjs_ left
12:49
melezhik_ joined
12:50
pmurias joined
|
|||
pmurias | masak: when will bond conf be streamed? | 12:52 | |
timotimo | the screen they're using for slides is ... pretty terrible | 12:53 | |
12:53
espadrine joined,
melezhik_ left
|
|||
bioduds | subset NoSpace of Str where !/\s/; | 12:55 | |
works fine | |||
timotimo | oh? | 12:56 | |
bioduds | exactly what I needed! declaratively | ||
im shocked. 4th gen is here | |||
that's why it took 15 years :) | |||
timotimo | m: subset NoSpace of Str where !/\s/; my NoSpace $a = "hey"; $a = "hey "; | 12:57 | |
camelia | rakudo-moar 2153bf: OUTPUT«Type check failed in assignment to $a; expected NoSpace but got Str ("hey ") in block <unit> at <tmp> line 1» | ||
timotimo | hm, ok | ||
bioduds | exactly | ||
timotimo | perlsec person says he hasn't looked at perl6 at all yet; maybe he will at some point. that'd be pretty interesting | 12:58 | |
what are the beep beep noises for? :\ | |||
12:59
zakharyas left
13:00
mcmillhj joined
|
|||
pmurias | can I create a NQP level list from Perl 6? | 13:03 | |
jnthn | nqp::list(...) | ||
Depending on exactly what you want to do | 13:04 | ||
also class MySimpleListThingy is repr('VMArray') { } gives you a Perl 6 type with the low-level list REPR | |||
13:10
g4 left
|
|||
pmurias | hmm, if I return nqp::list from a method I can't pass it to NQP land | 13:14 | |
I get a "This type (List) does not support elems" | 13:15 | ||
timotimo | it'll get hllized | ||
you need to be careful about how you invoke the method | |||
if you don't use nqp:: ops to find and invoke it, it'll probably try to be "helpful" | 13:16 | ||
bioduds | would that be a regex to express identifiers in perl6? | ||
13:16
leont left
|
|||
bioduds | must start with an alphabetic character (or an underscore), followed by zero or more word characters (alphabetic, underscore or number) | 13:17 | |
TheLemonMan | the new harness for custom exception handlers is so much useful! ptpb.pw/6HgS | ||
timotimo | bioduds: you can use <ident> from your own regexes | ||
bioduds | can i use it to set a subset? | 13:18 | |
something like: subset StrIdent of Str where <ident> ? | |||
im metaprogramming and some params are becoming var names | 13:19 | ||
therefore a subset that allows only identifiers would be perfect | |||
pmurias | timotimo: what's doing the hllization of the list? | 13:20 | |
13:21
cdg joined
13:22
ptolemarch joined,
cdg left,
cdg joined
|
|||
timotimo | rakudo's codegen inserts a nqp::hllize | 13:22 | |
13:23
Sgeo left
|
|||
[Coke] | I cannot tell you how broken ptpb.pw/ inside $dayjob. | 13:24 | |
bioduds | timotimo, how do I use <ident> ? | ||
*.ident ? | |||
CIAvash | bioduds: where /^<.ident>$/ | ||
bioduds | man, that is freaking awesome | 13:25 | |
13:25
nadim left
|
|||
[Coke] finds a header that makes it look like stackoverflow.com/questions/319504...ttp-header is responsible. | 13:25 | ||
bioduds | I am enjoying P6 so much | ||
13:25
nadim joined
13:27
kjs_ joined
|
|||
jnthn | TheLemonMan: Hahaha...that's great :D | 13:27 | |
13:28
leont joined
|
|||
timotimo | very good! | 13:29 | |
13:31
zakharyas joined
13:32
jcallen joined,
sufrostico joined
|
|||
hahainternet | m: use GTK::Simple; | 13:35 | |
camelia | rakudo-moar 2153bf: OUTPUT«===SORRY!===Could not find GTK::Simple at line 1 in: /home/camelia/.perl6 /home/camelia/rakudo-m-inst-2/share/perl6/site /home/camelia/rakudo-m-inst-2/share/perl6/vendor /home/camelia/rakudo-m-inst-2/share/perl6 CompUnit::R…» | ||
hahainternet | aww | ||
will do it locally then | |||
(profiling startup as it seems to take 30s) | |||
13:36
mohae_ joined
|
|||
timotimo | that'd be nice | 13:36 | |
13:36
andreoss joined
|
|||
timotimo | i was annoyed by how slow it is, but i didn't want to spend too much time on investigating just yet | 13:37 | |
oh crap! the APW is just about to happen! and i'm not actually free to attend it at that time! :o | 13:38 | ||
13:38
skids joined
13:39
mohae left
13:40
raiph left
13:42
dsp_ joined,
leont left,
kjs_ left,
lizmat joined
|
|||
dsp_ | hi. just to check, is it `normal' for, say, GTK::Simple to take an extremely long time to execute? example: | 13:43 | |
gist.githubusercontent.com/anonymo...%2520speed | |||
technoanimal.net/profile-1472045959.63195.html | |||
(i was just experimenting, and was surprised it took so long. wasn't sure if it was my fault or expected at this stage.) | 13:44 | ||
hahainternet | Time Spent | ||
The profiled code ran for 101.65ms | |||
so yeah something wacky's going on there | |||
dsp_ | moar is pegged at 100% cpu before it seems to do anything | ||
tried using moar and moar-blead built using rakudobrew | 13:45 | ||
jnthn | Modules are loaded at compile time, and the profile measures runtime, so if it's in module loading then the profile could still be correct, just not showing the actual problem | ||
--profile-compile might give a more informative output | |||
timotimo | --stagestats will give you a breakdown of compile time, but i don't think it descends into compiling modules during loading (if it compiles anything at all) | 13:46 | |
hahainternet | please re-post the uploaded html too dsp_ cause i wanna look :) | 13:48 | |
dsp_ | yes, i am executing two more runs, one with --profile-compile and one with --stagestats (did not know if they could be combined) | ||
timotimo | they can. it's just a tiny bit of extra printing | 13:49 | |
not *that* informative | |||
dsp_ | % time perl6 --profile-compile gtk.pl | ||
Writing profiler output to profile-1472046521.54126.html | |||
perl6 --profile-compile gtk.pl 78.64s user 0.55s system 99% cpu 1:19.21 total | |||
i will upload now. | |||
timotimo | m: say <foo bar baz quux>.fmt("?", ",") | 13:50 | |
camelia | rakudo-moar 2153bf: OUTPUT«Your printf-style directives specify 0 arguments, but 1 argument was supplied» | ||
timotimo | :( | 13:51 | |
can we have a directive "always print the empty string"? :) | |||
13:52
VnrycepuxO joined
|
|||
smls | Is it possible to make EVAL interpret the given source code in expression context, rather than statement-list context? | 13:52 | |
jnthn | '(' ~ $source ~ ')' # ;-) | 13:53 | |
smls | ah of course | ||
dsp_ | technoanimal.net/profile-1472046521.54126.html -- gist.githubusercontent.com/anonymo...tfile1.txt | ||
smls | thanks | ||
jnthn | Mild hack but :) | ||
smls | using EVAL in the first place is already a hack, so thats ok | 13:54 | |
timotimo | lizmat: i won't actually be able to attend APW, because i've got to be somewhere else during it ;( | ||
nine | :( | ||
lizmat | :-( | ||
RabidGravy | I think I may have been having a bad day in the office when I wrote this github.com/cosimo/perl6-cache-memc...-bug.t#L34 | 13:55 | |
timotimo | that's not perl6 code :P | 13:56 | |
dsp_: the profile result may be too big for the browser-based profiler; you can --profile-filename=foobar.json to get a pure json thing, and then we can feed it into the qt profile viewer thingie | 13:57 | ||
dsp_ | ok, i can do that, one moment. | ||
timotimo | unless the json file is bigger than the arbitrary limit the json parser library we use enforces m( | 13:58 | |
github.com/tadzik/p6profiler-qt - this is the qt profile viewer thing | |||
RabidGravy | timotimo, I know, but because of the bogus skip above it just never got run | 13:59 | |
timotimo | %) | ||
14:00
canopus left
14:02
zacts left
|
|||
Woodi | "...just small quirk. But if it get logo and web page and some people goes mad, then you will fix this ?" :)) #Cluj++ | 14:03 | |
14:05
canopus joined
14:06
kjs_ joined
14:11
lizmat left,
Skarsnik joined
|
|||
dsp_ | technoanimal.net/gtk.json sorry for the delay. | 14:11 | |
timotimo | that's only one second of recorded time | 14:13 | |
did you accidentally --profile instead of --profile-compile? | |||
dsp_ | ah, yes, doh. | 14:14 | |
multitasking with work and sick :/ let me re-up | |||
14:15
harmil joined
14:17
leont joined
|
|||
harmil | If I have an array @a and a potentially shorter array @b is the best way to check that @a starts with @b in a test to, "is-deeply @a[^+@b], @b, 'a starts with b'"? | 14:17 | |
Woodi | timotimo: is there some way to view this .json nicelly ? | ||
timotimo | yes, look at the github link from 18 minutes ago | 14:18 | |
dsp_ | 9.2mb, uncompressed: technoanimal.net/gtk.json.gz | ||
14:18
kjs_ left
|
|||
timotimo | i'm just now recording my own, too | 14:19 | |
huh. there seem to be ~1600 different EVALed code pieces | 14:21 | ||
hahainternet | well there's your problem! | ||
14:21
kjs_ joined
|
|||
timotimo | not necessarily | 14:22 | |
hahainternet | tell us oh profiler, where do we begin the witch hunt? | ||
timotimo | each one of those only runs for like 0.1ms | ||
hahainternet | timotimo: it was just a crap top gear reference :) | ||
timotimo | oh, ok | ||
though to be fair, the method EVAL itself eats up about 30% of the whole run time | |||
on that note ... does someone want to improve the p6profiler-qt? it's missing a bunch of stuff :) | 14:23 | ||
nadim | Hi, this is a request to the moar dev team. I installed p6 on a brand new box and It sefault when trying to run zef. a stack trace here nopaste.linux-dev.org/?1119781 | 14:26 | |
timotimo | nadim: cool. can you give us the --version of perl6 and moar? | ||
nadim | this problem is a mix of intel cpu problem, glibc using it, microcode that seems to not fix it | ||
timotimo: a sec ;) | 14:27 | ||
timotimo | what? %) | ||
nadim | OK, I get you that and I'll continue the story after | ||
14:28
khw joined,
cognominal joined
|
|||
nadim | This is MoarVM version 2016.07-24-g31eccd7 built with JIT support | 14:28 | |
timotimo | hahainternet, dsp_, you could try seeing what happens if you time only from-json from the core setting. | ||
it *could* be that it takes a big chunk of the time it takes to start up GTK::Simple. | 14:29 | ||
14:29
AlexDaniel joined,
kjs_ left
|
|||
nadim | timotimo: This is Rakudo version 2016.07.1-243-gc201a76 built on MoarVM version 2016.07-24-g31eccd7 | 14:30 | |
14:30
lizmat joined
|
|||
nadim | I have update microcode, and even tried to rebuild the glibc package with enable-lock-elision=no, but the packaging system is broken for some, still, obscure reason | 14:32 | |
timotimo: I don't know if it is possible to use something else apart uv_mutex_unlock, or if it is because of trying to unlock a lock that is not locked | 14:33 | ||
timotimo | time to spin up the debugger, eh? | ||
nadim | timotimo: there's plenty error reported about this for other applications | ||
timotimo | it should be somewhat easy to see exactly if the same address is being locked that's being unlocked there | ||
nadim | timotimo: that would be great because Zef seems to use that code and that means that i can't install modules | ||
14:34
kjs_ joined
|
|||
timotimo | i don't think you can run any perl6 code on rakudo without triggering multi_cache_add | 14:34 | |
nadim | p6 seems to work fine otherwise, my module runs through its tests and so does p6 | ||
timotimo | ...wtf | ||
TimToady | harmil: you can use smartmatching for that | 14:36 | |
14:36
notbenh left
|
|||
TimToady | m: say <a b c d> ~~ |<a b c>, * | 14:36 | |
camelia | rakudo-moar 2153bf: OUTPUT«False*» | ||
TimToady | m: say <a b c d> ~~ (|<a b c>, *) | ||
camelia | rakudo-moar 2153bf: OUTPUT«True» | ||
TimToady | like that | ||
timotimo | hahainternet, dsp_, did you get my message? | 14:37 | |
nadim | timotimo: p6 -Ilib bin/zef is the command that breaks (there are probably other) | ||
14:37
iH2O joined
|
|||
timotimo | i'm imagining something like 'my $start = now;' and at the end 'note "json parse took {now - $start}s";' | 14:38 | |
timotimo AFK for a bit | |||
smls | m: say "a1" ~~ /a <? 1>/ | ||
camelia | rakudo-moar 2153bf: OUTPUT«5===SORRY!5===Unrecognized regex metacharacter < (must be quoted to match literally)at <tmp>:1------> 3say "a1" ~~ /a <?7⏏5 1>/Unable to parse regex; couldn't find final '/'at <tmp>:1------> 3say "a1" ~~ /a <?7⏏5 1>/» | ||
smls | Wasn't there some shortcut for <?before > ? | ||
ugexe | nadim: try `perl6 -Ilib bin/zef --/cached ...` which will skip the part of zef that calls a lock. If that doesn't work then its probably a lock/unlock in compunit repo | 14:39 | |
TimToady | m: say <a b c d> ~~ (|<a b c>, **) | ||
camelia | rakudo-moar 2153bf: OUTPUT«True» | ||
jnthn | smls: If it's a char class (which a single char boils down to) then <?[1]> | 14:40 | |
TimToady | er, use **, not *, which only matches one element | ||
smls | jnthn: Ah, maybe that's what I was thinking of | ||
dsp_ | sorry, i've been multitasking. let me look into doiung this json thing you talk about. | ||
TimToady | smls: more generally, anything that goes inside <> can be turned into a lookahead by using <?x> instead of <x> | 14:42 | |
but not a general regex, without 'before' | 14:43 | ||
smls | ok | ||
TimToady | good reason to turn it into a rule if you use it more than once, so you can say <?foo> | 14:44 | |
hahainternet | timotimo: yeah i'm confused, what's 'the core setting'? | ||
TimToady | we really should stop calling it the 'core', when it's really the 'skin'... | 14:45 | |
14:47
iH2O left
|
|||
nadim | ugexe: --/cached? with a slash? | 14:47 | |
harmil | TimToady: Thank you | 14:48 | |
ugexe | nadim: yes, the slash is like -- but false | ||
nadim | ugexe: still get a seg fault | ||
ugexe | nadim: probably in rakudo then. i pm'd you a longer command that should point out exactly where | 14:49 | |
nadim | I've beed digging into that the last two days | ||
ugexe: timotimo got the details too | |||
14:50
lizmat left
|
|||
nadim | ugexe: it's either changing microcode update, glibc, or maybe the mutexes that are used in p6 | 14:50 | |
ugexe | there are multiple locks in compunitrepo and precomp code | ||
14:51
lizmat joined
14:52
cognominal left
14:55
lizmat left
|
|||
nadim | timotimo: nopaste.linux-dev.org/?1119782 | 14:56 | |
14:57
lizmat joined
15:04
wamba left
|
|||
timotimo | hahainternet: it's the piece of code that gives you basically every single class, sub, and operator you'd use in perl6 | 15:05 | |
tbrowder | [Coke]: My bad, I did xtest in a non-current dir. xtest looks good on master just now. Only error is the usual "t/00-load.t ............... 1/1 | 15:07 | |
# Failed test 'load module Pod::To::BigPage' | |||
# at t/00-load.t line 6 | |||
# ===SORRY!=== | |||
# Expected MAST::Frame, but didn't get one" | |||
which I assume all are getting (still an issue in Pod::To::BigPage). | |||
hahainternet | timotimo: well ultimately i was asking 'what do you want me/dsp to run exactly'? | 15:08 | |
dalek | c: 6600455 | (Zoffix Znet)++ | doc/Language/testing.pod6: Fix broken URL |
||
[Coke] | tbrowder: no, I'm not getting that error because I don't have the broken optional dependecy installed. | ||
something SSL related. | |||
timotimo | hahainternet: run $EDITOR src/core/Rakudo/Internals/JSON.pm | ||
15:09
leont left
|
|||
timotimo | m: say now; say time | 15:10 | |
camelia | rakudo-moar 2153bf: OUTPUT«Instant:1472051478.9445911472051442» | ||
timotimo tends to forget which is the one that has the sub-second precision | |||
15:12
cibs left
|
|||
tbrowder | which optional dependency is that? | 15:13 | |
15:14
cibs joined
|
|||
hoelzro | o/ #perl6 | 15:16 | |
timotimo | heyo hoelzro | 15:17 | |
hoelzro | howdy timotimo | ||
timotimo | who the hell is parsing all that json | 15:18 | |
tbrowder | [Coke]: I've tried uninstalling LWP::Simple and Pod::To::BigPage and reinstalling with "zef --force install Pod::To::BigPage" which didn't eliminate the error with xtest. What did you do to eliminate the error? | ||
[Coke]: Never mind, I read the rest of the comments on the issue. Thanks. | 15:19 | ||
hoelzro | this might be a terrible idea - but do we have a way (from a module) to have a module B which is imported by module A at BEGIN time, and B installs an INIT phaser into A's unit? | 15:20 | |
timotimo | i don't think we do. | 15:21 | |
but you can do it with a slang | |||
hoelzro | hmm, I hadn't thought of slangs | 15:22 | |
15:22
kyclark_ joined
|
|||
hoelzro | the best trick I had up my sleeve was exporting something into A that does...something. | 15:22 | |
15:23
acrussell joined
|
|||
kyclark_ | Given a hash like my %h = red => 10, blue => 3, green => 5; how can I sort it by the values? | 15:24 | |
jnthn | for %h.sort(*.value) { ... } | 15:25 | |
(Note that you're actually sorting a list of the pairs in the hash; hashes themselves are unordered) | |||
15:27
kjs_ left
|
|||
kyclark_ | That is so nice! | 15:28 | |
timotimo | dsp_, hahainternet, i get a total time spent in json parsing of 36.5 seconds, the profiler says the whole program took 70 seconds | ||
tbrowder | [Coke]: See the comment I added to the Pod::To::BigPage issue. The problem is solved for me at least for the moment (I need IO::Socket::SSL for another project). | 15:31 | |
timotimo | that is, a simple "use GTK::Simple" will parse 407 blobs of json and takes 50% of its run time doing that. | 15:32 | |
dsp_, hahainternet, want to try plugging in JSON::Fast instead of JSON::Tiny and see how much better it gets? or maybe try caching json text to json result? | |||
kyclark_ | I’d like to constrain a “sort-by” argument to “key” or “value,” so I’m thinking about using “enum <key value>” and then somehow checking that the argument is in there. 1) Does that sound best? 2) How can I do that? | 15:38 | |
15:39
mcmillhj left
|
|||
kyclark_ | enum SortBy <key value> | 15:39 | |
timotimo | you can also smart match against any(<key value>) | ||
or against a hash | 15:40 | ||
moritz | or yes, use the enum | ||
timotimo | yup | ||
moritz | timotimo: or a Set :-) | ||
timotimo | right, anything Associative, really | ||
moritz | m: enum SortBy <key value>; sub f(SortBy $x) { say $x }; f key | ||
camelia | rakudo-moar 76e1ed: OUTPUT«key» | ||
moritz | m: enum SortBy <key value>; sub f(SortBy $x) { say $x }; f 'key' | ||
camelia | rakudo-moar 76e1ed: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Calling f(Str) will never work with declared signature (SortBy $x)at <tmp>:1------> 3ey value>; sub f(SortBy $x) { say $x }; 7⏏5f 'key'» | ||
kyclark_ | m: enum SortBy <key value>; say ‘key’ ~~ SortBy | ||
camelia | rakudo-moar 76e1ed: OUTPUT«False» | ||
timotimo | that's more problematic :) | 15:41 | |
but let's try this: | |||
m: enum SortBy <key value>; sub f(SortBy() $x) { say $x }; f 'key' | |||
camelia | rakudo-moar 76e1ed: OUTPUT«Method 'SortBy' not found for invocant of class 'Str' in sub f at <tmp> line 1 in block <unit> at <tmp> line 1» | ||
timotimo | aaw | ||
15:41
mcmillhj joined
|
|||
dsp_ | timotimo: sorry for the lack of replies, i'm still at the office. but, i'm glad to know it wasn't "just me" that had the long execution times. i thought it was a quirk of my setup perhaps. | 15:41 | |
timotimo | nope, it's not just you :) | 15:42 | |
dsp_ | when i have some time, i will see if i can hack at it | ||
15:44
leont joined
|
|||
timotimo | it's parsing the exact same json blob a million times | 15:44 | |
mspo | should get pretty good at it ;) | ||
timotimo | except it doesn't :) | 15:45 | |
dsp_ | timotimo: this JSON::Tiny to JSON::Fast, is it in the compiler you are referring to for the change? | ||
timotimo | it's in src/core/Rakudo/Internals/, that's all Perl 6 code | 15:46 | |
dsp_ | aha | ||
i will have a look, thank you | |||
pmurias | can I declare a lexical variable with an arbitray name like $#@?!? | ||
timotimo | cool. it's doing 240 json parses, 237 of them could have come straight from the cache. | ||
pmurias: it's possible with a slang, i suppose | |||
dsp_: but putting a cache in there seems like a very bad idea, because it could be used from multiple threads | 15:48 | ||
dsp_: it'd be better to put the cache into whatever part of the CompUnitRepo stuff uses json parsing | |||
dsp_: gist.github.com/anonymous/d174b167...ebf1b1fb9c here's my diff for rakudo to do these measurements i was talking about | 15:49 | ||
kyclark_ | This script basically does what I want: Sorts by keys/values either asc/desc. I was thinking of using a type to constrain the “sort-by”. It’s not strictly necessary, but I’m trying to show cool examples. Also, any other comments welcome. pastie.org/10939611 | ||
dsp_ | thank you | 15:50 | |
timotimo | YW :) | ||
kyclark_: i'd personally get rid of both for loops :) | 15:52 | ||
did you know about .Bag? | |||
kyclark_ | Yes, sorry, I should explain my MO. I start with very simple, imperative examples and then build up. www.gitbook.com/book/kyclark/metag...cs/details | ||
timotimo | m: <a b c a a a b b c>.Bag.say | ||
camelia | rakudo-moar 76e1ed: OUTPUT«bag(a(4), c(2), b(3))» | ||
kyclark_ | This is for teaching beginngers (grads/undergrads) programming. | ||
timotimo | $file.IO.lines.Bag would do the same thing your first for loop does | 15:53 | |
OK | |||
in that case, maybe keep the for loop | |||
kyclark_ | I’m up to 5 versions of this script, will probably hit 10. :-) | ||
timotimo | your current program would allow $sort-by to be 'age' or 'taste' as well :) | 15:54 | |
anyway, BBIAB :) | |||
kyclark_ | Right, I want to find a cool way to keep $sort-by to “key” or “value" | 15:57 | |
Preferable in the type/MAIN sig | 15:58 | ||
15:58
zakharyas left
|
|||
kyclark_ | Maybe a “subset”? | 15:58 | |
timotimo | subset is fine | ||
15:58
smls left
|
|||
kyclark_ | This seems to work: | 16:04 | |
subset SortBy of Str where * ~~ /^keys|values$/; | |||
Is that the most elegant? | |||
16:06
mcmillhj left
16:07
mcmillhj joined
|
|||
kyclark_ | What am I doing wrong here? | 16:07 | |
m: my $ok = <red green>.Bag; say ‘red’ ~~ $ok; | |||
camelia | rakudo-moar 76e1ed: OUTPUT«False» | ||
kyclark_ | How do I check for membership in a bag? | 16:08 | |
16:08
rba_ left
|
|||
kyclark_ | I see I can do $ok<red> — any other way? | 16:08 | |
grondilu | m: subset SortBy of Str where "keys"|"values"; say "keys" ~~ SortBy | ||
lizmat | m: my $ok = <red green>.Bag; say $ok<red>:exists | ||
camelia | rakudo-moar 76e1ed: OUTPUT«True» | ||
kyclark_ | Bag or Set, actually. Either will do. | ||
hoelzro | kyclark_: (elem) would do it too, I think | ||
or ∈, if you're feeling fancy | 16:09 | ||
kyclark_ | Yes, (elem)! | ||
16:11
lizmat left
16:13
leont left
16:15
imcsk8 left
|
|||
kyclark_ | What am I missing here? I want to see if I was provided either “key” or “keys”. | 16:16 | |
m: my $sort-by = 'keys'; say $sort-by ~~ 'key' | |||
camelia | rakudo-moar 76e1ed: OUTPUT«False» | ||
kyclark_ | Oh, sorry, needed // | 16:17 | |
geekosaur | m: my $sb = 'keys'; say so 'key'.ACCEPTS($sb) | ||
camelia | rakudo-moar 76e1ed: OUTPUT«False» | ||
geekosaur | ^ is what that actually means; when written that way it's more obvious it's not going to work... | ||
16:18
mohae joined
|
|||
timotimo | well, you might also want to allow Key and Keys, too. as well as KEY and KEYS? | 16:18 | |
16:20
mohae_ left
16:21
imcsk8 joined
|
|||
kyclark_ | Given a list of lists e.g.: | 16:25 | |
((mouse 1) (cat 3) (bird 1) (dog 2) (frog 5) (cat 2) (mouse 7)) | |||
How can I sum those up on the first part? Turn then into a BagHash? | |||
16:25
mcmillhj left
|
|||
kyclark_ | So mouse => 8, cat => 5, ... | 16:25 | |
hoelzro | you could use classify | 16:26 | |
and then sum or...sumthing | |||
(•_•) / ( •_•)>⌐■-■ / (⌐■_■) | |||
timotimo | Bag.from-pairs? | 16:28 | |
gregf_ | or reduce | ||
timotimo | in that case it'd probably have to be something like: | 16:29 | |
16:30
domidumont left
|
|||
timotimo | m: my @pieces = ("mouse", 1), ("cat", 3), ("bird", 1), ("dog", 2), ("frog", 5); my $bag = Bag.new; $bag{@pieces>>.[0]} = @pieces>>.[1]; say $bag.perl | 16:30 | |
camelia | rakudo-moar 76e1ed: OUTPUT«Cannot modify an immutable Int in block <unit> at <tmp> line 1» | ||
16:30
nadim left
|
|||
timotimo | oh? | 16:30 | |
oh, yeah | 16:31 | ||
m: my @pieces = ("mouse", 1), ("cat", 3), ("bird", 1), ("dog", 2), ("frog", 5); my $bag = BagHash.new; $bag{@pieces>>.[0]} = @pieces>>.[1]; say $bag.perl | |||
camelia | rakudo-moar 33be22: OUTPUT«("mouse"=>1,"frog"=>5,"cat"=>3,"bird"=>1,"dog"=>2).BagHash» | ||
timotimo | Bag is immutable, BagHash is the mutable variant | ||
awwaiid | cool, but you missed the 'sum' bit | 16:32 | |
kyclark_ had like mouse and cat listed twice | |||
timotimo | oh | 16:34 | |
that'd just be a += instead of = in there | |||
awwaiid | madness | ||
timotimo | yes, that's me | 16:35 | |
awwaiid | m: my @pieces = <mouse 1>, <cat 3>, <bird 1>, <dog 2>, <frog 5>, <cat 2>, <mouse 7>; my %sums; for @pieces -> ($k, $v) { %sums{$k} += $v } ; say %sums | 16:37 | |
camelia | rakudo-moar 33be22: OUTPUT«{bird => 1, cat => 5, dog => 2, frog => 5, mouse => 8}» | ||
timotimo | ah, that's a bit prettier than mine | ||
thanks to the magic of val and all the right coercions being done for yo | |||
16:38
lizmat joined
|
|||
awwaiid | kyclark_: the trickiest bit of this loop is the -> ($k, $v); the parenthesis de-structure the pair. If you left them out you'd get separate elements from @pieces. Otherwise it is just: loop over them all and sum them into a hash | 16:38 | |
16:40
mcmillhj joined
|
|||
timotimo | i think you may have to explain "separate elements" a bit more | 16:41 | |
because you'd still get the pairs as little lists in each run through the loop | 16:42 | ||
16:47
canopus left
16:53
canopus joined
16:56
mcmillhj left,
faubi left
|
|||
gregf_ | if you can translate this ruby code to perl6: [%w|mouse 1|, %w|cat 3|, %w|bird 1|, %w|dog 2|, %w|frog 5|, %w|cat 2|, %w|mouse 7|].reduce(Hash.new(0)){ |h,a| h[a[0]] += a[1].to_i; h } | 16:58 | |
timotimo | what changes are allowed when translating? | 16:59 | |
m: sub infix:<INTO>(%h, ($k, $v)) { %h{$k} += $v; %h }; say [INTO] BagHash.new(), (<mouse 1>, <cat 3>, <bird 1>, <dog 2>, <frog 5>, <cat 2>, <mouse 7>); | 17:01 | ||
camelia | rakudo-moar 33be22: OUTPUT«Too many positionals passed; expected 2 arguments but got 7 in sub-signature in sub infix:<INTO> at <tmp> line 1 in block <unit> at <tmp> line 1» | ||
timotimo | m: sub infix:<INTO>(%h, ($k, $v)) { %h{$k} += $v; %h }; say [INTO] BagHash.new(), |(<mouse 1>, <cat 3>, <bird 1>, <dog 2>, <frog 5>, <cat 2>, <mouse 7>) | 17:02 | |
camelia | rakudo-moar 33be22: OUTPUT«BagHash.new(mouse(8), frog(5), cat(5), bird, dog(2))» | ||
timotimo | m: sub infix:<INTO>(%h, ($k, $v)) { %h{$k} += $v; %h }; .say for [\INTO] BagHash.new(), |(<mouse 1>, <cat 3>, <bird 1>, <dog 2>, <frog 5>, <cat 2>, <mouse 7>) | ||
camelia | rakudo-moar 33be22: OUTPUT«BagHash.new()BagHash.new(mouse)BagHash.new(mouse, cat(3))BagHash.new(mouse, cat(3), bird)BagHash.new(mouse, cat(3), bird, dog(2))BagHash.new(mouse, frog(5), cat(3), bird, dog(2))BagHash.new(mouse, frog(5), cat(5), bird, dog(2))BagHash.…» | ||
vcv | m: my @pieces = ("mouse", 1), ("cat", 3), ("bird", 1), ("dog", 2), ("frog", 5); say @pieces.categorize(*[0]).map({ .key => .value.map(*[1]).sum }) | ||
camelia | rakudo-moar 33be22: OUTPUT«(mouse => 1 frog => 5 cat => 3 bird => 1 dog => 2)» | ||
vcv | m: my @pieces = ("mouse", 1), ("cat", 3), ("bird", 1), ("dog", 2), ("frog", 5); say @pieces.categorize(*[0]).map({ .key => .value.map(*[1]).sum }).Hash | ||
camelia | rakudo-moar 33be22: OUTPUT«{bird => 1, cat => 3, dog => 2, frog => 5, mouse => 1}» | ||
timotimo | that's not using reduce :) | ||
gregf_: how do you like my version with the triangle reduce added to it? :) | 17:03 | ||
vcv | m: my @pieces = <mouse 1>, <cat 3>, <bird 1>, <dog 2>, <frog 5>, <cat 2>, <mouse 7>; say @pieces.categorize(*[0]).map({ .key => .value.map(*[1]).sum }).Hash | ||
camelia | rakudo-moar 33be22: OUTPUT«{bird => 1, cat => 5, dog => 2, frog => 5, mouse => 8}» | ||
skids | m: my %h; %h.append: <<mouse 1 cat 3 bird 1 dog 2 frog 5 cat 2 mouse 7>>; %h = %h.kv.map: { $^k => [+] $^v }; %h.say | 17:08 | |
camelia | rakudo-moar 33be22: OUTPUT«{bird => 1, cat => 5, dog => 2, frog => 5, mouse => 8}» | ||
gregf_ | wow, thats neat ;) | 17:09 | |
17:10
canopus left
17:14
faubi joined
17:15
canopus joined,
edehont joined
|
|||
skids | m: BagHash.^can("append")>>.signature.say # Hrm... | 17:17 | |
camelia | rakudo-moar a4cc1c: OUTPUT«(($: | is raw))» | ||
17:18
firstdayonthejob joined
|
|||
skids | m: my %h := BagHash.new(); %h.append("a",4); %h.say | 17:19 | |
camelia | rakudo-moar a4cc1c: OUTPUT«Cannot resolve caller append(BagHash: Str, Int); none of these signatures match: (Any:U \SELF: |values is raw) in block <unit> at <tmp> line 1» | ||
awwaiid | m: my %h; %h.append: <<mouse 1 cat 3 bird 1 dog 2 frog 5 cat 2 mouse 7>> ; say %h # interesting! | ||
camelia | rakudo-moar a4cc1c: OUTPUT«{bird => 1, cat => [3 2], dog => 2, frog => 5, mouse => [1 7]}» | ||
17:19
mcmillhj joined
17:22
edehont left
17:25
Actualeyes left
17:31
setty1 joined,
kjs_ joined
|
|||
b2gills | m: #`( pmurias: how about this ) my \term:<$#@?!?> = $ = 41; say $#@?!?++; say $#@?!? | 17:37 | |
camelia | rakudo-moar a4cc1c: OUTPUT«4142» | ||
17:38
Actualeyes joined
17:48
cognominal joined,
kjs_ left
17:52
andreoss left,
andreoss joined
|
|||
timotimo | SourceBaby: BagHash append | 17:53 | |
s: BagHash, "append", \(Pair) | |||
SourceBaby | timotimo, Sauce is at github.com/rakudo/rakudo/blob/a4cc...ny.pm#L186 | ||
andreoss | is gather/take thread safe? | ||
timotimo | andreoss: you can't gather/take across thread boundaries | ||
17:54
kjs_ joined
|
|||
timotimo | hmm | 17:54 | |
i wonder, though. | |||
well, you can't force a Seq that's backed by a gather/take to generate a new value from two threads at the same time without expecting some trouble ... i think | |||
s: BagHash, "append", \(BagHash:D: Pair) | 17:55 | ||
SourceBaby | timotimo, Something's wrong: ERR: ===SORRY!=== Error while compiling -eConfusedat -e:6------> ourcery( BagHash, "append", \(BagHash:D:⏏ Pair) )[1]; expecting any of: colon pair | ||
timotimo | s: BagHash, "append", \(BagHash:D, Pair) | 17:56 | |
SourceBaby | timotimo, Sauce is at github.com/rakudo/rakudo/blob/a4cc...ny.pm#L186 | ||
17:56
sufrostico left
|
|||
timotimo | now you're just fucking with me :( | 17:56 | |
17:56
acrussell left
|
|||
timotimo | i wonder if zoffix would know how to do this right? | 17:58 | |
18:03
kjs_ left
|
|||
dalek | ecs: b14828b | (Zoffix Znet)++ | v6d.pod: Forbid Bare C<\b> in Regexes Implementation to close RT#128986 |
18:03 | |
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=128986 | ||
18:05
mvorg left
|
|||
RabidGravy | gah, starting yet another module :( I blame domm and davorg entirely for this | 18:07 | |
though to be fair I have spent three days trolling right wingers on twitter when I could have been finishing some software :-\ | 18:08 | ||
18:08
kjs_ joined
18:09
itaipu joined
18:10
zacts joined
|
|||
timotimo | sometimes you just need to engage in political discourse | 18:11 | |
18:12
cognominal left
|
|||
timotimo | do i want to read the oauth2 spec to figure out how the thing works? | 18:13 | |
mspo | no unless you want to get sued for patent infringement | 18:18 | |
timotimo | wat? | 18:19 | |
mspo | oauth is encumbered multiple ways | 18:21 | |
timotimo | software patents ... | 18:22 | |
jnthn | It'll only lead to disappointment when you end up having to integrate with someone's home-grown oauth impl and discover they only half read the spec :P | ||
mspo | therealdaily.com/corporate/guyzar-...t-lawsuit/ | ||
and of course the literal patent (not the one in that lawsuit) www.google.com/patents/WO2013049461A2?cl=en | |||
etc | |||
timotimo | cool. | 18:23 | |
mspo | but go for it :) | 18:24 | |
18:25
n1lp7r left
|
|||
timotimo | oracle has the oauth2 patent? | 18:25 | |
mspo | it's a weird world | ||
the one from the lawsuit is ridiculous | |||
if you read it | |||
RabidGravy | timotimo, strange you talk about OAuth2 - is this for anything specific? | ||
timotimo | in general, i don't want to touch anything oracle owns with a ten foot pole | ||
but that's hardly possible | 18:26 | ||
RabidGravy: one of your last tweets | |||
18:26
sjoshi joined
|
|||
mspo | timotimo: oracle holding it is probably a good thing since it's slightly less likely to get sold to one of those patent troll companies | 18:26 | |
RabidGravy | oh yeah, my general approach is to implement just enough to get it to work with a given service :) | 18:27 | |
timotimo | i'm not sure i'm able to read a patent | ||
RabidGravy | isn't there an oasis or w3c or something spec though? | ||
jnthn | For oAuth2? There's RFCs. | 18:29 | |
mspo | timotimo: don't bother because you can get sued for anything even if it's barely related | ||
jnthn | tools.ietf.org/html/rfc6749 | ||
timotimo | yeah | ||
18:29
ugexe left
|
|||
mspo | the one from that article is something about ecommerce | 18:29 | |
like very specifically | |||
jnthn | Also tools.ietf.org/html/rfc7662 | ||
RabidGravy | yeah I knew I read it somewhere, got confused and settled on my current approach | 18:30 | |
18:30
khagan joined
|
|||
timotimo | i don't have anywhere near the necessary amount of focus that'd be needed to ingest patent language | 18:31 | |
18:32
mcmillhj left
18:33
mcmillhj joined
18:34
kjs_ left,
cdg left
18:42
kjs_ joined
|
|||
hoelzro | timotimo: when you mentioned a slang for my idea earlier - I would "just" need to add some language construct that tacks a new intializer on top of $*UNIT[0], right? | 18:53 | |
timotimo | um, i guess so? | ||
the language construct may be as simple as "end of file" :) | |||
hoelzro | that should work nicely =) | 18:54 | |
timotimo | :P | ||
maybe you can already do the thing the moment your slang gets incorporated, or maybe even without a slang altogether? | 18:55 | ||
hoelzro | oh, yeah, haha | 18:56 | |
well, the slang incorporation would be at BEGIN time, right? | |||
18:56
ugexe joined
|
|||
hoelzro | hmm | 18:56 | |
yeah, I don't think that would work | |||
it need to happen at INIT time, unfortunately =/ | 18:57 | ||
*it needs | |||
18:57
zengargoyle left
|
|||
hoelzro | (I want to write a module that allows users to write POD transform modules that don't require any work beyond DOC use Pod::My::Module) | 18:57 | |
19:06
sjoshi left
19:08
zengargoyle joined
19:09
mohae_ joined
19:10
mohae__ joined
19:11
wamba joined,
mohae left
19:12
darutoko left
19:14
cgfbee joined
|
|||
RabidGravy | timotimo, going back to the Medium.com API I suspect I will just go for the "Self-issued access tokens" approach in the first place and not worry about the full OAuth2 dance | 19:14 | |
19:14
mohae_ left
19:15
kjs_ left
19:28
andreoss left
19:29
zacts left
19:30
smls joined
19:33
espadrine left
19:38
[Coke]_ joined
19:39
[Coke]_ is now known as [Coke]
|
|||
[Coke] finally drags himself into the 2010s and switches to tmux | 19:39 | ||
El_Che | what triggered the switch? | 19:41 | |
(still using screen) | |||
[Coke] | tmux -CC | ||
19:41
kyclark_ left
|
|||
[Coke] | being able to have my original screen tabs as 2 separate OS X windows and having it remember the settings in between connections. | 19:42 | |
19:43
mohae__ left,
mohae joined,
canopus left
|
|||
RabidGravy | to be honest I'd probably use scr or jsb multiview if they were still going :-\ | 19:43 | |
El_Che | as a linux user (and linux on a VM when windows imposed), I mostly use screen to leave processes running. As a for window management, I just open an other gui terminal for a new session | 19:44 | |
what with the the drama on blogs.perl.org. Zoffix seems pretty pissed of. Hopefully it will fade | 19:45 | ||
grondilu | El_Che: consider switching to tmux. I did and I'm happy about it. | 19:47 | |
for one it's more robust in terms of connection loss. | 19:48 | ||
RabidGravy | El_Che, yeah I'm mostly in the same place re terminals | 19:49 | |
19:51
canopus joined
19:53
itaipu left
19:55
TEttinger joined
19:58
kyclark_ joined
19:59
itaipu joined
20:01
TheLemonMan left
|
|||
TimToady | m: my @pieces = <mouse 1>, <cat 3>, <bird 1>, <dog 2>, <frog 5>, <cat 2>, <mouse 7>; say [⊎] @pieces».Hash | 20:01 | |
camelia | rakudo-moar a4cc1c: OUTPUT«bag(mouse(8), frog(5), cat(5), bird, dog(2))» | ||
20:01
TheLemonMan joined
|
|||
awwaiid | I don't even | 20:04 | |
hoelzro | so the multi-set union operator implicitly adds duplicate values? | ||
awwaiid | unrelatedly -- when I'm in a loop anything I call can do 'next' or 'last', dynamic like. Any way to stop them, maybe make it raise an error? I'm trying to make it so that 'last' doesn't exit the REPL | 20:05 | |
hoelzro | awwaiid: I was looking at that bug earlier =P) | ||
20:05
TheLemonMan left
|
|||
hoelzro | I think it should be possible now that the REPL is all in REPL.pm | 20:05 | |
TimToady | that's what multi-set union means, dumping two bags into one | ||
hoelzro | awwaiid: CONTROL { ... } should do it (I think) | ||
ah ha | |||
awwaiid | hoelzro: I've got it catching 'return', but stopping 'next' / 'last' via a CONTROL { ... } has weird consequences | ||
hoelzro | oh, really? =/ | 20:06 | |
awwaiid | well. maybe it shouldn't and I need to golf a bit | ||
but I think CONTROL { } maybe is only supposed to trigger when it _can't_ do 'next' ? | |||
though it seems to catch it all the time | |||
jdv79 | i thought the 5 6 crap was behind us. guess that was overly optimistic... | ||
RabidGravy | what is the [⊎] character, and can it be composed? | 20:08 | |
TimToady | it's just a reduce | ||
20:08
cdg joined
20:09
TheLemonMan joined
|
|||
hoelzro | awwaiid: next should raise a control exception that an enclosing loop construct should catch via CONTROL | 20:09 | |
RabidGravy | no, no the actual character in the brackets, I can't see what it is :) | ||
TimToady | it's just a ∪ (union) with a teeny tiny + inside, which is pretty indicative of what it's supposed to do to the values :) | 20:10 | |
20:10
kjs_ joined
|
|||
hoelzro | RabidGravy: www.fileformat.info/info/unicode/ch.../index.htm | 20:10 | |
it all makes sense now! | |||
20:10
grondilu left
|
|||
RabidGravy | it doesn't appear to be composable with three keystrokes :-\ | 20:11 | |
TimToady | oh, that kind of composable | 20:12 | |
I just type 'u union' and copy/paste out of the list :) | |||
oughta be U+ or some such, I suppose | |||
hoelzro | isn't that the origin of the U+XXXX notation for Unicode? | 20:13 | |
TimToady | m: my @pieces = <mouse 1>, <cat 3>, <bird 1>, <dog 2>, <frog 5>, <cat 2>, <mouse 7>; say [(+)] @pieces».Hash | 20:14 | |
camelia | rakudo-moar a4cc1c: OUTPUT«bag(mouse(8), frog(5), cat(5), bird, dog(2))» | ||
TimToady | my program for looking up unicode char is called 'u' | ||
I use it often enough that I have a single-char alias | 20:15 | ||
dalek | line-Perl6: 7d08b32 | niner++ | lib/Inline/Perl6.pm: Little documentation update |
||
awwaiid | docs.perl6.org/routine/($PLUS_SIGN) -- baggy additon operator | ||
20:15
nowan joined
|
|||
TimToady | and I have a program 'unik' that lists composable chars, but no entry for multisets | 20:16 | |
dalek | line-Perl6: c7697b1 | niner++ | lib/Inline/Perl6.pm: Version 0.07 |
||
RabidGravy | yeah in vim it's fine but six keystrokes | ||
hoelzro | TimToady: which program is it? | ||
hoelzro uses unichars | |||
RabidGravy: map it to a digraph then =) | 20:17 | ||
TimToady | I've posted it here several times, just a p5 code the uses 'do' to pull in the table and does a direct lookup | ||
hoelzro | ahhh | ||
RabidGravy | It's not something I do a great deal, don't automate until you need to do it more that once :) | 20:18 | |
TimToady | there are fancier compose tables out there that probably include ⊎, but I haven't been able to get them to work with anthy | ||
20:19
woolfy joined
|
|||
RabidGravy | yeah I think the xcompose thing here let's you set them up, and <Compose> U + doesn't do anything right now :) | 20:19 | |
Xliff | Anyone know of a module or set of modules that can convert color names to hex values (or RGB)? | 20:22 | |
If not, I might have a solution. =) | |||
I have X11 and Pantone C colors converted to something useable by Perl6. Was wondering if anyone had other lists that I could add to the stack? | 20:23 | ||
20:24
zacts joined
|
|||
awwaiid | hoelzro: ok ... problem is that the CONTROL { ... } is in a block in which I actually DO want to do like 'next REPL' now and then. I'm now moving the CONTROL into a deeper method, but that is where things go weird. | 20:24 | |
20:25
cdg left
|
|||
hoelzro | ah ha | 20:25 | |
awwaiid: you said in here you're going to Strange Loop next month, right? | |||
awwaiid | yes | 20:26 | |
you? | |||
we should all go | |||
hoelzro | I'll be there =) | 20:30 | |
if you don't have a chance to fix this by then, we can team on it in person =) | |||
heck, we should have a mini REPL.pm hackathon | |||
awwaiid | indeed | 20:33 | |
I have a smaller one, and am shrinking it further | |||
hoelzro: gist.github.com/awwaiid/488cb1ef1d...fcd314eaa8 | 20:34 | ||
you can see here that it works for next/last/return, but now when you do a regular exception it is almost like the CONTROL still takes affect even though the scope is different, and it takes affect AFTER the the initial exception is caught | 20:35 | ||
I'm golfing further now | |||
20:36
nadim joined
20:37
canopus left
|
|||
hoelzro | interesting... | 20:38 | |
20:38
mvorg joined
|
|||
RabidGravy | Xliff, do it! But make it pluggabe perhaps so if someone comes up with some new colour lists it's easier :) | 20:38 | |
El_Che | lizmat & woolfy: don't give out all the camelia stickers at yapc. Leave on for me :) | 20:39 | |
lizmat | El_Che: we will :-) | 20:40 | |
El_Che | \o/ | ||
awwaiid | hoelzro: gist.github.com/awwaiid/faa4a37e57...a111a7925c you can see here that the second loop gets into the CONTROL block even though it shouldn't | 20:44 | |
woolfy | Claudio Ramirez: we have two types of Camelia stickers: round ones that I ordered to make by a Dutch company, and hexagonal full-colour stickers made by Mark Keating. | 20:45 | |
[Coke] | we should make docs.perl6.org the main link on perl6.org/documentation/ | 20:46 | |
awwaiid | [Coke]++ # yep | ||
[Coke] | I'm sure it's been mentioned before, just hit me today because I went through the main page first. | 20:47 | |
hoelzro | wth | 20:48 | |
[Coke] has to figure out how to use start properly. blah. | |||
20:49
canopus joined
|
|||
timotimo | [Coke]: i agree, it should get a big button at the top or something | 20:49 | |
maybe like a hero unit | |||
perhaps smaller than a typical hero unit? | |||
lizmat | m: await start { say "started" }; say "done" | ||
camelia | rakudo-moar a4cc1c: OUTPUT«starteddone» | ||
20:49
brrt joined
|
|||
El_Che | Wendy van Dijk: thx, curious how they look | 20:49 | |
[Coke] | lizmat: don't want to await, I'm in a callback where I don't have control over the main loop. | 20:51 | |
it'll probably be fine if no errors occur... | |||
awwaiid | m: gist.github.com/awwaiid/7acc14380c...b42933b55a | 20:52 | |
camelia | rakudo-moar a4cc1c: OUTPUT«EXCEPTION: forced exception in sub catch-control at <tmp> line 6 in block <unit> at <tmp> line 10Caught a CONTROL (Died with CX::Last) in sub catch-control at <tmp> line 4 in block <unit> at <tmp> line 10» | ||
lizmat | well, you need to do something with the returned Promise, otherwise you run the risk of the program exiting before the started work is done | ||
awwaiid | I only expect that code to catch the exception, not enter the CONTROL block | ||
lizmat | m: start { say "started"; sleep 2; say "done" } | ||
camelia | ( no output ) | ||
lizmat | m: start { say "started"; sleep 2; say "done" } | ||
camelia | ( no output ) | ||
lizmat | m: start { say "started"; sleep 2; say "done" } | ||
camelia | ( no output ) | ||
lizmat | m: start { say "started"; sleep 2; say "done" }; sleep 1 | ||
camelia | rakudo-moar a4cc1c: OUTPUT«started» | ||
hoelzro | awwaiid: that's odd indeed - I wish I knew more about control blocks now =/ | 20:53 | |
awwaiid | well docs.perl6.org/syntax/CONTROL makes it sound like CONTROL { ... } should only get invoked when there is an _exception_ from a control flow. I guess I should look at roast | 20:54 | |
hoelzro | good idea | 20:55 | |
[Coke] | lizmat: it's a bailador app; so the last line puts the app into a non-busy wait so things can connect. | 20:56 | |
20:56
AndyBotwin joined
|
|||
lizmat | [Coke]: so you're saying you shouldn't have to worry about the program exiting before the started work is done? | 20:56 | |
[Coke] | so, first pass, I probably -can- just wrap all the backend stuff in a start {} block. | ||
20:57
BillSussman left
|
|||
[Coke] | lizmat: aye. | 20:57 | |
just seems like I'm cheating too much here. :) | |||
lizmat | [Coke]: then what is the problem, just start {} :-) | ||
awwaiid | hoelzro: roast says CONTROL happens all the time, and doesn't mention die, github.com/perl6/roast/blob/master.../control.t | 20:58 | |
20:58
harmil_wk joined
20:59
skids left,
zacts left
|
|||
awwaiid | hoelzro: well. I can work around it by returning a special value instead of die'ing | 20:59 | |
harmil_wk | I think that it's safe to say that this is not the best way to generate the sequence defined by n*2^(n-1) : | 21:00 | |
m: say ^10 .map: -> $n { {[+] [<<+>>] [X] ^2 xx $n}} | |||
camelia | rakudo-moar a4cc1c: OUTPUT«Use of uninitialized value of type Any in numeric context in block at <tmp> line 1(0 1 4 12 32 80 192 448 1024 2304)» | ||
nadim | sharing a bit of YAPC with P6 ... imgur.com/0whNEcV | ||
many people here talking about P6, namely not knowing if they should try or not | |||
we need to do something about it | 21:01 | ||
timotimo | what about wendy's brochure? | ||
21:01
kaare_ left,
kjs_ left
|
|||
harmil_wk | Minor side point: I don't think that warning should have happened. xxing by zero is sketchy, but not that sketchy. Shouldn't it just return the null Seq? | 21:02 | |
m: ^2 xx 0 | |||
camelia | rakudo-moar a4cc1c: OUTPUT«WARNINGS for <tmp>:Useless use of "^" in expression "^2" in sink context (line 1)» | ||
harmil_wk | m: say ^2 xx 0 | ||
camelia | rakudo-moar a4cc1c: OUTPUT«()» | ||
harmil_wk | Hmm, it does. | ||
21:02
brrt left
|
|||
harmil_wk | Oh, it's probably because of reducing on an empty list. That makes sense. | 21:03 | |
timotimo | m: say [X] ^2 xx 0 | ||
camelia | rakudo-moar a4cc1c: OUTPUT«(((Any)))» | ||
lizmat | sleep& | 21:04 | |
timotimo | that's where it comes from i expect? | ||
m: say [X] (^2 xx 0) | |||
camelia | rakudo-moar a4cc1c: OUTPUT«(((Any)))» | ||
harmil_wk | Yah | ||
timotimo | m: say [X] () | ||
camelia | rakudo-moar a4cc1c: OUTPUT«(((Any)))» | ||
timotimo | kinda weird :) | ||
harmil_wk | Though that's probably not the right answer either | ||
hoelzro | awwaiid: that sounds good | ||
nadim | timotimo: I haven't seen it. but that they talk about not knowing is good | ||
timotimo | nadim: better than "no i don't use it because i heard it gave a friend of a colleague pimples on the nose" | 21:05 | |
harmil_wk | heh | ||
nadim | timotimo: we'll make a few converts. i may have a short talk about it and shake them a bit | 21:07 | |
timotimo | sounds good :) | ||
nadim | timotimo: did you have time to look at the seg fault code? | ||
21:08
cognominal joined
|
|||
timotimo | sorry, i have not | 21:08 | |
that's the one where unlocking a mutex explodes, right? | |||
nadim | yes | 21:09 | |
I can't install modules, it's a pain | |||
I'll install one or two by hand in the meantime | |||
timotimo | excuse me, what do i have to do again? install zef, and then what? | ||
nadim | nedd text::ansicolor for a talk | ||
timotimo: it's going to work on your box | 21:10 | ||
timotimo: it's an intel microcode-libc-mutex problem. | |||
timotimo | so how do you expect me to even look at it? | 21:11 | |
nadim | I posted a link to the stack trace | ||
timotimo: I don't expect anything, but I sure would like that you have a look | |||
let me find the stack trace | |||
El_Che | woolfy++: I saw live that you announced FOSDEM! | ||
harmil_wk | nadim: I think the point is that unless one has the specific hardware that you do, it's not likely to be something that can be investigated. Now, if you wanted to take a look at it... | 21:12 | |
nadim | timotimo: nopaste.linux-dev.org/?1119781 | ||
21:12
mcmillhj left
|
|||
nadim | I wonder if the uv_mutext_lock can be replaced by something else | 21:13 | |
otherwise a libc without elision is needed | |||
timotimo: maybe TimToady would like to have a look, i sat behind him all day. if it is something he'd like to do. I'd help but I am afraid I won't be very useful | 21:15 | ||
21:15
wamba left,
itaipu left
|
|||
nadim | timotimo: the other possibility is a remote session. | 21:15 | |
timotimo | i'm not sure libuv has a different kind of lock that we could use | 21:16 | |
maybe we could just plop a reentrant mutex in there if the current one is not reentrant | |||
and thus it'd tickle a different code path in your libc? | |||
21:17
itaipu joined
|
|||
nadim | I think that is worth a try, if you have a branch, I'll run the tests | 21:17 | |
tailgate | If I make a change to a module I published on ecosystem, do I need to send a new pull request? | ||
timotimo | other than that you can implement the lock with a busy-loop of atomic operations | ||
hoelzro | tailgate: nope | ||
nadim | I think this problem is going to appear more and more as this hardware is getting popular | ||
timotimo | nadim: what kind of special hardware is this? | 21:18 | |
you said it's an intel chip, so ... the kind pretty much half the population has in their desktop computers? | |||
nadim | not special, newer | ||
timotimo | so you're saying that anything that uses the same kind of lock that libuv uses will randomly segfault on the newest intel chips? | ||
what the fucking madness is this | 21:19 | ||
tailgate | there are non-x86 desktops? | ||
timotimo | tailgate: sure | ||
i can imagine some powerpc macs still being in use | |||
hoelzro | timotimo: Madness? THIS IS PERL 6! | ||
nadim | timotimo: there are applications, games, ... that have had the same kind of problems, all at the same place | ||
tailgate | I know ARM servers...and ARM cell phones...and I guess there are a few ARM netbooks | ||
timotimo kicks hoelzro into a pit filled with cake | 21:20 | ||
tailgate: the 50% number was to contrast intel cpus vs amd cpus | |||
nadim | timotimo: some mismatch between libc and the microcode patches on haswell architecture, and some previous too | ||
hoelzro | =) | ||
geekosaur would still be using his ibook if its hard drive hadn't died | |||
timotimo | because if amd went ahead and said "hey, intel crashes when using locks, and they are really popular, so we should make our cpus also crash when unlocking locks", then i'd have the whole hardware industry fired, because that would simply be wrong. | 21:21 | |
geekosaur | (sadly replacing an ibook's hard drive is a complete teardown) | ||
hoelzro | timotimo: sounds sadly similar to Nvidia =/ | 21:22 | |
timotimo | hoelzro: what, the pit filled with tasty cake? | ||
nadim | here is an example bug report on debian bugs.debian.org/cgi-bin/bugreport....bug=800574 | 21:23 | |
hoelzro | haha, I wish | ||
timotimo | nadim: that sounds like it's firmly Not My Department | 21:25 | |
ugexe | it appears related to module loading or precomp | ||
21:25
zacts joined
|
|||
nadim | timotimo: its a glibc problem | 21:25 | |
lwn.net/Articles/534758/ | 21:26 | ||
ugexe | looking at his RAKUDO_MODULE_DEBUG=1 output and comparing to mine, his segfaults without reaching github.com/rakudo/rakudo/blob/1728....nqp#L1124 | ||
nadim | this article explains thtat it implements different types of locking, elision being one of them | ||
not using elision in the locking should fix the problem | |||
woolfy | Claudio Ramirez: I indeed announced that I submitted proposals to FOSDEM for devroom & booth, and that we probably will get them, and that I will accept talk proposals. I made sure I included a little bit of uncertainty... :-) | 21:27 | |
ugexe | it seems to precompile and load the dependencies ok, but fails while trying to merge the last one | ||
nadim | the other way is to have a specific glibc, unfortunately, in debian-ubuntu, glibc is compiled with elision | ||
which means that this would force all the users of skylake-some-microcode to update their glibc | 21:28 | ||
and the packaging system is broken anyway, I had a try at it earlier today, I'll try again | 21:29 | ||
21:29
cygx joined
|
|||
cygx | o/ | 21:29 | |
nadim | IMHO, if there is another locking mechanism and it removes the risk of users getting this error when running P6, it would be nice to look at it | ||
cygx | awwaiid: the behaviour you see is not because of CONTROL, but because the regular exception is resumable, ie the stack has not yet been unwound | 21:30 | |
cf gist.github.com/cygx/7efc3f49089c7...e8c500b81c | |||
timotimo | well, is there a way to tell libc to not use elision? like a #define we can set when we compile libuv? | ||
hoelzro | I don't mean to be negative, but isn't this something that glibc should be taking care of? | 21:31 | |
geekosaur | you have to rebuild glibc itself | ||
nadim | there is but the packaging system seems broken, I tried to repackage it with the right options earlier | ||
21:31
cognominal left
|
|||
hoelzro | I mean, part of the "contract" with glibc when it provides locks is that they work, right? | 21:31 | |
timotimo | no, your contract with computers is that computers Never Fucking Work | ||
hoelzro | timotimo++ # wisdom | 21:32 | |
21:32
itaipu left
|
|||
nadim | timotimo: there is even a debian request for the possibility to switch elision on-off at run time, but it seems to be dead in the water | 21:32 | |
timotimo | we can implement a little signal handler for segfaults | 21:33 | |
nadim | i'll try to talk with ubuntu development tomorrow but it seems unlikely to happen in the short term | ||
timotimo | it'll use libunwind to discover if the crash happened in an unlock operation, then it'd turn HLE off and resume | ||
geekosaur | timotimo, the problem with that is you don't always get a segfault, sometimes yoy get silent data corruption | ||
awwaiid | cygx: ah, interesting. | ||
timotimo | nadim: so why exactly didn't a microcode update fix the problem on your machine? | 21:34 | |
nadim | I have no idea, the microcode patch that was already installed is not old. the one I installed today s a month old. | 21:36 | |
jnthn | uv_mutex_lock is, afaik, just a thin wrapper (perhaps even a compiled-away wrapper) around pthreads mutexes. | ||
nadim | it seemes that the time of mutex used in the locking, via libc, is something that can be chosen, elision being one among other types | 21:37 | |
jnthn: that's what I gathered too | |||
jnthn | And those are absolutely bog standard. | ||
I guess Windows uses a different mechanism, if you're looking for alternatives :P | 21:38 | ||
timotimo | use dietlibc instead of glibc? | 21:39 | |
21:39
mcmillhj joined
|
|||
jnthn | Do we know if we're using pthreads mutexes in some highly dodgy way that trips over this problem? | 21:39 | |
21:39
pmurias left
21:40
cognominal joined
|
|||
timotimo | we could build a little loop that just reads random memory from commonly accessed regions of the program | 21:40 | |
that'll surely abort the transaction and fall back to a real lock | |||
jnthn | 'cus if it's as simple as "pthreads mutexes are broken" I can only imagine a huge number of things would be affected | ||
21:41
CIAvash left
|
|||
ugexe | it occurs in Perl6/World.nqp method load_module | 21:41 | |
nadim | it seems that elision-TSX is not the simples thing to implement right software.intel.com/en-us/articles/...ision-code | ||
timotimo | nadim: you can get the perl6-level backtrace from within gdb, btw | ||
jnthn | ugexe: In a single-threaded program? | ||
timotimo | just "up" until you hit a frame that has a "tc" for you | ||
and then "call MVM_print_backtrace(tc)" or what it's called | 21:42 | ||
21:42
smls left
|
|||
nadim | timotimo: wasn't the stack trace i posted enough? | 21:42 | |
jnthn | (e.g. you can hit this without actually using threads at all?) | ||
ugexe | jnthn: he never reaches the Import stage | ||
timotimo | nadim: it's not all. no clue if it's enough or not | ||
jnthn | Well, technically a module mainline coulda started threads, but yeah, it's unlikely. | 21:43 | |
That's a real wtf though. | |||
timotimo | to be totally honest, i'd rather smash my head against a hard surface than try to ... anything regarding this | ||
nadim | I'll do the work on this machine and can even give you guys access | ||
timotimo: don't smash rocks ;) | 21:44 | ||
how do you get these perl6-lvel backtrace? do I run the perl6-gdb-m? | 21:45 | ||
timotimo | you're already in a gdb, are you not? | ||
it doesn't look like you have any debug symbols at all | 21:46 | ||
nadim | perl6-gdb-m seems to be there, yes | ||
timotimo | it doesn't show function signatures in that backtrace, is what i mean | 21:47 | |
nadim | up gives me the same results as the trace I posted | 21:48 | |
do I need a p6 with extra dbug info? | 21:52 | ||
timotimo | not p6, just moar | 21:53 | |
perl Configure.pl --debug=3 ... | |||
21:55
kyclark_ left
21:57
rba_ joined
|
|||
nadim | unknown option debug! | 21:57 | |
timotimo | that's the moarvm Configure.pl | ||
nadim | ah, not rakudo | ||
timotimo: where does rakudo download moar? or shall i get more separately? | 21:59 | ||
timotimo | it's either under moar/ or under nqp/moar/ | ||
with moar or less Vm or capitalization | |||
nadim | nqp/moaarVM got it | 22:01 | |
nqp/MoarVM bleah! | |||
interesting, moar is on a detached HEAd | 22:03 | ||
22:03
n1lp7r joined,
cognominal left
|
|||
nadim | timotimo: ok, configured and build, next? | 22:04 | |
timotimo | "make install" | ||
that'll be enough | |||
but make install inside moar's folder only | |||
nadim | ok done | 22:05 | |
jnthn | sleep & | 22:06 | |
timotimo | now your perl6-gdb-m will hopefully give you better stack traces | 22:07 | |
TheLemonMan | m: say (sub e(Any \ --> Mu) { ... }).signature | ||
camelia | rakudo-moar a4cc1c: OUTPUT«($)» | ||
TheLemonMan | m: say (sub e(Any \--> Mu) { ... }).signature | ||
camelia | rakudo-moar a4cc1c: OUTPUT«($ is raw)» | ||
TheLemonMan | bug or not ? | ||
timotimo | pretty weird | ||
the parser clearly thinks you have a sigil-less variable in the second one | 22:08 | ||
nadim | timotimo: absolutely no change | ||
timotimo | how does a "bt full" look? | 22:09 | |
nadim | the same | 22:10 | |
but says: no symbole table available | 22:11 | ||
timotimo | not even line numbers? | ||
nadim | nada | ||
timotimo | did you get any lines that looked like compilation? | ||
22:11
mcmillhj left
|
|||
timotimo | oh | 22:11 | |
duh | |||
when you build moar with --gen-nqp, it'll give it a --prefix | |||
nadim | still using the same moar, right? | ||
timotimo | you've now got a rakudo/nqp/install/bin/moar | 22:12 | |
whereas you would have wanted an install/bin/moar | |||
or whatever you came up with | |||
nadim | shall I copy the library there? | ||
timotimo | no | ||
re-configure with the proper --prefix | |||
22:14
mcmillhj joined
|
|||
nadim | the rakudo/install/bin right | 22:15 | |
two directories up | |||
timotimo | the prefix is what install/ is | 22:19 | |
22:20
mcmillhj left
|
|||
timotimo | i.e. you'll want to have a --prefix that ends in "install/" | 22:21 | |
22:21
mcmillhj joined
|
|||
nadim | did that, obviously the prefix has to be with ../.. (oh my eyes) as a path to the directory gives very weird install commands. and the command doesn't fail even if the install directories are completely wrong | 22:22 | |
timotimo | "completely wrong"? | 22:23 | |
how could they be? it'll take literally any path | |||
the only thing that's not allowed in a path is the null byte, afaik | |||
nadim | this for example usr/bin/perl -MExtUtils::Command -e cp 3rdparty/dyncall/dyncall/*.h /home/nadim/nadim/devel/repositories/rakudo/nqp/MoarVM/~/nadim/devel/repositories/rakudo/install/bin/include/dyncall | 22:24 | |
~ in prefix wasn't welcome :) | |||
timotimo | oh, hehe | ||
nadim | let me see what I can do | ||
make install succeeded with those paths | 22:25 | ||
IE did return 0 | |||
timotimo | so you have a folder named "~" inside your MoarVM folder now? | ||
22:25
mohae_ joined
|
|||
nadim | actually yes :) | 22:26 | |
I configure with .., let'ssee what I get | 22:27 | ||
timotimo: can make run with -j 8 or 16 ? | |||
and work properly | |||
22:28
mohae left
|
|||
timotimo | in moar, yes | 22:29 | |
nadim | OK | ||
timotimo | in nqp, only one job per back-end you're building | ||
in rakudo, same. | |||
nadim | it's installed in the right place, let's see what gdb gives us | 22:30 | |
22:32
setty1 left
22:33
Sgeo joined
|
|||
nadim | timotimo: nopaste.linux-dev.org/?1119791 | 22:34 | |
say if you'd like the full backtrace (looked interesting with all the stuff optimized away) | 22:35 | ||
22:36
cdg joined
22:38
rkazak joined
|
|||
TheLemonMan | m: say (sub (Any \) { }).signature | 22:38 | |
camelia | rakudo-moar a4cc1c: OUTPUT«($ is raw)» | ||
TheLemonMan | m: say (sub (Any \ ) { }).signature | ||
camelia | rakudo-moar a4cc1c: OUTPUT«($)» | ||
TheLemonMan | even better (or worse) | 22:39 | |
22:39
firstdayonthejob left
22:40
Util left,
moritz left
22:42
moritz joined
22:43
mohae joined
|
|||
nadim | timotimo: let's continue tomorrow | 22:46 | |
22:46
mohae_ left
22:47
Util joined
22:48
TheLemonMan left
22:52
edehont joined
22:54
zacts left
22:57
cygx left,
rindolf left
22:58
RabidGravy left
23:02
edehont left
23:23
Skarsnik left
23:28
Zoffix joined
23:29
ptolemarch left
23:33
cpage_ left
23:40
kurahaupo left
23:46
atweiden joined
|
|||
atweiden | anyone know what this error message is about? "Package ... is insufficiently type-like to qualify a parameter" | 23:48 | |
Zoffix | atweiden, what's the code? | 23:49 | |
atweiden | Zoffix: bitbucket.org/atweiden/txn-parser-...posting-is | 23:50 | |
Zoffix | :) that's the error :) What's the code that triggers it? I recall seeing something similar but forget what the reason was | ||
atweiden | idk what triggers it. i can't get the code to compile | 23:52 | |
Zoffix | Are you able to share that code? | ||
atweiden | Zoffix: ofc, you could `hg clone bitbucket.org/atweiden/txn-parser-ast` | 23:53 | |
23:53
cdg left
|
|||
atweiden | the problem appears to be in lib/TXN/Parser/AST/Entry.pm | 23:53 | |
Zoffix | atweiden, what do I run to trigger the error>?/ | 23:54 | |
atweiden | p6 t/grammar-actions/01-ledger.t | ||
23:55
BenGoldberg joined
|
|||
atweiden | you may need to install libxxhash for your platform | 23:55 | |
23:55
n1lp7r left
|