»ö« 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:22
perlnewbee joined
|
|||
perlnewbee | hello :) | 00:23 | |
i want to write a parser for some markup language i defined, and i want to try grammars for this. But i dont want to install perl6 in my production env. Can i compile this later to an executable binary? | 00:24 | ||
timotimo | there's different ways to get a perl6 program deployed | 00:33 | |
one of which is docker, another is making an installer for windows that contains a custom-compiled rakudo in it | |||
but creating a single executable file from a program isn't yet a thing we have, sadly | |||
perlnewbee | oh, ok. Thanks :) | 00:34 | |
00:35
test2 joined
00:37
mr_ron left
00:42
zachk left
00:44
mr_ron joined
00:45
test2 left
|
|||
MasterDuke | hm, can't you use flatpack or appimage (i forget which one samcv got working) for that? | 00:47 | |
timotimo | we do have an appimage of rakudo itself, i think maybe even rakudo star including dependencies? maybe you can use that for a full program | 00:51 | |
00:52
Kaiepi left
|
|||
buggable | New CPAN upload: Font-FreeType-0.0.8.tar.gz by WARRINGD modules.perl6.org/dist/Font::FreeTy...n:WARRINGD | 00:56 | |
01:08
mcmillhj joined
01:20
mcmillhj left
01:23
espadrine left
01:29
comborico1611 left
01:31
Herby_ left
01:32
BenGoldberg joined
01:41
FROGGS_ joined
01:44
FROGGS left
01:49
ilbot3 left
01:56
ilbot3 joined,
ChanServ sets mode: +v ilbot3
01:57
mcmillhj joined
02:01
mr_ron left
02:03
Kaiepi joined
02:08
mcmillhj left
|
|||
Geth | doc: 4f3459fcf6 | 陈梓立++ (committed using GitHub Web editor) | doc/Language/variables.pod6 Fix broken link No very sure if it works. Co #1972. If works, close this issue. |
02:18 | |
synopsebot | Link: doc.perl6.org/language/variables | ||
02:50
mr_ron joined
02:52
Herby_ joined
02:54
mr_ron left
|
|||
Geth | doc: coke self-assigned /tmp files don't get cleaned up properly github.com/perl6/doc/issues/1973 101a710ccb | 陈梓立++ (committed using GitHub Web editor) | README.zh.md |
02:58 | |
03:03
comborico1611 joined
|
|||
comborico1611 | M: if 'ac' ~~ m/ a.c / { say "Match";} | 03:03 | |
m: if 'ac' ~~ m/ a.c / { say "Match";} | 03:04 | ||
camelia | ( no output ) | ||
comborico1611 | m: if 'ac' ~~ m/ a?c / { say "Match"; } | 03:06 | |
camelia | Match | ||
comborico1611 | m: if 'c' ~~ m/ a?c / { say "Match"; } | 03:07 | |
camelia | Match | ||
comborico1611 | m: if 'c' ~~ / a?c / { say "Match"; } | 03:11 | |
camelia | Match | ||
comborico1611 | m: if 'aaz' ~~ m/ a*z / { say "Match"; } | 03:16 | |
camelia | Match | ||
comborico1611 | m: if 'z' ~~ m/ a*z / { say "Match"; } | ||
camelia | Match | ||
comborico1611 | m: if 'azzz' ~~ m/ a*z / { say "Match"; } | 03:17 | |
camelia | Match | ||
comborico1611 | m: if 'z' ~~ m/ a+z / { say "Match"; } | 03:19 | |
camelia | ( no output ) | ||
Geth | doc: 65f77f515a | (Zoffix Znet)++ | app.pl Make dev app clean up its temp files |
03:20 | |
comborico1611 | m: if 'Rakudo is a Perl 6 compiler' ~~ m/:s Perl 6/ {say "The matching string starts at position: " ~ $/.from} | 03:21 | |
camelia | The matching string starts at position: 12 | ||
Geth | doc: f437917457 | 陈梓立++ (committed using GitHub Web editor) | doc/Language/variables.pod6 Fix link |
03:22 | |
synopsebot | Link: doc.perl6.org/language/variables | ||
03:23
ryn1x joined
|
|||
tobs | m: .polymod(2, 4, 8 ... *).say for 1, 2, 4 ... 16 | 03:26 | |
camelia | (1) (0 1) (0 2) (0 0 1) (0 0 2) |
||
tobs | I hoped this would give me the popcount, but why doesn't it work on 4 and 16? | ||
Actually, I just want to know reliably if an integer is a power of 2. | 03:27 | ||
03:43
Zoffix joined
|
|||
Zoffix | tobs: is log too flimsy? | 03:43 | |
m: say (2¹⁰⁰).log: 2 | |||
camelia | 100 | ||
Zoffix | m: say (2¹⁰⁰+1).log: 2 | ||
camelia | 100 | ||
Zoffix | I guess that answers that... | ||
The 8 and 16 polymoded with divisor 8, don't they? (0 0 1)(0 0 2) | 03:45 | ||
tobs | Zoffix: I just read the code of Int.polymod and now the results make sense to me | 03:48 | |
03:48
comborico1611 left
|
|||
Zoffix | m: sub pow2 { not $^x +& ($x - 1) }; say pow2 2¹⁰⁰ | 03:51 | |
camelia | True | ||
Zoffix | m: sub pow2 { not $^x +& ($x - 1) }; say pow2 2¹⁰⁰+1 | ||
camelia | False | ||
03:51
BenGoldberg left
|
|||
Zoffix | Neat. | 03:52 | |
TEttinger | m: sub pow2 {$x.lsb == $x}; say pow2 2¹⁰⁰ | 03:53 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Variable '$x' is not declared at <tmp>:1 ------> 3sub pow2 {7⏏5$x.lsb == $x}; say pow2 2¹⁰⁰ |
||
TEttinger | m: sub pow2 { $^x.lsb == $x}; say pow2 2¹⁰⁰ | ||
camelia | False | ||
Zoffix | Any power of two is 1 followed by zeros and it minus 1 is 01111111…, so anding that gives zero for powers of 2 | ||
TIL | |||
TEttinger | m: sub pow2 { $^x.lsb }; say pow2 2¹⁰⁰ | 03:54 | |
camelia | 100 | ||
TEttinger | ohhh | ||
m: sub pow2 { $^x ^ $x.lsb == $x }; say pow2 2¹⁰⁰ | 03:55 | ||
camelia | one(True, False) | ||
Zoffix | m: sub pow2 { $^x +^ $x.lsb == $x }; say pow2 2¹⁰⁰ | ||
camelia | False | ||
TEttinger | hm | ||
exponent op is? | |||
Zoffix | ^ is junction +^ is bit op | ||
Oh, that's ** | |||
m: sub pow2 { $^x ** $x.lsb == $x }; say pow2 2¹⁰⁰ | |||
camelia | False | ||
TEttinger | oh heh, nvm | ||
Zoffix | m: sub pow2 { $^x ** $x.lsb }; say pow2 2¹⁰⁰ | 03:56 | |
camelia | 19950631168807583848837421626835850838234968318861924548520089498529438830221946631919961684036194597899331129423209124271556491349413781117593785932096323957855730046793794526765246551266059895520550086918193311542508608460618104685509074866089624888… | ||
TEttinger | m: sub pow2 { 2 $^x.lsb == $x }; say pow2 2¹⁰⁰ | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Two terms in a row at <tmp>:1 ------> 3sub pow2 { 27⏏5 $^x.lsb == $x }; say pow2 2¹⁰⁰ expecting any of: infix infix stopper statement end sta… |
||
Zoffix | ah | ||
TEttinger | m: sub pow2 { 2 **$^x.lsb == $x }; say pow2 2¹⁰⁰ | ||
camelia | True | ||
Zoffix | \o// | ||
TEttinger | m: sub pow2 { 2 **$^x.lsb == $x }; say pow2 2¹⁰⁰ + 1 | ||
camelia | False | ||
TEttinger | hooray | ||
hooray for lsb | |||
Zoffix | m: my $p = 2¹⁰⁰; sub pow2 { 2 **$^x.lsb == $x }; { for ^1000_000 { my $ = pow2 $p }; say now - ENTER now } | 03:57 | |
camelia | (timeout) | ||
Zoffix | m: my $p = 2¹⁰⁰; sub pow2 { 2 **$^x.lsb == $x }; { for ^1000 { my $ = pow2 $p }; say now - ENTER now } | ||
camelia | 0.0476687 | ||
Zoffix | m: my $p = 2¹⁰⁰; sub pow2 { 2 **$^x.lsb == $x }; { for ^50000 { my $ = pow2 $p }; say now - ENTER now } | 03:58 | |
camelia | 1.48259542 | ||
Zoffix | m: my $p = 2¹⁰⁰; sub pow2 { not $^x +& ($x - 1) }; { for ^50000 { my $ = pow2 $p }; say now - ENTER now } | ||
camelia | 0.0874599 | ||
Zoffix | :) anding's faster :) | ||
tobs | oh, thanks TEttinger++ and Zoffix++. I was still busy .map'ing sequences to get my popcount. | 03:59 | |
TEttinger | I wonder if there's a popcount built in | ||
04:00
Tison joined
|
|||
Zoffix | is this it? en.wikipedia.org/wiki/Hamming_weight | 04:00 | |
Tison | good noon! | 04:01 | |
Zoffix | \o | ||
tobs | Zoffix: if you have a list of bits, yes | ||
TEttinger | rosettacode.org/wiki/Population_count#Perl_6 | ||
hmmm | |||
tobs | m: sub pow2 (Int $n) { so (2, 4, 8 ...^ * >= $n).map(* Rmod $n).all == 0 } ; { for ^1000 { my $ = pow2 $p }; say now - ENTER now } # assuming it's correct | 04:02 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Variable '$p' is not declared at <tmp>:1 ------> 3.all == 0 } ; { for ^1000 { my $ = pow2 7⏏5$p }; say now - ENTER now } # assuming i |
||
Zoffix | that shit's over my head | ||
tobs | m: my $p = 2**100; sub pow2 (Int $n) { so (2, 4, 8 ...^ * >= $n).map(* Rmod $n).all == 0 } ; { for ^1000 { my $ = pow2 $p }; say now - ENTER now } # assuming it's correct | 04:03 | |
camelia | 5.3492947 | ||
Zoffix | m: say +StrDistance.new(:before('0' x .chars), :after($_)) with 2¹⁰⁰.base: 2 | 04:04 | |
camelia | 1 | ||
Zoffix | m: say +StrDistance.new(:before('0' x .chars), :after($_)) with (2¹⁰⁰+1).base: 2 | 04:05 | |
camelia | 2 | ||
Zoffix | m: say +StrDistance.new(:before('0' x .chars), :after($_)) with (2¹⁰⁰-1).base: 2 | ||
camelia | 100 | ||
Zoffix | ¯\_(ツ)_/¯ | ||
tobs | well, now I have at least 3 ways to do it which shorter than mine. Mission accomplished \o/ | 04:06 | |
04:09
Zoffix left
|
|||
tobs | m: sub pow2 ($n) { .elems == 1 with $n.base(2) ~~ m:g/1/ }; say pow2($_) for ^10; | 04:10 | |
camelia | False True True False True False False False True False |
||
Geth | perl6-pod-to-bigpage: 9fe402be40 | 陈梓立++ (committed using GitHub Web editor) | lib/Pod/To/BigPage.pm6 Fix over escape though there is remaining issue of X<> tags |
04:13 | |
perl6-pod-to-bigpage: 4518ca3599 | 陈梓立++ (committed using GitHub Web editor) | META6.json Bump version |
|||
doc: 1bc12e6ec7 | 陈梓立++ (committed using GitHub Web editor) | util/trigger-rebuild.txt Update trigger-rebuild.txt |
04:14 | ||
Tison | .ask AlexDaniel how can I figure out which libs depend on a special lib? say for URI, Pod::To::HTML depends on URI | 04:18 | |
yoleaux | Tison: I'll pass your message to AlexDaniel. | ||
04:22
Herby_ left
|
|||
Tison | The problem I works on is, Pod::To::BigPage does not support X<> tags well, it just renders a strange list in sidebar, with all <a> links fail. I'd like to clear its logic, but afraid making some damaging changes. | 04:23 | |
04:29
khw left
|
|||
Tison | .ask [Coke] could you please take a look at this build fail on doc? I just trigger rebuild and it fails unexpectedly. | 04:30 | |
yoleaux | Tison: I'll pass your message to [Coke]. | ||
Tison | travis-ci.org/perl6/doc/builds/372...tification | ||
buggable | [travis build above] ☠ Did not recognize some failures. Check results manually. | ||
tobs | my subconscious came up with how I should have used polymod: | 04:45 | |
m: say .polymod(2 xx *).sum == 1 for ^10 | |||
camelia | False True True False True False False False True False |
||
04:50
thowe left
|
|||
buggable | New CPAN upload: HTTP-Tinyish-0.1.1.tar.gz by SKAJI modules.perl6.org/dist/HTTP::Tinyish:cpan:SKAJI | 04:56 | |
04:58
ryn1x left
05:29
sauvin left
05:31
sauvin joined
05:39
perlnewbee left
05:48
eliasr left
05:49
espadrine joined
06:02
kurahaupo left,
kurahaupo joined
06:10
ufobat joined
06:21
jmerelo joined
|
|||
Geth | doc/car-grant-midrat: fd50cdfe77 | (Zoffix Znet)++ | doc/Type/Str.pod6 [CaR Grant] Document Str.Rat |
06:40 | |
ufobat | jmerelo, docs.perl6.org/type/Buf#method_subbuf-rw doesn't mention what $length is, if it isn't provided. if means that you replace everything till the end. but one could think that you just change the abount of data you're acctually providing | 06:44 | |
like $large-buf.subbuf-rw(10) = Buf.new(10,11) # whoul'd set the $lange-buf to 12 bytes | 06:46 | ||
where is the documentation on github? | 06:48 | ||
Geth | doc: 5076e57b99 | (JJ Merelo)++ | htmlify.p6 Eliminates Any and Mu from pages Leaving Cool, which is not common for all pages, and Exception, which is the mother of all X::*. Closes #1916. |
06:54 | |
jmerelo | ufobat: let me check | ||
ufobat: right here github.com/perl6/doc/blob/master/d...f.pod6#L16 | 06:55 | ||
ufobat: it does say "C<$length> specifies how many elements are to be replaced". Is that what you mean? | 06:56 | ||
07:04
kurahaupo_ joined,
kurahaupo left
|
|||
Geth | doc/car-grant-midrat: cf74874249 | (Zoffix Znet)++ | doc/Language/numerics.pod6 [CaR Grant] Document the rest of primary numerics |
07:11 | |
07:11
Tison left
|
|||
Geth | doc: cbc50baf02 | (JJ Merelo)++ | 16 files Renames test files to give them a logical order Closes #1966. It might also help #1951. Or at least help debug it. |
07:26 | |
ufobat | jmerelo, aye, but $length is optional, what if you leave it out | 07:29 | |
jmerelo | ufobat: OK, right. Does not say anything about that. Can you please create an issue for that? | 07:30 | |
ufobat | do you replace from $start to $end or do you replace just n bytes if you say .subbuf-rw($start) = $buf-with-n-elems | ||
of course :) | 07:31 | ||
07:31
kurahaupo_ left
07:32
kurahaupo joined
|
|||
jmerelo | ufobat: no idea right now. Would have to check code from roast, probably. Thanks! | 07:32 | |
ufobat | jup it replaces everthing: github.com/rakudo/rakudo/blob/mast...f.pm6#L650 | 07:33 | |
issue created | 07:35 | ||
jmerelo | ufobat: thanks! | 07:39 | |
ufobat | thanks as well :-) | 07:40 | |
Geth | perl6-pod-to-bigpage: e57f16207d | (JJ Merelo)++ | t/P.t Fixes test |
07:44 | |
doc: 025f28b5d5 | (JJ Merelo)++ | htmlify.p6 Eliminates debug code |
07:45 | ||
jmerelo | As a consequence of eliminating Any and Mu from all type pages, testing is now between 2 and 4 minutes faster... The docker test is now down to ~8 minutes | 07:48 | |
Also, now tests have some kind of "logical" order. They should fail faster, since most frequent errors are in front. | 07:49 | ||
07:51
DataLinkDroid joined,
rindolf joined
07:54
wamba joined
|
|||
Geth | doc/car-grant-midrat: fd0161a2f4 | (JJ Merelo)++ | doc/Language/numerics.pod6 Fixes pod |
07:55 | |
doc: 7942e679bd | (Zoffix Znet)++ (committed using GitHub Web editor) | util/trigger-rebuild.txt Update trigger-rebuild.txt |
07:57 | ||
jmerelo | 1000 closed issues already in perl6/doc github.com/perl6/doc/issues?q=is%3...s%3Aclosed | 07:59 | |
07:59
darutoko joined
08:05
sjoshi joined
08:08
sjoshi left
08:11
domidumont joined
08:14
sjoshi joined
08:15
sjoshi left
08:17
domidumont left,
domidumont joined
08:18
TEttinger left
|
|||
Geth | doc: Kaiepi++ created pull request #1975: Add Node.js to Perl 6 nutshell page |
08:23 | |
jmerelo | .seen nkh | 08:31 | |
yoleaux | I haven't seen nkh around. | ||
jmerelo | Data::Dump::Tree seems kind of abandoned... github.com/nkh/P6-Data-Dump-Tree | 08:39 | |
09:05
athenot joined
09:09
athenot_ joined
09:10
athenot left
09:21
Zartant joined,
irco joined,
Zartant left,
athenot_ left
09:46
Kaiepi left
|
|||
jmerelo | Apparently, new JS is getting the // and ==> operators from Perl 6... medium.freecodecamp.org/here-are-t...7bce1bfb0b | 09:57 | |
squashable6: status | 10:05 | ||
squashable6 | jmerelo, ⚠🍕 Next SQUASHathon in 4 days and ≈23 hours (2018-05-05 UTC-12⌁UTC+14). See github.com/rakudo/rakudo/wiki/Mont...Squash-Day | ||
Geth | doc: 25d32fe58f | (Elizabeth Mattijsen)++ | doc/Language/5to6-perlfunc.pod6 Add mention of P5 functions added by P5opendir |
10:09 | |
synopsebot | Link: doc.perl6.org/language/5to6-perlfunc | ||
buggable | New CPAN upload: P5built-ins-0.0.11.tar.gz by ELIZABETH cpan.metacpan.org/authors/id/E/EL/....11.tar.gz | 10:16 | |
10:18
Kaiepi joined
|
|||
buggable | New CPAN upload: P5opendir-0.0.2.tar.gz by ELIZABETH modules.perl6.org/dist/P5opendir:cpan:ELIZABETH | 10:36 | |
jmerelo | Initial analysis on the Perl 6 documentarion repository www.researchgate.net/publication/3...icationCTA | 10:40 | |
Apart from the curious power-law behavior in issue solution time, it's got nice and colorful charts. Also it's allowed me to create some report-generation and statistical analysis tools, all of them in Perl 6 | 10:42 | ||
If you'd like to see more metrics done, well, raise an issue :-) It's open science, so pull requests are admitted and encouraged. | 10:43 | ||
ufobat | how could i create a $float if i just have the bits? | ||
jmerelo | Maybe the best take-home message is that 50% of the issues are solved in 1 day, but a quarter of them take more than 16 days to process | 10:44 | |
ufobat: bits in IEEE754 representation? | |||
ufobat | yes | ||
jmerelo | ufobat: maybe through a Buf? Let me see... | 10:45 | |
(meanwhile, posting it in StackOverflow will also get a number of high-quality responses... :-) ) | |||
ufobat | with unpack() maybe, but that's experimental | 10:46 | |
jmerelo | ufobat: right. And buf is only for strings, apparently... | ||
pack seems to be only for integers... | 10:47 | ||
ufobat: maybe stuff it into some Native data structure? | |||
ufobat: right, that might be it... | 10:48 | ||
ufobat | how does this work? | ||
jmerelo | jmerelo: trying to find the way... | 10:49 | |
ufobat: right, something like this stackoverflow.com/questions/263102...ting-point | |||
using the NativeCall API in Perl 6. | |||
ufobat | i was looking through lizmat modules.perl6.org/dist/P5pack:cpan:...P5pack.pm6 but apparently it doesn't implement 'f' and 'd'. or am i mistaken | 10:54 | |
because i thought perl5 unpack/pack would do this | 10:55 | ||
lizmat | ufobat: not, sure, it's been a while since I really looked at that | 10:56 | |
ufobat: I think we don't have an equivalent for f/d in Perl 6 ? | 10:57 | ||
ufobat | we do have num32 which chould be a IEEE float? | 11:01 | |
lizmat | not sure... I believe you | 11:03 | |
11:03
markong joined
|
|||
lizmat | possibly my work on pack/unpack predates the availability of num32 | 11:04 | |
ufobat | i just know num32 from the NativeCall documentation | ||
Voldenet | I believe num32 is a float and Num is a double | 11:07 | |
I'm not sure though, but I'd just use Num for both of them | 11:09 | ||
ufobat | i'll ask stackoverflow :) | 11:15 | |
jmerelo | ufobat: posted my (failing) solution to that problem in StackOverflow stackoverflow.com/questions/500859...sing-the-n | 11:16 | |
Voldenet | m: my num32 $x = 1/3.Num; my $y = $x * $x; $x = $y; say $x - $y | ||
camelia | 1.655684478407693e-09 | ||
jmerelo | What I was trying to do is to just use memcpy through NativeCall to turn one into another. | ||
Voldenet | yeah, every operation gets turned into 64-bit one anyway | ||
ufobat | jmerelo, i think memcopy needs pointers? | 11:17 | |
Voldenet | is rw, maybe | 11:19 | |
jnthn | Can possibly do it with a NativeCall union or something | 11:20 | |
ufobat | stackoverflow.com/questions/500860...into-a-num | 11:25 | |
lizmat | weekly: www.researchgate.net/publication/3...ial_report | 11:28 | |
notable6 | lizmat, Noted! | ||
11:29
ufobat left
|
|||
jmerelo | ufobat: theoretically they are pointers. | 11:30 | |
ufobat: I have pointed to your question from mine. | 11:34 | ||
buggable | New CPAN upload: HTTP-Tinyish-0.1.2.tar.gz by SKAJI modules.perl6.org/dist/HTTP::Tinyish:cpan:SKAJI | 11:36 | |
Voldenet | m: class Memory is repr('CUnion') { has int32 $.int; has num32 $.float }; say Memory.new(:float(1.Num)).int; | 11:38 | |
camelia | 1065353216 | ||
Voldenet | jmerelo: ^ | ||
you don't really need memcpy for it | 11:39 | ||
AlexDaniel | .tell Tison you can try `zef rdepends URI` | ||
yoleaux | AlexDaniel: I'll pass your message to Tison. | ||
11:40
Kaiepi left
|
|||
jmerelo | Voldenet: thanks! | 11:41 | |
11:41
jmerelo left
11:55
InstallPerl6 joined
|
|||
Voldenet | Huh, I do wonder how to use Pointer[T] | 11:56 | |
m: use NativeCall; say nativecast(uint32, Pointer.new(1.Num)) | 11:57 | ||
camelia | Default constructor for 'NativeCall::Types::Pointer' only takes named arguments in block <unit> at <tmp> line 1 |
||
Voldenet | m: use NativeCall; say nativecast(uint32, CArray[num32].new(1.Num)) | ||
camelia | 1065353216 | ||
12:18
Kaiepi joined
|
|||
lizmat | m: use NativeCall; say nativecast(uint32, CArray[num32].new(1e0)) # more idiomatic way to make literal nums | 12:20 | |
camelia | 1065353216 | ||
jnthn | Are you sure that isn't 32 bits of the pointer to the array? | 12:22 | |
use NativeCall; say nativecast(uint32, CArray[num32].new(0e0)) | |||
evalable6 | 0 | ||
jnthn | m: use NativeCall; say nativecast(uint32, CArray[num32].new(0e0)) | ||
camelia | 0 | ||
jnthn | Hm, apparently not. | 12:23 | |
Voldenet | I'm still unsure if this can be made into Pointer[num32] somehow | ||
Kaiepi | it can | 12:24 | |
m: use NativeCall; my $ptr = nativecast(uint32, CArray[uint32].new(1e0)); say nativecast(Pointer[num32], $ptr) | 12:25 | ||
camelia | This type cannot unbox to a native integer: P6opaque, Num in method new at /home/camelia/rakudo-m-inst-2/share/perl6/sources/51E302443A2C8FF185ABC10CA1E5520EFEE885A1 (NativeCall::Types) line 198 in method new at /home/camelia/rakudo-m-inst-2/s… |
||
Kaiepi | m: use NativeCall; my $ptr = nativecast(num32, CArray[num32].new(1e0)); say nativecast(Pointer[num32], $ptr) | ||
camelia | Native call expected return type with CPointer, CStruct, CArray, or VMArray representation, but got a P6opaque (Num) in sub nativecast at /home/camelia/rakudo-m-inst-2/share/perl6/sources/24DD121B5B4774C04A7084827BFAD92199756E03 (NativeCall) line … |
||
Kaiepi | oh | ||
Voldenet | Ah, what I meant was this | 12:26 | |
use NativeCall; say nativecast(uint32, Pointer[num32].new(0e0)) | |||
m: use NativeCall; say nativecast(uint32, Pointer[num32].new(0e0)) | |||
camelia | Default constructor for 'NativeCall::Types::Pointer[num32]' only takes named arguments in block <unit> at <tmp> line 1 |
||
Voldenet | it would make more sense to be able to use Pointer in this context, because CArray is, well, an array :) | 12:28 | |
12:28
cono joined
|
|||
cono | hello all. Q: Is there a way to make tail-recursion? | 12:29 | |
Kaiepi | m: use NativeCall; my $ptr = nativecast(CArray[num32], CArray[num32].new(1e0)); say $ptr | ||
camelia | NativeCall::Types::CArray[num32].new | ||
Kaiepi | m: use NativeCall; my $ptr = nativecast(Pointer[num32], CArray[num32].new(1e0)); say $ptr | ||
camelia | NativeCall::Types::Pointer[num32]<0x52882f0> | ||
12:30
Ven`` joined
|
|||
Kaiepi | probably shouldn't try to code with little sleep but that's a way to get it | 12:30 | |
m: use NativeCall; my $ptr = nativecast(Pointer[num32], CArray[num32].new(1e0)); say $ptr.deref | 12:32 | ||
camelia | 1 | ||
Voldenet | But in the end you still end up creating an array | ||
12:33
InstallPerl6 left
|
|||
lizmat | cono: short answer is no: OOC, what are you trying to achieve? | 12:33 | |
cono | wrote small recursive algorithm for tree traversing, and was thinking change it to loop or nextwith/samewith provides tail recursion. Will rewrite it to loop, not a big deal | 13:08 | |
buggable | New CPAN upload: P5pack-0.0.3.tar.gz by ELIZABETH modules.perl6.org/dist/P5pack:cpan:ELIZABETH | 13:16 | |
13:33
evalable6 left,
evalable6 joined,
mscha joined
|
|||
buggable | New CPAN upload: P5chomp-0.0.4.tar.gz by ELIZABETH modules.perl6.org/dist/P5chomp:cpan:ELIZABETH | 13:36 | |
13:47
Ven`` left
13:50
Ven`` joined
14:27
HaraldJoerg joined
14:42
cognominal left,
cognominal joined
14:51
siigl joined,
siigl left
|
|||
lizmat | I thought: let's try the SO way: stackoverflow.com/questions/500879...-segfaults | 14:56 | |
15:06
stmuk_ joined
15:09
stmuk left
|
|||
Geth | doc: 5d54953626 | cfa++ | doc/Language/5to6-perlfunc.pod6 nbsp |
15:17 | |
synopsebot | Link: doc.perl6.org/language/5to6-perlfunc | ||
El_Che | lizmat: and already an answer | 15:28 | |
15:29
zakharyas joined
15:30
zakharyas left
15:31
zakharyas joined
15:36
zakharyas left,
zakharyas joined
15:39
thowe joined
15:41
Zoffix joined
|
|||
Zoffix | Is "Perl 6" trademarked? | 15:42 | |
yoleaux | 07:46Z <brrt> Zoffix: lsb (lowest-set-bit?) can be implemented better by the underlying architecture | ||
Zoffix | Oh cool. There's a "PERL" medical device: tmsearch.uspto.gov/bin/showfield?f=...wtxng9.2.3 | 15:43 | |
K, found it tmsearch.uspto.gov/bin/showfield?f=...txng9.2.30 | 15:45 | ||
Thinking of buying a new car and gonna put a "♥ Perl 6" license plate on it :) But law says I can't infringe on trademarks :) | |||
Zoffix emails TPF's legal department | 15:46 | ||
moritz | is a merge usage as endorsement a potential infringement? | 15:49 | |
Zoffix | "merge usage"? | ||
15:49
kaare_ joined
|
|||
Zoffix | Oh you mean, like I'm basically gonna be like a walking ad. It probably is. What if the trademark owner doesn't want to be associated with me? | 15:50 | |
moritz | *mere | 15:51 | |
I have no idea how copyright works | 15:52 | ||
El_Che | don't you live in Canada? | ||
Are us trademarks valid there? | |||
(without a legal presence?) | |||
Zoffix | I don't know. | 15:55 | |
Which isn't the answer I want to give if the license plate people ask me if I have permission to use it :P | 15:56 | ||
15:57
stmuk joined
|
|||
moritz | understandable :-) | 15:59 | |
Zoffix | Slightly irksome that all the letters are capitalized :) www.services.gov.on.ca/wps85/s2i/S...t=PERL%206 | ||
16:00
stmuk_ left,
khw joined
16:03
HaraldJoerg1 joined
16:05
HaraldJoerg left
|
|||
El_Che | Zoffix: I don't think they care | 16:05 | |
the lawsuite for you ;) | |||
16:21
zakharyas1 joined,
zakharyas left
16:24
jmerelo joined
16:26
Ven`` left
|
|||
kt_ | I answered another: rosettacode.org/wiki/Simple_database#Perl_6 | 16:34 | |
16:34
zakharyas1 left
16:36
zakharyas joined
|
|||
Geth | gtk-simple: 391ed3cada | (Nick Logan)++ (committed using GitHub Web editor) | Build.pm Fix Build.pm to exit 0 on success |
16:40 | |
gtk-simple: 4707622d9f | (Nick Logan)++ (committed using GitHub Web editor) | META6.json Bump version 0.1.9 |
|||
jmerelo | kt_++ | 16:41 | |
16:41
jmerelo left
16:42
jmerelo joined
16:49
Ven`` joined
16:50
TEttinger joined
|
|||
jmerelo | Can I run by you my understanding of what "Normal Form Grapheme" is to see if I got it right? | 16:52 | |
Basically, it's a, well, normalized form of implementing graphemes so that they can be easily compared to each other. | 16:53 | ||
Since graphemes might include several codepoints, you could put those codepoints in principle in any possible order. | |||
timotimo | that's already in NFC | 16:54 | |
jmerelo | OK, but although it's not too clear to me how to do it (I have found only references by presentations by jnthn), the clearest possible explanation I've read is this one: | 16:55 | |
NFG needs NFC, and NFC needs NFD | |||
timotimo | i don't think NFC needs NFD actually | ||
jmerelo | (from 6guts.wordpress.com/2015/04/12/thi...many-rts/) | ||
timotimo | or maybe it does | 16:56 | |
moritz | NFC is a nice idea, but it only works for comparisons and constant-time string accesses if there is a pre-composed character in unicode | ||
NFG lifts that limitation | 16:57 | ||
jmerelo | OK, then two questions. | ||
1. Is NFG a Perl 6 thing? | |||
moritz | yes | ||
jmerelo | 2. what does it do exactly? I know it's not NFC, NFD or KFC | ||
But it's not clear what it exactly *is* | 16:58 | ||
timotimo | it's a Little Unicode Consortium built into perl6 itself | 16:59 | |
incoming strings are eaten up and whenever there's a grapheme that isn't defined yet, the Little Unicode Consortium defines a codepoint for it | |||
for example, someone posts a zalgo string which has LATIN A WITH FIFTY DOTS ABOVE AND THIRTY TILDES BELOW | |||
then the Little Unicode Consortium goes to work: | |||
"clearly there's a people out there who have this character in their native language | 17:00 | ||
we should define a codepoint so we can properly handle texts in that language" | |||
jmerelo | timotimo so far, I *love* this description. | ||
timotimo | and the rest of it is just NFC | 17:01 | |
it has the benefit that there are no longer any multi-codepoint graphemes in existence anywhere | |||
jmerelo | That is why it's constant time, because you use a single codepoint for every new grapheme, instead of several codepoints | ||
timotimo | yes | ||
plus the overhead of Little Unicode Consortium meetings | |||
jmerelo | The Little Unicode Consortion (let's calle it LUC, or Luke), is that part of the Precomp store, or is it a runtime-only thing? | 17:02 | |
timotimo | runtime-only | ||
it gets unceremoneously discarded at the end of the program | 17:03 | ||
jmerelo | Poor Luke. He was a good Luke. | ||
17:03
zakharyas left
|
|||
timotimo | basically it's the Phoenix Little Unicode Consortium | 17:03 | |
or PLUC | |||
jmerelo | So we use the Phoenix Little Unicode Consortium to represent any new Texas-form operator that comes our way? | 17:04 | |
It's a Route 66 thing. | |||
But I love the explanation, and I kinda understand it. Thanks! | 17:05 | ||
timotimo | cool | ||
17:06
zakharyas joined
|
|||
TEttinger | how many codepoints are possible for the LUC to define? | 17:11 | |
timotimo | 2^31 perhaps - 1 | ||
i mean 2^31 or 2^31 - 1 | |||
because we use negative codepoint numbers for LUC's own codepoints | 17:12 | ||
chansen_ | Is the 2^31-1 limitation perl VM or are these synthetic code points recycled? | 17:17 | |
timotimo | we do not yet garbage-collect synthetic codepoints, but it is possible | ||
17:17
rindolf left
|
|||
chansen_ | ok | 17:20 | |
Geth | doc: 076bee114a | (JJ Merelo)++ | 2 files Deduped NFG and whenever And added a little explanation for NFG thanks to @timo. Refs @1912, two down, 6 to go. |
||
doc: 3cbc96deba | (JJ Merelo)++ | doc/Language/operators.pod6 dedups ++, refs #1912 |
|||
synopsebot | Link: doc.perl6.org/language/operators | ||
doc: 7a409a432a | (JJ Merelo)++ | doc/Language/operators.pod6 Dedups «=» and discovers #1976 on the way |
|||
17:21
rindolf joined
|
|||
AlexDaniel | jmerelo: what is D#1976 about | 17:21 | |
synopsebot | D#1976 [open]: github.com/perl6/doc/issues/1976 Some unicode characters eliminated in generated page | ||
17:21
zakharyas left
|
|||
AlexDaniel | jmerelo: infix C«=» is = and that's correct | 17:21 | |
timotimo | i haven't done the maths yet, but if you're reaching a point where 2^31 custom code points will have been defined, you've probably already consumed many gigabytes, perhaps terabytes of incoming data | ||
17:22
rouking left
|
|||
jmerelo | AlexDaniel: right. Oh. I thought it was a 3-letter operator. I'm so dumb. | 17:26 | |
Hum | |||
Geth | doc: 90221c63ca | (JJ Merelo)++ | doc/Language/operators.pod6 Renaming indexing thanks to @alexdaniel |
17:27 | |
jmerelo | Sorry about that. | ||
17:28
jmerelo left
|
|||
chansen_ | timotimo: true, but that is not uncommon for a daemon. | 17:28 | |
timotimo | true | ||
it's something that should definitely be implemented | 17:29 | ||
chansen_ | How does MoarVM error when the limit is reached? | ||
timotimo | it seems like we don't check | 17:31 | |
chansen_ | ouch! | ||
timotimo | maybe we even wrap around and reuse -1, then -2, and so on | ||
it's all in moarvm's src/string/nfg.c | 17:32 | ||
17:35
xinming left
17:37
xinming joined
|
|||
timotimo | should we just take the newest? 3.7.0 seems new and available and such | 17:40 | |
17:42
wamba left,
Ven`` left
|
|||
AlexDaniel | timotimo: sorry, what is this about? | 17:43 | |
timotimo | wrong window :) | 17:45 | |
17:54
wamba joined
18:01
|oLa|1 joined,
raynold left
18:20
ufobat joined
18:22
Zoffix left,
markong left
18:23
markong joined
|
|||
ufobat | woho, my baby sereal example gets almost parsed. there is a little bug which i am going to hunt down tomorrow | 19:03 | |
19:04
domidumont left,
darutoko left
19:14
Kaiepi left,
Kaiepi joined
20:13
comborico1611 joined
|
|||
comborico1611 | Can someone point me to page in Docs where m is explained, as in regex m:i/ ab/ | 20:15 | |
Can someone explain difference between m/abc/ and /abc/ ? | 20:34 | ||
20:38
Zoffix joined
|
|||
comborico1611 | Can someone explain difference between m/abc/ and /abc/ ? | 20:38 | |
tobs | comborico1611: Couldn't find a page about m// per se. Everything points to this: docs.perl6.org/language/regexes | ||
you'll answer your question yourself then | |||
comborico1611 | tobs: Thanks for trying! | 20:39 | |
Zoffix | comborico1611: /./ constructs a regex object. m/./ immediatelly executes that regex. In some contexts (such as smartmatching and bool), the plain /./ also executes the regex | ||
executes it matching against $_ | |||
20:39
dct joined
|
|||
comborico1611 | Weird. I haven't read anything about that. Is m/./ advanced? | 20:40 | |
Zoffix | "advanced"? What do you mean? | ||
comborico1611 | Rarely used. | ||
Zoffix | It's used when you want to perform the match right away | ||
m: $_ = "meows"; my $match = /.+/; say $match # just a Regex object | 20:41 | ||
camelia | /.+/ |