»ö« 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
huggable joined,
huggable left
|
|||
RabidGravy | I'm wondering whether JVM would work nicer on Raspberry Pi than Moar due to the certain java optimisation on some Arm parts | 00:00 | |
00:01
khw left,
huggable joined
|
|||
Skarsnik | I kind of want to try on my arm chromebook | 00:01 | |
but I don't want to destroy battery consuption with a chroot x) | |||
00:01
bpmedley left
|
|||
Zoffix | huggable, int | 00:02 | |
huggable | Zoffix, class int [Integer (native storage; machine precision)]: doc.perl6.org/type/type/nativeInt | ||
00:02
lostinfog left
|
|||
Zoffix | huggable, Zoffix :is: awesome | 00:02 | |
huggable | Zoffix, Added Zoffix as awesome | ||
Zoffix | huggable, Zoffix | ||
huggable | Zoffix, awesome | ||
Zoffix | my job here is done | ||
(anyone can add new factoids BTW) | |||
RabidGravy | crack monkey | ||
Skarsnik | huggable, Signature | ||
huggable | Skarsnik, class Signature [Parameter list pattern]: doc.perl6.org/type/type/Signature | ||
Skarsnik | huggable, @*ARGS | 00:03 | |
huggable | Skarsnik, nothing found | ||
Zoffix | It only got types from here: doc.perl6.org/type/ | ||
ATM :) | |||
Warframe time | |||
00:04
Zoffix left
|
|||
RabidGravy | Zoffix++ # good work, I hope it's made in Perl 6 | 00:04 | |
anyway it's bedtime | |||
toodles people | 00:05 | ||
Skarsnik | Good night RabidGravy | ||
00:06
regreg left
00:09
raoulvdberge joined
00:10
RabidGravy left
00:11
raoulvdberge left
00:12
glaukommatos joined,
firstdayonthejob left,
n0tjack left
00:14
khw joined
|
|||
glaukommatos | Soo, my understanding of the documentation for hash literals [ doc.perl6.org/language/syntax#Hash_literals ] is that I should be able to do my %hash = { three => 3 }; and end up with a hash with key 'three' and value 3 (duh!). However, I get an error from the compiler complaining about a useless use of a hash composer on the right hand side of the assignment. Replacing the curly braces with par | 00:16 | |
ens makes things work as I'd expect. However, the wording of the documentation is that the curly braces on a hash literal on the right hand of an assignment with a left side sporting a % sigil are 'optional' and I would expect that the assignment would work as I have typed it. Am I missing something, or is it possible that there is an error in the documentation? | |||
timotimo | not quite | ||
either you have my %hash = foo => 123, bar => 999 | 00:17 | ||
or you do my $hash = :{ ... } | |||
Skarsnik | {} work to pass to a routine | ||
timotimo | that's right | 00:18 | |
glaukommatos | Interesting. So it seems that the %lhs = ... assignment only works with the naked pairs? | ||
timotimo | the only thing you don't want is to assign a { } to a %var | ||
Skarsnik | m: sub foo($a, %b); foo(1, {a => 1}); | ||
camelia | rakudo-moar 75c6b9: OUTPUT«5===SORRY!5=== Error while compiling /tmp/xr8pbuZH2wA unit-scoped sub definition is not allowed except on a MAIN sub;Please use the block form.at /tmp/xr8pbuZH2w:1------> 3sub foo($a, %b);7⏏5 foo(1, {a => 1});» | ||
00:18
cfl_ joined
|
|||
bzipitidoo | Mouq: just trying out the grammar capabilities. Wrote a little code to substitute parentheses with square brackets. gist.github.com/anonymous/4beb237a975e65e6e775 | 00:18 | |
Skarsnik | m: sub foo($a, %b) {}; foo(1, {a => 1}); | ||
camelia | ( no output ) | ||
00:19
cfl_ left
|
|||
bzipitidoo | that snippet of code adds spaces to the output, and I'd like to know how to fix it | 00:19 | |
m: gist.github.com/anonymous/4beb237a975e65e6e775 | 00:20 | ||
camelia | rakudo-moar 75c6b9: OUTPUT«(a (b))(c (d))* * * * *[[a [b]] [c [d]]]» | ||
Mouq | bzipitidoo: Right, I was confused by the output, but the difference is that Perl 6 no longer "say"s lists by printing them with a space between each element; instead it now surrounds them with the bracket type of the list | ||
m: gist.github.com/Mouq/7eb9d723d7f05a511529 | |||
camelia | rakudo-moar 75c6b9: OUTPUT«(a (b))(c (d))* * * * *[a [b]][c [d]]» | ||
glaukommatos | Cool, thanks. I'll try to get in touch with the maintainer of the document and see if we can make that particular bit clearer. :) | 00:21 | |
timotimo | this channel is the maintainer of that document :) | 00:22 | |
Skarsnik | you can fill an issue on perl6/doc project on github | ||
glaukommatos | Oh, well, that was easy. ~ | ||
Mouq | m: my @a = [1,2,3]; say @a.perl | 00:23 | |
camelia | rakudo-moar 75c6b9: OUTPUT«[1, 2, 3]» | ||
glaukommatos | Skarsnik: Cool, thanks. | ||
Skarsnik | m: my @a = [1,2,3]; say @.Str; | ||
camelia | rakudo-moar 75c6b9: OUTPUT«5===SORRY!5=== Error while compiling /tmp/wbsKzCUQe5Variable @.Str used where no 'self' is availableat /tmp/wbsKzCUQe5:1------> 3my @a = [1,2,3]; say @.Str7⏏5; expecting any of: argument list term» | ||
Skarsnik | m: my @a = [1,2,3]; say @a.Str; | ||
camelia | rakudo-moar 75c6b9: OUTPUT«1 2 3» | ||
Skarsnik | m: my @a = [1,2,3]; say @a.gist; | ||
camelia | rakudo-moar 75c6b9: OUTPUT«[1 2 3]» | ||
bzipitidoo | Mouq: thx. Any idea how to stop it from adding spaces? There are 2 spaces following the 'a' and the 'c'. Should only be 1 space | ||
Skarsnik | do you have an empty element? | 00:24 | |
gfldex | glaukommatos: you may be interested in perl6intro.com/#_functions_and_mutators | ||
the order one reads the docs seams to be quite important | |||
Mouq | m: gist.github.com/Mouq/7eb9d723d7f05a511529 | 00:25 | |
camelia | rakudo-moar 75c6b9: OUTPUT«(a (b))(c (d))* * * * *[a [b]][c [d]]» | ||
Mouq | Like that? | ||
(see "Revisions" tab for diff) | |||
bzipitidoo | Mouq: yes! thx again | 00:26 | |
glaukommatos | gfldex: Oh, that's interesting. Thanks. | ||
timotimo | glaukommatos: do you have a specific suggestion for how to re-word it? | 00:27 | |
00:27
ennio left
|
|||
Skarsnik | m: say {a => 1}.WHAT; | 00:28 | |
camelia | rakudo-moar 75c6b9: OUTPUT«(Hash)» | ||
Skarsnik | I don't get why you can pass this to a hash | ||
m: say ({a => 1}).WHAT; | 00:29 | ||
camelia | rakudo-moar 75c6b9: OUTPUT«(Hash)» | ||
Hotkeys | ? | ||
Skarsnik | m: say {a => 1}.VAR.WHAT; | ||
camelia | rakudo-moar 75c6b9: OUTPUT«(Hash)» | ||
glaukommatos | timotimo: The current wording is "When assigning to a % sigil variable, the curly braces are optional." However, it seems that "When assigning to a % sigil variable, the curly braces are omitted or parenthesis are used." That seems to describe the behavior I've seen. | ||
gfldex | timotimo: the problem is that this part talks about hash literals, what are not hash contains. We do not talk about hash containers. At least not that I could find any. | 00:30 | |
timotimo | hm | ||
right | |||
glaukommatos | Although there's every chance there's a subtlety there that my wording misses. I'm not actually very familiar. But the current wording definitely was confusing to me. | 00:31 | |
gfldex | m: my %h = {a=>1}; dd %h; | 00:32 | |
camelia | rakudo-moar 75c6b9: OUTPUT«Potential difficulties: Useless use of hash composer on right side of hash assignment; did you mean := instead? at /tmp/fkDrGvnq_y:1 ------> 3my %h = {a=>1}7⏏5; dd %h;Hash %h = {:a(1)}» | ||
gfldex | m: my %h := {a=>1}; dd %h; | ||
camelia | rakudo-moar 75c6b9: OUTPUT«Hash % = {:a(1)}» | ||
gfldex | it's anything but optional | ||
glaukommatos | Yeah, it seemed to me that it must not be there. Otherwise the compiler is rather unhappy. :) | 00:33 | |
gfldex | m: my %h := :{(now)=>1}; dd %h; | ||
camelia | rakudo-moar 75c6b9: OUTPUT«:{Instant.from-posix((<868320164499/598>, 0)) => 1}» | ||
gfldex | m: my %h = :{(now)=>1}; dd %h; | ||
camelia | rakudo-moar 75c6b9: OUTPUT«Potential difficulties: Useless use of hash composer on right side of hash assignment; did you mean := instead? at /tmp/TW60OxzoIv:1 ------> 3my %h = :{(now)=>1}7⏏5; dd %h;Hash %h = {"Instant:1452040452.176621" => 1}» | ||
Skarsnik | Instant.from-posix, fun | 00:34 | |
Hotkeys | m: my %h = now => 1; dd %h | ||
camelia | rakudo-moar 75c6b9: OUTPUT«Hash %h = {:now(1)}» | ||
Hotkeys | oops | ||
m: my %h = (now) => 1; dd %h | |||
camelia | rakudo-moar 75c6b9: OUTPUT«Hash %h = {"Instant:1452040500.893461" => 1}» | ||
gfldex | m: my %h{Any} = (now) => 1; dd %h | 00:35 | |
camelia | rakudo-moar 75c6b9: OUTPUT«Hash[Any,Any] %h = (my Any %{Any} = Instant.from-posix((<630185577139/434>, 0)) => 1)» | ||
gfldex | also: doc.perl6.org/type/Hash#Hash_assignment | ||
and that is linked from the literals section | 00:36 | ||
gfldex .oO( PLEASE FOLLOW THE LINKS TO YOUR RIGHT! ) | |||
the docs are trying to be more then one thing at a time without issuing a clear warning that they do so | 00:37 | ||
glaukommatos | Ah, the Hash documentation is much clearer. | 00:38 | |
gfldex | PR send to github.com/tony-o/perl6-http-serve...nc/pull/20 | 00:40 | |
tony-o: ^^^ | |||
24h grace period started before attempt of hostile takeover YARRRR! | |||
dalek | c: 6681b73 | coke++ | htmlify.p6: Localize EVAL scope. Fixes #300 |
00:42 | |
glaukommatos | Also- should I expect the debugger to crash a lot? In code that uses a few panda modules I get a lot of "Unhandled exception: ctxlexpad needs an MVMContext" errors and I'm not really sure if its the code or the debugger being wonky. | 00:44 | |
gfldex | glaukommatos: the debugger could do with fixes | ||
glaukommatos | K, I just wasn't sure. I should learn more about MoarVM and co and try to fix some stuff. But it's a bit out of my depth. | 00:48 | |
tony-o | gfldex++ | 00:51 | |
thank you | |||
00:52
itaipu left
00:54
sprocket_ left
00:56
orbus left
|
|||
_nadim | is it possible to define a grammar that parses bits for a 8its chars or a stream of bits? | 01:01 | |
Skarsnik | Good question | 01:04 | |
_nadim | I did find this for a starter gist.github.com/smls/bc5d0fb42f199574e339 | 01:05 | |
Skarsnik | but good night #perl6 | ||
Mouq | 'night Skarsnik | 01:08 | |
timotimo | hmm | ||
m: my %foo = { a => 123, b => 456 } | |||
camelia | rakudo-moar 75c6b9: OUTPUT«Potential difficulties: Useless use of hash composer on right side of hash assignment; did you mean := instead? at /tmp/IB9rcCfheX:1 ------> 3my %foo = { a => 123, b => 456 }7⏏5<EOL>» | ||
timotimo | right | ||
Mouq | _nadim: There are some libraries that do it without the speculative things in smls++ | ||
*'s gist | |||
01:09
yeahnoob joined
|
|||
_nadim | and which are they? | 01:09 | |
01:09
Skarsnik left
|
|||
_nadim | I guess you meant non perl libraries | 01:09 | |
01:10
n0tjack joined
|
|||
Mouq | github.com/FROGGS/p6-Archive-Tar, although it's a Perl 5 translate so may not be idiomatic | 01:10 | |
01:10
virtualsue left,
sprocket_ joined
01:11
leont left
|
|||
Mouq | …hm, I'm not sure where others are… years ago I did work on a github.com/Mouq/Image-GIF | 01:11 | |
01:11
secwang joined,
Sgeo_ joined
|
|||
_nadim | I will look at both, thanks. | 01:13 | |
Mouq | but in general, what you're asking is NYI... partly because it's been considered low priority, and partly because it's debated | ||
how it should be implemented | |||
_nadim | And I want to pick bits in a stream, maybe not even thought of as a usecase | 01:14 | |
01:14
Sgeo left
01:15
n0tjack left
|
|||
Mouq | Yeah, having Grammars work on "Cat"s, or streams, is also a long-speculated feature | 01:15 | |
_nadim | and long speculated meaning, 'soon to be born' or 'forgotten forever'? | 01:17 | |
01:18
pierre-vigier joined
01:20
yeahnoob left,
yeahnoob joined
|
|||
Mouq | _nadim: A set of goals was made for Christmas, and what wasn't on the list was meant to be more or less pushed aside entirely until then. Christmas just happened, so who knows :) | 01:21 | |
Though I'd like to think it's the former, esp. with how often they come up | 01:22 | ||
01:22
pierre-vigier left
|
|||
skids | _nadim: There are enough people wanting binary grammars that I think it will come to be. But they will probably be byte-aligned at first -- going sub-byte and dealing with endianness at the same time would be biting off more than can be chewed. | 01:22 | |
01:22
yeahnoob left
01:23
yeahnoob joined
|
|||
skids | gist.github.com/skids/cfb129509b0849f50deb has some links with thoughts from various people at the end of it. | 01:23 | |
colomon | oooo, binary grammars | 01:43 | |
01:44
Actualeyes joined
01:45
sprocket_ left
01:48
khw left
01:56
xpen joined
|
|||
gfldex | m: my $r = /abc/; (('abc' ~~ /abc/).WHAT, ('abc' ~~ $r).WHAT)>>.say; | 01:58 | |
camelia | rakudo-moar 75c6b9: OUTPUT«(Match)(Bool)» | ||
gfldex | m: my $r = /abc/; (('abc' ~~ /abc/).WHAT, ('abc' ~~ / $r /).WHAT)>>.say; | ||
camelia | rakudo-moar 75c6b9: OUTPUT«(Match)(Match)» | ||
01:59
cpage_ joined,
secwang left
|
|||
gfldex | m: my $r = /abc/; (('abc' ~~ /abc/), ('abc' ~~ / $r /))>>.say; | 02:01 | |
camelia | rakudo-moar 75c6b9: OUTPUT«「abc」「abc」» | ||
02:01
cpage_ left
02:02
aartist left
02:05
secwang joined
02:07
molaf_ joined
02:10
molaf left
02:11
n0tjack joined,
cpage_ joined
02:12
kaare_ joined
02:16
n0tjack left
02:39
uruwi left
02:42
regreg joined,
lichtkind left
02:43
woodruffw left
02:45
ilbot3 left,
bpmedley joined
|
|||
skids | gfldex: RT#127071 | 02:46 | |
02:46
uruwi joined,
bpmedley left,
pierrot_ is now known as pierrot
02:47
ilbot3 joined,
woodruffw joined,
bpmedley joined
02:48
bpmedley left
02:49
shmibs left
02:53
woodruffw left
02:54
woodruffw joined,
woodruffw left,
woodruffw joined
02:55
glaukommatos left
02:57
glaukommatos joined
03:00
secwang left,
kaare_ left
03:01
secwang joined
03:02
glaukommatos left
03:03
kid51 left
03:04
glaukommatos joined
03:05
noganex_ joined
03:08
noganex left,
shmibs joined,
n0tjack joined
03:09
shmibs left
03:10
shmibs joined,
jme_ joined
03:13
bpmedley joined,
pierrot left
03:14
n0tjack left
03:16
sprocket joined,
jme_ left
03:18
psy_ left
03:19
pierrot joined
03:20
psy_ joined
03:23
secwang left
03:25
yqt left
03:28
secwang joined,
dylanwh left
03:29
nbrown joined
03:31
dylanwh joined,
secwang left
03:54
phyreprooph joined
04:00
_Vi left
04:04
khw joined
04:05
sprocket left
|
|||
gfldex | does Koalatee test for a LICENSE file? | 04:05 | |
04:06
_Vi joined
04:09
zwu joined
|
|||
glaukommatos | Ugh, I'm confused. I have a class like 'class Thing { has @.thingies; }', and I try to construct it with Thing.new(thingies => @thingies), but instead of getting @.thingies to be an array in my class, it's an array containing the array I passed in and I cannot for the life of me figure out why. | 04:10 | |
I made a simpler example to try to understand how it was working, where I did Thing.new(thingies => [1,2,3]) and it worked fine. :\ | 04:11 | ||
gfldex | m: class C { has @.l; }; my $c = C.new(l => (1,2,3)); dd $c.l; | 04:12 | |
camelia | rakudo-moar 75c6b9: OUTPUT«Array @!l = [1, 2, 3]» | ||
glaukommatos | Although I have reproduced the behavior if I use $thingies = [1,2,3] instead of @thingies = [1,2,3]; however, in my original code, I apparently have been given a $thingies and need it to act like a @thingies. :o | 04:13 | |
gfldex | m: class C { has @.l; }; my @a = 1,2,3; my $c = C.new(l => @a); dd $c.l; | ||
camelia | rakudo-moar 75c6b9: OUTPUT«Array @!l = [1, 2, 3]» | ||
glaukommatos | m: class C { has @.l; } my $a = [1,2,3]; my $c = C.new(l => $a); dd $c.l; | 04:14 | |
camelia | rakudo-moar 75c6b9: OUTPUT«5===SORRY!5=== Error while compiling /tmp/QFQebMhzEGStrange text after block (missing semicolon or comma?)at /tmp/QFQebMhzEG:1------> 3class C { has @.l; }7⏏5 my $a = [1,2,3]; my $c = C.new(l => $a) expecting any of: infi…» | ||
glaukommatos | m: class C { has @.l; }; my $a = [1,2,3]; my $c = C.new(l => $a); dd $c.l; | ||
camelia | rakudo-moar 75c6b9: OUTPUT«Array @!l = [[1, 2, 3],]» | ||
timotimo | m: class C { has @.l; }; my $a = [1,2,3]; my $c = C.new(l => @$a); dd $c.l; | 04:15 | |
camelia | rakudo-moar 75c6b9: OUTPUT«Array @!l = [1, 2, 3]» | ||
timotimo | i ought to be in bed already ... | ||
good night! | |||
glaukommatos | Thank you! | ||
gfldex | m: say so [1,2,3] eqv (1,2,3); | 04:16 | |
camelia | rakudo-moar 75c6b9: OUTPUT«False» | ||
04:16
SwellJoe left
|
|||
glaukommatos | I'm pretty sure it was actually a [...], because I did .WHAT on it and it said (Array). I need to get more accustomed to the contexts of Perl 6. | 04:17 | |
gfldex | glaukommatos: if you code doesn't work provide a gist and we can have a look | ||
code-hearsay ain | 04:18 | ||
code-hearsay ain't no good | |||
glaukommatos | It's working now. I guess the @ in front of $a ensures that $a gets interpreted as an array? | ||
timotimo | i think it compiles to a call to .list | ||
gfldex | @-sigiled contains are ment to have elements of a list as their toplevel items | 04:19 | |
what is not the same then to have a List or Array as a top level item. | |||
timotimo | $-sigiled things want to be interpreted as a single thing | 04:20 | |
that's what you use $ sigils for, usually | |||
however, in many cases, having a single $-sigiled thing as the only argument will iterate over it instead of treating it as a single item | |||
that's the "single argument rule" | |||
gfldex | to make things more convenient and allow signature-fu @-sigiled containers spill their content into other @-sigiled containers on assingment | ||
(this is a bit of a lie for children) | 04:21 | ||
glaukommatos | Ah, ok. I think I see what's going on. Thanks. | 04:22 | |
04:23
n0tjack joined
04:26
cpage_ left
04:27
phyreprooph left,
BenGoldberg joined
04:28
n0tjack left
|
|||
zacts | what would the perl6 equivalent of perl5's Moose be? | 04:30 | |
timotimo | twitter.com/js_do/status/684566935783096321 - suddenly | ||
04:30
TimToady left
|
|||
dalek | kudo/nom: e353e70 | hoelzro++ | src/Perl6/Compiler.nqp: Don't always assume there is a problem when loading Readline/Linenoise The old behavior would warn the user that there was a problem with loading Readline or Linenoise; however, that approach has three problems: 1) It warns if neither is installed, even if the user doesn't care 2) It doesn't say which between them failed 3) It doesn't explain why they failed This change makes it so that a warning is only issued if at least one of the two modules is installed, but there is some problem in how the module is set up. The warning also now contains the error message so users have more information to go off of |
04:31 | |
kudo/nom: 29f49af | hoelzro++ | src/Perl6/Compiler.nqp: Provide recommendations on how to get a line editor |
|||
kudo/nom: 9bf8594 | hoelzro++ | src/Perl6/Compiler.nqp: Be more transparent about line editor status This should help users understand what's going on, as well as help the developers diagnose issues with line editors in the REPL |
|||
04:35
Tonik joined
04:38
SwellJoe joined
04:42
psy_ left
|
|||
ugexe | the perl6 equivilent of moose is perl6 | 04:44 | |
you might be interested in reading up on how moose came to be | 04:45 | ||
gfldex | zacts: guess where the moose folk got their ideas from :) | ||
perigrin | to be fair Perl6 as it is _now_ got some of the ideas from Moose. | 04:46 | |
it's ... ironically ... a meta-circular relationship. | |||
geekosaur | "got their ideas from" | 04:50 | |
moose was written as a testbed for the perl 6 MOP | |||
and prototype | 04:51 | ||
and even as slow as it was trying to do MOP stuff in perl 5, it was so much better than anything else for perl 5 that it took on a life of its own | |||
and yes, since then perl 6's MOP has evolved, and Moose's MOP has evolved somewhat differently, and each has taken ideas from the other | 04:55 | ||
zacts | gfldex: heh | 04:58 | |
I see | |||
04:59
zwu left
05:01
molaf_ left
05:02
cpage_ joined
05:04
skids left
05:08
nige1 joined
05:17
BenGoldberg left
05:19
pierre-vigier joined
|
|||
glaukommatos | When I use a panda package, is there some really good reason why the installed modules all end up looking like /Users/kyle/.rakudobrew/moar-nom/install/share/perl6/site/sources/D2D23EC3AF921633F7A9E6C0EDC4FC29D8D3D388 ? Or can I make it call it something sensible like GET.pm6 (which is what that file ought to be called). I'm confused. :) | 05:21 | |
Also, is there some vm cache or something I can clear out? I had a package insist a moment ago that it couldn't require a module until I edited the file to add a 'say' for debugging purposes, and then it suddenly started working. ~ | 05:22 | ||
05:23
_mg_ joined
05:24
pierre-vigier left
05:25
n0tjack joined
|
|||
perlawhirl | zacts: here's a paste comparing simple object creation in Moose and Perl 6 pastebin.com/cy4Qh7BE | 05:25 | |
It also uses Perl 6's funky unicode operators =D | 05:26 | ||
glaukommatos | Oh, maybe this is a rakudobrew thing. :o | 05:27 | |
geekosaur | glaukommatos, there is no reliable mapping between a perl 6 module name and the file it is in, because different modules with the "same" name may in fact have different sources (see the auth and ver modifiers, among others). | ||
05:27
_Vi left
|
|||
geekosaur | I believe there is some work ongoing to make the file names reported back look more like what you would expect, but the names in the CompUnitRepo are necessarily mangled to avoid collisions | 05:28 | |
and no, rakudobrew has no say in it | |||
05:29
_Vi joined,
n0tjack left
|
|||
glaukommatos | Ah, ok. I must have been mistaken when I thought earlier that I was seeing more reasonable file names for stuff I installed with panda. | 05:29 | |
05:29
uvtc joined
05:32
vendethiel joined
|
|||
uvtc | glaukommatos, I think panda installs and precompiles modules. I don't know how to tell it, "say, leave me the module's source files so I can nose around in them later". | 05:32 | |
05:38
Cabanossi left
05:40
Cabanossi joined
|
|||
dalek | href="https://perl6.org:">perl6.org: ceea8f9 | (John Gabriele)++ | source/downloads/index.html: de-hyphenize instruction for build panda |
05:40 | |
05:48
jme` left
05:52
jme` joined,
jme` left
05:55
vendethiel left
05:58
bzipitidoo left
05:59
bpmedley left
06:00
khw left
06:04
geraud left
|
|||
ugexe | rakudo precompiles modules. and the sources are available under their sha1 names at the installation location | 06:04 | |
m: say CompUnit::RepositoryRegistry.repository-for-name('perl').prefix.child('sources').dir[0].slurp | 06:08 | ||
camelia | rakudo-moar 9bf859: OUTPUT«unit class Pod::To::Text;method render($pod) { pod2text($pod)}my &colored;if %*ENV<POD_TO_TEXT_ANSI> { &colored = try { use MONKEY-SEE-NO-EVAL; # safe, not using EVAL for interpolation EVAL q{ use Terminal::ANSIC…» | ||
ugexe | m: say CompUnit::RepositoryRegistry.repository-for-name('perl').prefix.child('dist').dir[0].slurp; # mappings | 06:09 | |
camelia | rakudo-moar 9bf859: OUTPUT«{ "files" : { }, "name" : "CORE", "source-url" : null, "provides" : { "NativeCall::Compiler::MSVC" : { "pm" : { "cver" : "2015.11-750-ga860e8f", "file" : "66E443C9581F0554873812D9BB6C914C6498FC81", …» | ||
uvtc | Thanks, ugexe, though, I just did `panda install Acme::Meow`, and it installed, but I don't see a Meow.pm anywhere under my ~/.rakudobrew or ~/.perl6. | 06:16 | |
06:17
yeahnoob left
|
|||
ugexe | ~/.rakudobrew/moar-nom/install/share/perl6/site/sources | 06:17 | |
06:18
glaukommatos left
|
|||
uvtc | Ah, I see. Those files with names like sha sums are the source code files. | 06:18 | |
ugexe | its a sha1 of Module::Name:ver<xxx>:auth<xxx>:api<xxx> | 06:19 | |
06:20
pjscott joined
|
|||
ugexe | github.com/rakudo/rakudo/blob/nom/...ion.pm#L32 | 06:20 | |
so if you have a module name like Test::(poop emoji) your file system will still be able to save it | 06:21 | ||
er thats the sha1 of the dist (in the /dist folder, not sources) | 06:22 | ||
then you look in that file and it will list the sha1 of all the modules it contains and map them to their real names | |||
06:23
CIAvash joined
06:26
n0tjack joined
|
|||
uvtc | Thanks, ugexe. I see the sha1sum in the site/dist/F15BE... file that refers to the site/sources/E307DC... file. | 06:26 | |
ugexe | m: say CompUnit::RepositoryRegistry.repository-for-name('perl').prefix.child('dist').dir[0].slurp.&from-json.<provides><Test>; # so Test is in the /perl/sources/<sha1 shown here file> | ||
camelia | rakudo-moar 9bf859: OUTPUT«pm => cver => 2015.11-750-ga860e8f, file => 6E6816E2739B8D226785223F56FACCCC5FDCB1F7, time => 1450651719» | ||
06:26
TimToady joined
|
|||
TimToady back after a power failure... | 06:26 | ||
ugexe | for your installed modules change 'perl' to 'site' or 'home' | ||
06:27
yeahnoob joined
|
|||
uvtc | In Perl 6, it seems like variables have an extra level of indirection --- that is, $x points to / refers to a container, which actually contains the value. Is that indeed the case? It reminds me of how Clojure handles mutation: having a name point to, say, an atom, which then contains a value. | 06:30 | |
06:31
n0tjack left
|
|||
uvtc | But, unlike Clojure, in Perl 6 you don't need to explicity "decontainerize". In Clojure you have to explicitly deref the container. | 06:32 | |
06:33
yeahnoob left
06:36
sjoshi joined
06:37
pjscott left
|
|||
uvtc | Ah. Binding seems to bypass the container. `my @a := <foo bar baz>;` gets me a List rather than an Array, and that list is immutable... | 06:40 | |
06:42
perlawhirl left
06:44
CIAvash left
06:45
pjscott joined
06:48
CIAvash joined
06:50
n0tjack joined
06:51
Kcop joined
06:54
Xor_ left,
aindilis joined
06:55
n0tjack left
|
|||
uvtc | Though I see there is a [Containers](doc.perl6.org/language/containers) doc, I think it would be a big help if there were an "Arrays and Lists" document as well (or maybe if the Containers doc were just extended to contain a section on Arrays vs Lists). | 06:55 | |
07:00
uvtc left,
SwellJoe left,
pjscott left
07:03
CIAvash left
07:09
domidumont joined
07:13
domidumont left
07:14
domidumont joined,
glaukommatos joined
|
|||
[Tux] | g'morning #perl6 | 07:15 | |
csv-ip5xs 50000 18.357 18.237 | |||
test 50000 23.823 23.703 | |||
test-t 50000 13.000 12.880 | |||
csv-parser 50000 50.138 50.018 | |||
07:18
n0tjack joined,
pierre-vigier joined
07:21
glaukommatos left
|
|||
grondilu | you can view lists as Perl 6 tuples. | 07:25 | |
.tell uvtc also notice there is a whole synopsis about lists: S07 | 07:27 | ||
yoleaux | grondilu: I'll pass your message to uvtc. | ||
07:28
FROGGS joined,
n0tjack left
07:33
CIAvash joined,
yeahnoob joined
07:37
firstdayonthejob joined
07:38
yeahnoob left
|
|||
FROGGS | o7 | 07:39 | |
07:47
Guest7256 left
07:50
yeahnoob joined
07:52
yeahnoob_ joined
07:53
yeahnoob left,
sno left
07:54
nige1 left
07:55
virtualsue joined,
asie left
07:59
pierre-vigier left
08:04
pierre-vigier joined
08:14
darutoko joined,
Actualeyes left,
Actualeyes joined
08:17
glaukommatos joined
08:19
pierre-vigier left
08:22
pierre-vigier joined,
glaukommatos left
08:24
RabidGravy joined
08:26
zakharyas joined
08:27
wamba joined
08:32
itaipu joined
|
|||
RabidGravy | erp | 08:37 | |
08:39
firstdayonthejob left
08:55
pierre-vigier left,
sno joined
08:56
pierre-vigier joined
08:59
aenaxi left
09:00
regreg left
09:03
nige1 joined
09:07
yurivish joined
09:09
TEttinger left
|
|||
nine | .tell orbus The NativeCall test failures are because of issues with passing int8 and uint8 to C and back and because of nativesizeof(SomeStructOrClass) doesn't seem to work correctly. Neither have a high probability of affecting Inline::Perl5, but there may be other issues. | 09:10 | |
yoleaux | nine: I'll pass your message to orbus. | ||
09:19
glaukommatos joined
09:23
glaukommatos left
09:24
Herby__ joined
|
|||
Herby__ | Hello, everyone! | 09:24 | |
FROGGS | nine: what failures ooc? | 09:25 | |
09:26
zakharyas left
|
|||
nine | FROGGS: apparently we almost support ARM | 09:26 | |
paste.scsys.co.uk/503880 | |||
Hi Herby__! | 09:27 | ||
FROGGS | nine: I remember nwc10++ mentioning that there were smaller issues on his raspberry I think | ||
Herby__ | o/ | ||
09:28
n0tjack joined
|
|||
FROGGS | .tell orbus can I get detailed output of the failing tests? like if you'd run perl6 t/04-nativecall/02-simple-args.t etc | 09:28 | |
yoleaux | FROGGS: I'll pass your message to orbus. | ||
09:32
pierre-vigier left
09:33
rindolf joined
09:35
dakkar joined
|
|||
masak | antenoon, #perl6 | 09:39 | |
RabidGravy | erp | ||
09:41
regreg joined,
jme_ joined
|
|||
Herby__ | Hello, masak! | 09:42 | |
09:46
AlexDaniel joined
|
|||
RabidGravy | FROGGS, yeah that change to the t/04-nativecall/13-cpp-mangling.cpp is fine for Linux too, I'm just a lazy typist | 09:49 | |
:) | |||
nine | Oh, jnthn++ blogged twice this week already | 09:56 | |
09:57
virtualsue left,
pierre-vigier joined
09:58
cognominal left,
leont joined
|
|||
moritz | heh, I blogged four times (if you include the Sunday in this week), but not about Perl 6 :-) | 09:58 | |
moritz liked jnthn++'s posts | 09:59 | ||
10:01
n0tjack left
|
|||
leont | Yeah, it seems I'll subtly modify some of my code because of tricks I've seen in his that makes otherwise working code that little bit cleaner | 10:05 | |
AlexDaniel | POD question! Is there any dedicated syntax to specify the license? Or I should just keep it as a regular comment like in any other language? | 10:06 | |
RabidGravy compiles rakudo on the Pi to see what the failing tests are all about | 10:08 | ||
moritz | AlexDaniel: nothing special iirc | ||
10:08
espadrine joined
|
|||
nine | Actually I was looking for jnthn's proposal for how we handle post 6.c. Does anyone have a link handy? | 10:08 | |
stmuk_ | gist.github.com/jnthn/f3a691016c20f0cc4cfa | 10:09 | |
? | |||
nine | stmuk_: thanks! I wonder why this isn't listed in gist.github.com/jnthn | ||
stmuk_ | its private I think | ||
masak | because it's a secret gist | ||
nine: this is not the first time people ask for that gist URL. should we just add it to Rakudo's docs/ ? | 10:10 | ||
nine | masak: on it | ||
masak | nine++ | ||
dalek | kudo/nom: 0a9c3b7 | (Stefan Seifert)++ | docs/language_versions.md: Add jnthn++'s proposal for handling language versions to docs/ |
10:11 | |
nine | I'm currently investigating how to implement the nested CORE.d setting | 10:12 | |
10:12
jme_ left
10:13
espadrine_ joined,
espadrine left
|
|||
masak | nice | 10:13 | |
I'm currently musing about unquotes and recursion :) | 10:14 | ||
10:15
espadrine_ is now known as espadrine
|
|||
AlexDaniel | .u 👡 | 10:21 | |
yoleaux | U+1F461 WOMANS SANDAL [So] (👡) | ||
AlexDaniel | .u SANDAL | ||
yoleaux | U+1F461 WOMANS SANDAL [So] (👡) | ||
AlexDaniel | >:( | ||
.u ampersand | 10:23 | ||
yoleaux | U+0026 AMPERSAND [Po] (&) | ||
AlexDaniel | .u 🙴 | ||
yoleaux | No characters found | ||
masak .oO( WOMANS AMPERSANDAL ) | 10:24 | ||
AlexDaniel | m: say join ‘’, (0..0x1FFFF ==> grep { .uniname ~~ m/‘AMPERSAND’/ })».chr | ||
camelia | rakudo-moar 9bf859: OUTPUT«&۽⅋﹠&🙴🙵» | ||
dalek | kudo/nom: 57deadf | RabidGravy++ | / (3 files): Add name mangling for unsigned types |
||
kudo/nom: 27ac304 | RabidGravy++ | lib/NativeCall/Compiler/MSVC.pm6: Add mangling for unsigned types (not tested.) |
|||
kudo/nom: 70686f9 | RabidGravy++ | t/04-nativecall/13-cpp-mangling.cpp: Fixes for Windows suggested by FROGGS++ |
|||
kudo/nom: 95b9163 | FROGGS++ | / (4 files): Merge pull request #675 from jonathanstowe/cpp-mangle C++mangling additions |
|||
AlexDaniel | .u 🔂 | 10:25 | |
yoleaux | U+1F502 CLOCKWISE RIGHTWARDS AND LEFTWARDS OPEN CIRCLE ARROWS WITH CIRCLED ONE OVERLAY [So] (🔂) | ||
AlexDaniel | .u ANTICLOCKWISE DOWNWARDS AND UPWARDS OPEN CIRCLE ARROWS | ||
yoleaux | U+1F504 ANTICLOCKWISE DOWNWARDS AND UPWARDS OPEN CIRCLE ARROWS [So] (🔄) | ||
10:26
lnrdo joined
|
|||
AlexDaniel | .u 🔃🗘 | 10:26 | |
yoleaux | U+1F503 CLOCKWISE DOWNWARDS AND UPWARDS OPEN CIRCLE ARROWS [So] (🔃) | ||
10:26
Herby__ left
|
|||
AlexDaniel | come on, what's the difference between the two? | 10:26 | |
oh, it is SEMIcircle! | |||
RabidGravy | FROGGS++ now I can carry on with the SoundTouch thing :) | 10:27 | |
dalek | kudo/nom: 505dc4f | FROGGS++ | t/04-nativecall/CompileTestLib.pm: replace GNU make directive in VM config I dunno how we got away with this when running the NativeCall tests on Windows using GCC, maybe we did not. |
10:29 | |
FROGGS | RabidGravy: gcc/windows is also happy | ||
RabidGravy | just testing on a raspberry PI :-\ this might take some time | 10:30 | |
FROGGS | yeah | ||
10:33
skids joined
10:37
yeahnoob_ left
|
|||
nine | Step 1 complete: slaying the build monster. | 10:47 | |
Although to do that I had to create another monster: building everything twice :/ | |||
stmuk_ | jnthn++ # the "bread & butter" type programming is v interesting as well | 10:49 | |
masak | yes, I am liking the series so far :) | 10:52 | |
hadn't thought about overriding .parse and .subparse like that | |||
10:54
lnrdo left,
lnrdo joined
10:55
betsyy3 joined,
regreg left
|
|||
ilmari | .u U+FBF9 | 10:56 | |
yoleaux | U+FBF9 ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM [Lo] (ﯹ) | ||
ilmari | the longest unicode character name | ||
10:56
pierre-vigier left
11:00
abraxxa joined
11:01
betsyy3 left,
pierre-vigier joined
11:02
uhuihuibu joined,
n0tjack joined
11:04
abraxxa left
11:06
zakharyas joined,
jkramer joined
|
|||
jkramer | Hello | 11:06 | |
11:06
uhuihuibu left
11:08
leont left
11:09
ZoffixWin joined
|
|||
DrForr | Afternoon there. | 11:09 | |
ZoffixWin | RabidGravy, yes, huggable is written entirely in Perl 6. It's essentially my soon-to-be-released IRC::Client::Plugin::Factoid: github.com/zoffixznet/perl6-IRC-Cl.../DESIGN.md | 11:11 | |
RabidGravy | FROGGS, yeah, the name mangling is fine on a Raspberry Pi too, just going to look at the other NC related fails | ||
ZoffixWin, cool | 11:15 | ||
ZoffixWin | LTA Error: | ||
m: Date.new: "2015-01-01" .. Date.new: "2015-02-02" | |||
camelia | rakudo-moar 505dc4: OUTPUT«Default constructor for 'Date' only takes named arguments in block <unit> at /tmp/rGcITLj8xY line 1» | ||
ZoffixWin | m: Date.new("2015-01-01") .. Date.new("2015-02-02") # it DOES take positionals | ||
camelia | rakudo-moar 505dc4: OUTPUT«WARNINGS for /tmp/7lhcO6wNJR:Useless use of ".." in expression ".new(\"2015-01-01\") .. Date.new(\"2015-02-02\")" in sink context (line 1)» | ||
11:17
abraxxa joined
11:21
glaukommatos joined
|
|||
El_Che | is a regular Proc (without the Proc::Async.new invocation) run async? I have a weird race condition on serial code | 11:22 | |
moritz | El_Che: if you open it as a pipe, it's async | 11:23 | |
El_Che | I do a run, @a_ssh_commands_with_&&_inside | ||
gist.github.com/nxadm/6ef0b373297f6d7531e2 The first call to the method creates a file, a second call checksums it | 11:26 | ||
11:26
glaukommatos left
|
|||
El_Che | if a call the method serially, to have a 100% success test rate I need to had a sleep in the second ssh command (or before the method call) | 11:26 | |
most of the time it works fine without | 11:27 | ||
11:29
_Vi left
|
|||
AlexDaniel | m: say Date.new("2015-01-01") .. Date.new: "2015-02-02" | 11:29 | |
camelia | rakudo-moar 505dc4: OUTPUT«Date.new(2015,1,1)..Date.new(2015,2,2)» | ||
AlexDaniel | ZoffixWin: Somehow I think that the error message in this case should not be better if you have precendence problems | 11:30 | |
you are basically trying to do this | 11:31 | ||
m: say Date.new("2015-01-01" .. Date.new: "2015-02-02") | |||
camelia | rakudo-moar 505dc4: OUTPUT«Default constructor for 'Date' only takes named arguments in block <unit> at /tmp/DY5fyldNt5 line 1» | ||
AlexDaniel | aaaaaaah wait | ||
m: say Date.new("2015-01-01") | |||
camelia | rakudo-moar 505dc4: OUTPUT«2015-01-01» | ||
AlexDaniel | ZoffixWin: right, indeed, the error message is wrong | ||
El_Che | it's probably filesystem related | 11:32 | |
AlexDaniel | “Default constructor only takes named arguments” I'm not even sure how to interpret this. What is a “default constructor”? | 11:33 | |
like… then use non-default consructor please? :) | 11:34 | ||
11:35
RabidGravy left
|
|||
ZoffixWin | Yes, my qualm is it saying "only takes named arguments," when clearly it does take positionals too | 11:36 | |
m: say Date.new("2015-01-01-blarg") | 11:37 | ||
camelia | rakudo-moar 505dc4: OUTPUT«Invalid Date string '2015-01-01-blarg'; use yyyy-mm-dd instead in block <unit> at /tmp/J1mwVBXtBN line 1» | ||
AlexDaniel | m: say Date.new("2015-01-aa") | ||
camelia | rakudo-moar 505dc4: OUTPUT«Invalid Date string '2015-01-aa'; use yyyy-mm-dd instead in block <unit> at /tmp/HFyAY4wUKB line 1» | ||
AlexDaniel | m: say Date.new("2015-01-99") | ||
camelia | rakudo-moar 505dc4: OUTPUT«Day out of range. Is: 99, should be in 1..31 in block <unit> at /tmp/aFfu51hZcc line 1» | ||
ZoffixWin | m: say Date.new(42) | ||
camelia | rakudo-moar 505dc4: OUTPUT«Default constructor for 'Date' only takes named arguments in block <unit> at /tmp/FSlXiPHUJb line 1» | ||
AlexDaniel | m: say Date.new("2015-02-99") | ||
camelia | rakudo-moar 505dc4: OUTPUT«Day out of range. Is: 99, should be in 1..28 in block <unit> at /tmp/p48uhoOqId line 1» | ||
AlexDaniel | fine! | ||
ZoffixWin: well, will you submit a ticket? The error message could be better | 11:38 | ||
ZoffixWin | In fact, this is another thing: inconsistency | ||
m: say Date.new(now.Int) | |||
camelia | rakudo-moar 505dc4: OUTPUT«Default constructor for 'Date' only takes named arguments in block <unit> at /tmp/c12NFHqs4v line 1» | ||
ZoffixWin | m: say DateTime.new(now.Int) | ||
camelia | rakudo-moar 505dc4: OUTPUT«2016-01-06T11:39:03Z» | ||
ZoffixWin | Hm. K, I can see why it wouldn't like an epoch. Never mind | ||
AlexDaniel, yeah, I'll submit it in an hour or so | |||
FROGGS | ZoffixWin: does it perhaps miss a proto method new? | 11:39 | |
11:41
kaare_ joined
11:42
n0tjack left
11:44
nige1 left
11:47
lizmat joined
|
|||
nine | El_Che: yes, I think that run call is async. You need to close .out before you can read the exitcode. | 11:47 | |
11:49
abraxxa left,
joydo left
11:50
abraxxa joined
11:51
pierre-vigier left
|
|||
El_Che | nine: it was a remote-VM-on-NFS-slow-FS issue | 11:51 | |
11:51
jkramer left
|
|||
nine | ah ok | 11:53 | |
11:53
bpmedley joined
|
|||
nine | El_Che: But what I said is still true. Have a look at src/core/IO/Pipe.pm method close. It's what sets the Proc object's status (exitcode) | 11:55 | |
El_Che | nine: thx. I will do that | ||
mm | 11:57 | ||
reading the exit_code before .out.slurp-rest seems to work | 11:58 | ||
nine | Maybe the command does not actually output anything? | 11:59 | |
Then I guess the file handle would be closed automatically. | |||
El_Che | it does (a checksum) | ||
11:59
bpmedley left
12:01
_mg_ left
|
|||
El_Che | anyway, I went with your suggestion and added a explicit out.close | 12:01 | |
however, I still read the exit status *before* reading and closing the out | |||
12:02
xpen left,
Skarsnik joined
12:04
guest1_ joined,
guest1_ left
|
|||
Skarsnik | Hello | 12:07 | |
nine | Good morning Mr. Skarsnik. I wish you a very safe and productive day. | 12:10 | |
Skarsnik | Hey nine, is there a way to unregister a module at run time, to reload it again with require? Like the delete in @INC entry in p5 to reload module file | 12:14 | |
12:15
kid51 joined
|
|||
nine | I seem to remember from tha backlog that you already found the %!loaded hash that prevents this. Thing is, I don't know what else might be in the way. I don't know how the compiler would react seeing symbols go away or worse: symbols staying but the code behind them being replaced. | 12:16 | |
Anyway what's your use case? | 12:17 | ||
Skarsnik | plugins | ||
like for an irc bot | |||
typicaly you don't want to disconnect/Reconnect a irc bot to change stuff | 12:18 | ||
12:18
regreg joined
|
|||
pdcawley | Gah! I so want to do: "> my $foo = 20\n > my $f<TAB>" in the REPL and have '$foo' as one of the expansion options. Is enough of the runtime/parse state available anywhere to be able to do that?" | 12:19 | |
I realise that "my $foo;\\nsay $f<TAB>" isn't going to work for a while, but still... this would be nice. | 12:21 | ||
(And similarly nice for editors) | |||
12:23
glaukommatos joined
12:26
pierre-vigier joined
12:27
glaukommatos left
12:29
sftf joined,
pierre-vigier left
12:30
kid51 left
12:32
lnrdo left
12:33
lnrdo joined
12:38
lnrdo left
12:41
SwellJoe joined,
ZoffixMobile joined
12:42
bpmedley joined
|
|||
ZoffixMobile | nine, well, there's a wider usecase: developing a module for an application that takes a long time to load. For example, every change I make for an IRC bot plugin, I have to reconnect to the server. This is exacerbated by every error in the code that requires restarts. | 12:43 | |
12:43
n0tjack joined
|
|||
ZoffixMobile | Being able to reaload a piece of code without bringing down the whole application would significantly speed up development. | 12:43 | |
12:44
pjscott joined,
pjscott left
|
|||
lizmat | ZoffixMobile Skarsnik : could you perhaps try with EVALFILE and see how that works out ? | 12:45 | |
nine | Ok, the naive approach of just including the CORE.setting code in CORE.d.setting doesn't work out that well. I'm almost glad ;) | 12:46 | |
12:46
ZoffixMobile left
12:49
hankache joined
|
|||
nine | But that leaves the question of if I can actually stack those outer_ctx | 12:49 | |
hankache | m: cmp-ok 3, '<', 4, '3 is less than 4'; | ||
camelia | rakudo-moar 505dc4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Q7D1yMDC1nUndeclared routine: cmp-ok used at line 1» | ||
hankache | what am i doing wrong ? ^^ | ||
nine | m: use Test; cmp-ok 3, '<', 4, '3 is less than 4'; | 12:50 | |
camelia | rakudo-moar 505dc4: OUTPUT«not ok 1 - 3 is less than 4# Failed test '3 is less than 4'# at /tmp/mfSHeViAQK line 1# Could not use '<' as a comparator» | ||
FROGGS | m: use Test; cmp-ok 3, &[<], 4, '3 is less than 4'; | ||
hankache | nine++ | ||
camelia | rakudo-moar 505dc4: OUTPUT«ok 1 - 3 is less than 4» | ||
FROGGS | m: say &[<] | ||
camelia | rakudo-moar 505dc4: OUTPUT«sub infix:«<» (Mu $?, Mu $?) { #`(Sub+{<anon|47415424>}|75017024) ... }» | ||
hankache | FROGGS++ in the docs it says that i can enclose them in quotes | 12:51 | |
12:51
nige1 joined
|
|||
hankache | doc.perl6.org/language/testing#By_...comparison | 12:51 | |
FROGGS | hmmm, I hope the docs are wrong here | ||
unless... | |||
nine | try EVAL "&infix:<$op>" | 12:52 | |
hankache | m: use Test; cmp-ok 3, '==', 3, '3 is less than 4'; | ||
camelia | rakudo-moar 505dc4: OUTPUT«ok 1 - 3 is less than 4» | ||
12:52
sftp left
|
|||
FROGGS | m: use Test; cmp-ok 3, &infix:("<"), 4, '3 is less than 4'; | 12:52 | |
camelia | rakudo-moar 505dc4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/6mzD1DIHXCYou can't adverb at /tmp/6mzD1DIHXC:1------> 3use Test; cmp-ok 3, &infix:("<")7⏏5, 4, '3 is less than 4';» | ||
hankache | == works in quotes | ||
FROGGS | ewww | ||
of course | |||
hankache | m: use Test; cmp-ok 3, '==', 3; | ||
camelia | rakudo-moar 505dc4: OUTPUT«ok 1 - » | ||
FROGGS | EVAL "&infix:<$op>" does not work well for "<" | 12:53 | |
12:53
abraxxa left
|
|||
nine | That option should never have been included | 12:53 | |
FROGGS | m: my $inf = '<'; say &infix:«$inf» | ||
camelia | rakudo-moar 505dc4: OUTPUT«Use of uninitialized value $inf of type Any in string contextAny of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in code at /tmp/dRHiaJCijD line 15===SORRY!5=== Error while compiling /tmp/dRHiaJCijDUndeclared rout…» | ||
12:53
Guest64716 left
|
|||
FROGGS | m: BEGIN my $inf = '<'; say &infix:«$inf» | 12:53 | |
camelia | rakudo-moar 505dc4: OUTPUT«sub infix:«<» (Mu $?, Mu $?) { #`(Sub+{<anon|47415424>}|70642896) ... }» | ||
hankache | nine what option. cmp-ok ? | 12:54 | |
12:54
Guest64716 joined
|
|||
FROGGS | hankache: to be able to pass a string | 12:54 | |
12:54
_Vi joined
|
|||
llfourn | does anyone else get the SORRY! printed out three times when you have a compilation error? | 12:55 | |
hankache | FROGGS nine so should i always use &[operator] ? | 12:56 | |
lizmat | llfourn: I don't see it generally | ||
FROGGS | llfourn: rt.perl.org/Public/Bug/Display.html?id=127176 | ||
hankache: yes | |||
hankache | FROGGS nine thanks | ||
FROGGS | hankache: because then you resolve the op at compile time | ||
which is safer and faster | |||
llfourn | FROGGS: cheers | 12:57 | |
hankache | Danke :) | ||
FROGGS | :o) | ||
hankache | did i say it right? | ||
FROGGS | yes | ||
lizmat | hankache: think so | ||
hankache | hiya lizmat | ||
lizmat | hankache o/ | ||
FROGGS | lizmat: what do you say? | 12:58 | |
lizmat | Dank je | ||
Dank je wel | |||
FROGGS | ahh, k :o) | ||
12:58
_nadim left
|
|||
lizmat | Danke | 12:58 | |
hankache opening google translate | |||
lizmat | Danke schön | ||
12:58
_nadim joined
|
|||
lizmat | the local dialect where we live, is more like the German "Danke" | 12:59 | |
FROGGS | languages are awesome | ||
hankache | how many languages do you speek? | 13:00 | |
13:00
lnrdo joined
|
|||
hankache | speak* | 13:01 | |
lizmat speaks Dutch, English, German and French (sort of) | 13:02 | ||
13:03
xpen joined
|
|||
hankache speaks Arabic, French and English | 13:03 | ||
ilmari speaks Norwegian, Finnish and English | |||
FROGGS | well... German and English mostly... had Russian at school and can still say what my name and age is :D | 13:04 | |
hankache | hehe | ||
ilmari | aurum pointed out at yapc::eu last year that whenever she hangs out with perl geeks, the conversation at some point turns to languages or linguistics | ||
13:04
Ch0c0late left
|
|||
FROGGS | but besides that I like the fact that German (Latin / Central European) words, you can understand much of other languages | 13:04 | |
(besides French) | |||
hankache | oh lol | 13:05 | |
FROGGS | err, my sentence was rubbish actually | ||
but I really enjoy these intersections between languages | 13:06 | ||
stuff like Kindergarden or Doppelgängers just to name some | |||
hankache | do they feel more like dialects of the same language? | ||
FROGGS | the languages itself not, just the words | 13:07 | |
ilmari | english doesn't just borrow words from other languages. it knocks them out, drags them into an alleyway and goes through their pockets for loose vocabulary and grammar. | ||
lizmat | well, you could certainly argue that for Dutch/German, I feel | ||
FROGGS | like numbers etc | ||
ilmari: *g* | |||
13:08
xpen left
|
|||
lizmat | Well, German's "handy" would be another example of confusion :-) | 13:09 | |
FROGGS | true | ||
just explained that yesterday to my 6 year old | |||
lizmat wonders why that never took off in the english speaking world | |||
seems so logical :-) | |||
hankache | what is handy? | ||
FROGGS | also how the German seems to be called by the Polish | 13:10 | |
lizmat | hankache: the question is really "what is a handy" :-) | ||
FROGGS | hankache: mobile phones are handy :o) | ||
ilmari | hankache: in german: a mobile phone. in english: a handjob | ||
FROGGS | O.o | ||
hankache | oh! | ||
well in my country we use that word, it means cordless phones | 13:11 | ||
13:12
ZoffixW joined,
lnrdo left
|
|||
ZoffixW | lizmat, no love with EVALFILE. Redeclaration error: gist.github.com/zoffixznet/3185815f60f72eaf34e4 | 13:12 | |
13:12
lnrdo joined
|
|||
lizmat | well, then we will first have to fix that, I think :-) | 13:12 | |
hankache | ok back to work. Nice chatting with you guys & gals | 13:13 | |
Skarsnik | ZoffixW, try delete GLOBAL::Foo:delete ? | ||
13:14
pierre-vigier joined
|
|||
FROGGS | m: use MONKEY-SEE-NO-EVAL; my $str = 'class Foo { }'; say EVAL $str; GLOBAL::<Foo>:delete; say EVAL $str | 13:15 | |
camelia | rakudo-moar 505dc4: OUTPUT«(Foo)(Foo)» | ||
hankache | ah another question. | ||
how come use-ok work even without loading the module ? | |||
doesn't it only looked if it is installed? | 13:16 | ||
FROGGS | m: use MONKEY-SEE-NO-EVAL; my $str = 'my $x = rand; class Foo { method bar { $x } }'; say (EVAL $str).bar; GLOBAL::<Foo>:delete; say (EVAL $str).bar | ||
camelia | rakudo-moar 505dc4: OUTPUT«0.9444141782839070.0629416904039236» | ||
ZoffixW | Skarsnik, nah. No error, but changing the Foo.pm6 doesn't change the output of the program | ||
hankache | **does it it only look if it is installed? | ||
FROGGS | hankache: no, it does an EVAL "use $thing" | 13:17 | |
13:17
pierre-vigier left
|
|||
ZoffixW | hankache, in P5, it actually loads the module for you. I don't see that part of the behaviour in P6, but I don't see why you need to `use` a module just to check whether it's `use`able :) | 13:17 | |
(loads the module so you can use its functions in the scope of your test) | |||
FROGGS nods | 13:18 | ||
hankache | thanks :) | ||
ZoffixW I am not saying it should. Just asking | |||
13:19
CIAvash left
|
|||
ZoffixW | FROGGS, seems your code is cheating somehow | 13:20 | |
hankache | see ya later #perl6 | ||
13:20
hankache left
|
|||
ZoffixW | If I put that class in a file and eval it with EVALFILE or EVAL 'Foo.pm6'.IO.slurp; I don't get the changed value | 13:20 | |
As in this: gist.github.com/zoffixznet/d8ed10c0be4dd19bfe8e | 13:22 | ||
FROGGS | ZoffixW: drop that -MFoo ? | 13:23 | |
and then access Foo as ::('Foo') after the EVALFILE | 13:24 | ||
ZoffixW | OMG! It works! | ||
FROGGS++ | |||
FROGGS | \o/ | 13:25 | |
13:26
virtualsue joined
|
|||
FROGGS | though I bet you cannot precomp the module that does the EVALFILE... at least not today | 13:26 | |
ZoffixW | Sweet. I've successfully reloaded a module in a testcase :) Gonna see how well the method applies in real world code. This is what worked BTW: gist.github.com/zoffixznet/47f908a2cc42681472df | ||
FROGGS, that's a minor issue, considering it takes me ~10 seconds to reconnect to the server every time there's a syntax error in my module :P | 13:27 | ||
FROGGS | yeah | ||
ZoffixW | heh, I see someone fixed DateTime.new not taking an Instant. That was fast :D | 13:28 | |
m: say DateTime.new: now | |||
camelia | rakudo-moar 505dc4: OUTPUT«2016-01-06T13:28:50.290566Z» | ||
El_Che | nine: the out.close and exit status weirdness comes down to this bug: rt.perl.org/Public/Bug/Display.html?id=125757 | 13:29 | |
13:29
FROGGS left
|
|||
ZoffixW | RT for the LTA error discussed this morning has been created: rt.perl.org/Ticket/Display.html?id=127186 | 13:32 | |
Affects DateTime too | |||
El_Che | so if $proc has a non zero exit status, $proc.out.close will die by design. At the same time you should call $proc.exitcode only after closing out, so you can not make the $proc.close conditional. Head explodes | ||
13:32
ZoffixW left
13:35
n0tjack left
|
|||
El_Che | I suppose I can try-catch the exception, but it feels wrong (I will never get the real exitcode by example) | 13:35 | |
13:35
lnrdo left
13:36
lnrdo joined
13:38
lnrdo left,
lnrdo joined
|
|||
mort96 | Hey, what exactly is the difference in perl between self and $ in methods? | 13:39 | |
lizmat | self and $ ? | 13:41 | |
what's $ ? | |||
llfourn | lizmat: $.method | ||
El_Che | does my rambling make sense, if so, you I provide sample code? | ||
lizmat | ah, you can interpolate $.method in a string, you cannot do that with self.method unless you use curlies | ||
13:41
Tonik left
|
|||
llfourn learns something new lizmat++ | 13:42 | ||
mort96 | are they otherwise the same? | ||
lizmat | personally, I hate using $.method when it is actually just a method | ||
because it gives you the idea it's an attrbute | |||
llfourn | mmm I think self.method and $.attr is a good convention | 13:43 | |
mort96 | doc.perl6.org/language/classtut#Private_Methods that uses $!myproperty and self!mymethod | ||
lizmat | m: class A { method foo { $.say } }; A.foo # yuck | ||
camelia | rakudo-moar 505dc4: OUTPUT«(A)» | ||
lizmat | mort96: $!foo does *not* call a method, it's a direct access to the attribute | 13:44 | |
llfourn | correction: self.method for methods, $.attr for superclass attr and $!attr for private attrs | ||
(is my convention) | |||
$!attr for local class attributes rahter :) | 13:45 | ||
lizmat | llfourn: sounds very sane :-) | ||
mort96 | so, in a class, I have `my Str $!host`, and in the new method, `return self.bless(host => $host)` (where $host is a local variable), and in another method, `say $!host`. That prints "(Str)" to the console, which doesn't seem right | 13:51 | |
13:51
n0tjack joined
|
|||
lizmat | mort96: don't you mean "has Str $!host" ? | 13:51 | |
El_Che | ok,about my rambling: it's a regression (close did not use to throw an exception). I'll append it to the ticket | ||
moritz | mort96: you've declared a private attribute, which means it's not settable through .new and .bless | 13:52 | |
mort96 | right, yes, it's has, not my | ||
arnsholt | Also, a custom new() method has to call BUILD on its own | ||
moritz | mort96: you can add submethod BUILD(:$!host) { } to make it settable | ||
arnsholt: no | |||
arnsholt: .bless does that | |||
arnsholt | Oh! | ||
mort96 | ugh, constructors in perl 6 are really weird. | ||
arnsholt | I thought it didn't! | 13:53 | |
moritz | doc.perl6.org/language/objects#Obj...nstruction | ||
llfourn | protip: don't use private attributes unless you really want them to be private | 13:54 | |
mort96 | well, it's properties nobody really has any business knowing | 13:55 | |
13:55
n0tjack left
|
|||
llfourn | mort96: I p6 doesn't have a good way of dealing with attributes that in one context are "public" ie you can set them in constructor, but in other contexts they are private. | 13:56 | |
s/I // | |||
so I feel your frustration :) | 13:57 | ||
lizmat | feels to me that if you can set an attribute through the constructor, they ate by definition public | ||
mort96 | moritz: to have .new take a positional argument, must I then implement it and make it call BUILD and bless manually, or does some magic happen and do things? | ||
El_Che | rt.perl.org/Public/Bug/Display.html?id=125757 <- Exception cause chicken-and-egg problem with proc.close and proc.exitstatus | ||
exitcode | |||
moritz | mort96: method new($host) { self.bless(:$host) }; submethod BUILD(:$!host) { } | ||
mort96: should be enough | |||
mort96 | alright | 13:58 | |
llfourn | lizmat: you may want to have routines that create the objects to be able to set the attributes but routines that get passed them as an argument nnot be be able to see them IMO | ||
moritz | mort96: though it makes your constructors much more composable if you stick to named arguments | ||
llfourn | or at least when I program in other languages I use patterns like that | 13:59 | |
once I got used to p6 I don't find myself reaching for them | |||
mort96 | alright, I'll use named arguments, seems like that's the easiest | 14:00 | |
14:02
SwellJoe left
|
|||
dalek | ast: 5e7d2ad | lizmat++ | S32-temporal/Date (2 files): Add tests for RT #127170 |
14:03 | |
Skarsnik | rip bot that give rt link :( | ||
dalek | kudo/nom: fec0619 | lizmat++ | src/core/Date (2 files): Fix for RT #127170 |
14:04 | |
moritz | RT#127170 | 14:08 | |
nope, it wasn't the space | |||
Skarsnik | Could be cool to have a something to tell that all the class in an unit share the same traits | ||
lizmat | moritz: ?? | 14:09 | |
Skarsnik | module BunchOfClass { class are rw are export; class A {}; class B {}} | ||
lizmat | ah, the RT bot... carry on :-) | 14:10 | |
afk for a bit & | |||
14:11
jkramer joined
|
|||
jkramer | Ahoy again. | 14:11 | |
14:11
glaukommatos joined
|
|||
Skarsnik | could that be done with macro actually? | 14:11 | |
jkramer | I just started learning about parallelism in P6, and I'm wondern if @array.race(or hyper).grep is supposed to work or not (and why). race/hyper.map works just fine as in the example. | 14:12 | |
grep returns an empty list though. | 14:13 | ||
AlexDaniel | Skarsnik: I wonder if anybody ever used macros in Perl 6 successfully… | ||
14:13
virtualsue left
|
|||
jkramer | Also .grep without race/hyper works as well | 14:13 | |
Skarsnik | AlexDaniel, hi. You did not repport your pg issue! | ||
AlexDaniel | Skarsnik: yes, I know. Thanks for reminding | 14:14 | |
Skarsnik: I have to research it a little bit before reporting | |||
Skarsnik: I have it written down, so I don't think that I'll forget about it :) | |||
right now I wonder how can I serve binary files with Bailador? | 14:15 | ||
Skarsnik | Still no sessin with Bailador? | ||
AlexDaniel | “Type check failed in assignment to $output; expected Str but got Buf” | ||
Skarsnik | good question | ||
14:16
glaukommatos left
|
|||
Skarsnik | Probably need to create the http::message yourself? | 14:16 | |
AlexDaniel | whoooaaa… | ||
14:17
loren joined
|
|||
Skarsnik | Does it take HTTP::Message object in some way? | 14:17 | |
loren | Hi, #Perl 6~ | ||
AlexDaniel | Skarsnik: honestly, I have no idea | 14:18 | |
Skarsnik: but I feel like it doesn't… | 14:19 | ||
Skarsnik | My feeling with bailaidor that it does not do much aside if you want write json output xD | 14:20 | |
loren | m: my %hash = a => 1, b => 2; "1" ~~ /^ %hash{'b'} $/; | 14:21 | |
camelia | rakudo-moar fec061: OUTPUT«5===SORRY!5=== Error while compiling /tmp/mFkUzsvMW7Missing quantifier on the left argument of %at /tmp/mFkUzsvMW7:1------> 3my %hash = a => 1, b => 2; "1" ~~ /^ %7⏏5hash{'b'} $/;» | ||
loren | Does anyone know how to interpolate Hash value to regex match ? | 14:22 | |
14:22
pierre-vigier joined
|
|||
Skarsnik | no empty method on Array/List? | 14:22 | |
m: my %hash = a => 1, b => 2; "1" ~~ /^ "%hash{'b'}" $/; | 14:23 | ||
camelia | ( no output ) | ||
Skarsnik | m: my %hash = a => 1, b => 2; "1" ~~ /^ "%hash{'a'}" $/; | ||
camelia | ( no output ) | ||
Skarsnik | m: my %hash = a => 1, b => 2; say "1" ~~ /^ "%hash{'a'}" $/; | ||
camelia | rakudo-moar fec061: OUTPUT«「1」» | ||
Skarsnik | m: my %hash = a => 1, b => 2; say "1" ~~ /^ "%hash{'b'}" $/; | ||
camelia | rakudo-moar fec061: OUTPUT«Nil» | ||
14:24
donaldh joined
|
|||
loren | m: say ((1, 2, 3)); say ((1, 2, 3),); # and and this little problem | 14:24 | |
camelia | rakudo-moar fec061: OUTPUT«(1 2 3)((1 2 3))» | ||
jkramer | m: (0..10).grep({ $_.is-prime }) | ||
camelia | ( no output ) | ||
jkramer | m: say (0..10).grep({ $_.is-prime }) | 14:25 | |
camelia | rakudo-moar fec061: OUTPUT«(2 3 5 7)» | ||
AlexDaniel | Well, at some point I started to realize that if the repo is owned by tadzik then it is potentially dead or just unusable… nvm, don't mind this cryout, I just want to serve a goddamn binary file… | ||
loren | Skarsnik, good! | ||
jkramer | m: say (0..10).hyper.grep({ $_.is-prime }) | ||
camelia | rakudo-moar fec061: OUTPUT« it has 0 elements.()» | ||
loren | Skarsnik, thanks | ||
AlexDaniel | m: ^10 .grep: *.is-prime | ||
camelia | ( no output ) | ||
AlexDaniel | m: say ^10 .grep: *.is-prime | ||
camelia | rakudo-moar fec061: OUTPUT«(2 3 5 7)» | ||
jkramer | But how do I get hyper/race to work with grep? | 14:26 | |
AlexDaniel | jkramer: I'm not sure if it works correctly right now, there was a bug report recently | ||
jkramer | Hmm ok, I googled this a lot but can't find anything | ||
AlexDaniel | ah, actually maybe it works | 14:27 | |
jkramer: the bug report I'm referencing to is rt.perl.org/Public/Bug/Display.html?id=127099 | |||
say ^10 .grep: *.is-prime | |||
m: say ^10 .grep: *.is-prime | |||
camelia | rakudo-moar fec061: OUTPUT«(2 3 5 7)» | ||
AlexDaniel | m: say ^10 .hyper.grep: *.is-prime | 14:28 | |
camelia | rakudo-moar fec061: OUTPUT« it has 0 elements.()» | ||
AlexDaniel | m: say ^10 .race.grep: *.is-prime | ||
camelia | rakudo-moar fec061: OUTPUT« it has 0 elements.()» | ||
AlexDaniel | what has 0 elements? What's that? | ||
jkramer | Yeah that's my problem :) With hyper/race the result is an empty list | ||
AlexDaniel | m: say ^1000 .hyper.map: * + 10 | 14:29 | |
camelia | rakudo-moar fec061: OUTPUT«HyperSeq.new» | ||
14:29
RabidGravy joined
|
|||
AlexDaniel | m: my @a = ^1000 .hyper.map: * + 10; say @a | 14:29 | |
camelia | rakudo-moar fec061: OUTPUT«[10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 …» | ||
AlexDaniel | m: my @a = ^1000 .hyper.map(* + 10).grep(* > 5); say @a | 14:30 | |
camelia | rakudo-moar fec061: OUTPUT«[10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 …» | ||
14:30
pierre-vigier left
|
|||
jkramer | map works just fine, just grep doesn' | 14:30 | |
AlexDaniel | m: my @a = ^1000 .hyper.grep(* > 5); say @a | ||
camelia | rakudo-moar fec061: OUTPUT« it has 0 elements. it has 0 elements. it has 0 elements. it has 0 elements. it has 0 elements. it has 0 elements. it has 0 elements. it has 0 elements. it has 0 elements. it has 0 elements. it has 0 elem…» | ||
14:31
wamba left
14:32
pierre-vigier joined
|
|||
AlexDaniel | jkramer: rt.perl.org/Public/Bug/Display.html?id=127190 | 14:35 | |
jkramer | Thanks, I'll follow there :) | 14:36 | |
AlexDaniel | jkramer: you can probably work around it for now | 14:37 | |
PerlJam | It's not really grep is it? | ||
AlexDaniel | m: my @a = ^1000 .hyper.map(*).grep(* > 5); say @a | ||
camelia | rakudo-moar fec061: OUTPUT«Cannot call map(HyperSeq: Whatever); none of these signatures match: ($: Hash \h, *%_) (\SELF: █; :$label, :$item, *%_) (HyperIterable:D $: █; :$label, *%_) in block <unit> at /tmp/stcUrxYN55 line 1» | ||
AlexDaniel | m: my @a = ^1000 .hyper.map({$_}).grep(* > 5); say @a | ||
camelia | rakudo-moar fec061: OUTPUT«[]» | ||
PerlJam | m: say my @a = ^1000 .hyper; | ||
camelia | rakudo-moar fec061: OUTPUT« it has 0 elements. it has 0 elements. it has 0 elements. it has 0 elements. it has 0 elements. it has 0 elements. it has 0 elements. it has 0 elements. it has 0 elements. it has 0 elements. it has 0 elem…» | ||
AlexDaniel | hmmm | ||
PerlJam | It's hyper/race | ||
AlexDaniel | PerlJam: oh! | ||
jkramer | AlexDaniel: Don't really need it, I was just playing around with parallelism for learning | ||
I mean, I don't need it right now :) | |||
AlexDaniel | m: my @a = ^1000 .hyper.map(* + 10); say @a | 14:38 | |
camelia | rakudo-moar fec061: OUTPUT«[10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 …» | ||
AlexDaniel | PerlJam: I'm not sure that I understand. How would you explain this ↑ then? :) | ||
m: my @a = ^1000 .hyper.grep(* > 10); say @a | |||
camelia | rakudo-moar fec061: OUTPUT« it has 0 elements. it has 0 elements. it has 0 elements. it has 0 elements. it has 0 elements. it has 0 elements. it has 0 elements. it has 0 elements. it has 0 elements. it has 0 elements. it has 0 elem…» | ||
AlexDaniel | just changing map to grep makes the difference | ||
ilmari | the "it has 0 elements" comes from a note() in HyperSeq.iterator!block-for-result | 14:39 | |
mspo | how many threads will hyper create by default? | 14:40 | |
14:41
tipdbmp left
|
|||
jkramer | Hahaha, .hyper(degree => 0) just does nothing and never finishes :D | 14:42 | |
AlexDaniel | mspo: how can you know? :) Ideally it should probably check for various things… Like, it depends on the machine | ||
14:42
pierre-vigier left
|
|||
mspo | also is that the equivilent of a coroutine/goroutine/erlang process/whatever haskell thinggy is called | 14:42 | |
jkramer | Probably should have a check for that and throw an error :) | ||
AlexDaniel | mspo: according to docs it is :batch(64) and :degree(4) | ||
mspo | is there a doc on the scheduler for all of this stuff? | 14:43 | |
AlexDaniel | jkramer: what about negative values? What about Inf? What about NaN? | ||
ah, it is Int, so no Inf and no NaN | 14:44 | ||
jkramer | I think a simple sanity check like > 0 should do :) | 14:45 | |
AlexDaniel | jkramer: consider submitting a pull request or at least a bug report :) | ||
jkramer | Yep, will do :) | 14:46 | |
AlexDaniel | jkramer++ # thanks! | 14:47 | |
14:50
Sm4rkey joined
14:51
Casan joined
|
|||
RabidGravy | surely *threads* it's: | 14:51 | |
m: say $*SCHEDULER.perl | |||
camelia | rakudo-moar fec061: OUTPUT«ThreadPoolScheduler.new(initial_threads => 0, max_threads => 16, uncaught_handler => Callable)» | ||
RabidGravy | 16 max | ||
14:53
Sm4rkey left,
_nadim left,
_nadim joined
14:56
FROGGS joined
14:59
_Vi left
|
|||
Skarsnik | is there an easy way display stuff aligned? like I want to write "int a;" "int b;" "unsigned long int c;" but with a/b/c at the same column | 15:01 | |
PerlJam | Skarsnik: hit your space bar the appropriate number of times? :) | 15:02 | |
15:03
wamba joined
|
|||
RabidGravy | sprintf ? | 15:03 | |
mspo | RabidGravy: nice | ||
AlexDaniel | Skarsnik: perhaps vim/emacs macros can do that? If not, just a little bit of scripting will do :) | 15:04 | |
15:04
zakharyas left
|
|||
Skarsnik | In perl6 code xD | 15:04 | |
15:04
xpen joined
|
|||
nine | ZoffixWin: just came to me: maybe those plugins for your IRC client shouldn't actually be running in the same process. Imaging having a process per plugin that could be restarted independently. Could also be running in a sandbox for security. | 15:05 | |
AlexDaniel | Skarsnik: you are generating code with Perl 6 code? | ||
Skarsnik | Yes | ||
AlexDaniel | oh | ||
RabidGravy | wonderful :) | ||
Skarsnik | printf could work | ||
AlexDaniel | yes, printf should work if you know some stuff ahead | 15:06 | |
though I'm interested to see some automated solution that would work for any code, hm | |||
PerlJam | It would be nice to have some Text::Autoformat goodness for P6 though. (with plugins to align specific types of text) | ||
AlexDaniel | like that ↑, yes | ||
15:06
jme` joined
|
|||
mspo | does perl6 detail any of the perl5 perlform stuff? | 15:06 | |
s/detail/retain | 15:07 | ||
Skarsnik | there is the Form module | ||
15:07
cognominal joined
|
|||
RabidGravy | well it's like Perl 3 form stuff that just stuck around through 5 ;-) | 15:08 | |
mspo | sure | ||
Practical Extraction & Reporting Language | 15:09 | ||
15:09
_nadim left
|
|||
RabidGravy | I think I've used forms exactly once in Perl 5 | 15:09 | |
15:09
n0tjack joined
15:10
hankache joined,
xpen left
|
|||
mspo | I never did, just read the docs and thought it looked cool | 15:10 | |
masak | mspo: no, "forms are relegated to a module, not core" seems to have been a decision that was taken on Day 1 for Perl 6, and then not changed :) | ||
hankache | hiya #perl6 | ||
masak | mspo: there's a Form module in the ecosystem, but it's incomplete | ||
mspo | but I don't print dot matrix reports :) | ||
masak | mathw_: want to work on Form sometime? :) | 15:11 | |
mathw_: (together, I mean) | |||
rindolf | hankache: hi! Sup? | ||
15:11
glaukommatos joined
|
|||
hankache | hi rindolf, all is well. You? | 15:11 | |
rindolf | hankache: I was irritated earlier. | 15:12 | |
AlexDaniel | I've always wondered how did this feature made it through so many versions | ||
rindolf | hankache: but now I'm feeling better. | ||
Skarsnik | printf does not work, or could you have a right padding? | ||
hankache | rindolf oh! I hope all is well now | ||
rindolf | hankache: it mostly is. | ||
hankache | rindolf Great | 15:13 | |
Skarsnik | oh %-30s | 15:14 | |
hankache | rindolf btw great job on www.shlomifish.org/ | ||
rindolf | hankache: thanks! | 15:15 | |
hankache: I still need to properly adapt it to those pesky mobile devices. | |||
15:15
molaf joined
15:16
glaukommatos left
|
|||
hankache | rindolf I think bootstrap is what most people are using these days. Though I am no expert. | 15:16 | |
getbootstrap.com/ | |||
masak .oO( <mumble>Bootstrap's bootstraps</mumble> ) | 15:17 | ||
rindolf | hankache: Bootstrap makes most sites I browse look the same . :-(. | ||
masak | that's because people don't tailor it enough | 15:18 | |
rindolf | Or at least I think that is what it is. | ||
masak | yes, very likely | ||
hankache | what are the alternatives by the way? | 15:19 | |
15:20
_nadim joined
|
|||
Skarsnik | that look better :) gist.github.com/Skarsnik/003b499ec8a0ad20193d | 15:20 | |
hankache | wordpress? | ||
i hear they will be dumping PHP for javascript | |||
mspo | github.com/mourner/dead-simple-grid | ||
that would be nice (re wordpress) | |||
RabidGravy | polymer | 15:21 | |
15:21
_mg_ joined
|
|||
timotimo | o/ | 15:21 | |
RabidGravy | harr! | ||
hankache | yo | ||
dalek | href="https://modules.perl6.org:">modules.perl6.org: 49b29cc | (Zoffix Znet)++ | modules.perl6.org-init.d: Explicitly specify PID file If we don"t, Toadfarm creates it in /tmp and when the build script tries to restart the app, hypnotoad--not finding the pid file in bin/--attempts to cold-start the app and fails due to the port being already taken. Placing the PID file into bin/ makes it find it and do the hot-restart correctly |
15:22 | |
15:28
ZoffixW joined
|
|||
ZoffixW | nine, unless there's some IPC super magic in Perl 6 I don't know about, a separate process won't work. My plugins receive the IRC::Client object that has a connected socket as one of its attributes. | 15:29 | |
I'd need some abstraction and I don't see the benefit in creating it (well, other than the whole "takes 10seconds to see the change because I have to reconnect to the server") | 15:30 | ||
jkramer | AlexDaniel: rt.perl.org/Ticket/Display.html?id...d776353d3c | ||
15:30
nige1 left
|
|||
jkramer | Took a while because I had to recover my bitcard account :) | 15:30 | |
AlexDaniel | jkramer: you can just write an email :) | 15:31 | |
timotimo | a pidfile insied bin/?? | ||
that's *weird* | |||
15:31
muraiki joined
|
|||
ZoffixW | timotimo, bin/ not /bin mind you :) | 15:31 | |
Skarsnik | m: info "Hello"; | 15:32 | |
camelia | rakudo-moar fec061: OUTPUT«5===SORRY!5=== Error while compiling /tmp/kNu9_24r2xUndeclared routine: info used at line 1» | ||
timotimo | still weird :) | ||
ZoffixW | heh | ||
Skarsnik | oh it's note | ||
hoelzro | o/ #perl6 | ||
ZoffixW | \o | 15:33 | |
hankache | o/ | ||
nine | True or false? The setting is the outer lexical scope of the compilation unit. | 15:34 | |
15:35
sftp joined
|
|||
dj_goku | hi | 15:36 | |
ZoffixW | \o | ||
hankache | o/ | ||
\oo/ | 15:37 | ||
hankache is playing | |||
DrForr | Is that you, Zaphod? | ||
llfourn | nine: not if your inside an EVAL but I don't know enough to comment on the general idea | ||
timotimo | nine: true afaik | 15:38 | |
nine | So having the CORE setting be the outer lexical scope for the CORE.d setting and this then be the outer lexical scope for the compilation unit should be quite possible, als lexical scopes are very stackable indeed | 15:39 | |
timotimo | CORE.d? | 15:40 | |
nine | From docs/language_versions.md: "Additions to the setting will be made in a "nested" setting. That is, a "use v6.d" will load CORE.d.setting or so. It can use augment and supercede in order to effect changes." | ||
I'm trying to figure out how to actually implement that | |||
timotimo | ah | 15:41 | |
yeah, should be quite doable | |||
nine | It's just the "how" that I don't know yet :) | ||
timotimo | *cough cough* i'll let someone with more of a clue about the internals handle this question ... %) | 15:42 | |
jkramer | Is there some sweet syntactic sugar for creating an array of repeating elements? Like x for strings? I.e. [0] x 3 => [0,0,0] or even [1,2,3] x 2 => [1,2,3,1,2,3] | ||
15:43
pierre-vigier joined
|
|||
timotimo | yeah, xx | 15:43 | |
15:43
yurivish_ joined
|
|||
nine | timotimo: oh come on. I don't have a clue either :) Yet it's still possible that we can figure this out | 15:43 | |
llfourn | m: [ 0 xx 3 ].note | ||
camelia | rakudo-moar fec061: OUTPUT«[0 0 0]» | ||
llfourn | m: [ flat 1..3 xx 2 ].note | 15:44 | |
camelia | rakudo-moar fec061: OUTPUT«[1 2]» | ||
nine | Most of what I've done since summer is poking at it with a stick and watching how it reacts ;) | ||
llfourn | m: [ flat (1..3 xx 2) ].note | ||
15:44
ZoffixW left
|
|||
camelia | rakudo-moar fec061: OUTPUT«[1 2]» | 15:44 | |
15:44
yurivish left
|
|||
timotimo | :) | 15:44 | |
llfourn | m: [ flat (1,2,3 xx 2) ].note | ||
camelia | rakudo-moar fec061: OUTPUT«[1 2 3 3]» | ||
llfourn | m: [ flat (1..3) xx 2) ].note | 15:45 | |
camelia | rakudo-moar fec061: OUTPUT«5===SORRY!5=== Error while compiling /tmp/_tkOaoluRPUnable to parse expression in array composer; couldn't find final ']' at /tmp/_tkOaoluRP:1------> 3[ flat (1..3) xx 27⏏5) ].note expecting any of: postfix stat…» | ||
llfourn | m: [ flat (1..3) xx 2 ].note | ||
camelia | rakudo-moar fec061: OUTPUT«[1 2 3 1 2 3]» | ||
llfourn will stop now | |||
15:46
khisanth_ joined
15:47
pierre-vigier left,
sjoshi left
|
|||
loren | m: say ((1, 2, 3)); say ((1, 2, 3),); # why parser treat them difference | 15:48 | |
camelia | rakudo-moar fec061: OUTPUT«(1 2 3)((1 2 3))» | ||
timotimo | because of the single-argument-rule | 15:49 | |
the trailing comma is a way to get "the other" meaning | |||
15:49
Khisanth left
15:50
_nadim left
15:51
khisanth_ left
|
|||
loren | But there is nothing after.. | 15:51 | |
RabidGravy | nine, y'know that ARM thing this morning, the test is actually mislabeled it's uint16 -> unsigned short that is the problem | ||
nine | RabidGravy: are you sure? There were a couple of int8 tests that failed | 15:52 | |
unit8 from Perl6 -> C and int8 from C -> Perl6 | |||
Wait... uint16 -> unsigned short? That cannot possibly work? | 15:53 | ||
15:53
psy_ joined
|
|||
moritz | off-topic question: I have a loand EEE PC with Windows XP (yuck, I know), and want to run some linux environment | 15:53 | |
what's the best way to do it? | |||
RabidGravy | in the t/04-nativecall/02-simple-args.t it say "is TakeUint16(0xFFFE), 11, 'passed uint8 0xFFFE';" | ||
Skarsnik | nine, pls can you fix this github.com/rakudo/rakudo/blob/nom/...ll.pm6#L89 it should be char not int x) | ||
moritz | I've looked at user-mode linux and colinux, but they both seem to be pretty dormant/old projects, with no new-ish distros supported | ||
any other ideas? | |||
loren | maybe msys or cygwin | 15:54 | |
or virtual machine | |||
gfldex | moritz: does it boot form USB-Sticks? | ||
timotimo | loren: if there was something after the , it wouldn't be a trailing comma | ||
moritz | gfldex: no; that's the first thing I tried | ||
loren: it doesn't have hardware support for virtualization, and it's rather slow :( | 15:55 | ||
RabidGravy | on ARM it gets, -2 not 65534 (which is weird) | ||
gfldex | moritz: as long as it got sufficient ramz you could also use a livecd | ||
moritz | I guess I'll take a look at msys | ||
loren | moritz, oh, that may be troublesome | 15:56 | |
RabidGravy | I've got an EEE with ubuntu on somewhere | ||
nine | Skarsnik: can do | ||
Skarsnik: why on earth has this been no problem till now? | |||
Skarsnik | I think FROGGS add this in rush to have bool/size_t not provocing an error in a part of Moar that does not have definition for it | 15:57 | |
nine | It works! | ||
nine@sphinx:~/rakudo/src/core_d (language_versions *)> perl6 -e 'use v6.c; CompUnit.test' | |||
Skarsnik | try a blame on the file:line? | ||
nine | Method 'test' not found for invocant of class 'CompUnit' | ||
nine@sphinx:~/rakudo/src/core_d (language_versions *)> perl6 -e 'use v6.d; CompUnit.test' | |||
it works! | |||
Skarsnik | Ohhh | ||
nine | It's as straight forward as one can imagine :) | 15:58 | |
loren | timotimo, what parser do with the first one | ||
jkramer | literal: Thanks! | 15:59 | |
Skarsnik | nine, it probably work because it's only used when bool is in a routine not a struct. and int32 containt enought space for char... | 16:00 | |
16:01
donaldh left
|
|||
jkramer | Is there by any chance a p6lint already that looks at my code and tells me what I can do better/shorter/sweeter? | 16:01 | |
16:01
CIAvash joined
|
|||
timotimo | loren: the first what? | 16:01 | |
Skarsnik | nine, I think it's int8 even, not char x) | 16:02 | |
loren | timotimo, forget it. Thanks for your explanation. Night .. | ||
nine | Skarsnik: have you tested the fix? | ||
loren | I have to go to sleep now ^_^…………... | ||
Skarsnik | I have no idea what kind of bug it provoq | ||
timotimo | gnite loren :) | 16:03 | |
nine | 'char' should be the right answer, as it's on the right hand side of the => and it's the same answer for int8 | ||
Skarsnik | Oh yeah, it's definitly char | ||
16:04
loren left,
khisanth_ joined
|
|||
dalek | kudo/language_versions: 08571f9 | (Stefan Seifert)++ | / (5 files): First attempt at adding a CORE.d setting |
16:08 | |
nine | lizmat: ^^^ | ||
ilmari | .tell DrForr Readline has a bunch of native functions with Int parameter/return types, which NativeCall now complains about | 16:09 | |
yoleaux | ilmari: I'll pass your message to DrForr. | ||
awwaiid | I created a separate Inline::Ruby::Sweet so that Inline::Ruby can avoid magic. Here is a sample session in which I load a ruby JSON file and traverse down to some values via p6 [] calls gist.github.com/awwaiid/a0bbb20c88b3c7f52c2d | ||
16:09
lnrdo left
16:10
lnrdo joined
|
|||
literal | jkramer: hm? | 16:10 | |
16:10
khisanth_ is now known as Khisanth
|
|||
jkramer | literal: Something like hlint for haskell or clint for C, but for perl6 | 16:12 | |
literal | not sure I follow | ||
jkramer | Something that looks at the source and tells me (for example) that (0..9) can be written as ^10 instead. Or that [0,0,0,0,0] could be written as 0 xx 5. | 16:13 | |
literal | <jkramer> literal: Thanks! <-- I was just wondering what that was about :) | 16:14 | |
jkramer | Ohh :D | ||
completion fail, I mean llfourn | |||
Sorry | |||
literal | I see | ||
llfourn | jkramer: sorry what's up? | 16:15 | |
16:15
nige1 joined
|
|||
llfourn | jkramer: hmm we don't have p6lint yet I don't think :) | 16:16 | |
though since p6 can parse itself one day we should be able to do it! | |||
16:16
marshyon joined
|
|||
jkramer | Nothing, said thanks for the xx hint earlier and accidentally hit literal instead, lots of confusion | 16:17 | |
Alright, then I guess I have to actually learn the idoms myself :D | |||
awwaiid | jkramer: also ... idioms are still being invented :) | 16:18 | |
gfldex | my $method = $!uri.substr(1,$!uri.index('/', 1) // Inf); <-- first time i found good use of Int | 16:22 | |
s/Int/Inf/ | |||
Juerd | I've found several good uses of Inf already. Especially lists that go up to Inf are nice. | ||
16:23
uvtc joined
|
|||
Skarsnik | m: my int32 $a = Inf; say $a; | 16:24 | |
camelia | rakudo-moar fec061: OUTPUT«This type cannot unbox to a native integer in block <unit> at /tmp/izbEM5ZCzp line 1» | ||
hankache | if i have 2 files in the same directory and one "require" the other how do i do? | 16:25 | |
awwaiid | hankache: I've been doing: use lib '.' | ||
for modules | |||
uvtc | m: my @a = <a b>; my @b = <x y>; @a.push(@b); say @a; | 16:26 | |
yoleaux | 07:27Z <grondilu> uvtc: also notice there is a whole synopsis about lists: S07 | ||
camelia | rakudo-moar fec061: OUTPUT«[a b [x y]]» | ||
hankache | awaiid++ | ||
awwaiid++ | |||
uvtc | Is rakudo behaving as expected there? It seems to disagree with S07. | ||
Juerd | Is there a nicer way to write "flat @foo Z ^Inf"? | ||
hankache | uvtc yes it is | ||
awwaiid | m: my @a = <a b>; my @b = <x y>; @a.push(|@b); say @a; | 16:27 | |
camelia | rakudo-moar fec061: OUTPUT«[a b x y]» | ||
hankache | uvtc unless what you want is this ^^ | ||
Juerd | m: my @a = <a b>; my @b = <x y>; @a.append(@b); say @a; | ||
camelia | rakudo-moar fec061: OUTPUT«[a b x y]» | ||
awwaiid | oh right, I keep forgetting about .append | ||
hankache | oh append!! | ||
uvtc | hankache: S07 says that it should push @b.elems values onto @a, but what I'm seeing here is that it pushes one value onto @a. | 16:28 | |
hankache | Juerd++ | ||
Juerd | I still haven't decided whether I like push(|@b) or append(@b) most. | ||
I really hate having two methods that do almost the same thing | |||
hankache | uvtc use append as Juerd did above | ||
awwaiid | uvtc: that is a bug in S07; can you point me to the specific section? | ||
Skarsnik | append put at the begining and push at the end? | ||
Juerd | Imagine every API having two methods, with wildly different names, for every method that takes a list. | ||
alpha123 | isnt append just implemented as push(|@b) | 16:29 | |
Juerd | Skarsnik: No, both at the end. .unshift and .prepend work at the beginning. | ||
uvtc | awwaiid: thanks. I filed a bug report github.com/perl6/specs/issues/104 . | ||
Skarsnik | oh append flat? | ||
awwaiid | uvtc: perfect, thanks! | ||
uvtc | awwaiid: my pleasure | 16:30 | |
dalek | kudo/nom: 2363f35 | (Stefan Seifert)++ | lib/NativeCall.pm6: Fix possible bool and size_t type mismatch in NativeCall Spotted by Skarsnik++ |
||
nine | Skarsnik: ^^^ | ||
alpha123 | Juerd: I don't think there's anything weird about this. JavaScript for example has push() and concat(), as does Python (append() and +) | ||
(why python uses append for push is beyond me) | 16:31 | ||
Juerd | alpha123: Not weird, just incredibly annoying. | ||
alpha123 | Juerd: they do very different things, it just so happens you can get push() to work like append by using list flatten operator | ||
Juerd | alpha123: They do the same thing, only interpreting their arguments slightly differently. | 16:32 | |
Skarsnik | assuming longlong are 8 bits is really weird for me x) | ||
alpha123 | mm... technically correct I suppose, but that leads to very different results | ||
Skarsnik | *8 bytes I am not even sure if it's true for every arch | ||
Juerd | alpha123: But the discussion is useless. The decision has been made and it's not going to be changed. | ||
alpha123 | fair | ||
Skarsnik: when is long long not 8 bytes? | 16:33 | ||
16:33
hanekomu_ left
|
|||
alpha123 | (AArch64, x86_64, and IA64 all have 8 byte long longs) | 16:33 | |
16:34
co-gnome joined
|
|||
Skarsnik | long long must contain at least 64 bits. | 16:35 | |
uvtc | hankache: thanks. | 16:36 | |
grondilu : thanks for the pointer to S07. It's nicely written and short. :) | |||
16:36
khw joined
|
|||
hankache | uvtc welcome dear | 16:36 | |
timotimo | i wonder if buildall has some opportunities for optimization | 16:41 | |
16:41
co-gnome left,
uvtc left
|
|||
timotimo | i think i'll start by outputting all buildallplans and then time every execution | 16:42 | |
like, how many buildallplans are just a single item? how many are empty? how costly are those? | |||
hankache | how would you store a txt file in an array, each line being stored as an element ? | 16:44 | |
IO.lines ? | |||
timotimo | yeah, that's how i'd do it | ||
you may be interested in the chomp named parameter, too | 16:45 | ||
hankache | thanks | 16:46 | |
16:46
virtualsue joined
16:47
brrt joined
16:48
bpetering joined
|
|||
bpetering | o/ | 16:48 | |
yoleaux | 5 Jan 2016 18:46Z <timotimo> bpetering: great to hear we're getting libsodium bindings :) | ||
bpetering | regarding libsodium bindings, I have another point of confusion with NativeCall | ||
what's the correct type and signature to get a C library to write back into a string? | |||
brrt | \o #perl6 | 16:49 | |
timotimo | bpetering: sounds like you want to have a CArray of int8 or char or something and pass that so it gets passed to the C function as a pointer to the storage area | 16:50 | |
bpetering | o/ brrt | ||
dalek | kudo/language_versions: de5628d | (Stefan Seifert)++ | / (5 files): First attempt at adding a CORE.d setting |
||
kudo/language_versions: c528f0e | (Stefan Seifert)++ | / (4 files): Bring back IO::ArgFiles in 6.c and remove it only in 6.d nine@sphinx:~> perl6 -e 'IO::ArgFiles.new;' nine@sphinx:~> perl6 -e 'use v6.d; IO::ArgFiles.new;' Could not find symbol '&ArgFiles' |
|||
nine | lizmat: ^^^ | ||
bpetering | timotimo: I'm trying with a Str (since that's what NativeCall docs say to use for char*) | ||
gist: gist.github.com/bpetering/d30f940f5c3b3369a23e | |||
(also, to my mind it seems like a Buf is the more appropriate type, but I'm just going along with the docs) | 16:51 | ||
Skarsnik | This should work | ||
timotimo | Buf works well, too. | ||
really anything with VMArray repr should do the trick | |||
Skarsnik | what does it do bpetering ? | 16:52 | |
timotimo | Str only works well when passed as a const char* (or whatever spelling means "can't change it") or returned from a native routine | ||
since Str will always be encoded for you when passing to a C function | 16:53 | ||
bpetering | $out is empty | ||
timotimo | and that means you get a different memory area every time | ||
passing a Str that's supposed to be changed from the C code will not work for that reason | |||
bpetering | timotimo: ah. makes sense | ||
16:54
domidumont left
|
|||
bpetering | that clears up one confusion | 16:54 | |
Skarsnik | hm nc give a copy? | ||
timotimo | don't forget Str is actually an opaque array of NFG codepoints | 16:55 | |
bpetering | yeah, that's why I think Buf makes more sense | ||
timotimo | aye | ||
bpetering | C doesn't know about NFG codepoints | ||
timotimo | right, and exposing NFG codepoints should always be considered a bug in moarvm | ||
16:55
ZoffixW joined
|
|||
bpetering | anyway, changing to "Buf is rw" just segfaults | 16:55 | |
timotimo | you don't need "is rw" there | 16:56 | |
16:56
brrt left
|
|||
Skarsnik | You need to alloc/size the buf correctly | 16:56 | |
timotimo | "is rw" would give you an extra * for the signature | ||
that, too | |||
bpetering | timotimo: thanks, good catch | ||
Skarsnik: give a copy? | |||
ZoffixW | Fun example from our Facebook page. Without running the code, predict the output of the program: my $x = time; is-prime(2016 ** 2016 - 15175) and say $x - time; | ||
Skarsnik | You can try explicitly-managed on the Str, it change some thing on the string | 16:57 | |
timotimo | ZoffixW: hm. 0? | ||
ZoffixW | timotimo, yeah :) | ||
timotimo | our is-prime is very fast due to being the stochastic method | ||
also ... that's not a prime, eh? | |||
ZoffixW | timotimo, oh, that's what I first thought too, but nope, that's NOT the answer. The code takes forever to run due to raising to 2016 power and it *is* a prime | 16:58 | |
timotimo | oh, eh? | ||
ZoffixW | timotimo, it's 0 because the expression inside .is-prime() is optimized at compile time to a proper number :) | ||
timotimo | m) | ||
excellent | |||
i forgot about compile-time-evaluation | 16:59 | ||
Skarsnik | lol | ||
timotimo | yeah, if you have that in a module, the compilation will be slow, but running it will be very fast every time | ||
bpetering | Skarsnik: no segfault, but no output either | ||
timotimo: is there a way to size/alloc a Buf without passing a nonsense list (of the appropriate size) to .new? | 17:00 | ||
timotimo | should be able to just set the nth element | ||
Skarsnik | yes, like with CArray | ||
NC need a realy CStr type | |||
an unencoded Str type with the nice method of Str but more craw | 17:01 | ||
17:01
_Vi joined,
pierre-vigier joined
|
|||
bpetering | Skarsnik: i suspect so, since perl 6 Strs are not C strings | 17:01 | |
my first inclination was to use a Buf though | 17:02 | ||
timotimo | bpetering: i see you didn't revise your gist yet | ||
17:02
lnrdo left,
lnrdo joined
|
|||
dalek | osystem: d21b0bc | (Zoffix Znet)++ | META.list: Add IRC::Client::Plugin::Factoid to ecosystem IRC::Client plugin providing capabilities of a factoid bot: github.com/zoffixznet/perl6-IRC-Cl...in-Factoid |
17:03 | |
bpetering | timotimo: updated | ||
17:03
ELBeavers joined
|
|||
mspo | C strings? | 17:03 | |
bpetering | That works now, since $out[0] == 104 | ||
I'm assuming the rest is correct | 17:04 | ||
Skarsnik | Where is my feature to add even ZoffixW! | ||
timotimo | bpetering: i didn't know you could write the signature without variables like that ... | ||
bpetering | but Buf doesn't do Stringy, is there a clever way to get back to something sayable? | ||
timotimo | you'd decode it | ||
ZoffixW | Skarsnik, which one? | ||
17:04
Ch0c0late joined
|
|||
bpetering | timotimo: NativeCall seems to have gained a lot of flexibility in the last few months | 17:05 | |
someone++ (jnthn?) | |||
ZoffixW | Skarsnik, what do you mean? | ||
timotimo | bpetering: on the other hand, maybe it just compiles by accident and doesn't work for that reason? | ||
Skarsnik | m: sub foo(Str) {say $}; foo("Hello"); | ||
camelia | rakudo-moar 2363f3: OUTPUT«(Any)» | ||
Skarsnik | m: sub foo(Str) {say "plop"}; foo("Hello"); | 17:06 | |
camelia | rakudo-moar 2363f3: OUTPUT«plop» | ||
Skarsnik | timotimo, NC only care about the type of the param | ||
timotimo | hm, OK | ||
Skarsnik | Why would the name matter? | ||
bpetering | timotimo: nah, language/nativecall explicitly has examples of nameless arguments | ||
ilmari | m: sub foo(Str) { say $^a }; foo "Hello" | ||
camelia | rakudo-moar 2363f3: OUTPUT«5===SORRY!5=== Error while compiling /tmp/jIBYm1CpuxPlaceholder variable '$^a' cannot override existing signatureat /tmp/jIBYm1Cpux:1------> 3sub7⏏5 foo(Str) { say $^a }; foo "Hello"» | ||
timotimo | i thought perhaps it's syntax for "if the Str type object is passed, invoke this candidate" | ||
bpetering | sub RenderBarChart(Str, int, ... | ||
timotimo | just like multi sub foo(1) etc | ||
bpetering | timotimo: I didn't consider that | 17:07 | |
Skarsnik | ZoffixW, having pluging in irc::client that add new event | ||
timotimo | but it seems to be all right | ||
17:07
lsm-desktop left
|
|||
bpetering | timotimo: I was assuming (unconsciously) that it was similar to old-style C arguments, where the signature doesn't include argument names | 17:07 | |
timotimo | mhm | 17:08 | |
ZoffixW | Skarsnik, that's still on the TODO list :) | ||
Skarsnik, the plugins I'm writing ATM let me see what sucks in IRC::Client. And I'm fixing those things | |||
bpetering | timotimo: anyway, success! updated gist that works: gist.github.com/bpetering/d30f940f5c3b3369a23e | 17:09 | |
Skarsnik | Should I only convert const char* in routine call to Str and let the char * as Buf or Array with gptrixie? | ||
bpetering | timotimo: setting the Buf length did the trick (though I think there should be a less hacky way to do this) | ||
timotimo: and basically the entirety of libsodium is taking two buffers and writing back into one of them, so I'm happy now :) | 17:10 | ||
Skarsnik | bpetering, new on Buf as nothing to set the size? | ||
bpetering | timotimo++ Skarsnik++ | ||
Skarsnik | *has | ||
bpetering | umm, I think it only takes a list of contents | ||
Skarsnik | maybe Blob has it? these two class are confusing x) | 17:11 | |
bpetering | unless there's some undocumented stuff | ||
Blob seems not to have it either | 17:12 | ||
Skarsnik | m: for Buf.^attributes -> $a { say $a.name}; | ||
camelia | ( no output ) | ||
ZoffixW | How can I execute a bit of code when my module is `use`ed. Similar to how Perl 5 has sub import { ... } | ||
Skarsnik | BEGIN? | ||
timotimo | bpetering: you can also just assign 0 xx $len | 17:13 | |
Skarsnik: no. | |||
Skarsnik | m: for @(Buf.^attributes) -> $a { say $a.name}; | ||
timotimo | ZoffixW: just put code into the mainline of the modules | ||
camelia | ( no output ) | ||
ZoffixW | Oh, goodie "Constraint type check failed for parameter '$precomp-id'" | ||
bpetering | timotimo: that was my other thought | ||
m: my $b = Buf.new(0 xx 12); say $b[11] | 17:14 | ||
camelia | rakudo-moar 2363f3: OUTPUT«0» | ||
bpetering | timotimo: it works, but seems less than ideal | ||
ZoffixW | timotimo, hm. I guess my further question is: is it possible to provide arguments to the `use`? use Foo::Bar 'gibblets'; | ||
Skarsnik | bpetering, did you try github.com/Skarsnik/gptrixie on your lib? x) | ||
bpetering | oooohhhhhhh | ||
writing something like that was in the back of my mind this week, nice | 17:15 | ||
17:15
lsm-desktop joined
|
|||
Skarsnik | Probably need to figure how to work this Str vs Buf issue | 17:15 | |
timotimo | ZoffixW: yes, you write an EXPORT sub for that | ||
17:15
pierre-vigier left
|
|||
bpetering | Skarsnik: i'm strongly against strings, since Perl 6 has deliberately moved away from byte semantics | 17:15 | |
*strongly against Str | |||
Skarsnik: I suggest using Buf, but figure out some way to set the size more elegantly | 17:16 | ||
Skarsnik: (I'm surprised that's not there already) | |||
Skarsnik | There is an is encoded trait in NC to handle the encode of Str | 17:18 | |
but I could probably generate Str in case of const char* and Buf in case of char * only | 17:19 | ||
in C routine | |||
bpetering | Skarsnik: that ought to work, but I think it's confusing (maybe I wouldn't complain, but NativeCall is meant to be... seamless, or something) | 17:20 | |
17:21
RabidGravy left
|
|||
bpetering | Skarsnik: but I can't think of anything better off the top of my head, either :o) | 17:21 | |
Skarsnik | I should maybe output each arg with his full C type definition in comment | 17:22 | |
ZoffixW | Reported the precomp bug mentioned above: rt.perl.org/Ticket/Display.html?id=127192 | ||
bpetering | Skarsnik: yes, definitely... I think that should be a best practice for NativeCall code | ||
Skarsnik | sadly I can't pick up in the header file. I only get the starting line of the sub defintion xD | ||
17:22
nige1 left
|
|||
bpetering | Skarsnik: otherwise you waste heaps of time looking up definitions when debugging | 17:22 | |
Skarsnik | bpetering, gist.github.com/Skarsnik/003b499ec8a0ad20193d the output for C struct | 17:24 | |
bpetering | Skarsnik: is XML the easiest way to get at the AST or whatever? | 17:25 | |
17:25
pierre-vigier joined
|
|||
Skarsnik | gccxml is the only tool I manage to have working to ouput the ast | 17:25 | |
I tried some stuff based around CLang but nothing work for me x) | 17:26 | ||
I mean if I had time I should write something based on clang/llvm c++ libs... | 17:27 | ||
bpetering | Skarsnik: that's probably a more reliable way to do it, but takes tuits :) | 17:28 | |
Skarsnik | anyways. afk for a while :) | ||
bpetering | Skarsnik: thanks for your help, and nice work | ||
Skarsnik | well compared to nothing, it's better xD | ||
bpetering | very much so | 17:29 | |
17:30
pierre-vigier left
|
|||
ZoffixW | timotimo, I'm failing to find EXPORT on docs or in the spec. Do you where there are any? Says "&EXPORT sub did not return an Map" and I don't know what it wants me to return | 17:30 | |
17:30
hankache left
|
|||
timotimo | a hash-like of symbols the user of the module wants to have in their lexical environment | 17:31 | |
17:34
RabidGravy joined
|
|||
ZoffixW | I'm guessing this is it. Gonna document it, if I figure it out: github.com/rakudo/rakudo/blob/0f26...d.nqp#L310 | 17:36 | |
17:36
abraxxa joined
|
|||
dalek | kudo/nom: c19142c | moritz++ | src/core/Date (2 files): RT#127186: Improve error message for Dat and DateTime constructor by adding a proto we can get rid of the Mu.new fallback which produces a misleading error message on dispatch failure |
17:37 | |
timotimo | thank you, ZoffixW | 17:40 | |
ZoffixW | I don't know *where* to document though. | 17:41 | |
Oh, ffs.. It *is* documented lol :) docs.perl6.org/language/modules#EXPORT | |||
Our search just sucks | |||
17:42
salv0 joined
|
|||
bpetering | ZoffixW: I've found the same thing... maybe for now check out the source files and find | xargs grep? | 17:42 | |
moritz | git grep is faster :-) | 17:43 | |
bpetering | moritz: yeah, or that :) | ||
moritz | or a google search on site:doc.perl6.org | ||
bpetering | that makes me wonder, do we have sensible anchors and so on so Google can link straight to particular sections of the docs? | 17:44 | |
that's frequently quite useful | |||
(I'm happy to work on that, how is the build for docs.perl6.org currently set up?) | 17:45 | ||
17:45
dakkar left
|
|||
dalek | c: d930521 | (Zoffix Znet)++ | doc/Language/modules.pod: Add index flag for EXPORT |
17:45 | |
gfldex | m: sub f( &c:(Int) ){}; sub a(Int){}; sub b(){}; f(&a); f(&b); | ||
camelia | rakudo-moar 2363f3: OUTPUT«Cannot call 'shift' on an immutable 'List' in sub f at /tmp/8kwRlXv_YW line 1 in block <unit> at /tmp/8kwRlXv_YW line 1» | ||
gfldex | LTA error i assume | 17:46 | |
ZoffixW | I'd say so, considering there's no `shift` in sight :P | ||
gfldex | m: sub f( &c:(Int) ){}; sub a(Int){}; sub b(){}; f(&a); # f(&b); | ||
camelia | ( no output ) | 17:47 | |
gfldex | it's a failed type check against the given signature | ||
ZoffixW | What's "&c:(Int)"? | ||
gfldex | :(Int) is the signature of that callback | ||
or better the "type check" thereof | |||
i shall doc | |||
17:48
nige1 joined
|
|||
ZoffixW | I see. But there's no sub c {}. Shouldn't it cry? | 17:48 | |
moritz | ZoffixW: &c is the parameter | ||
ZoffixW | Oh, it's in the sig | ||
I'm blind :P | |||
17:53
kaare_ left,
kaare_ joined
|
|||
ZoffixW | huggable, export | 17:55 | |
huggable | ZoffixW, nothing found | ||
ZoffixW | huggable, EXPORT | ||
huggable | ZoffixW, Perform custom logic, take parameters, or generate custom symbols to export on module's `use`: docs.perl6.org/language/modules#EXPORT | ||
ZoffixW | \o/ | ||
huf, I foresee myself often giving you bot commands in the future... 'huTAB' | 17:56 | ||
timotimo | neato | 17:58 | |
bpetering | huggable: Buf | ||
huggable | bpetering, role Buf [Mutable buffer for binary data]: doc.perl6.org/type/type/Buf | ||
timotimo | huggable: NativeCall | 17:59 | |
huggable | timotimo, nothing found | ||
huf | ZoffixW: write an irssi script that recognises bot commands and re-sends them to the bot | ||
and i'll run it | |||
timotimo | haha | ||
bpetering | "doc.perl6.org/type/type/Buf" has an extra /type I think | ||
huggable: nativecall | 18:00 | ||
huggable | bpetering, nothing found | ||
ZoffixW | bpetering, it only knows the Types and the couple of commands I manually told it to remember | ||
18:01
domidumont joined
|
|||
bpetering | ah. it's quite cool regardless | 18:01 | |
18:01
xxpor_lap joined
18:02
sftf left
|
|||
ZoffixW | huggable, Buf | 18:03 | |
huggable | ZoffixW, role Buf [Mutable buffer for binary data]: doc.perl6.org/type/Buf | ||
ZoffixW | bpetering++ thanks fixed. | ||
gfldex | m: class Foo { has &.callback:(Int) }; | 18:04 | |
camelia | rakudo-moar c19142: OUTPUT«5===SORRY!5=== Error while compiling /tmp/dWnFbmBEuTYou can't adverb has &.callbackat /tmp/dWnFbmBEuT:1------> 3class Foo { has &.callback:(Int)7⏏5 };» | ||
gfldex | how do i do that? | 18:05 | |
ilmari | gfldex: what are you trying to do? specify the signature of the callback? | ||
timotimo | i think it only works in function signatures? | ||
ZoffixW | m: class Foo { has (&.callback:(Int)) }; sub f(Int){}; my $f = Foo.new; $f.callback = &f; | 18:06 | |
camelia | rakudo-moar c19142: OUTPUT«Method 'callback' not found for invocant of class 'Foo' in block <unit> at /tmp/G3kPb0YcJn line 1» | ||
ZoffixW | :/ | ||
m: class Foo { has ($.bars) }; Foo.new.bars = 42; | 18:07 | ||
camelia | rakudo-moar c19142: OUTPUT«Cannot modify an immutable Any in block <unit> at /tmp/5sqd1TGmjJ line 1» | ||
ZoffixW | What is has ($.bars)? | ||
Oh nm | |||
There's not writable by default | |||
ugexe | is there a way other than a black/white list of characters so either the file creation fails, or the check of existence fails? | 18:08 | |
Windows: `perl6 -e "'foo:bar'.IO.spurt('test')" # empty file "foo" created` -- `perl6 -e "'foo:bar'.IO.e.say" # True` | |||
18:08
vytas left
|
|||
ZoffixW | :o | 18:08 | |
Both of those are bugs | 18:09 | ||
18:09
bpmedley left
18:10
espadrine left
|
|||
ugexe | .abspath shows C:\blah\blah\foo:bar | 18:10 | |
i wondered if the check for existence could somehow compare that against what is actually there | |||
18:12
leont joined
|
|||
ZoffixW | I think it'd need to be more comprehensive thatn black/white list characters only. A filename with just spaces in it is not valid, for example. | 18:13 | |
And what's shocking is it works on Linux... and ls -alF fails to show it :o | |||
geekosaur whispers "-b" | 18:14 | ||
or -1, which at least would clue you in a bit | |||
ZoffixW | That works -b | ||
geekosaur | oh, -l would imply that anyway | 18:15 | |
ZoffixW | Oh, it does show up with -alF. It's just not very obvious when it's a single file :P | ||
geekosaur | on posix systems any character except / and \0 can be a filename component. but tools like ls will not always do something sensible | ||
18:16
lichtkind joined
|
|||
geekosaur | (interestingly I note gnu ls seems to handle another screw case there: the filename $'\n\n\n' (in bash syntax) shows as '???') | 18:17 | |
lichtkind | why want to create a directory? | 18:20 | |
ugexe | the fact the spurt returns True although it does not write anything to it is strange | ||
you dont want to, its to prevent injection attacks | |||
if you use $some-url.basename.spurt(get($some-url)) and it returns true even though it does not create the correct path or write anything to that file it can also lead to problems/confusion | 18:22 | ||
so even if you think you sanitized the path, how do you actually check | 18:23 | ||
lichtkind | i get | ||
Failed to create directory '/home/lichtkind/.perl6/2015.11-522-g82f273b/dist' with mode '0o777': Failed to mkdir: 13 | |||
ugexe | my statement was prefixed with "Windows:" | 18:24 | |
lichtkind | for doing perl6 -I lib c.pl | ||
ZoffixW | Where's nqp::open() defined? I see sub open in nqp repo, but it just calls nqp::open :S github.com/perl6/nqp/blob/master/s...IO.nqp#L13 | ||
lichtkind | i dont get it | ||
18:24
llfourn left
|
|||
ugexe | -Ilib not -I lib | 18:24 | |
lichtkind | same thing | ||
dalek | c: a281cb8 | (Wenzel P. P. Peppmeyer)++ | doc/ (3 files): doc signature constraints |
||
c: d4cf940 | (Wenzel P. P. Peppmeyer)++ | doc/ (3 files): Merge pull request #320 from gfldex/master doc signature constraints |
|||
ZoffixW | lichtkind, what's c.pl? | ||
lichtkind | ugexe i tried many permutations | ||
its a simple print | 18:25 | ||
jsut testing how it winds modules | |||
ZoffixW | gfldex++ # docs | ||
nine | lichtkind: that looks like a seriously outdated rakudo version | ||
lichtkind | i will recompile but i thought it was fresh | 18:26 | |
maybe i always refreshed only on one mashine | 18:27 | ||
18:29
abraxxa left
18:31
aenaxi joined,
abraxxa joined,
cygx joined
18:33
SwellJoe joined
|
|||
cygx | ZoffixW: for moarvm, open is defined in github.com/perl6/nqp/blob/master/s....nqp#L2023 and implemented in github.com/MoarVM/MoarVM/blob/mast...rp.c#L3173 calling github.com/MoarVM/MoarVM/blob/mast...ile.c#L457 | 18:33 | |
18:33
leont left
|
|||
gfldex | m: sub f(Int --> Str){ 'foo' }; say so &f ~~ :(Int --> Str); | 18:34 | |
camelia | rakudo-moar c19142: OUTPUT«False» | ||
ZoffixW | Ah, I get how it works now. Thanks, cygx++ | ||
I guess I finally have a useful need to learn C heh | |||
ZoffixW tried multiple times in the past, but got bored due to having nothing to code | 18:35 | ||
lichtkind | nine++ shameful i have to admit | 18:36 | |
it was old | |||
18:36
pierre-vigier joined
|
|||
lichtkind | it works now | 18:36 | |
this version had bug with -T. | |||
this version had bug with -I. | |||
18:37
abraxxa left
|
|||
ugexe | a rigged solution i suppose would be to grep the contents of $dir.IO.dir | 18:37 | |
18:39
abraxxa joined
18:40
zakharyas joined
|
|||
gfldex | m: sub f(Int --> Str){ 'foo' }; say so &f.signature ~~ :(Int --> Str); | 18:40 | |
camelia | rakudo-moar c19142: OUTPUT«True» | ||
gfldex slaps gfldex | |||
18:41
abraxxa left
18:42
pierre-vigier left
|
|||
japhb | .tell lizmat Thanks for fixing my Date + role bug! Nice not to have to work around that one. :-) | 18:42 | |
yoleaux | japhb: I'll pass your message to lizmat. | ||
[Coke] | nine++ # use v6.d | 18:46 | |
japhb | nine: Now that the precomp stuff has settled a bit, what's the recommended way to have a library of local modules to be used for personal scripts, but that doesn't make those scripts really slow to load. Should I be making a library project tree, and 'panda install .' every time I edit one of the libs? If so, is ufo still the right tool for making that project tree locally installable? | 18:47 | |
ZoffixW | japhb, the first time you use those modules, they'll precompile in the .precomp folder | ||
(i.e. you don't need to install anything) | |||
japhb | ZoffixW: So even stuff that's just referred to via -Ilib or RAKUDOLIB or 'use lib "lib"' or so will all precompile properly? | 18:48 | |
ZoffixW | Yeah | ||
japhb | \o/ | ||
Oh that makes things way easier. | |||
It does mean that my "rebuild the world" script should probably end by running a child script that 'use's all my local modules, just so I can make sure they are precomped even after a total rebuild (which I do nearly daily) | 18:50 | ||
18:50
cdg joined
18:51
araujo left
|
|||
japhb | ZoffixW: Er, where does the .precomp folder end up? | 18:52 | |
Wait, it ends up in .../rakudo/lib instead of .../rakudo/install/lib ? That seems ... odd. | 18:53 | ||
Also, how can you tell which modules are loaded from already-precompiled forms, and which had to be compiled on the fly? | 18:54 | ||
18:54
araujo joined,
araujo left,
araujo joined
|
|||
ugexe | at the moment, probably have to capture output from RAKUDO_PRECOMP_DEBUG or whatever or check if the sha1 of the source exists as a file at some location | 18:55 | |
ZoffixW | jdv79, my wild guess is it ends up in the /lib path under which the module was found: gist.github.com/zoffixznet/7678f694d110ad8fd479 | ||
nine | [Coke]: I'd hoped this would make you happy :) | 18:56 | |
cygx | if you pass a -I manually, it apparently ends up in the first of those | ||
cygx still hasn't read up on it precompilation :( | |||
s/it// | 18:57 | ||
ZoffixW | A better example: gist.github.com/zoffixznet/2ff5b21a26db9c6453a8 | ||
Ah | |||
nine | japhb: the major difference between an installation repo and a plain -I is that the former supports versioning, auths and apis. If you use lib or -I or PERL6LIB to load from a plain directory, those modules will always be loaded regardless of requested version or auth. | 18:58 | |
ZoffixW | I don't really care where it ends up, as long as it works ^_^ | ||
nine | japhb: other than that, both do precompilation on first load | ||
japhb: when you run with -Ifoo/lib we store precompiled files in foo/lib/.precomp | 18:59 | ||
japhb: without any PERL6LIB or -I or use lib we store in ~/.perl6 | |||
japhb | nine: Ah, OK, thank you | 19:00 | |
nine | japhb: RAKUDO_MODULE_DEBUG=1 or RAKUDO_PRECOMP_LOG=1 may answer questions about which modules had to be precompiled | ||
[Coke] hopes someone takes that ^^ and adds it to a precompilation doc page. | |||
japhb | [Coke]: Agreed. | ||
19:01
lnrdo_ joined
19:02
firstdayonthejob joined
|
|||
ugexe | i imagine that will change though to not require storing in a user specific path for every CU::R so it might not be worth documenting yet | 19:02 | |
a system wide install for instance | 19:03 | ||
japhb | Woah, RAKUDO_MODULE_DEBUG gives a lot of interesting output, not all of it obvious. Is it documented somewhere, or "use the source, luke"? | ||
RabidGravy | my working hypothesis for the t/04-nativecall/13-union.t failing on RPi is that nativesizeof isn't taking the arm's eight byte alignment for eight byte types into account | 19:04 | |
19:04
lnrdo left
|
|||
hoelzro | japhb: it probably should be doc'd | 19:05 | |
19:05
lnrdo_ left
|
|||
hoelzro | yikes, are any of the RAKUDO_* env vars doc'd? | 19:05 | |
I know in MoarVM we're pretty good about it | |||
19:06
nige1 left
|
|||
hoelzro | I wonder if we should have a "VM tuning" doc page that covers RAKUDO_*, MVM_*, and links to some JVM tuning stuff | 19:06 | |
19:06
cdg left
|
|||
timotimo | there's not terribly much "tuning" the env vars allow you | 19:06 | |
ugexe | rakudo jvm on windows fails to install at tools/build/install-core-dist.pl with | ||
japhb is particularly interested whether checking every module 'use' as a pragma first has non-negligable cost, and what "Late loading" and "3766 SET RMD" actually mean | |||
ugexe | Missing serialize function for REPR ContextRef D57DE2EF74B56D825F14A3B5B0E6402D49B53D5B C:\Users\Nick\Documents\GitHub\rakudobrew\jvm-nom\install\share\nqp\sources\D57 DE2EF74B56D825F14A3B5B0E6402D49B53D5B Return status 256 | ||
japhb | hoelzro: +1 | 19:07 | |
hoelzro | ugexe: that happens on *nix too =( | ||
19:07
spider-mario joined
|
|||
ugexe | ah, the travis shows it as passing but thats incorrect i see | 19:08 | |
19:11
telex left
19:12
telex joined
|
|||
b2gills | m: #`( reliably backwards, may be useful for testing hyper/race ) my @a; ++@a[5]; say eager (^5).race(:1batch,:5degree).map: {until @a[$_+1] {sleep .001}; sleep .01; ++@a[$_]; $_} # designed so that exact timing doesn't matter, and it runs decently fast | 19:13 | |
camelia | rakudo-moar c19142: OUTPUT«(4 3 2 1 0)» | ||
19:13
pi4 left,
pi4 joined
|
|||
hoelzro | ugexe: yeah, travis a liar | 19:14 | |
ugexe | i think the tap harness is a liar | ||
hoelzro | as far as the exit code goes? | 19:16 | |
ugexe | yeah | ||
nine | ugexe: yes, I think we will store all precomp files in ~/.perl6 in the future. | ||
japhb: checking for pragmas is just a hash lookup | 19:17 | ||
"3766 SET RMD" is $*PID, "CORE setting" and "RakudoModuleDebug" | 19:18 | ||
ugexe | thats a shame | ||
19:18
zakharyas left
|
|||
diego_k | o/ is there any "recommended" module for http client?. I'm using HTTP::UserAgent and it mostly works ok but it always fails when requesting on localhost (but works using 127.0.0.1) :-) | 19:19 | |
19:20
llfourn joined
|
|||
gfldex | m: my role Foo { has $.a = 42; }; my $a = sub () {} does Foo; say $a.a; | 19:21 | |
camelia | rakudo-moar c19142: OUTPUT«42» | ||
japhb | nine: Ah, OK. What is the "Late loading" thing about. All my modules seem to have that. | ||
japhb keeps ending his questions with a period for some reason .... | 19:22 | ||
RabidGravy | diego_k, remove the ipv6 address from your /etc/hosts for localhost | ||
japhb | RabidGravy: It doesn't speak IPv6? | ||
RabidGravy | er | 19:23 | |
it does, but I bet the http server on localhost doesn't | |||
japhb | Ah! I see. | ||
RabidGravy | there's an RT on rakudo, it will try to use v6 if it get's a v6 address and fails if it can't connect | 19:24 | |
19:25
llfourn left
|
|||
diego_k | RabidGravy: oh!, now it works... I guess I should document it if I release this till that RT is solved, right? | 19:25 | |
RabidGravy: thank you! | 19:26 | ||
japhb | nine: Oh wait, "Late loading" just means "Not during bootstrap"? | 19:27 | |
RabidGravy | I guess so, occassionally the tests for H::UA fail when the DNS returns a v6 address for one of the test hosts | ||
19:29
nige1 joined
19:31
bpmedley joined,
pierre-vigier joined
|
|||
hoelzro | I think that problem goes as low as IO::Socket, because I remember panda having that problem when it implemented its own little HTTP client | 19:31 | |
nine | japhb: exactly | ||
19:33
pierre-vigier left
|
|||
tony-o | suwhy would we store all the precomp files in ~/.perl6 ? | 19:33 | |
lichtkind | -> is way to high in precedence table | ||
nine | tony-o: because precompilation on installation doesn't work anyway, or at least not usefully. And people don't like those .precomp directories. | 19:34 | |
RabidGravy | hoelzro, yeah, I think it's infact a libuv thing. If it does gethostbyname it just uses the first adress it gets and if that's a v6 address where the socket isn't listening it fails | ||
lichtkind | for ^($.row-count - 1) -> $r { | ||
without these braces it does not work | |||
moritz | lichtkind: but that's because of relative precendence of prefix:<^> and infix:<-> | 19:35 | |
nine | lichtkind: after 15 years of adjusting and optimizing those things, I tend to assume that all other options would be worse in other use cases | ||
moritz | lichtkind: not because of -> | ||
FROGGS | I agree with moritz | 19:36 | |
it is not about -> at all | |||
m: say ^10 - 1 | |||
camelia | rakudo-moar c19142: OUTPUT«-1..^9» | ||
FROGGS | m: say ^(10 - 1) | ||
camelia | rakudo-moar c19142: OUTPUT«^9» | ||
ZoffixW | wat | ||
m: say 5 - 1 | |||
camelia | rakudo-moar c19142: OUTPUT«4» | ||
RabidGravy | it seems the io::socket::inet ignores the AF_ family | ||
ZoffixW | m: my @a = ^10 - 1; say @a | 19:37 | |
camelia | rakudo-moar c19142: OUTPUT«[-1 0 1 2 3 4 5 6 7 8]» | ||
ZoffixW | *mind blown* Perl 6++ | ||
lichtkind | but minus is way higher in the table than ^ | ||
FROGGS | that's a recent addition by TimToady++ btw | ||
AlexDaniel | ZoffixW: yeah, that's actually pretty recent | ||
m: my @a = ^10 * 5; say @a | |||
camelia | rakudo-moar c19142: OUTPUT«[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49]» | ||
ugexe | why not fix precompilation on install if thats the actual problem? | ||
AlexDaniel | m: my @a = 3..5 * 5; say @a | 19:38 | |
camelia | rakudo-moar c19142: OUTPUT«[3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25]» | ||
FROGGS | lichtkind: you wanna tell me that an infix is tighter than a prefix? | ||
AlexDaniel | m: my @a = (3..5) * 5; say @a | ||
camelia | rakudo-moar c19142: OUTPUT«[15 16 17 18 19 20 21 22 23 24 25]» | ||
AlexDaniel | ok | ||
hmm | |||
m: say (3..5) * 5 | |||
camelia | rakudo-moar c19142: OUTPUT«15..25» | ||
AlexDaniel | m: say (3..5)² | 19:39 | |
camelia | rakudo-moar c19142: OUTPUT«9» | ||
AlexDaniel | m: say (3..5) % 2 | ||
camelia | rakudo-moar c19142: OUTPUT«1» | ||
19:39
Upasaka left
|
|||
FROGGS | lichtkind: do you mix the prefix - and the infix minus by any chance? | 19:40 | |
19:40
renatolrr joined
|
|||
lichtkind | FROGGS no my error was rather seen any other ^ in the table as the one i used | 19:40 | |
ZoffixW | m: say (3..5) * (3..5) | ||
camelia | rakudo-moar c19142: OUTPUT«9» | ||
lichtkind | I actually dont see that in the table | 19:41 | |
ugexe | its kind of a step backwards from where we were a year ago | ||
FROGGS | lichtkind: but as a rule of thumb: postfix, prefix, infix (from tighter to looser) | 19:42 | |
ZoffixW | lichtkind, what's the error>? | ||
m: my $row-count = 5; for ^$row-count - 1 -> $r { say $r } | |||
camelia | rakudo-moar c19142: OUTPUT«-10123» | ||
ZoffixW | m: my $row-count = 5; for (^$row-count - 1) -> $r { say $r } | ||
camelia | rakudo-moar c19142: OUTPUT«-10123» | ||
FROGGS | m: my $row-count = 5; for ^($row-count - 1) -> $r { say $r } | ||
camelia | rakudo-moar c19142: OUTPUT«0123» | ||
lichtkind | ZoffixW its fixed by now | ||
FROGGS | that's his thinko | ||
ZoffixW | What's "thinko"? :) | 19:43 | |
dalek | osystem: 6345e77 | jnthn++ | META.list: Add Test::IO::Socket::Async. |
||
masak | ZoffixW: a thinking error | ||
ZoffixW: like a typo, but for thoughts | |||
19:43
renatolrr left
|
|||
ZoffixW | ahhh | 19:43 | |
masak++ | |||
masak | I sure hope "thinko" is in S99 ;) | ||
ZoffixW | heh yeah: design.perl6.org/S99.html#thinko | 19:44 | |
lichtkind | FROGGS but ^ is not in the table? | ||
FROGGS | lichtkind: show me that table please | 19:45 | |
masak | I don't know if I agree with "improperly expecting code to DWIM" -- a thinko could be basically anything | ||
FROGGS | aye | ||
lichtkind | design.perl6.org/S03.html#Operator_precedence | ||
ZoffixW | ehe.. Linode got hax0red: blog.linode.com/2016/01/05/securit...ord-reset/ | ||
19:46
leont joined
|
|||
FROGGS | m: say &prefix:<^>.prec, &prefix:<->.prec | 19:47 | |
camelia | rakudo-moar c19142: OUTPUT«prec => v=prec => v=» | ||
masak kind of enjoys that the explanation of "ufo" is "see here", with a link that takes you to a README that goes on and on about an alien abduction :P | |||
FROGGS | lichtkind: L Symbolic unary ! + - ~ ? | || +^ ~^ ?^ ^ | ||
ZoffixW | lichtkind, isn't it in the "L Symbolic unary ! + - ~ ? | || +^ ~^ ?^ ^" row? | ||
FROGGS | I think the same | ||
ZoffixW | lichtkind, which is higher than "L Additive + - +| +^ ~| ~^ ?| ?^" | ||
19:47
Upasaka joined
|
|||
FROGGS | these are our prefixes | 19:47 | |
ZoffixW | Or wait | 19:48 | |
masak | prefixes are pretty tight, yes | ||
you wouldn't expect -9 + 1 to come out as -10 | |||
lichtkind | additive is higher than Structural infix | ||
this it at lease where i thought a single ^ is too | |||
ZoffixW | lichtkind, but you're not using a structural infix | ||
PerlJam | lichtkind: so ... all the ^ in that bit of the table really just distracted you from the Symbolic Unary line? :) | 19:49 | |
ZoffixW | m: my $row-count = 5; for 0..^$row-count - 1 -> $r { say $r } | ||
camelia | rakudo-moar c19142: OUTPUT«0123» | ||
ZoffixW | lichtkind, ^ that's what that row shows | ||
FROGGS | and that minus is looser than the range | 19:50 | |
lichtkind | it was in one row with | so i thought it was a xor | ||
ZoffixW | Is | a xor? | ||
FROGGS | lichtkind: that | is for flattening, so it is also a prefix | ||
ZoffixW: no, he thought the ^ is the xor | 19:51 | ||
lichtkind | yes the junctive is lower | ||
ZoffixW | Ah | ||
FROGGS | lichtkind: your xor is +^ though | ||
or ?^ | |||
19:51
ZoffixW left
|
|||
FROGGS | m: say 1 ?^ 0 | 19:51 | |
camelia | rakudo-moar c19142: OUTPUT«True» | ||
FROGGS | m: say 1 ?^ 1 | ||
camelia | rakudo-moar c19142: OUTPUT«False» | ||
lichtkind | sure but there is a junctive xor too | ||
FROGGS | you mean the word "xor"? | 19:52 | |
lichtkind | but when | is junctive or | ||
did they change that? | |||
masak | m: class A::B {}; class C { has A::B $.ab .= new } # [RT #126975] | ||
camelia | rakudo-moar c19142: OUTPUT«===SORRY!===Could not locate compile-time value for symbol A::B» | ||
lichtkind | m: say 1 | 2 | 19:53 | |
FROGGS | lichtkind: | can be either a prefix or infix | ||
camelia | rakudo-moar c19142: OUTPUT«any(1, 2)» | ||
FROGGS | lichtkind: like + can be | ||
lichtkind | m: say 1 ^ 2 | ||
camelia | rakudo-moar c19142: OUTPUT«one(1, 2)» | ||
lichtkind | sure | ||
19:53
TEttinger joined
|
|||
lichtkind | i just wanted explain my reasoning | 19:53 | |
FROGGS | yeah, I see now | ||
lichtkind | at least i got it now | 19:54 | |
thanks for the patience | |||
FROGGS | :o) | ||
19:55
ZoffixW joined
|
|||
n0tjack | m: say [\?^] 5..35; | 19:56 | |
camelia | rakudo-moar c19142: OUTPUT«(5 False True False True False True False True False True False True False True False True False True False True False True False True False True False True False True)» | ||
n0tjack | m: say [\^] 5..35; | ||
camelia | rakudo-moar c19142: OUTPUT«(one(5) one(5, 6) one(5, 6, 7) one(5, 6, 7, 8) one(5, 6, 7, 8, 9) one(5, 6, 7, 8, 9, 10) one(5, 6, 7, 8, 9, 10, 11) one(5, 6, 7, 8, 9, 10, 11, 12) one(5, 6, 7, 8, 9, 10, 11, 12, 13) one(5, 6, 7, 8, 9, 10, 11, 12, 13, 14) one(5, 6, 7, 8, 9, 10, 11, 12, 13, …» | ||
masak | ZoffixW++ # rt.perl.org/Public/Bug/Display.html?id=127176 | 19:59 | |
ZoffixW: I experience that one too sometimes | |||
[Coke] | BTW, I wouldn't expect the SYN to be up to date going forward; roast/6.c took over part of it, and the docs site should be taking over the rest. | 20:00 | |
dalek | c: c3bd982 | (Siavash Askari Nasr)++ | doc/Language/unicode_entry.pod: Add another way of entering unicode chars in Emacs |
||
c: eb3ba23 | moritz++ | doc/Language/unicode_entry.pod: Merge pull request #321 from CIAvash/unicode_entry_emacs_rfc1345_input_method Add another way of entering unicode characters in Emacs |
|||
[Coke] | is it a sign of precompilation done twice, or of failing during precomp and then failure during execution? | ||
(RT #127176) | 20:01 | ||
ZoffixW | [Coke], would it even get to any execution if compilation failed? | ||
[Coke] | not compilation, pre-compilation. :| | 20:03 | |
maybe precomp is failing, then comp is failing, is what I'm saying. | |||
n0tjack | m: say 4 = one(6,22,07+8i,4,0,-1); | 20:04 | |
camelia | rakudo-moar c19142: OUTPUT«Potential difficulties: Leading 0 does not indicate octal in Perl 6. Please use 0o7 if you mean that. at /tmp/j9WMEcfv17:1 ------> 3say 4 = one(6,22,077⏏5+8i,4,0,-1);Cannot modify an immutable Int in block <unit> at /tm…» | ||
n0tjack | m: say 4 = one(6, 22, -7+8i, 4, 0, -1); | ||
camelia | rakudo-moar c19142: OUTPUT«Cannot modify an immutable Int in block <unit> at /tmp/XuFUhZbamb line 1» | ||
20:04
iml_ joined
|
|||
n0tjack | m: say 4 ~~ one(6, 22, -7+8i, 4, 0, -1); | 20:04 | |
camelia | rakudo-moar c19142: OUTPUT«True» | ||
ZoffixW | m: say $x = one(6,22,07+8i,4,0,-1); | ||
camelia | rakudo-moar c19142: OUTPUT«5===SORRY!5=== Error while compiling /tmp/nhzziI2ZtXVariable '$x' is not declaredat /tmp/nhzziI2ZtX:1------> 3say 7⏏5$x = one(6,22,07+8i,4,0,-1);» | ||
ZoffixW | (still the 0o7 error if you fix the compile error) | 20:05 | |
n0tjack | I meant comparison, not assigment | ||
ugexe | [Coke]: probably github.com/rakudo/rakudo/blob/f3e5...tem.pm#L79 | ||
n0tjack | just have too many notations in my head right now | ||
ZoffixW | Oh, I thought the 4,0,-1 part was the one with error. Missed the 07 bit | 20:06 | |
20:07
ZoffixW left
|
|||
n0tjack | that was just a typo; finger hit 0 instead of adjacent - | 20:07 | |
20:09
brrt joined
|
|||
dalek | c: fc0732b | moritz++ | / (2 files): Mention graphviz dependency in README.md and CONTRIBUTING.md Closes #322 |
20:12 | |
c: 915df9d | (John Gabriele)++ | CONTRIBUTING.md: de-hyphenize rakudobrew build-panda |
20:13 | ||
20:15
domidumont left
|
|||
ugexe | the hyphen was there to differentiate it visually from a perl6 backend, mimicking perlbrew's options | 20:15 | |
perlbrew install-cpanm | 20:16 | ||
20:19
nige1 left,
darutoko left
20:21
llfourn joined
20:23
nige1 joined
|
|||
muraiki | users found it confusing | 20:26 | |
and "build panda" also worked anyways but was undocumented | |||
20:26
llfourn left
|
|||
moritz | let's hope rakudo never gets a VM backend called "panda" :-) | 20:27 | |
20:28
cygx left
|
|||
masak | moritz: don't give people ideas! :P | 20:28 | |
20:28
itaipu left
|
|||
ugexe | right, hence visually. so those instructions dont match the usage from rakudobrew (not saying anything about if it works) | 20:29 | |
20:32
gugod left,
deniska left
20:33
deniska joined,
deniska left,
deniska joined
|
|||
ugexe | i argued to have build-panda change to build panda in usage long ago when these points were made to me. also it was stated it was confusing to users. so no matter what its going to be confusing to some users | 20:33 | |
20:33
nowan_ joined
|
|||
ugexe | so now i think consistency is the least confusing option | 20:34 | |
RabidGravy | I've just put rt.perl.org/Ticket/Display.html?id=127194 regarding NC test failures on RPi, I had a bit of a dig but couldn't find anything obvious in the code. | ||
20:35
nowan left
20:37
nowan_ left
|
|||
Juerd | What's the nicest way of iterating over two lists? I find "for flat ^Inf Z @things -> $i, $thing { ... }" rather ugly. | 20:38 | |
RabidGravy | but now the C++ mangling is right for SoundTouch :) | 20:39 | |
20:41
nowan joined
|
|||
Juerd | Also, why does @foo Z @bar create lots of 2-element lists, while @foo X @bar creates one big flattened list? | 20:41 | |
m: say <1 2> Z <a b> | |||
camelia | rakudo-moar c19142: OUTPUT«((1 a) (2 b))» | ||
moritz | Juerd: instead of ^Inf Z @things you can iterate over @thinks.kv | ||
Juerd | m: say <1 2> X <a b> | ||
camelia | rakudo-moar c19142: OUTPUT«((1 a) (1 b) (2 a) (2 b))» | ||
20:42
vendethiel joined
|
|||
Juerd | moritz: That's great in this specific case, thanks :) | 20:42 | |
moritz: But I do think that eventually I'll want to iterate over two named arrays | |||
moritz | Juerd: and in general, Z is the right answer | ||
I don't find it particularly ugly either | |||
20:43
uvtc joined
|
|||
Juerd | Ignore my question about Z and X. I wasn't thinking straight. | 20:43 | |
moritz: Well, what I find ugly is having to use "flat" and "Z" together. | |||
20:43
_nadim joined
|
|||
Juerd | I find the resulting code hard to read: for flat @foos Z @bars -> $foo, $bar { ... } | 20:44 | |
moritz | m: my @a = < a b>; my @x = <x y>; for @a Z @x -> ($a, $b) { say "$a $b" } | ||
camelia | rakudo-moar c19142: OUTPUT«a xb y» | ||
moritz | Juerd: ^^ a way to avoid the "flat" | ||
uvtc | Personally, what makes the most sense to me would be `rakudobrew build --backend=moar` and `rakudobrew install-panda`, but I saw here that the decision was made to remove the hyphen, and it was removed in the rakudobrew readme, so I then went and removed it elsewhere (perl6.org, perl6/doc). | ||
20:45
itaipu joined
|
|||
Juerd | moritz: Oh, that's great! I'd add () around (@a Z @x) for symmetry, but this is a good example. | 20:45 | |
Also, I'll update the rosettacode example, because it seems out of date (pre-GLR?) | |||
rosettacode.org/wiki/Loop_over_mult...sly#Perl_6 | 20:46 | ||
ugexe | i agree install makes more sense | ||
moritz | Juerd: yes, very much pre-GLR :-) | ||
it's from 2011 | |||
20:47
SwellJoe left
20:48
nowan left,
CIAvash left
20:50
jnap joined
|
|||
jnap | on the download page (perl6.org/downloads/) the git clone command given is "git clone github.com/tadzik/rakudobrew ~/.rakudobrew". | 20:51 | |
gfldex | m: my @a; with "abc".split('/') { @a.append: |.item; }; dd @a; | 20:52 | |
camelia | rakudo-moar c19142: OUTPUT«Array @a = ["abc"]» | ||
gfldex | where does .item come from? | ||
jnap | but that downloads a lot of stuff, for those of us on limited bandwidth, or paying by the byte. If you are not actually hacking on it, can't do a shallow clone ( --depth 1)? | ||
masak | jnap: probably can, yes | ||
jnap | just thinking if so, maybe could be a documentation patch | 20:53 | |
masak | jnap: it might even be a good default! | ||
given that it'd go faster for everyone | |||
jnap | if we agree I'm happy to give a patch, if I can find the docs somewhere | ||
ugexe | it makes it a pain to upgrade | ||
masak | now that Git has no trouble deepening a shallow clone, I think it's a good default | ||
ugexe: how do you mean? | |||
tony-o | i think separate the precom stuff from the source | ||
nine: ^ | 20:54 | ||
ugexe | i've tried a bunch of iterations of --depth=1 shallow-clone, and whatever other options i can find and eventually it will fail to update because of a deleted or added file | ||
jnap | I only mention because I'm on today my cellular data, since my DSL is flaky :) | ||
hmmm | 20:55 | ||
tony-o | i don't think anyone really cares if it's in a .precomp folder, arguably it's better since you can remove .precomp stuff more easily and find it more easily. it also makes upgrades easier, it makes version control a lot easier, there are a lot of benefits to doing it that way and the only real downside is having two folder trees with files of similar name in them | ||
nine: ^ | |||
jnap | I can play with it, but need to wait till my DSL comes back! | ||
gfldex | m: Mu.item; <-- not doced | ||
camelia | rakudo-moar c19142: OUTPUT«5===SORRY!5=== Error while compiling /tmp/_BbLDm4xECUnable to parse expression in quote words; couldn't find final '>' at /tmp/_BbLDm4xEC:1------> 3Mu.item; <-- not doced7⏏5<EOL> expecting any of: quote words…» | ||
20:55
iml_ left
20:56
nowan joined
|
|||
jnap | ugexe: but are you just compiling to use perl6, or you are actually hacking on Perl6? I probably won't hack on Perl6 | 20:56 | |
ugexe | i tried to do --depth=1 + friends stuff for cloning/updating all modules in the ecosystem and it would hit failures rather quickly | ||
tony-o | nine: the other thing is that *not* doing something because something else is broken is how we end up with a 'wtf' scenario a year from now, if precomp is broken then just don't load precomp files currently. it was working a year ago, is there some reason we cannot revert? | ||
ugexe | i could have been doing it wrong, but i did try lots of combinations of commands | ||
20:57
uvtc left,
nowan left,
nige1 left
|
|||
jnap | I see it does ton of stuff, lots of submodules. maybe I should play with it more before saying something.... | 20:58 | |
ugexe | it would work, probably for awhile. however i think eventually rakudobrew self-upgrade would fail and would need to be reinstalled if files change in a certain way | 20:59 | |
20:59
MadcapJake left
|
|||
jnap | ah. | 20:59 | |
21:00
nowan joined
21:01
cooper_ joined,
cooper_ left,
cooper_ joined
|
|||
Juerd | Damn. Wrote something for rosettacode, website borks. CloudFlare provides a cached version, but that's read only of course. | 21:01 | |
PerlJam | ugexe: we could still have a patch that enables --depth 1 (or whatever) and let people (jnap :) try it to see what happens. | ||
(I'd probably use it too btw) | |||
Hotkeys | does anyone have a good example of an unusual helpful perl 6 error message | 21:02 | |
weird request I know | |||
Trying to explain how nice the errors typically are in perl 6 to someone | |||
Juerd | There it is :) | ||
PerlJam | Hotkeys: unusual and helpful or unusually helpful? | ||
Hotkeys | but I can't think of a good example | ||
Juerd | Still borken, appears not to serve its CSS | ||
ugexe | it doesnt need to be enabled in any way. you use the command itself to install rakudobrew | ||
Hotkeys | that isn't really simple | ||
Juerd | rosettacode.org/wiki/Loop_over_mult...sly#Perl_6 # updated | 21:03 | |
Hotkeys | PerlJam: probably the first but either one is good | ||
21:03
SwellJoe joined
|
|||
PerlJam | ugexe: aye, that's true. | 21:03 | |
PerlJam considers doing it. | |||
21:04
nige1 joined
|
|||
ugexe | just self-upgrade could have a notice that it will have to download the rest of the history, or to reclone rakudobrew manually otherwise | 21:04 | |
PerlJam | it would be nice if it could determine if if *needed* to do that | ||
21:04
cooper left
21:05
cognominal left
|
|||
ugexe | yea, it just gets messy because after you *do* have the full history there isnt a point anymore in a shallow clone because updating could take more bandwidth with a new shallow clone than a pull | 21:06 | |
21:06
xfix joined
21:07
iml_ joined,
molaf left,
ab6tract joined
|
|||
ab6tract | o/ #perl6 | 21:08 | |
21:10
iml_ left,
iml_ joined
21:11
xpen joined
|
|||
ab6tract | is it possible to get a 'late-binding' reference to self in submethod BUILD ? nothing happens if i pass 'self' to the constructor of another object | 21:11 | |
but i not that self appears to be available in 'new' | 21:12 | ||
leont | The self of BUILD is the type-object, I think | ||
Juerd | m: 'a' xx 5 | ||
camelia | ( no output ) | ||
Juerd | m: say 'a' xx 5 | ||
camelia | rakudo-moar c19142: OUTPUT«(a a a a a)» | ||
Juerd | m: say 'a' xx 5, 'b' xx 3 | 21:13 | |
camelia | rakudo-moar c19142: OUTPUT«(a a a a a)(b b b)» | ||
ab6tract | leont: appears to be, yes | ||
but we cascade-call BUILD when new calls self.build | |||
ugexe | is BUILDALL the same? | 21:14 | |
ab6tract | but the object variables will not be available in new | ||
PerlJam | leont: if the self of BUILD is the type-object, how do you initialize instance attributes in BUILD? | 21:15 | |
ab6tract | ugexe: iirc, that's the spot in core setting which does the cascade call | ||
21:15
colomon left
|
|||
masak | m: class C { submethod BUILD { say self === C } }; C.new | 21:15 | |
camelia | rakudo-moar c19142: OUTPUT«False» | ||
21:15
xpen left
|
|||
leont | PerlJam: good question. I may be mistaken | 21:15 | |
masak | you know you can just run code to test stuff instead of asserting a lot of things, right? :P | ||
leont: yes, you are. see above. | 21:16 | ||
PerlJam | masak: my query was supposed to illicit some self-discovery :) | ||
masak | PerlJam: "elicit". it didn't ;) | ||
PerlJam | (multi-pun there!) | ||
which ever | |||
ab6tract | strange.. | 21:18 | |
my minimal example has me confused about why my code isn't working | 21:19 | ||
masak | in BUILD, `self` refers to the new object (which has already been created at that point by `.bless`) | ||
but since we're not out of construction yet, you're not meant to call instance methods on `self`, only set bang attributes | 21:20 | ||
trying to call instance methods at that stage, besides being disallowed, is just asking for inheritance-based dependency trouble | |||
21:20
llfourn joined
|
|||
ab6tract | indeed. i should have gotten this minimal case together first | 21:23 | |
m: class X { has $.x }; class Y { has $.x; submethod BUILD { $!x := X.new(:x(self)) } }; my $y = Y.new; say $y === $y.x.x | |||
camelia | rakudo-moar c19142: OUTPUT«True» | ||
lizmat | good *, #pelrl6! | ||
yoleaux | 18:42Z <japhb> lizmat: Thanks for fixing my Date + role bug! Nice not to have to work around that one. :-) | ||
Mouq | masak: That's why I don't make my BUILDs submethods! /s | ||
ab6tract | since that is failing in my larger code.. it seems i have a bug :) | ||
lizmat admits to not having the energy to backlog anymore | 21:24 | ||
so please, if anybody wants me to look at something, please .tell me | |||
ab6tract | o/ lizmat | ||
21:24
llfourn left
|
|||
timotimo | i find it hard to backlog, to ... | 21:25 | |
too* | |||
21:25
itaipu left
|
|||
masak | I gave up backlogging sometime in the mists of becoming a father | 21:31 | |
moritz | same here too | 21:32 | |
I guess that was redundant :-) | |||
_nadim | where things like 0x< af bo > described, spefically what "adjective" can be but in front of < .. >. i could not find it in "quoting constructs". | ||
brrt | \o lizmat | ||
lizmat | brrt o/ | 21:33 | |
brrt | well, it's kind of getting busy in this channel :-) | ||
moritz | _nadim: S02/Literals | ||
_nadim: might be missing from doc.perl6.org | |||
21:35
itaipu joined
|
|||
_nadim | thanks. i am stuck in moving from my apparment and starting the fundations of my summer house on another continent, but when things cool dow, I'll help with the docs, it's a good way to learn. | 21:36 | |
moritz | ++_nadim | 21:37 | |
_nadim: sounds like a fun and stressful time for you :-) | |||
_nadim | I don't do stress, I am old enough to not stress anymore but moving is like having to program in java, all my body urts afterwards ;) | 21:38 | |
21:38
sno left
21:40
SwellJoe left
21:42
n0tjack left
|
|||
dalek | kudo/nom: e32910b | lizmat++ | src/core/Exception.pm: Add X::Invalid::Value error class |
21:42 | |
kudo/nom: 70640bf | lizmat++ | src/core/Iterable.pm: Fix for RT #127191 |
|||
masak | (no stress)++ | 21:44 | |
is the "old enough to not stress anymore" a limit you reach where you might die at any moment, so the normal deadlines don't have any power over you anymore? :P | |||
21:46
xfix left
|
|||
Juerd | m: get | 21:48 | |
camelia | ( no output ) | ||
21:48
yqt joined
21:49
kaare_ left
21:50
colomon joined,
Actualeyes left
|
|||
tony-o | masak: i've been pretty stress since the marine corps. i think you just hit a point where you stop caring about things that aren't going to kill you | 21:50 | |
dalek | ast: 4a59ba3 | lizmat++ | S0 (3 files): Add tests for RT #127191 |
||
_nadim | Masak, you'll understand when you become an adult ;) | 21:51 | |
diakopter | .oO( will my daughter kill me? ) |
||
perigrin | diakopter: if the answer isn't "probably" then whatever it is isn't worth doing :) | 21:52 | |
Juerd | rosettacode.org/wiki/A%2BB#Perl_6 # provided a new simple solution: "get.words.sum.say" | ||
perigrin | this may explain my relationship with my daughter | ||
tony-o | are you worried? if so, then possibly :-p | 21:53 | |
Juerd | A lot of the rosettacode examples are broken :( | ||
Anyone else who wants to spend some time on checking them? I'm doing /^A/ :) | |||
(I'm skipping anything that says it works with 2015.09 or more recent) | 21:54 | ||
21:54
espadrine joined
|
|||
bpetering | Juerd: will do /^B/ | 21:55 | |
Juerd | If something is broken and you can't or don't want to fix it, add {{broken|Perl 6}} | ||
21:55
itaipu left
|
|||
bpetering | cool cool | 21:55 | |
lizmat | Juerd: tat | ||
Juerd: that won't work with 2015.12 | 21:56 | ||
Juerd | If it works, {{works in|Rakudo|2015.12}} or something similar. | ||
lizmat: Is it more recent? | |||
Maybe I should use 2016.01 instead :) | |||
lizmat | the support for .words on get is from the IO::CatHandle | ||
yes, that should probably be more correct | |||
21:57
_mg_ left
|
|||
Juerd | Huh, .words is Str.words | 21:57 | |
Maybe Cool.words by the way | |||
nine | lizmat: github.com/rakudo/rakudo/commit/de...dddb8a07ab github.com/rakudo/rakudo/commit/c5...2612f83ee5 | ||
lizmat | looks good, I guess ? | 21:58 | |
dalek | kudo/nom: 0fa13c0 | (Geoffrey Broadwell)++ | src/ (3 files): Add timestamps to RAKUDO_MODULE_DEBUG output |
||
lizmat | japhb++ | ||
japhb: what would maybe even be more useful, is that it would show the difference between that and the previous RAKUDO_MODULE_DEBUG output ? | 22:00 | ||
and perhaps convert to milliseconds ? :-) please ? :-) | 22:01 | ||
japhb | lizmat: I thought about that, but there seems to be a few different places that produce that debug output, some in NQP land, and some in Perl 6 land. I decided to go with "simple and working" | ||
AFK for a bit | |||
lizmat | japhb: ok | ||
nine | lizmat: it still needs a bit of work, but I think, we can soon work on 6.d and stop breaking 6.c :) | 22:02 | |
lizmat | nine: I'm not sure if there is something that you would like me to do ? | ||
masak | _nadim: what if I don't want to become an adult? :) it sounds both hard and boring at the same time. | ||
22:02
vendethiel- joined
22:03
geraud joined
|
|||
nine | lizmat: no, I'm just happy to report that there's progress on the backwards compat front :) | 22:03 | |
lizmat | ok, but to be really backcompat, we would need to remove IO::CatHandle and friends as well | ||
22:03
yurivish joined
|
|||
lizmat | e.g., Juerd's example of summing 2 values from an input stream, only works because of IO::CatHandle | 22:03 | |
nine | lizmat: rather move them to core.d/ | 22:04 | |
22:04
virtualsue_ joined
|
|||
lizmat | so what's the state of nom in all this ? | 22:04 | |
22:04
virtualsue left,
avenj left,
vendethiel left,
Amnez777 left,
mephinet- left
|
|||
lizmat | I'm starting to get really confused now | 22:04 | |
22:04
pnu left,
ilbelkyr left,
virtualsue_ is now known as virtualsue,
d4l3k_ joined,
jsimonet left,
solarbunny left
22:05
nbrown left,
zengargoyle left,
dalek left,
DrParis_ left,
skarn left,
Amnez777 joined,
Amnez777 left,
yurivish_ left,
[Tux] left,
wamba left
|
|||
nine | lizmat: all changes that would break the 6.c test suite go to files in core.d/ and need a use 6.d; to become active. Bugfixes can still go to core/. | 22:05 | |
22:05
colomon left
22:06
Amnez777 joined
|
|||
nine | lizmat: that can and should happen on nom | 22:06 | |
22:06
Amnez777 left,
ilbelkyr joined,
d4l3k_ is now known as dalek,
ChanServ sets mode: +v dalek,
ilbelkyr is now known as Guest45455,
mephinet joined
|
|||
lizmat | what if the test-suite was wrong ? | 22:06 | |
22:06
Amnez777 joined,
Amnez777 left
|
|||
nine | tony-o: I may have missed some discussion. Why do you think precomp is so broken that we have to revert to the state of a year ago? | 22:07 | |
22:07
Amnez777 joined
|
|||
masak | lizmat: maybe mark the new (correct but failing) test as TODO? | 22:07 | |
22:07
colomon joined
|
|||
nine | lizmat: I guess that will be case by case decisions. We can probably still affort a bit of leniency there, but not too much. | 22:07 | |
22:08
jnap left,
pnu joined,
alber joined,
Actualeyes joined
|
|||
lizmat | masak: so, that would require creating a 6.c branch in roast, in which the original test would be corrected and todoed ? | 22:08 | |
nine | What is now in the 6.c branch of roast should be moved into a 6.c directory, so it can be tested alongside the 6.d tests. The latter need a use 6.d; to be able to test the new features. | ||
diakopter | that's a lot of file; why not check out the branch into a subdir when that's needed | 22:09 | |
alber | Hello, When I tried to install Rakudo for MoarVM and JVM I got the following error: ./perl6-j tools/build/install-core-dist.pl /mnt/lib/perl6/rakudo/install/share/nqp Unhandled exception: java.lang.StackOverflowError <<<<... 400 lines of stack dump skipped...>>>> Return status 256 in block <unit> at tools/build/install-core-dist.pl line 13 Actually thrown at: in block <unit> at tools/build/install-core-dist.pl line 13 Makefile:4 | ||
22:10
Guest45455 left
|
|||
nine | diakopter: how often do you think people will run tests on that branch? | 22:10 | |
22:10
ilbelkyr_ joined
22:11
ilbelkyr_ is now known as ilbelkyr
|
|||
diakopter | nine: I suppose I should backlog a lifetime or two if I want to contribute :p never mind | 22:11 | |
22:11
xpen joined
|
|||
nine | I can run make spectest and wait. Having to do make spectest && git stash && git checkout 6.c && make spectest && git checkout master will become tedious. Most of all because those commands do not even work, because they're missing the cd t/spec | 22:11 | |
So I probably won't run 6.c all that often and others won't, too ;) | 22:12 | ||
22:12
zengargoyle joined
|
|||
diakopter | make spectest already runs cd & git commands for you | 22:12 | |
alber | The error happened at 'make 'install' after Configure.pl and make finished successfully. | ||
tony-o | nine: i don't think we have to, i think it was more stable and much less finicky than a year ago. it also wasn't designed to have to do precomp for every user that might use a module | 22:13 | |
nine | diakopter: but the git checkout will fail if there's local changes. So we need git stash in between. And make sure to only git stash pop if we actually stashed anything, and... | ||
tony-o | s/than// | ||
22:13
colomon left
|
|||
nine | tony-o: it also did precompile a lot less and startup times were a lot worse | 22:14 | |
alber | The error happened on Archlinux | ||
22:14
zengargoylew left
|
|||
tony-o | what did it not precomp a year ago? | 22:14 | |
nine | -Ilib for example | 22:15 | |
22:15
_nadim left
|
|||
tony-o | why would i want that to precomp ? | 22:15 | |
nine | also after a change to an installed source file, you did have to remember to delete the precomp file and very few users would now how to recreate them | ||
Because it loads so much faster? For example the test suits? | |||
tony-o | it doesn't load faster if you have to modify the source | 22:16 | |
alber | Could someone advise please why this error could happen? | ||
nine | Precomp makes a factor 5 difference for Inline::Perl5's test suite | ||
You only pay the compilation cost for a single test file, not for all of them. | |||
22:16
xpen left
|
|||
nine | That's 29 test files for Inline::Perl5 and that number is growing. | 22:16 | |
tony-o | there are very few people that care about how fast Inline::Perl5's test suite runs | 22:17 | |
dalek | c: 2f52904 | lizmat++ | doc/Language/unicode_texas.pod: Add 𝑒 , and document value also for π and τ |
||
22:17
ab6tract left
|
|||
tony-o | including me | 22:17 | |
in fact, if i'm running a test suite, i don't care about precomp at all in case i need to fix a bug | 22:18 | ||
nine | tony-o: there are lots of people developing modules with more code than Inline::Perl5 and who write more tests than me so they will wait even longer | ||
tony-o | in fact, if i'm running a test suite, i don't care about precomp at all in case i need to fix a bug | ||
lizmat | tony-o: the old precomp system was untenable, as it would add to bare startup time, like 30 *econds* if you have like 100 modules installed | ||
*seconds | |||
nine | Oh yes, there was that, too. | 22:19 | |
22:19
jsimonet joined
|
|||
tony-o | that's a problem that is worth fixing but doing a fix that has such a huge scope to correct a minor issue doesn't seem like a great plan | 22:19 | |
lizmat | to give you an idea of the speed increase: settings take about 60 seconds to compile on my machine, it takes .1 second to load precompiled | ||
that's 600x faster | |||
nine | tony-o: and you really don't care if your test suite runs in 20 seconds or 3 minutes? | ||
22:20
DrParis_ joined,
skarn joined,
[Tux] joined
|
|||
tony-o | that's not any faster if you have to re-precomp every time you want to run a test suite | 22:20 | |
lizmat | most importantly, if I recompile the settngs now, I don't need to reinstall all modules with panda all over again | ||
tony-o | i mean, yea if you ignore the process as a whole, that makes sense | ||
lizmat | which means, there's a much lower threshold to find out about ecosystem fallout | ||
moritz | tony-o: if you have 10 test files, you'll precompile every module only once | ||
tony-o | but stealing from one hand to give to the other isn't an accurate comparison | 22:21 | |
diakopter | ^_^ it runs in 2 minutes with the deserialization fix [still in a moarvm branch] | ||
oh, 20 seconds, should be even faster | |||
22:21
llfourn joined
|
|||
tony-o | moritz: i understand that, but if i go change a source file then it needs to be re-precomp'd .. i get it for installed modules which is a whole other issue (precomp per user, why?).. for module development it doesn't make sense to have jump through that hoop until you think your source is solid | 22:22 | |
and yes, i'd rather wait an extra minute for my module to test than have to deal with a finicky precomp system | |||
Juerd | Lots of rosettacode examples "say" a list, which then gets ( ). One solution is to prefix the list with "|" but then the whitespace in between the elements is also gone | ||
alber | Could someone advise please the appropriate place where Rakudo installation problems should be reported? | 22:23 | |
ZoffixWin | tony-o, just yesterday, I was working on a lib with ~8 files loaded with -Ilib. The start up without precomp was about 9 seconds, while nearly instant with it *even if I modified one of the files*. | ||
Juerd | Is there an aesthetically pleasing way of saying a list, whitespace separated, without parens? | ||
hoelzro | alber: the JVM build is currently broken =( | ||
22:23
nige1 left
|
|||
moritz | Juerd: say join ' ', @list; | 22:23 | |
ZoffixWin | alber, github.com/rakudo/rakudo/#reporting-bugs you can also discuss it here first | ||
moritz | Juerd: say ~@list | ||
Juerd | ~ does the trick! Thanks :) | 22:24 | |
ZoffixWin | huggable, rakudobug :is: [email@hidden.address] or use perl6 query on rt.perl.org ; see github.com/rakudo/rakudo/#reporting-bugs | ||
huggable | ZoffixWin, Added rakudobug as [email@hidden.address] or use perl6 query on rt.perl.org ; see github.com/rakudo/rakudo/#reporting-bugs | ||
moritz | huggable: alber was interested; ZoffixWin knows that already :-) | ||
huggable | moritz, nothing found | ||
moritz | oh | ||
diakopter | *giggle | ||
ZoffixWin snorts | 22:25 | ||
alber | Thanks! Will use MoarVM till JVM is fixed. | ||
moritz | you see, I don't backlog comprehensivly either :-) | ||
ZoffixWin | :) | ||
nine | tony-o: please try to listen | ||
tony-o | i am listening. | 22:26 | |
i'm waiting for you to say something other than 'its faster' | |||
i care more about reliability than speed | |||
nine | So what reliability problems are there? | ||
tony-o | and having it sometimes work and sometimes not seems like a bigger issue than loading modules a little more quickly | ||
22:26
brrt left
22:27
llfourn left
|
|||
diakopter | imho, the precomp system should be totally seamless and behind-the-scenes (invisible)... if it isn't, or someone writing/installing a script or module has to worry at all about precomp or not, then it's done wrong and needs fixing | 22:27 | |
tony-o | aside from the ones you're not listening to? read the logs. | ||
nine | diakopter: so we fix it | ||
tony-o | this is broken, it's built on a boiler plate that was meant for a discussion - not an implementation | ||
nine | tony-o: no, I'm going to bed rather than have this pointless discussion. I will not do your work for you. You want a change? At least have the decency to argue for it. | ||
stmuk_ | I do find the SHA hash filenames make debugging harder but guess that can be fixed in time | 22:28 | |
nine | stmuk_: it can, and it will. | ||
moritz | tony-o: I think it's best if you file rakudobugs for each issue, and point nine++ to them | ||
tony-o | nine: lol. okay. ignore the evidence and claim victory. that's a wonderful way to live life. | ||
stmuk_ | nine++ | ||
moritz | tony-o: that path worked very well for me in the past | ||
masak finds it weird that people are rude to nine++ who did actual work | |||
lizmat | nine++ indeed | ||
alpha123 | tony-o: wat | ||
masak | in general, we should be kind to the people who do actual work | 22:29 | |
ZoffixWin | nine++ # indeed, as mentioned before, the speed boost is very noticable | ||
diakopter | tony-o: nine is obviously stressed out and burnt out; give some patience and let him recover emotionally from the pressure he's let himself be put under :) | ||
22:29
alber left
|
|||
tony-o | diakopter++ | 22:29 | |
that's reasonable. telling me i haven't done any work after rejecting code i submitted that was built to spec, isn't | |||
lizmat | tony-o: a ticket is worth a thousand words | ||
diakopter | yes, stressed people can be unreasonable | ||
<- especially | 22:30 | ||
tony-o | no worries, i'm not trying to be critical of nine specifically, it's just been a thorn in my side for a long time | ||
masak | reasoning and stress aren't very compatible, no | ||
diakopter | this conversation mirrors quite similarly to one here with ShimmerFiery the night before the blogpost-that-shall-not-be-named | 22:31 | |
tony-o | lol | ||
lizmat | tony-o: please realiize that most of Perl 6 is currently built on -Ofun | 22:32 | |
masak | diakopter: shimmeryfairy.wordpress.com/2015/1...-go-at-it/ -- that one? or the one that was removed? | ||
tony-o | i do, i'm not being critical of *anyone* | ||
lizmat | if you take that away, especially from the people that actually put in long hours to get the core further developerd | ||
diakopter | yes | ||
(masak) | |||
lizmat | you wind up having to do it yourself | ||
dalek | kudo-star-daily: 55a0fdf | coke++ | log/ (5 files): today (automated commit) |
22:33 | |
lizmat | which may be a good idea to begin with :-) | ||
masak | I wonder if we can do something structural/systematic to help people not fall off the -Ofun (that is, not become stressed or burn out or stuff) | ||
lizmat | that's at least how *I* got more involved with Perl 6 | ||
funkiller | huggable: hug? | ||
masak | the sad thing is that this seems to be connected with doing significant/unappreciated work in core | ||
huggable | funkiller, nothing found | ||
funkiller | huggable: ? | 22:34 | |
huggable | funkiller, nothing found | ||
funkiller | huggable: nothing | ||
huggable | funkiller, nothing found | ||
masak | huggable: nothing found? | ||
huggable | masak, nothing found | ||
masak | huggable: how much was found, you say? | ||
huggable | masak, nothing found | ||
stmuk_ | it's almost as if developing a powerful computer lang is hard :) | ||
masak | huggable: please enumerate the things that were found | ||
funkiller | huggable: did you find nothing or anything? | ||
huggable | masak, nothing found | ||
funkiller, nothing found | |||
ZoffixWin | Huggable only has the Types and a couple of commands I manually added | 22:35 | |
ATM | |||
masak | huggable: have you found yourself yet? | ||
ZoffixWin | huggable, source | ||
huggable | masak, nothing found | ||
ZoffixWin, I'm a factoid bot. See me in the nude at github.com/zoffixznet/perl6-IRC-Cl...in-Factoid | |||
funkiller | huggable: FaRtat | ||
huggable | funkiller, nothing found | ||
masak | huggable: what did the philosopher say to the P-zombie? | ||
funkiller | huggable: FatRat | ||
huggable | masak, nothing found | ||
funkiller, class FatRat [Rational number (arbitrary-precision)]: doc.perl6.org/type/FatRat | |||
ZoffixWin | Eventually there'll be search and possibly "dump all things" (see DESIGN.md) | ||
masak | huggable: how many angels can dance on the tip of a pin? | 22:36 | |
huggable | masak, nothing found | ||
funkiller | huggable: three blind FatRat | ||
huggable | funkiller, nothing found | ||
masak | huggable: which parts of the Perl 6 spec do you think are stable? | ||
huggable | masak, nothing found | ||
ZoffixWin | poor bot | ||
masak | huggable: how much money you got? | 22:37 | |
funkiller | huggable: how long until a memory leak bites you | ||
huggable | masak, nothing found | ||
funkiller, nothing found | |||
masak | indeed poor | ||
ZoffixWin | hah | ||
Things will come. I have the "ignore abuser" plugin still on the TODO list | |||
masak | huggable: remind me again -- was something found or what? | ||
mst | masak: now you're just being cruel | 22:38 | |
huggable | masak, nothing found | ||
abuser | huggable: tell me "nothing found" if masak is a troll | ||
huggable | abuser, nothing found | ||
masak | gosh | ||
stmuk_ | huggable, Zoffix | ||
huggable | stmuk_, nothing found | ||
diakopter | huggable: | ||
huggable | diakopter, nothing found | ||
masak .oO( 2016 directive: don't taunt the non-sentient beings on channel ) | |||
huggable: 0 <-- LOOK | 22:39 | ||
huggable | masak, nothing found | ||
ZoffixWin | huggable, 42 | ||
diakopter | masak: around here we call those "doings". as in, beings vs doings | ||
22:39
hankache joined
|
|||
masak | diakopter: oh, cute | 22:39 | |
hankache | o/ * | ||
diakopter | pronounced DOYNGS, of course | ||
ZoffixWin | so. you broke it, eh? :) | 22:40 | |
diakopter | comma->colon | ||
ZoffixWin | It should handle commas too | ||
diakopter | .oO( but it replies with a comma... ) |
||
ZoffixWin | huggable, 42 | ||
oh, those are \o aren't they? | 22:41 | ||
stmuk_ | huggable, Tap | ||
ZoffixWin | \0 | ||
huggable | stmuk_, class Tap [Subscription to a]: doc.perl6.org/type/Tap | ||
ZoffixWin | m: say "" ~~ /\0/ | ||
camelia | rakudo-moar 0fa13c: OUTPUT«Nil» | ||
ZoffixWin | to me, that char looks as a box with 4 zeros inside | 22:42 | |
22:42
muraiki left
|
|||
diakopter | looks to me like black K with white background | 22:42 | |
stmuk_ | huggable, Any | 22:43 | |
huggable | stmuk_, class Any [Thing/object]: doc.perl6.org/type/Any | ||
AlexDaniel | huggable: please find some good unicode character for Whatever | ||
huggable | AlexDaniel, nothing found | ||
AlexDaniel | 👌 | 22:44 | |
diakopter | .u 01F44C | ||
yoleaux | U+1F44C OK HAND SIGN [So] (👌) | ||
bpetering | .tell Skarsnik I've added a whole bunch of features to gptrixie function stuff, including putting the C definition above the generated subs github.com/bpetering/gptrixie | 22:45 | |
yoleaux | bpetering: I'll pass your message to Skarsnik. | ||
stmuk_ | huggable, div by zero :is: {1/0} | ||
huggable | stmuk_, Added div by zero as {1/0} | ||
stmuk_ | huggable, div by zero | 22:46 | |
huggable | stmuk_, {1/0} | ||
ZoffixWin | stmuk_, were you hoping it evaled the response? :) | 22:47 | |
stmuk_ | O:-) | ||
22:47
inokenty left
|
|||
ZoffixWin | BTW, it handles /notice and /msg too | 22:47 | |
AlexDaniel | well, perhaps it should be possible to make it say something without prefixing it with a nick :) | ||
so that you can make it trigger m: | 22:48 | ||
ZoffixWin | :o | ||
AlexDaniel | e.g. div by zero :is: m: 1/0 | 22:49 | |
ZoffixWin | Opened an issue: github.com/zoffixznet/perl6-IRC-Cl...d/issues/2 | ||
Gonna take a look in the next 4 days | |||
AlexDaniel | ZoffixWin: I haven't tried it yet, by the way | ||
ZoffixWin: your awesome module I mean | 22:50 | ||
ZoffixWin: what's the right place to submit plugins, by the way? | |||
ZoffixWin | AlexDaniel, heh, it's fine. I see some Annoying Things with it anyway and will change them. So far, just using listening to irc-to-me event and responding with $irc.respond: |%res, :what('blah blah'); is non annoying. The rest is stupid :) | 22:51 | |
AlexDaniel | ZoffixWin: aww! | ||
ZoffixWin | As for nickless thing, it'll likely it'd be triggered with "div by zero @", because I'm adding a feature where you can make the bot tell the thing to someone by doing "foo @ Zoffix", so by omiting the nick, you can make it say "m: blah" | ||
AlexDaniel, submitting plugins? Well, first and obvious, you can just release them as normal modules. If you think they should be in the core distro, submit an Issue/PR on github.com/zoffixznet/perl6-IRC-Client/ | 22:52 | ||
AlexDaniel | ZoffixWin: oh, looking at modules directory it seems like you expect every plugin to be a separate module. Ok | ||
gfldex | picking up a loose and I dropped yesterday, here is my attempt of a 6ish webframework. Your kind comments are very welcome. github.com/gfldex/perl6-ballet/blo...s/basic.p6 | ||
s/loose/loose end/ | |||
AlexDaniel | gfldex: awesome! Amazing! Great! | 22:53 | |
gfldex: I'll take a look shortly | |||
ZoffixWin | AlexDaniel, yeah, pretty much. I do have some P5 plugins that I grouped by topic, so a single dist installs multiple plugins, like metacpan.org/release/POE-Component...evelopment and metacpan.org/release/POE-Component...undle-Toys and | ||
flussence | I like the use of traits for basic http stuff there | 22:54 | |
22:54
hankache left
|
|||
flussence | managing headers inline with the code is as bad as mixing code and HTML, IME | 22:54 | |
ZoffixWin doesn't TBH | 22:55 | ||
Looks like spaghetti to me. | |||
RabidGravy | :) | ||
gfldex | next experiment is type safety to prevent missing quotes | ||
AlexDaniel | Actually, I just use 「Tag」 module for html stuff | ||
tony-o | lizmat: that's fine if doing it yourself is an option. having a hissy fit about trying to talk about design problems is something else. | 22:56 | |
flussence | ZoffixWin: I guess you could argue the thing that makes a sub a route is too much typing here... | ||
ZoffixWin | Well, I was mostly complaining, but what really stands out to me is the inline HTML stuff | 22:57 | |
That's like CGI.pm era | |||
flussence | oh that, I wasn't even talking about that... | ||
lizmat | tony-o: why is doing it yourself not an option for you ? | ||
flussence | it's alright for a one-screen demo, but I'd never do that in real life | ||
Juerd | b2gills: I've removed most of the code you wrote for | ||
masak | 'night, #perl6 | 22:58 | |
lizmat | gnight masak | ||
RabidGravy | you could do some EXPORTHOW::DECLARE thing to make like "ballerina { ....... }" | ||
tony-o | because i don't have access to merge PRs on the repo and if they go ignore/rejected then there isn't much else i can do about it then try to discuss it with the person doing the work | ||
awwaiid | nine (or others): are there any examples of hooking in to "use Foo:from<bleh>" yet? | ||
Juerd | b2gills: I've removed most of the code you wrote for rosettacode.org/mw/index.php?title=...did=213215 -- Maybe start a blog, or submit documentation to doc.perl.org? :) | ||
tony-o | i wrote a precomp to the docs over a year ago and it was rejected | ||
AlexDaniel | ZoffixWin: there's no problem with that, in fact it is pretty convenient if your page has lots of autogenerated stuff | ||
flussence | RabidGravy: I was *just* looking at OO::Monitors to see how it does that :) | ||
Juerd | b2gills: I think the huge amount of code for a very simple operation is a good way to scare beginners away. | 22:59 | |
tony-o | there isn't much else that's more 'do it yourself' | ||
AlexDaniel | ZoffixWin: but sure there's no one thing that would fit all | ||
lizmat | tony-o: maybe you need to work on accepting rejection ? | ||
ZoffixWin | gfldex, well, I'd like to see more :) We really do need a decent web framework. | ||
tony-o | i've accepted it and am trying another method, thanks for your input though | ||
lizmat reminds tony-o she has the most reverted commits in core | |||
tony-o | i'm not arguing because my stuff was rejected, i'm arguing because i want something to work | ||
if you want to live in a hug bubble then the real world may not be for you | 23:00 | ||
lizmat | well, then I suggest we argue less and do more | ||
diakopter pushed quite a few hundred-thousand line commits to moarvm before jnthn helped me rewrite history (this was when generating unicodedb.c or whatever) | |||
tony-o | avoiding the argument gets you in a position where every user has to have their own precomp for a module that is installed system wide | 23:01 | |
very nearly identical to the current trajectory of precomp | |||
lizmat | tony-o: I prefer a hug bubble to the cut-throat flame wars on p5p of log forgotten times | ||
*long | |||
ZoffixWin | tony-o, does it? I think only -Ilib has .precomp in the lib. The rest are precomped in the installation dir | ||
diakopter | to be fair, this is a very-much unsolved problem in computing (repeated code, in every sort of form) | 23:02 | |
tony-o | i don't think anyone has forgotten the cut-throat'edness of p5. p5 is actually productive, though. | ||
gfldex | the advantage of traits is that they are called pretty early. If return types are to be enfoced, it can bail as soon as it spots the first faulty one. | ||
23:02
inokenty joined
|
|||
tony-o | ZoffixWin: this is in reference to saying that the precomp direction is to to put al precomp modules into ~/.precomp | 23:02 | |
diakopter | god knows how many variously-hand-optimized implementations of common datastructures there are in a 8.5GB installation of Windows 10 | 23:03 | |
tony-o | so, yes, that is the current direction. it's in ref to a discussion between ugexe and nine had yesterday. which is part of the reason he doesn't want to read the logs | ||
ZoffixWin | gfldex, neat. And you know what's even more awesome. You can do parameter validation with custom types! use My::Fancy::Types; sub social-security (ValidSIN $sin) { ... } | ||
ZoffixWin is now excited | |||
lizmat | tony-o: fwiw, I don't want to read the logs either anymore.... there are just too many of them | 23:04 | |
stmuk_ | putting into ~/.precomp sounds ok to me | ||
lizmat | you could help by pointing us to a specific discussion | ||
hoelzro | awwaiid: apparently there's a Perl6::ModuleLoader.register_language_module_loader method, but I don't think that's accessible in "userspace" | ||
Hotkeys | ?p6> say pi; say pi.Rat | 23:05 | |
oops | |||
wrong syntax for this chan | |||
m: say pi; say pi.Rat | |||
camelia | rakudo-moar 0fa13c: OUTPUT«3.141592653589793.141593» | ||
lizmat | saying "a discussion that ugexe and nine had yesterday" is just costing me too much time to figure out whether that is actually what you are taliking about | ||
Hotkeys | why is so much less precise | ||
the second* | |||
gfldex | ZoffixWin: as long as you put it behind where, that's enfoced already. Right now I cast from Str (that dropps out of the request URL) to the type give in the signature of the sub. Next on my list are copy constructors to support custom types. | ||
awwaiid | thanks hoelzro , good place for me to start | ||
lizmat | tony-o: so please provide a link, if you want to refer to a discussion | ||
stmuk_ | I assume ~/.precomp only is to solve the binary packaging for distros problem? | 23:06 | |
lizmat | which, I think, is a general courtesy to anybody on this channel nowadays when referring to previous discussions | ||
RabidGravy | HotKeys, the printed version is less precise | 23:07 | |
diakopter | tony-o: irc log is at irc.perl6.org (sorry if you already knew this!) | ||
RabidGravy | m: say pi.Rat.perl | ||
Hotkeys | m: say pi.Rat.nude | ||
camelia | rakudo-moar 0fa13c: OUTPUT«(355 113)» | ||
rakudo-moar 0fa13c: OUTPUT«<355/113>» | |||
mst | stmuk_: nine and I have been discussing approaches that might make it still workable, ish | ||
ZoffixWin | gfldex, is there a repo I could star so I'd get notifications of updates to it? | ||
mst | I -think- it's possible | ||
Hotkeys | RabidGravy: that isn't any more precise though | ||
mst | I suspect the spec may be at least 50% bollocks though | ||
gfldex | ZoffixWin: github.com/gfldex/perl6-ballet | 23:08 | |
mst | but I've mostly been reading the CUR sources in the pub through a stinking head cold | ||
ZoffixWin | cheers | ||
lizmat | tony-o: irclog.perlgeek.de/perl6/2016-01-06#i_11841766 # example of a link | ||
mst | so, uh, please nobody assume I'm making sense -yet- | ||
AlexDaniel | m: say pi.perl; say pi.Rat.Num.perl | ||
camelia | rakudo-moar 0fa13c: OUTPUT«3.14159265358979e03.14159292035398e0» | ||
AlexDaniel laughs | |||
lizmat needs to get up early tomorrow, so goes to bed now | 23:09 | ||
diakopter | the Rats of Num... | ||
ZoffixWin | night | ||
lizmat | good night, #perl6! | ||
flussence would prefer one of {$XDG_CACHE_DIR/,~/.}perl6/precomp, if anything | |||
mst | diakopter: ... I wonder how few people got that. | ||
23:09
mr_micawber joined
|
|||
diakopter too | 23:09 | ||
flussence didn't | |||
mst | flussence: my thought is that basically we go to just that first | ||
stmuk_ | got it | ||
mst | then try and get more clever later once that becomes a reasonable to priority | 23:10 | |
*top | |||
23:10
espadrine left
|
|||
diakopter | flussence: en.wikipedia.org/wiki/Mrs._Frisby_...ts_of_NIMH | 23:10 | |
stmuk_ | diakopter: I recall it was quite good | 23:11 | |
flussence | I'm an uncultured swine but the name does ring a bell now :) | ||
perigrin | THe movie wasn't bad, I've heard the book was much better but I never managed to read it. | ||
23:11
rindolf left
|
|||
diakopter | mst is our Jeremy | 23:12 | |
23:12
sno joined,
xpen joined
|
|||
AlexDaniel | soo… Do I get it right that Num → Rat conversion attempts to get a beautiful approximate values for rat? | 23:13 | |
b2gills | m: say pi.Rat(0.0000001).nude.join('/') | ||
camelia | rakudo-moar 0fa13c: OUTPUT«103993/33102» | ||
AlexDaniel | instead of doing it as precisely as possible? | ||
b2gills | m: say pi.Rat.nude.join('/') | ||
camelia | rakudo-moar 0fa13c: OUTPUT«355/113» | ||
AlexDaniel | b2gills: am I the only one who goes “WTF????” when sees that? | ||
b2gills | NUmerator DEnominator | 23:14 | |
AlexDaniel | b2gills: I mean, the fact that by default it does something… weird? | ||
diakopter | well it does approximate | 23:16 | |
AlexDaniel | diakopter: hey, but isn't it a bit too much? | ||
23:17
xpen left
|
|||
diakopter | dunno | 23:19 | |
Hotkeys | I just realized | ||
that the default epsilon is 1.0e-6 | |||
diakopter | m: say pi.is-transcendental | ||
camelia | rakudo-moar 0fa13c: OUTPUT«Method 'is-transcendental' not found for invocant of class 'Num' in block <unit> at /tmp/B9qmOVxcox line 1» | ||
Hotkeys | that's why it was imprecise | 23:20 | |
23:20
alber joined
|
|||
Hotkeys | ?p6> pi.Rat(1.0e-14).Num.perl | 23:20 | |
shoot | |||
m: pi.Rat(1.0e-14).Num.perl | |||
camelia | ( no output ) | ||
Hotkeys | m: say pi.Rat(1.0e-14).Num.perl | ||
AlexDaniel | no sink warning | ||
camelia | rakudo-moar 0fa13c: OUTPUT«3.14159265358979e0» | ||
diakopter | "I demand that pi be its unexpanded taylor series, and the necessary precision computed on-demand!" | 23:21 | |
<- being silly | |||
stmuk_ | m: say pi.fmt("%.14f").Rat.nude.join("/") | ||
camelia | rakudo-moar 0fa13c: OUTPUT«314159265358979/100000000000000» | ||
stmuk_ | m: pi.fmt("%.0f").Rat.nude.join("/") | 23:22 | |
camelia | ( no output ) | ||
stmuk_ | m: say pi.fmt("%.0f").Rat.nude.join("/") | ||
camelia | rakudo-moar 0fa13c: OUTPUT«3/1» | ||
stmuk_ | thats good enough! | ||
23:22
llfourn joined
|
|||
diakopter | heh | 23:23 | |
Juerd | Rosseta /^A/ verified. Lots of broken examples. | ||
rosettacode.org/wiki/Category:Perl_..._attention | 23:24 | ||
alber | Hi, after installing Rakudo, I tried to install Panda, but on 'perl6 bootstrap.pl' command got the error: Unhandled exception: failed to load library 'dynext/libperl6_ops_moar.so' at <unknown>:1 (/mnt/lib/perl6/rakudo/perl6.moarvm:<dependencies+deserialize>:81) | ||
What can cause the problem? | |||
Juerd | Fixed a few simple ones, added the {{broken}} tag to the ones I couldn't immediately fix | ||
23:25
vendethiel- left,
zwu joined
|
|||
lichtkind | hai | 23:25 | |
perigrin has images of a large number of rats embarassed by a lack of clothing. | |||
lichtkind | FROGGS, its for a good cause anyway :) | ||
diakopter | alber: I don't know; which platform/toolchain did you use | ||
alber | Archlinux | 23:26 | |
MoarvM | |||
diakopter | would you mind trying rakudobrew? | ||
Juerd | So, I've done /^A/, bpetering is doing (or has done?) /^B/. Anyone up for checking the /^C/ Perl 6 articles on Rosetta Code? | 23:27 | |
bpetering | doing | ||
alber | diakopter, thanks, will try. | ||
23:28
llfourn left
23:29
solarbunny joined
|
|||
Hotkeys | How does .WHY work | 23:29 | |
Skarsnik | hello | 23:30 | |
yoleaux | 22:45Z <bpetering> Skarsnik: I've added a whole bunch of features to gptrixie function stuff, including putting the C definition above the generated subs github.com/bpetering/gptrixie | ||
Skarsnik | oh nice | ||
bpetering | Skarsnik: (I also broke void* pointers, but everything else works, and speeds up libsodium binding work by about 10x, so thanks :) | 23:31 | |
23:31
inokenty left
|
|||
bpetering | Skarsnik: let me know if you want a pull request at any point | 23:32 | |
Skarsnik | I need to rewrite the part that get the data form xml to do it in 1-2 pass x) | ||
zwu | I don't understand the code line my (*@x) := foo(); # signature binding in the design doc. I tried to run, not sure what should the variable @x be. | ||
23:32
felher left
|
|||
Skarsnik | and use Gumbo to parse the xml | 23:32 | |
XML is slow | |||
bpetering | Skarsnik: tell me about it :P | ||
23:33
RabidGravy left
|
|||
Skarsnik | Well I will look at getting Gumbo parsing XML file tomorrow. Gumbo is a C html5 parser, but it can parse everything that look like xml x) | 23:33 | |
23:33
spider-mario left
|
|||
bpetering | sounds good :) | 23:34 | |
mr_micawber | I just posted a short question on reddit.com/r/perl6 as infoaddicted if anyone would care to check it out. It's about flattening. | 23:36 | |
ZoffixWin | mr_micawber, flatten into what? | 23:37 | |
You could slip it | |||
Skarsnik | bpetering, let the void* be Pointer. you can always nativecast them later | 23:38 | |
zwu | what is signature binding? Can you please show example code? Thanks! | ||
bpetering | Skarsnik: ok | ||
23:39
brabo left
|
|||
ZoffixWin | m: my @a = ^3; my @b = 4..6; my @c = (@a Z @b).map: *.Slip; say @c | 23:39 | |
camelia | rakudo-moar 0fa13c: OUTPUT«[0 4 1 5 2 6]» | ||
mr_micawber | 'p6;[('a1', 'b1') ('a2', 'b2')].flat' | 23:40 | |
ZoffixWin | mr_micawber, what's the result you expect from what? | ||
mr_micawber | not sure how to use the chatbox right :-/ | ||
ZoffixWin | Type "m: " followed by the code you want to execute | 23:41 | |
Skarsnik | ZoffixWin, I was wondering what to you use to parse the doc? | ||
ZoffixWin | m: [('a1', 'b1') ('a2', 'b2')]>>.flat | ||
camelia | rakudo-moar 0fa13c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Kcb2cjbFstTwo terms in a rowat /tmp/Kcb2cjbFst:1------> 3[('a1', 'b1')7⏏5 ('a2', 'b2')]>>.flat expecting any of: infix infix stopper statement end st…» | ||
ZoffixWin | m: say [('a1', 'b1'), ('a2', 'b2')]>>.flat | ||
camelia | rakudo-moar 0fa13c: OUTPUT«[((a1) (b1)) ((a2) (b2))]» | ||
ZoffixWin | :( | ||
23:41
zhmylove left
|
|||
ZoffixWin | Skarsnik, parse which doc? | 23:41 | |
Skarsnik | p6 doc | ||
ZoffixWin | Skarsnik, never used p6 doc in my life :)_ | 23:42 | |
Skarsnik | Your bot! | ||
23:42
zhmylove joined
|
|||
mr_micawber | thanks, gotta go for now | 23:42 | |
23:42
mr_micawber left,
wamba joined
|
|||
Skarsnik | Or you use some toc in p6/doc? | 23:42 | |
ZoffixWin | m: say [('a1', 'b1'), ('a2', 'b2')].Slip>>.Slip | ||
camelia | rakudo-moar 0fa13c: OUTPUT«((a1 b1) (a2 b2))» | ||
ZoffixWin | How to get this to end up as <a1 b1 a2 b2> ? | 23:43 | |
23:43
zhmylove left
|
|||
ZoffixWin | Skarsnik, what do you mean "parse the doc"? | 23:43 | |
Skarsnik | To get the doc link | ||
23:44
zhmylove joined
|
|||
Skarsnik | bpetering, I would like a pr (but remove the precomp file x)) | 23:44 | |
ZoffixWin | Skarsnik, ah, I just used a P5 script: github.com/zoffixznet/perl6-IRC-Cl...load-db.pl | ||
(it has a bug that doubles /type/type in the URL ATM) | |||
bpetering | Skarsnik: sure :o) | 23:45 | |
ZoffixWin | Skarsnik, which just parses this page: docs.perl6.org/type.html | ||
(as I've said, the bot ATM only knows the types) | |||
23:46
virtualsue left
|
|||
Skarsnik | huggable, IRC::Art | 23:46 | |
huggable | Skarsnik, nothing found | ||
Skarsnik | it should link modules :) | ||
23:47
inokenty joined
|
|||
ZoffixWin | I can code that in right now :) | 23:47 | |
23:49
huggable left
|
|||
diakopter | aw you have to reset the process ;) | 23:49 | |
ZoffixWin | So far yeah :) | 23:50 | |
And read the docs to fix compile errors apparently :P | 23:51 | ||
23:51
zwu left
23:52
inokenty left
|
|||
ZoffixWin | Ah, right. | 23:52 | |
23:52
huggable joined,
firstdayonthejob left
|
|||
ZoffixWin | huggable, module IRC::Client | 23:52 | |
huggable | ZoffixWin, Link to module: modules.perl6.org/repo/IRC::Client | ||
ZoffixWin | \o/ | ||
huggable, module NotReallyAModuleButWhoCares :D | 23:53 | ||
huggable | ZoffixWin, Link to module: modules.perl6.org/repo/NotReallyAMo...utWhoCares :D | ||
diakopter | huggable module ' | ||
ZoffixWin | Small addition too: gist.github.com/zoffixznet/ad206482a952cbdd5b09 | ||
diakopter | huggable, module ' | ||
huggable | diakopter, Link to module: modules.perl6.org/repo/' | ||
diakopter | huggable, module | ||
ZoffixWin | :/ | ||
huggable | diakopter, Link to module: modules.perl6.org/repo/ | ||
diakopter | just being fuzzilicious | 23:54 | |
ZoffixWin | I thought I taught it to handle addressing without , or . :( | ||
ugexe | huggable, module 1'); DROP TABLE fart;-- | ||
huggable | ugexe, Link to module: modules.perl6.org/repo/1'); DROP TABLE fart;-- | ||
ZoffixWin | Ah, forgot to make optional. | ||
ugexe, pfft | |||
23:56
brabo joined
|
|||
AlexDaniel | ZoffixWin: would be more useful if it was just .module | 23:57 | |
ZoffixWin | yeah | ||
AlexDaniel | huggable: hugg | 23:58 | |
huggable | AlexDaniel, nothing found | ||
ZoffixWin | Eventually I'll add that :) | ||
ugexe | those links point at distro names as well, not neccesarily modules | ||
23:58
mr_micawber joined
|
|||
ugexe | search `provides` to find the true distro name | 23:59 |