»ö« 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.
samcv well i've goten 750s in 00:04
err 2:13 00:05
min
00:05 SMS left 00:07 kurahaupo joined
samcv obviously i don't have enough locks. or OO::Monitor objects 00:11
nice been going for 3 minutes. new record. hopefully this does it 00:14
ahhhh nooo 00:17
5:22
Geth Swapped META.info → META6.json in 1 dists in github.com/perl6/ecosystem/commit/d740df8afe 00:29
00:39 cyphase left 00:44 cyphase joined
samcv AlexDaniel, the struggle is real 00:45
00:51 eliasr left 01:01 raschipi left 01:05 GalenC left 01:08 Cabanossi left, kurahaupo_ joined 01:09 kurahaupo__ joined 01:10 Cabanossi joined 01:11 kurahaupo left, kurahaupo joined 01:13 kurahaupo_ left, kurahaupo__ left 01:17 cyphase left 01:19 John[Lisbeth] is now known as korihor, korihor is now known as John[Lisbeth] 01:22 cyphase joined 01:27 mephinet joined 01:29 mcmillhj joined
samcv well language-perl6fe the no longer developed atom-langauge-perl6 now has the heading "forgotten edition" hah. but tyring to figure out a way to actually depricate it. 01:30
01:30 kurahaupo_ joined
samcv and unless it's released, people looking on atom.io or the package manager won't see that updated heading 01:31
gonna see if i can get it so it depends on the new package. and maybe shows a warning it can be removed.
01:32 kurahaupo left 01:33 cyphase left 01:38 cyphase joined, mcmillhj left, kurahaupo_ left 01:39 kurahaupo joined, mcmillhj joined 01:43 geekosaur left, kurahaupo_ joined, hermitcl joined 01:44 geekosaur joined 01:45 kurahaupo left 01:46 ilbot3 left
[Coke] news.perlfoundation.org/2017/04/mar...votes.html 01:46
01:48 mcmillhj left, ilbot3 joined, ChanServ sets mode: +v ilbot3 01:49 cyphase left
skids samcv++ 01:50
01:52 cyphase joined 01:56 cyphase left 01:58 AlexDaniel left 01:59 kurahaupo_ left 02:01 cyphase joined
MasterDuke_ samcv++ 02:03
02:16 cpage_ left 02:19 mcmillhj joined
samcv 🌟 :-) 02:23
02:25 mcmillhj left, mcmillhj joined 02:30 mcmillhj left, Woodi joined 02:49 noganex_ joined 02:52 noganex left, cpage_ joined 02:53 astj joined 02:58 geekosaur left 02:59 geekosaur joined 03:22 mr-foobar joined, Cabanossi left 03:26 Cabanossi joined
samcv ohaahh travis is broken 03:30
all the build logs are gone
i guess they've been doing maintainace for hours 03:31
skids heh. The autogenerated code from my Perl6 xcb wrapper is up to 202 seconds compile time. More than rakudo parse stage. 03:32
samcv how big is it?
skids wc says 127k lines but there's a lot of blanks.
samcv that's a lot of lines...
does it work though? once it has compiled 03:33
skids Lots of export/import craziness and composy stuff too.
03:33 aborazmeh joined, aborazmeh left, aborazmeh joined
skids It's fast enough once compiled 03:33
Though not complete enough to publish in ecosystem yet. Or even use really. 03:34
geekosaur wonder if travis will go back to reporting things once it's back up
(I just realized there haven't been build reports in the other channel I'm in that normally gets them for several weeks, either)
skids Once 100% of the modules compile cleanly maybe I'll tag that commit to use as a stress benchmark. 03:36
samcv irc works
at least on a different network.
u-ou is there a maximum ammount of time that Supply.interval will work for? 03:37
samcv a really big number
u-ou so ten minutes is ok?
samcv yes
u-ou cool
samcv years even could work 03:38
03:38 Cabanossi left
u-ou nice 03:38
samcv u-ou, if it uses sub sleep github.com/rakudo/rakudo/commit/c797d3ff5 03:39
read that. if it uses that routine then it should work for like. super much long time
skids Testing that in roast would hinder development, though.
samcv testing what?
skids years long interval
03:39 Cabanossi joined
samcv yeah. it checks that it does sleep if you give it crazy big numbers though 03:40
becuase before that commit it slept for 0 seconds i think
for crazy big numbers 317,097,919 year
well maybe that's the example there. but hm
so 9999936365472000 seconds 03:41
ok so that number is probably the number it would not work at. heh
skids It's all fun and games until some hyperadvanced civilization loses a deep space probe :-)
samcv though to be honest i think doing more than 317,097,919 years may not work on it, but i don't know the exact way supplies set the interval 03:42
u-ou m: sleep 99999999999999999999999 03:44
camelia (timeout)
u-ou yay! 03:45
samcv m: my $supply = Supply.inter4al(9999999999999999999999999999999999); my $supply.tap({.say}); 03:46
camelia Potential difficulties:
Redeclaration of symbol '$supply'
at <tmp>:1
------> 03999999999999999999999999999); my $supply7⏏5.tap({.say});
No such method 'inter4al' for invocant of type 'Supply'
in block <unit> at <tmp> line 1…
samcv m: my $supply = Supply.interal(9999999999999999999999999999999999); my $supply.tap({.say}); 03:47
camelia Potential difficulties:
Redeclaration of symbol '$supply'
at <tmp>:1
------> 03999999999999999999999999999); my $supply7⏏5.tap({.say});
No such method 'interal' for invocant of type 'Supply'
in block <unit> at <tmp> line 1…
samcv m: my $supply = Supply.interval(9999999999999999999999999999999999); my $supply.tap({.say});
camelia Potential difficulties:
Redeclaration of symbol '$supply'
at <tmp>:1
------> 03999999999999999999999999999); my $supply7⏏5.tap({.say});
Cannot unbox 123 bit wide bigint into native integer
in block <unit> at <tmp> line 1
skids bedtime. 03:48
BenGoldberg m: Supply.interval(2**$_) for ^123;
camelia ( no output )
BenGoldberg m: say Supply.interval(2**$_) for ^123;
camelia Supply.new
Supply.new
Supply.new
Supply.new
Supply.new
Supply.new
Supply.new
Supply.new
Supply.new
Supply.new
Supply.new
Supply.new
Supply.new
Supply.new
Supply.new
Supply.new
Supply.new
Supply.new
Supply.new
Supply.…
samcv so has to fit in 64bit integers i think
BenGoldberg m: Supply.interval(2**$_).tap(&say) for ^123;
camelia 0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Cannot unbox 64 bit wide bigint into n…
samcv m: Supply.interval(2**$_, $++).tap(&say) for ^123; 03:49
camelia 0
Cannot unbox 64 bit wide bigint into native integer
in block <unit> at <tmp> line 1
samcv so yeah u-ou you're good. just don't make it more than 317,097,919 03:51
u-ou ok :P
samcv hmm uv_timer_set_repeat uses a uint64_t that is in ms 03:52
[Coke] hurls github.com/coke/p6-cal
samcv but i think that number of years was already 1000 x less than the max 64bit signed int
[Coke], how many years it work for 03:53
03:53 wigner joined
samcv perl6 -e 'my $var = qx{curl -s raw.githubusercontent.com/coke/p6-.../bin/cal}; run ‘perl6’, ‘-e’, $var, ‘999999999900000000’' 03:55
adding another 9 doesn't work. can't unbox 03:56
u-ou if you close all your taps on an interval does it stop counting? 03:57
[Coke] samcv: system cal only works for 1..9999 03:58
samcv works with 999999999
util-linux 2.29.2 03:59
03:59 skids left
[Coke] not on os x. anyway, prevented the overflow issues by limiting it to the draconion 9999. 04:03
04:07 astj left 04:16 mcmillhj joined
samcv that's not very high 04:17
also there could be more leap days in the future if we're going far enough ahead
well actually. we fix that with leap seconds right?
04:20 adu joined 04:21 mcmillhj left, wamba joined
adu hey 04:21
how goes perl6?
samcv perl6 is great 04:24
adu hi samcv
samcv: what have you been working on lately? 04:25
04:26 mattp__ joined
samcv well my grant just got approved tonight :) but also been working on this cry.nu/perl6/ecosystem-license-module-tagging/ 04:26
adu samcv: sounds very "meta"
I worked on a single module for 36-hours straight, then I fell off the perl6 bandwagon 04:27
samcv aww
04:27 BenGoldberg left
adu github.com/andydude/p6-c-parser 04:28
I'd like to get into the whole Web/HTTP thing
I'm very fond of HAR and Swagger/OpenAPI
are there existing modules for making web requests? 04:29
what's the difference between HTTP::UserAgent and HTTP::Client? 04:31
04:32 wigner left, mcmillhj joined
samcv you want a module that does the sockets itself and doesn't rely on an external program /library? 04:32
adu no
so, I'm wondering if there is an extensible client that I can add HAR and Swagger to 04:33
samcv i don't know what HAR and Swagger ore 04:35
adu HAR is a logging format, it is able to faithfully represent an entire HTTP transaction including timing and TCP ports 04:36
04:36 mcmillhj left
samcv ah 04:36
adu Swagger is a WebAPI description language, it converts headers, and query params into function arguments
so instead of 500 lines of code with SHA1SUM header signature algorithms, all you have to do is query_users(username=me) 04:37
or perform_ocr_on_this(image_url=bla) 04:38
cloud.google.com/vision/docs/ 04:39
samcv: do you see why they would be useful in conjunction with an HTTP client? 04:42
samcv yes i do. maybe somebody else around here can better answer this question. sounds neat
adu so in a general sense, Swagger is HTTP input, HAR is HTTP tracing 04:43
04:51 curan joined 05:02 Cabanossi left 05:03 Cabanossi joined, mcmillhj joined 05:04 astj joined, xtreak joined 05:08 mcmillhj left 05:10 aborazmeh left 05:23 Cabanossi left, mcmillhj joined 05:24 adu left 05:25 Cabanossi joined, lowbro joined, lowbro left, lowbro joined 05:28 mcmillhj left 05:42 wamba left 06:05 cgfbee left 06:07 Cabanossi left 06:08 labster left 06:09 Cabanossi joined 06:11 cgfbee joined 06:37 CIAvash joined 06:45 grondilu joined
Geth ecosystem: nkh++ created pull request #332:
ADDED: P6-Grammar-Tracer-Compact
06:45
06:46 xtreak left, labster joined 06:48 xtreak joined 06:53 ufobat___ joined 06:55 hermitcl left 06:59 rindolf joined 07:08 sat joined
masak morning, #perl6 07:16
does this feel like a decent answer? stackoverflow.com/questions/4356161...8#43651008
lizmat seems legit :-) 07:18
moritz masak: it is, but you should add a sentence explaining the releation between 007 and Perl 6, for the uninitiated
masak good. will do. 07:19
I also realized that there's a bit of an X/Y problem involved
moritz and I have another question: how will it parse the argument?
masak namely, querent is dropping down to strings, but why? 07:20
in order to parse the string inside of the called-but-not-shown function?
moritz: how will what parse the argument?
the macro?
moritz my @some = tfilter(age < 50);
the age < 50
masak aye; there's a syntax error in there
ugh; so much to address
07:21 cgfbee left
masak did some edits: stackoverflow.com/questions/4356161...8#43651008 07:27
such a short question with such a long answer :) 07:28
El_Che masak: if that happens often, it's time to stop and think hard about your life :) 07:29
moritz El_Che: I think that's quite normal
samcv ok i think i finally got this working with 9 threads :) 07:30
moritz short questions like "what's the meaning of life?" or "how is baby made?" can warrant hour-long discussions, should you feel inclined to do so :-)
07:30 cgfbee joined
El_Che oh crap, now *I* have to stop and think hard about my life 07:30
samcv the meaning of life is happiness
moritz look, a hedonist!
El_Che samcv: you're disqualified with your extremely short and to-the-point answers
samcv :-) 07:31
El_Che samcv the epicurist
moritz samcv: does that mean you'd kill a baby that's not happy?
sorry, can't resist
samcv moritz, no, means the meaning of life is happiness
El_Che actually that's the theme of the latest Dr Who episode
(where the robots speak emoji, probably powered by perl6) 07:32
samcv the hard question is how to achieve happiness
07:32 mcmillhj joined
samcv or maybe it's how to get perl 6 threading working without segfaulting idk ;) 07:32
moritz samcv: maybe that will bring you happiness :-) 07:33
samcv ended up with a react/whenever block plus 9 locks that are sent back through the channel
moritz, only temporary though. but it does help
El_Che samcv: it that last about killing babies?
samcv locks check. react/whenever check. start blocks check. tons of items are now OO::Monitors objects check. :) threading in perl 6 is esy 07:34
that's not temporary :(
masak samcv: I find it quite possible that you're right about the meaning of life being happiness. but I must take exception at the way it's being phrased, because it feels like it either doesn't parse, or is a category error. ;)
cf "the meaning of life is truncated banana"
samcv idk how else to put it. The meaning of life is happiness. << sentence end here 07:35
better :)
masak "the meaning of life is watermelon"
07:35 dakkar joined
masak m: say "the meaning of life" 07:35
camelia the meaning of life
masak m: say "the meaning of life".chars
camelia 19
masak "the meaning of life is 19"
grondilu m: my @a = rand xx 3; @a [Z+]= ^3; say @a 07:36
camelia Potential difficulties:
Useless use of [Z+]= in sink context
at <tmp>:1
------> 3my @a = rand xx 3; @a 7⏏5[Z+]= ^3; say @a
[0.959472261187343 1.16726048819922 2.98720836347465]
grondilu ^not sure this warning is correct
there is a side-effect so it's not useless, is it?
moritz samcv: trouble is, when people hear such a sentence, they want to use it guide their action
samcv do what makes you happy
masak m: my @a = rand xx 3; @a = @a [Z+] ^3; say @a
camelia [0.612136122926065 1.2686611197514 2.77252139132796]
samcv and others happy
masak grondilu: I think I agree with you.
moritz samcv: and there are a lot of things you can do that might make you happy, but are clearly immoral 07:37
07:37 mcmillhj left
samcv moritz, that would be hard if the meaning of life were watermelon :) 07:37
masak grondilu: it's being used in sink context, but the `=` metaop makes a useful side effect
so it's not useless
samcv mabye they will seek to become a watermelon
moritz, but do they make others happy too? or not
if they don't then they are not with the spirit of the meaning of life
07:38 cgfbee left
samcv or i guess are selfish actions taken to seek happiness 07:38
masak moritz: I think Eliezer Yudkowsky could be made to agree that "maximize hapiness" or (more likely) "maximize fun" is a valid/useful goal statement for life
samcv ok now that this script works with threading it's quite fast. so i have 90 modules to PR now :) 07:39
bot is a go 07:40
07:41 cgfbee joined
grondilu m: my uint @a = 1; say @a[0].WHAT 07:43
camelia (Int)
grondilu expected uint here 07:44
m: my uint @a = my uint $ = 1; say @a[0].WHAT
camelia (Int)
samcv m: my uint @a; say @a.WHAT
camelia (array[uint])
samcv m: my uint @a; @a.push: -1;
camelia ( no output )
samcv dunno if uint arrays are supported
hm
bisectable6, my uint @a; @a.push: -1; @a.say 07:45
bisectable6 samcv, On both starting points (old=2015.12 new=1392439) the exit code is 0 and the output is identical as well
samcv, Output on both points: «-1»
samcv yep
grondilu so native arrays not supported?
samcv native arrays are
m: my int @array; # this works fine
camelia ( no output )
samcv uint is not a native type IIRC 07:46
grondilu m: my uint32 @a = my uint32 $ = 1; say @a[0].WHAT
camelia (Int)
samcv it's a special type
meant to be used for nativecall? i think. something like that
m: my uint $thing; $thing = -10
camelia ( no output )
samcv m: my uint $thing; $thing = -10; say $thing
camelia -10
grondilu m: my uint32 $thing; $thing = -10; say $thing
camelia 4294967286
grondilu m: my uint32 $thing; $thing = -10; say $thing[0].WHAT 07:47
camelia (Int)
grondilu is confused
samcv uint is meant for use with nativecall
not as normal usage
i tink. let me check some things... 07:48
07:49 rindolf left, rindolf joined
samcv m: my uint64 $thing = -10; 07:49
camelia ( no output )
samcv m: my uint64 $thing = -10; say $thing
camelia -10
samcv m: my array[uint] $thing = -10 07:50
camelia Type check failed in assignment to $thing; expected array[uint] but got Int (-10)
in block <unit> at <tmp> line 1
samcv there you go grondilu 07:51
grondilu m: my array[uint32] $a = [map {my uint32 $ = $_}, ^10]; 07:52
camelia Type check failed in assignment to $a; expected array[uint32] but got Array ($[0, 1, 2, 3, 4, 5, 6...)
in block <unit> at <tmp> line 1
07:52 zakharyas joined
grondilu FYI I was working on simplifying Digest::SHA and could not create a uint32 array 07:53
07:53 mcmillhj joined
samcv m: my array[uint] @a; @a.push: {my uint $blah = 10} 07:53
camelia Type check failed in assignment to @a; expected array[uint] but got Block (-> ;; $_? is raw { #`...)
in block <unit> at <tmp> line 1
samcv m: my array[uint] @a; my uint $blah = 10; @array.push: $blah 07:54
camelia 5===SORRY!5=== Error while compiling <tmp>
Variable '@array' is not declared. Did you mean any of these?
array
Array

at <tmp>:1
------> 3my array[uint] @a; my uint $blah = 10; 7⏏5@array.push: $blah
samcv m: my @array[uint] @a; my uint $blah = 10; @array.push: $blah
camelia 5===SORRY!5=== Error while compiling <tmp>
Two terms in a row
at <tmp>:1
------> 3my @array[uint]7⏏5 @a; my uint $blah = 10; @array.push: $b
expecting any of:
infix
infix stopper
statement end
samcv m: my @array[uint] = @a; my uint $blah = 10; @array.push( $blah)
camelia 5===SORRY!5=== Error while compiling <tmp>
Variable '@a' is not declared
at <tmp>:1
------> 3my @array[uint] = 7⏏5@a; my uint $blah = 10; @array.push( $bl
grondilu m: my array[uint] @a; push @a, my uint $ = 1
camelia Type check failed in assignment to @a; expected array[uint] but got Int (1)
in block <unit> at <tmp> line 1
samcv m: my array[uint] = @a; my uint $blah = 10; @a.push( $blah)
camelia 5===SORRY!5=== Error while compiling <tmp>
Malformed my
at <tmp>:1
------> 3my array[uint]7⏏5 = @a; my uint $blah = 10; @a.push( $bla
samcv m: my array[uint] @a; my uint $blah = 10; @a.push( $blah) 07:55
camelia Type check failed in assignment to @a; expected array[uint] but got Int (10)
in block <unit> at <tmp> line 1
samcv ack my brain is tired
sec
m: my array[uint] @a; my uint \blah = 10; @a.push( blah)
camelia Type check failed in binding; expected uint but got Int (10)
in block <unit> at <tmp> line 1
samcv m: my array[uint] @a; my uint $blah = 10; @a[0] = $blah 07:56
camelia Type check failed in assignment to @a; expected array[uint] but got Int (10)
in block <unit> at <tmp> line 1
samcv yeah it's converting it from uint to Int automatically
m: my array[uint] @a; my uint $blah = 10; @a[0] := $blah
camelia Cannot resolve caller BIND-POS(Array[array[uint]]: Int, Int); none of these signatures match:
(Array:D $: int $pos, array[uint] \bindval, *%_)
(Array:D $: Int:D $pos, array[uint] \bindval, *%_)
in block <unit> at <tmp> line 1
samcv grondilu, what is your usecase btw? 07:57
so i can tell you how to solve your problem
07:57 parv joined
samcv trying to use uint's places it converts to Int when you use it around non nativecall things 07:57
they're mainly meant to be signatures for NativeCall
07:59 mcmillhj left
samcv m: subset uInt of Int where * > -1; my uInt $var = 10; say $var.WHAT 08:00
camelia (Int)
samcv m: subset uInt of Int where * > -1; my uInt $var = 10; $var = -10
camelia Type check failed in assignment to $var; expected uInt but got Int (-10)
in block <unit> at <tmp> line 1
samcv you can do this if you just want an int that cannot be negative 08:01
PR have been sent :) grondilu looks like you got sent several 08:04
08:05 jonas1 joined
samcv just looks like one more. a MIT licensed one 08:05
grondilu samcv: as I said I'm trying to improve github.com/grondilu/libdigest-perl...est/SHA.pm 08:10
for one if I can coerce arithmetics on uint32, I want have to explicitely do mod 2**32 08:11
samcv ah sorry didn't see. so do you need it to throw on it being set to a negative?
oh 08:12
grondilu *won't
also it might be much faster on native types
samcv m: subset uInt32 of Int where 2**32 > * > -1; my uInt $var = 10; say $var.WHAT 08:13
camelia 5===SORRY!5===
Type 'uInt' is not declared. Did you mean any of these?
uint
UInt
int
Int

at <tmp>:1
------> 3t32 of Int where 2**32 > * > -1; my uInt7⏏5 $var = 10; say $var.WHAT
Malformed my
at <tmp>:1
---…
samcv m: subset uInt32 of Int where 2**32 > * > -1; my uInt32 $var = 10; say $var.WHAT 08:14
camelia (Int)
samcv m: subset uInt32 of Int where 2**32 > * > -1; my uInt32 $var = 10; $var = -1
camelia Type check failed in assignment to $var; expected uInt32 but got Int (-1)
in block <unit> at <tmp> line 1
samcv m: subset uInt32 of Int where 2**32 > * > -1; my uInt32 $var = 10; $var = 2**32
camelia Type check failed in assignment to $var; expected uInt32 but got Int (4294967296)
in block <unit> at <tmp> line 1
samcv m: subset uInt32 of Int where 2**32 > * > -1; my uInt32 $var = 10; $var = 2**32
camelia Type check failed in assignment to $var; expected uInt32 but got Int (4294967296)
in block <unit> at <tmp> line 1
samcv m: subset uInt32 of Int where 2**32 > * > -1; my uInt32 $var = 10; $var = 2**32 -1
camelia ( no output )
Voldenet erm 08:15
why not just use uint32
samcv Voldenet, it doesn't coerce often
and perl 6 converts it to Int type when doing things to it
*often at least*
m: my uint32 $var; $var = $var+2; say $var 08:17
camelia 2
samcv m: my uint32 $var; $var = $var-10; say $var
camelia 4294967286
samcv yeah some things work. but many other operations don't 08:18
08:19 astj left
samcv grondilu, where are you getting the coercion btw? 08:20
with arrays?
ok actually looks like my uint32 @array is working 08:22
m: my uint32 @array; say @array.WHAT; @array[0] = -10; @array.push: -20; say @array; 08:23
camelia (array[uint32])
4294967286 4294967276
samcv grondilu, it doesn't seem to work if you do `my array[uint] $blah` btw.
08:24 salva left
grondilu but why .WHAT says (Int)? 08:24
samcv because it converts to Int before showing to the screen
grondilu oh 08:25
m: say (my uint32 $ = 1).WHAT
camelia (Int)
grondilu indeed
samcv yeah. sometimes things are weird like that
08:25 xtreak left
samcv same if you have a str object 08:25
m: my str $thing; say $thing.WHAT
camelia (Str)
grondilu good to know
kind of LTA though
samcv yes
grondilu m: say (my uint32 $ = 1) ~~ uint32 08:26
camelia False
grondilu well that's dumb
samcv grondilu, @array.WHAT works fine
but when it gets out of the array, and into some code that doesn't support uint32 it turns to an Int
say if you coerce it to a string
cause .WHAT is really a kind of macro
grondilu, but if you want you can do this 08:27
m: my uint32 @array = 10; @array[0].VAR.WHAT.say
camelia (IntPosRef)
grondilu o.O
samcv m: my uint32 @array = 10; my $thing = @array[0]; say $thing.VAR.WHAT
camelia (Scalar)
samcv m: use nqp; my uint32 @array = 10; my $thing = @array[0]; say nqp::uncont($thing).VAR.WHAT 08:28
camelia ===SORRY!===
No registered operation handler for 'uncont'
samcv m: use nqp; my uint32 @array = 10; my $thing = @array[0]; say nqp::decont($thing).VAR.WHAT
camelia (Int)
08:28 CIAvash left
samcv heh. that. yeah it converts to Int when going from nqp to rakudo land 08:28
should have known
m: my uint32 @array = 10; my uint32 $thing = @array[0]; say $thing.VAR.WHAT 08:29
camelia (IntLexRef)
samcv grondilu, so make sure you only put it in uint32 type objects or it will get converted all over the place
to non uint32
hopefully you don't need to store uint32 and other sizes in the same array
Voldenet Well, I'd just use inline C (i've seen some lib) in that case 08:30
samcv what case?
Voldenet I'm not sure if nqp is able to do u32 * u32 operation
samcv also is there inline C?
Voldenet numeric operations
samcv there's nativecall
Voldenet github.com/FROGGS/p6-Inline-C
samcv ah i see
*C
Voldenet, nqp has the uint32 type 08:31
my native uint32 is repr('P6int') is nativesize(32) is unsigned { }
that's its definition in nqp
Voldenet I know, but then there's no nqp::mul_u
there's mul_i and mul_n only
Geth Swapped META.info → META6.json in 1 dists in github.com/perl6/ecosystem/commit/2c9ddb68a8
samcv m: my uint32 $var := 10; say($var) 08:32
camelia 5===SORRY!5=== Error while compiling <tmp>
Cannot bind to natively typed variable '$var'; use assignment instead
at <tmp>:1
------> 3my uint32 $var := 107⏏5; say($var)
samcv oops
nqp: my uint32 $var := 10; say($var)
camelia 10
samcv see!
nqp: my uint32 $var := 10; $var = $var *20; say($var)
camelia Assignment ("=") not supported in NQP, use ":=" instead at line 2, near " $var *20;"
at gen/moar/stage2/NQPHLL.nqp:768 (/home/camelia/rakudo-m-inst-2/share/nqp/lib/NQPHLL.moarvm:panic)
from <unknown>:1 (/home/camelia/rakudo-m-inst-2/share/nqp/lib/nqp.m…
samcv nqp: my uint32 $var := 10; $var := $var *20; say($var)
camelia 200
samcv nqp: my uint32 $var := 10; $var := $var *20-1000; say($var) 08:33
camelia 4294966496
samcv :)
Voldenet nqp: my uint32 $var := 10; $var := $var * -20; say($var)
camelia 4294967096
Voldenet nqp: my uint32 $var := -1; $var := $var * -1; say($var) 08:35
camelia 1
samcv do you believeeeee now :) beleiving is magic
Voldenet It really is! :)
sammers hi all 08:36
Voldenet hello 08:38
samcv 123 more modules with license fields and we're pass 50% 08:39
samcv checks outstanding PR
176. ok that is do-able!
sammers I understand what :D means in the context of Str:D, but what does ::D mean in this context? sub foo(::D $str) {...} 08:44
moritz sammers: here D is a type variable 08:45
08:45 TEttinger left
moritz sammers: so inside the function, D is bound to the type of the argument 08:45
sammers moritz, thanks, but this fails: sub foo(::D $str, ::D $int) {...} 08:46
is it equivilent of := ?
moritz sammers: you can declare sub foo(::D $str, D $other) { } for a function that takes two arguments of the same type
sammers: if you want to capture two types, you need to use two separate symbols 08:47
sub foo(::A $x, ::B $y) { ... }
sammers hmm, ok, so ::A, ::B, ::C, etc these aren't real types, but the type of the variable passed? 08:48
moritz yes, but you can use them as types inside the function
sammers ok
moritz and inside the rest of the signature
sammers ok, so on-demand types?
not sure what the term is
moritz type captures 08:49
sammers ok
so in your example, sub foo(::D $str, D $other) { }, $other would have to be the same type as $str?
moritz yes 08:51
(or a subtype thereof)
08:53 xtreak joined
samcv m: sub t (::D $blah) { say $blah.WHAT; }; t('hi') 08:53
camelia (Str)
samcv m: sub t (::U $blah) { say $blah.WHAT; }; t('hi')
camelia (Str)
samcv hm
sammers m: sub foo(::D $first, D $second) { say "$first, $second" }; foo("hello", "world"); 08:54
camelia hello, world
sammers ok, thanks for the explanation
m: sub foo(::D $first, D:D $second) { say "$first, $second" }; foo("hello", "world"); 08:55
camelia hello, world
sammers m: sub foo(::D $first, D:D $second) { say "$first, $second" }; foo("hello");
camelia Too few positionals passed; expected 2 arguments but got 1
in sub foo at <tmp> line 1
in block <unit> at <tmp> line 1
sammers m: sub foo(::D $first, D:D $second) { say "$first, $second" }; foo("hello", 123);
camelia Type check failed in binding to parameter '$second'; expected Str but got Int (123)
in sub foo at <tmp> line 1
in block <unit> at <tmp> line 1
09:07 Sound joined, Sound left, Sound joined, Cabanossi left 09:09 geekosaur left, Cabanossi joined 09:10 domidumont joined 09:11 geekosaur joined 09:31 sat left
Geth Swapped META.info → META6.json in 1 dists in github.com/perl6/ecosystem/commit/f0673525b3 09:32
09:37 labster left, parv left 09:39 Cabanossi left 09:40 Cabanossi joined 09:45 sena_kun joined
samcv omg YES 09:53
ok i finally got the old language-perl6fe package to install the newer language-perl6 one
sena_kun samcv++ for all routine license-related work(though I don't understand fully its goals, but still) 09:55
samcv hopefully i can get it to install the new one without prompting and disable the old one
sena_kun, so that people know what license the project is before downloading it
and you can have effective black and whitelists for your package manager, and other things that will be very important to companies
or people for that matter. 09:56
sena_kun samcv, well, I am not a business company, so all the difference between open licences is small for me, and proprietary modules is a strange thing... whatever. Yet I can understand practical benefits of such solution. I am cleaning up Failing Ecosystem Modules List now. 09:59
samcv nice :)
we need a strong ecosystem :)
sena_kun, unless there's metadata showing what license is, you can't tel without manually going to the github page and checking *if* there's a license file or not 10:00
if they have a tag then it makes computers lives much easier than analyzing a LICENSE file like i'm having to do to figure out which license they are
sena_kun samcv, your line is what I thought about when wrote "practical benefits of such solution". :)
samcv ah yeah 10:01
Geth ecosystem: b4a50dd35c | Altai-man++ (committed using GitHub Web editor) | META.list
Remove Devel::Trace

It was broken, deprecated and basically useless
10:02
10:04 japhdc joined
Geth ecosystem: b8adcc0afb | (Nadim Khemir)++ (committed by Zoffix Znet) | META.list
ADDED: P6-Grammar-Tracer-Compact (#332)

  github.com/nkh/P6-Grammar-Tracer-Compact
10:04
sena_kun samcv, asking your opinion... There are modules that depend on some outer .so, obviously, they're failing under travis. Shoule we keep them in the List? It is unlikely as for me. 10:06
timotimo no, they just have to apt-get the required files in their .travs.yml 10:07
10:07 japhdotcom joined
moritz samcv's tests != travis 10:07
samcv yeah
timotimo oh
10:08 Cabanossi left
samcv sena_kun, open a new ticket for that 10:08
failing travis tests
sena_kun samcv, what kind of ticket? To the authors or?
samcv sena_kun, authors, and you can have an eco ticket too if you think it would be helpful. in case people want to submit PR to failing ones 10:09
or even just the ones with the most stars on them with failing travis or something
whatever you think is best :)
10:09 Cabanossi joined
sena_kun samcv, ah, sorry. I have meant that your travis test is failing, but the modules(and their tests) are fine. I.e. false postives because of missing .so in your test machine 10:10
samcv oh MINE?
10:10 japhdotcom left
sena_kun yep 10:10
samcv thank you :) which one
10:10 japhdotcom joined 10:11 japhdc left
samcv sena_kun, i'm gonna start up another module build run 10:12
sena_kun samcv, well, there are about 10-15(it is VERY rude approximation), I can create a list for you, perhaps. Snowball module, at least.
samcv i'm having it randomize the module install order as well
i don't have a Snowball module?
sena_kun samcv, hmmm, the last time I looked at it, it was fine... I will recheck it now. 10:13
samcv recheck what?
oh travis?
sena_kun samcv, working it or not on my local machine.
ah, I have remembered.
samcv sena_kun, starting another build of all modules: hack.p6c.org/~samcv/install_log_live4 so check back at this link in many hours (forget how long the others ones take. many hours) 10:14
sena_kun this module needs a custom .so or something like that afaik
anyway
samcv link to it? 10:15
sena_kun samcv, I think you want to do a bit more automatisation. Just pure
github.com/Sufrostico/perl6-snowball
samcv that travis ran a year ago. wow
sena_kun ...log is too long to work with. I think we can grep basic things out, store it in some format and then compare, diff, etc.
samcv heh :) 10:16
sounds like a plan
sena_kun I know, I know, "nice contributed. sena_kun". :)
samcv you can grep for the normal ==> FAILED (i think that's what it is
exactly!
or also `»» 🆗` 10:17
or `»» ⚠️`
sena_kun well, I didn't plan any work, but closer to weekends I can try to cooperate
samcv oops my bad. starting here hack.p6c.org/~samcv/install_log_live4.txt no wonder unicode wasn't showing up. wasn't .txt 10:18
sena_kun, no rush. do what you can! :)
sena_kun samcv, sure. I will ping you later than 10:19
samcv cool :) i must go to bed now
sena_kun s/then/than/
samcv, have a good sleep. 10:20
Geth ecosystem: 6a114946e4 | (Alexey Melezhik)++ (committed using GitHub Web editor) | META.list
canonical name for META file
ecosystem: 27f951feb4 | (Alexey Melezhik)++ (committed using GitHub Web editor) | META.list
Canonical name for sparrowdo-archive META file
10:22
10:22 japhdotcom left
Geth ecosystem: c44efa3e57 | (Alexey Melezhik)++ (committed using GitHub Web editor) | META.list
sparrowdo-chef-manager - sets canonical name for META file
10:24
ecosystem: 2dbfe6f290 | (Alexey Melezhik)++ (committed using GitHub Web editor) | META.list
sparrowdo-cpm - sets canonical name for META file
10:25
ecosystem: 02af6745c9 | (Alexey Melezhik)++ (committed using GitHub Web editor) | META.list
sparrowdo-nginx - sets canonical name for META
10:27
timotimo oh samcv, congrantulations! 10:30
samcv :-) nice pun
10:30 eliasr joined 10:31 John[Lisbeth] left, John[Lisbeth] joined
timotimo nice grant (-: 10:31
jnthn samcv++ 10:32
10:35 xtreak left, xtreak joined 10:38 xtreak left 10:39 xtreak joined
samcv yay github.com/MadcapJake/language-perl6fe/pull/56 hopefully madcapjake is still around by the time he sees this PR 10:41
sammers m: <a b c>.List Z=> <d e f>.List 10:47
camelia Potential difficulties:
Useless use of Z=> in sink context
at <tmp>:1
------> 3<a b c>.List 7⏏5Z=> <d e f>.List
sammers m: say <a b c>.List Z=> <d e f>.List
camelia (a => d b => e c => f)
sammers m: my List $l1 = <a b c>; my List $l2 = <d e f>; say $l1 Z=> $l2;
camelia ((a b c) => (d e f))
sammers hmm
what is the difference between those? does the first one zip because they aren't in the container? 10:48
er, zip into pairs because they aren't in containers. 10:49
m: my @l1 = <a b c>; my @l2 = <d e f>; say @l1 Z=> @l2;
camelia (a => d b => e c => f)
sammers hmm
m: my List $l1 = <a b c>; my List $l2 = <d e f>; say |$l1 Z=> |$l2; 10:51
camelia (a => b => c => d => e => f)
sammers ha
jnthn It's because $l1 is an itemized list 10:53
So it's treated as an item
m: my List $l1 = <a b c>; my List $l2 = <d e f>; say @$l1 Z=> @$l2 10:54
camelia (a => d b => e c => f)
sammers ah
that is good to know....
thanks
jnthn, is there anywhere in the docs that discuss the @$ behavior? 11:02
found this post from 2014 "@ as shortcut for @$, % as shortcut for %$" rakudo.org/2014/04/01/rakudo-star-r...e-2014-03/ 11:08
jnthn I believe there's a section in the language docs on containerization and so forth
11:09 Cabanossi left
sammers ok, I will dig around. thanks. 11:09
11:10 Cabanossi joined
sammers found it, "The @ character can also be used as a prefix to remove a scalar container" docs.perl6.org/language/containers 11:10
timotimo we might want to give the "Other sites" section on the sidebar of rakudo.org a litle do-over 11:11
there's still a link to the #perl6 reports, it links to the regular perlweekly instead of the p6weekly, it links to perl6maven which i think hasn't been updated in a long while? 11:12
and pm hasn't blogged on pmthium.com since 2015.02
huh, i never knew pm made pmwiki 11:13
11:36 cyphase left 11:39 Cabanossi left 11:40 Cabanossi joined
timotimo twitter.com/rauchg/status/712800259089391617 - build this for perl6. now. 11:40
wow, this is already more than a year old 11:42
i guess we're too late now 11:43
11:48 nwc10 joined
nwc10 daxim (who is also here) posted this on #austria.pm earlier and I don't think that he or anyone else has mentioned it: stackoverflow.com/questions/4361848...ft-strings 11:49
daxim++ 11:50
and whilst I've read it quickly, I'm still not sure (a) what should be the right behaviour (b) what Perl 6 says the right behaviour ought to be (c) what it actually does
and I must admit that also I don't *mind* what the discussion is, as long as someone has a sane answer by the time I need to use it :-) 11:51
given that right now I'm more worried about image processing pipelines, being CPU bound, and concurrency
than text processing.
(oh, and details of house building) 11:52
11:54 cyphase joined 11:57 pmurias joined 11:58 dogbert17_ joined 12:07 xtreak left 12:09 cpage joined 12:10 xtreak joined 12:11 xtreak left
TreyHarris samcv: I don't mean to burst your bubble--because I do think licensing metadata is very useful and your work is thankless--but are you familiar with many companies that have a particular and custom list of blessed licenses where license-checking is the entirety of their compliance? Because at the large companies I've worked at, the rule has either been "anything under an open-source license (using one of the 12:15
various blessed lists but not their own ad-hoc one) is okay for pre-release, for release you need to go through full review" or it's been "nothing is okay for any purpose, not even download, no matter what its purported license, until legal's okayed it". It may be the case that you work can turn "legal's okayed it for download at least" into a bot, but beyond that, I'm not sure "check to see if the license of
software X is on our list Ls; if so, allow" is any big company's FOSS SOP.
(Your other reasons why this is useful still obtain [pertain? I was never sure of the difference between the two in this mood], I just don't think "companies need to do license-exists-in-set checking" is a particularly strong one.) 12:17
12:17 dalek joined, ChanServ sets mode: +v dalek
robertle debian has machine-readbale copyright files, and it turns out that many of them are quite complicated, with the software in question being covered by a variety of licenses. so I guess license metadata needs to be powerful enough to express that... 12:21
sammers m: my $fam = "👩👩👧👦"; say $fam.contains("👩👩👧👦"); say $fam.contains("👩"); say $fam.contains("👧"); say $fam.contains("👦"); 12:22
camelia True
True
True
True
sammers nwc10 ^^^ 12:23
m: my $fam = "\c[WOMAN]\c[ZWJ]\c[WOMAN]\c[GIRL]\c[BOY]"; say $fam.contains("\c[WOMAN]\c[ZWJ]\c[WOMAN]\c[GIRL]\c[BOY]"); say $fam.contains("\c[WOMAN]"); say $fam.contains("\[GIRL]"); say $fam.contains("\c[BOY]"); 12:26
camelia True
False
False
True
12:27 jameslenz left 12:28 bjz joined
Geth Swapped META.info → META6.json in 1 dists in github.com/perl6/ecosystem/commit/9a90eab339 12:33
pmurias TreyHarris: if we have license metadata that's displayed by our module list at least it will encourage people to add a LICENSE file :)
[Coke] would like to again thank the perl6 community for defaulting to positive. 12:35
sammers m: my $fam = "\c[family: woman woman girl boy]"; say $fam.uninames; say $fam.contains("\c[woman]\c[zero width joiner]\c[woman]\c[zero width joiner]\c[girl]\c[zero width joiner]\c[boy]"); say $fam.contains("\c[woman]"); say $fam.contains("\[girl]"); say $fam.contains("\c[boy]");
camelia (WOMAN ZERO WIDTH JOINER WOMAN ZERO WIDTH JOINER GIRL ZERO WIDTH JOINER BOY)
True
False
False
False
TreyHarris pmurias: I said, other reasons given were valid AFAIK and I wasn't arguing against it--I support it. I just strongly believe in not making arguments for things you can't back up with data or reason. It dilutes the rest of your argument. 12:37
Surely you've had the experience of someone on teh Internets saying basically, "ah-hah! I just showed that a very minor ancillary point you made is technically wrong, therefore your entire premise is proved invalid. Q.E.D.!" 12:38
That's not logically valid either, but why make the unforced error? 12:39
sammers TreyHarris, what is wrong with requiring a license again? Can't someone still write a module and not include it on modules.perl6.org if they want? 12:42
TreyHarris sammers: are you replying to what i've written in the past 30 minutes? Or what I was saying about 14 hours ago? 12:43
in re public domain?
12:44 wamba joined
sammers yeah, just catching up. can you feel me in? 12:45
TreyHarris sammers: that is not an answer to my question. :-) Catching up on what I just wrote, or what I wrote about public domain yesterday? Because I have very different answers depending on which you were reacting to 12:46
sammers just asking about the last few comments on the licensing.
TreyHarris sammers: There's nothing wrong with requiring a license. 12:48
sammers: I didn't say nor imply that. I said when you are asked, "*why* require a license in a certain parseable metadata format?" that, "because companies will use it to help decide what modules to allow the use of" is not, I believe a strong argument. The other arguments in favor are better and sufficient. 12:50
clearer now? 12:51
sammers ah, thanks for spelling it out.. I see your point. I guess having consistency will eventually make it easier in the long run. although, just having the LICENSE text file could do the same thing... 12:52
jnthn As a data point, I'm currently on a project where I do have to care a bit about the licenses of things, and having that displayed in the module listing (or easily accessible in those results) would save a visit to the module repo. :) So having it in metadata would at least enable a little more laziness in my case. :-) 12:53
TreyHarris jnthn++ 12:54
jnthn Well, with the frontend to do so
TreyHarris _that_ is a good argument :-)
OS companies and cloud companies and hosting companies probably all would benefit. but the average company with Perl coders who want to use ecosystem modules in their code? I doubt it. 12:55
sammers also, it is becoming somewhat standard among other language module / packaging to include license in the metadata. Not sure if that is a good argument for, but it seems to be where everyone else is moving. 12:57
Ulti TreyHarris: where I work what license the library uses is incredibly important 12:58
I had to manually review our cpan deps among others
it was not fun
perl using the artistic license is not very helpful in this decade either if you have to talk to VC investors 12:59
TreyHarris Ulti: and the companies I've worked at as well. But the compliance groups didn't accept the LICENSE file on the basis of its existence alone; the idea that they'd accept a string in metadata seems extremely unlikely to me.
the very paranoid ones looked at the source code, where it came from, checked for fork history, etc.
Ulti depends how worried you are, if its another companies software then sure... but if its a cabal of OS developers we genuinely just take them at their word 13:00
though random OS contributor is not going to worry about ripping something off either
necessarily
TreyHarris: Im usually more worried with our inhouse code where people just copy paste from stackoverflow
pmurias Ulti: it the Artistic-2.0 license a problem too? 13:01
Ulti and then it turns out half the answers are essentially someones internal "solution" to the question with very little editing
TreyHarris right. the less-paranoid ones didn't require a lawyer get involved at all, so perhaps an internal module-installer than knew which licenses were allowed and spouted warnings if you tried to install a module that wasn't using a blessed license would be useful to those companies.
[Coke] IME, it's used to narrow the field, not guarantee you're clear.
Ulti pmurias: yeah because most investors know they should worry about licensing but dont know anything about it so unless you can summarise it they can just do something stupid and say blanket "no open source'
13:02 mcmillhj joined
Ulti which is kind of like kneecapping developers in the age we live in 13:02
and essentially not possible
[Coke] (e.g. I can safely ignore anything GPL'd on the list if I'm using it for $dayjob, but I could take an Artistic 2 license to legal for review)
Ulti TreyHarris: for us its more about saying what risk we do and dont accept, accepting that some developers mislabelled their stuff in the ecosystem is fine if its retracted we'd have to respond but saying we accept anytihng with licenses *blah* at module install time would go such a long way to limit how much work there is to do 13:03
[Coke]: for me GPL is ok so long as it doesn't have an A prefixed 13:04
TreyHarris my point: the metadata (meaning you can programmatically check the license without downloading the code itself, given that simply downloading the code may be objectionable depending on license) will help a subset of companies immensely, and is work those companies can't do themselves, and that's a good argument. I just doubt it will be widely used by other companies who simply employ programmers who want to 13:05
Ulti simply because that is murky for how we use things and most of the people who use AGPL have some intention to be awkward
TreyHarris use ecosystem modules, so that shouldn't be one of the arguments used in favor. But I think "cloud companies, OS companies, and companies that do packaging will really, REALLY benefit" is a strong enough argument by itself.
Ulti the issue is what do you do with weird and wonderful made up licenses 13:06
which is all academic software ever pre 2010
[Coke] Ulti: ... I would never use those for dayjob, probably.
sammers Coke: Charityware 13:07
13:08 Cabanossi left
pmurias having the weird (and also one made on purpuse to be annoying/stupid) licenses marked by our module browser seems helpfull 13:08
* purpose 13:09
Ulti zef giving a warning for things not on some config list of ok licenses would be cool
especially with trails of deps
13:09 Cabanossi joined, buggable left
Ulti you might check by hand the thing you want to install but probably not all the deps 13:09
I think we in theory have a requirement in our quality policy all devs do this, none of them do 13:10
at least not at point of authoring code with a new dep
TreyHarris heh, what license is sleepycat using these days? they wreaked havoc across wall street in the aughts (since wall street at the time were heavy Perl users, and if you used default tied hashes, you tended to use Berkeley DB whether you knew it or not) 13:11
ah, sleepycat was acquired by Oracle. Of course they were.
13:13 buggable joined, ChanServ sets mode: +v buggable
sammers Util, adding a white/black list of licenses to meta for zef would be useful too. but that might get a bit out of hand. 13:13
13:15 buggable left
Util sammers: s/Util/Ulti/ # An easy typo to make 13:15
yoleaux 19 Apr 2017 18:47Z <Zoffix> Util: there are some unmerged PRs that've been marinating for months. Do you mind merging them? github.com/MattOates/Text--Homoglyph/pulls
19 Apr 2017 18:51Z <Zoffix> Util: sorry, mistaken identity. :)
13:15 buggable joined, ChanServ sets mode: +v buggable
sammers I totally read Util, sorry Ulti! 13:15
pmurias m: my Int $foo = NaN; #is that supposed to work? we have a fudged test for that 13:16
camelia Type check failed in assignment to $foo; expected Int but got Num (NaN)
in block <unit> at <tmp> line 1
jnthn No, I don't believe it should 13:17
Assignment ain't meant to be that magical :)
TreyHarris sammers: if you mean as a local configuration zef can read and respond to and not as something pre-installed, I agree. (useful, and not "out of hand" i mean; trying to include a list, even a taxonomy like "bsd-like" or "redistributable" or "OSI-approved", would definitely get out of hand fast and isn't very useful I don't think.) 13:18
sammers TreyHarris, that makes more sense, having a family of acceptable licenses or something similar. 13:19
yeah, I guess the companies would be more concerned with the specific license types that they don't want. 13:20
no GPL, etc.
then again, if they need to do this for legan reasons then they really need a human looking at the licensing and making decisions. 13:22
s/legan/legal/
TreyHarris sammers: no, no... the company that installs zef can deal with the family of acceptable licenses; zef's maintainer shouldn't be in that business 13:24
sammers right 13:25
I agree
TreyHarris cool.
13:26 skids joined
Geth ecosystem: 7e9410b3c0 | (Jonathan Worthington)++ (committed using GitHub Web editor) | META.list
Add Concurrent::Progress.

See github.com/jnthn/p6-concurrent-progress for more information.
13:38
TreyHarris out of curiosity, what is the difference between modules hosted by the perl6 project in META.list and other ecosystem modules? 13:41
sena_kun TreyHarris, the owner, basically. Because some module is important for the whole ecosystem or for because of some other reasons, the modules hosted under perl6 have greater chances to survive if contributor by some reason abandon it. I am not a professor, though, but that's how I got it. 13:48
Ulti sammers: I dont think you should constrain what can and cant be in the ecosystem though 13:49
if anything you should add in billing for using the library :D 13:50
some nice paypal integration maybe
with kickbacks to core developers.... 13:51
yeah its unfortunate Util is more promenant in perl land, but I've used Ulti as a nick on IRC for about 15 years so not super keen to change it 13:52
13:52 raschipi joined 13:53 lowbro left
sammers Ulti, I agree. I haven't seen any mention of restriced licenses yet. Not sure if anyone was discussing that. 13:57
Ulti oh you mean a user level one rather than one built in for zef
sorry
sammers zef donate $5
13:59 cdg joined
TreyHarris Ulti: yes. metadata makes having a framework for such things possible, but making things possible does not oblige the core utilities to implement them. 14:10
14:11 nwc10 left 14:23 _ramix_ joined 14:24 nowan left, _ramix_ left 14:27 nowan joined 14:28 bjz left 14:31 cdg_ joined 14:32 cdg left 14:36 wamba left 14:39 Cabanossi left, Cabanossi joined
raschipi TreyHarris: Would something like Debian machine readable copyright file solve these problems? www.debian.org/doc/packaging-manua...ormat/1.0/ 14:42
14:44 astj joined 14:49 astj left 14:53 curan left, curan joined
SmokeMachine if Im creating a function like this: my &new-func = &pure-func1 ∘ &pure-func2; How could I "annotate" the new-func as pure? 14:55
skids m: my &f = sub { }; &f.HOW.^methods.say 14:56
camelia No such method 'gist' for invocant of type 'NQPRoutine'
in block <unit> at <tmp> line 1
skids m: my &f = sub { }; .name.say for &f.HOW.^methods
camelia archetypes
new
new_type
add_fallback
compose
roles
role_typecheck_list
concretization
is_composed
setup_junction_fallback
find_method_fallback
has_fallbacks
submethod_table
private_method_table
invocation_attr_name
parents…
skids m: my &f = sub { }; .name.say for &f.^methods 14:57
camelia <anon>
<anon>
soft
<anon>
<anon>
yada
perl
<anon>
<anon>
<anon>
onlystar
candidates
unwrap
wrap
<anon>
multi
package
leave
<anon>
<anon>
<anon>
<anon>
<anon>
<anon>
<anon>
<anon>
cando
fire_if_phasers…
moritz m: my $x = sub ($x) { 2 * $x }; trait_mod:<is>($x, :pure);
camelia ( no output )
moritz m: my $x = sub ($x) { 2 * $x }; trait_mod:<is>($x, :pure); say $x
camelia sub ($x) { #`(Sub+{<anon|50240176>}|34992320) ... }
moritz SmokeMachine: ^^
SmokeMachine moritz: good one!
skids Ah, I was looking for a set_pure. 14:58
moritz SmokeMachine: it helps that I implemented it initially :-)
(iirc)
SmokeMachine m: my $x = sub ($x) { 2 * $x }; trait_mod:<is>($x, :pure); say $x.IS_PURE
camelia True
skids But doesn't pure really need to be known at compile time to do anything?
SmokeMachine skids: I think you are right... 14:59
should make sense: my &new-func is pure = ... ?
jnthn maybe my constant &new-func = ... 15:00
Would work out
Since then it's set at compile time
skids
.oO(Hrmm... a module full of derogatory do-nothing trait mods for cranky coders)
15:04
15:05 wamba joined
moritz skids: is superfluous, is stupid, does shit, stuff like that? 15:09
moritz not good with derogatory
jnthn
.oO( is too-clever-for-you )
skids Yeah. "is pointless", "is slow", "is why-i-cry-at-night" 15:10
15:11 isBEKaml joined
jast is pythonic O:) 15:11
skids ACME namespace, of course.
15:16 curan left 15:20 khw joined 15:21 eliasr left
Ulti is dead but for actually doing tombstone testing to see if the function is ever called and delete it otherwise 15:31
is perl via use Tautology 15:32
method is method
Geth Swapped META.info → META6.json in 1 dists in github.com/perl6/ecosystem/commit/7c438f2881 15:34
skids For that you need scope declarators
"stupid method is stupid"
15:38 Cabanossi left 15:39 Cabanossi joined 15:42 geekosaur left 15:44 geekosaur joined 15:45 lauct joined 15:47 araraloren joined
araraloren Hi ~~ 15:48
m: class I does Iterable { has @.a = <1 2 3>; method iterator() { @!a.iterator(); }; }; .say for I.new; my $i = I.new; .say for $i; 15:49
camelia 1
2
3
I.new(a => [IntStr.new(1, "1"), IntStr.new(2, "2"), IntStr.new(3, "3")])
araraloren Can I make `for` work on scalar variable ? 15:50
15:51 leont joined
titsuki bisectable: ["1:0.470572470261861", "2:0.579981821025709"]>>.split(":", :skip-empty).sort({ $^b[0] <=> $^a[0] }).perl.say; # sorry 15:52
bisectable6 titsuki, Bisecting by output (old=2015.12 new=d22303d) because on both starting points the exit code is 0
titsuki, bisect log: gist.github.com/5a8de29a0b9750d2da...74221658e6
titsuki, (2016-12-28) github.com/rakudo/rakudo/commit/43...296ecab5be
15:54 astj joined, sufrostico left
jnthn araraloren: Would need to be `for |$i` 15:55
araraloren m: class I does Iterable { has @.a = <1 2 3>; method iterator() { @!a.iterator(); }; }; .say for I.new; my $i = I.new; .say for |$i;
camelia 1
2
3
I.new(a => [IntStr.new(1, "1"), IntStr.new(2, "2"), IntStr.new(3, "3")])
skids araraloren: Protecting from iteration is kinda the point of a $.
araraloren Seem like does not work.. 15:56
jnthn Hm, I thought that'd do it
skids @$
araraloren m: class I does Iterable { has @.a = <1 2 3>; method iterator() { @!a.iterator(); }; }; .say for I.new; my $i = I.new; .say for |@$i;
camelia 1
2
3
I.new(a => [IntStr.new(1, "1"), IntStr.new(2, "2"), IntStr.new(3, "3")])
araraloren m: class I does Iterable { has @.a = <1 2 3>; method iterator() { @!a.iterator(); }; }; .say for I.new; my $i = I.new; .say for @$i;
camelia 1
2
3
I.new(a => [IntStr.new(1, "1"), IntStr.new(2, "2"), IntStr.new(3, "3")])
jnthn Well, @$ will only work if you implement .cache in your class too
But yes, as skids said, the point of $ is "it's an item"
araraloren But how I.new works fine 15:57
jnthn Assignment into a Scalar really is putting the value into a container
Becuase you didn't put it into a scalar container
my \i = I.new; .say for i; # also would work
m: class I does Iterable { has @.a = <1 2 3>; method iterator() { @!a.iterator(); }; }; my \i = I.new; .say for i 15:58
camelia 1
2
3
jnthn Since there's no scalar container involved there either, it's just a direct storage that doesn't apply any context
araraloren jnthn, so, there no way to do that except I use a reference refer it...
15:58 astj left
jnthn We go to quite some effort to make `for $foo { }` be a single iteration consistently at the language level 15:59
araraloren OH..
Ok, thanks all the way
jnthn So it's independent of what .iterator implementation you write 16:00
In fact, I don't think there is one you could write that would defeat it since it happens "a level up" from that
e.g. map sees the Scalar container and doesn't even call .iterator
araraloren yeah, may be a name-better method would be better 16:01
raschipi The sigil works like a contract. If you put it into a scalar container, the language will treat is like a single thing.
araraloren em, thank you all! 16:03
16:06 pat_js joined 16:07 mcmillhj left 16:08 astj joined
TreyHarris araraloren: just want to make clear since it wasn't explicitly mentioned and was probably obvious to the rest of us but might/might not have been obvious to you: 16:08
m: class I does Iterable { has @.a = <1 2 3>; method iterator() { @!a.iterator(); }; }; .say for I.new; my @i = I.new; .say for @i; 16:09
camelia 1
2
3
1
2
3
araraloren Em, I dont't know sigil will affect keyword such as **for** behavior .. 16:11
16:12 astj left 16:14 domidumont left
araraloren It's just like a fixed content ? 16:15
raschipi araraloren: why did you want to use a ´$´ scalar variable instead of an ´@´ array variable? 16:27
araraloren I make a class has multi line string , so I want use for traverse it. 16:32
raschipi Sure, but why the $ instead of the @? 16:34
araraloren I think a variable is a scalar 16:36
TreyHarris I suspect: he wants to call other methods on the object as well as iterating it?
16:36 dakkar left
araraloren Er, variable or object .. I confused, that I.ew 16:37
I.new
TreyHarris my @j = I.new does not allow non-iterator methods you defined in class I to be called on @j. Is that what you are bothered by? 16:38
araraloren I think I understand it, I create a object and rakudo will treat them as scalar when I use a $ refer it, or @ as array ?.. 16:40
16:41 cowens joined, zengargoyle joined 16:43 astj joined
raschipi araraloren: yes, but you have to choose one of the two. 16:43
16:43 John[Lis` joined
zengargoyle why did i (a long time ago) use the '.s' in this? : my Buf $b = do { my $f = 'empty.dat'.IO.open; $f.read($f.s) }; 16:43
araraloren Em, raschipi thanks, Night everyone..
zengargoyle oh, probably reading size bytes... 16:44
16:44 araraloren left
zengargoyle and now failing tests probably due to IO changes: No such method 's' for invocant of type 'IO::Handle' 16:44
actually a Dubious test error, the tests still pass for some reason. 16:46
16:47 John[Lisbeth] left, astj left
zengargoyle is this fixable now, or should i wait for IO stuff to settle before worrying about it? 16:47
TreyHarris (I personally am curious what you'd do with the case I mentioned, the class about with a 'method bang { say "boom" }'; if you assign 'my $i = I.new; $i.bang' works, but 'my @i = I.new; @i.bang' does not. The correct answer is "expose the iterator separately so that iteration is all that it does and let the thing that needs to go boom have a has-a relationship to the iterator", right?) 16:48
zengargoyle travis-ci.org/zengargoyle/Text-For.../226469290 16:50
cowens has anyone successfully compuled rakudo on Windows 10 in WSL? I get “/home/cowens/rakudo-star-2017.01/install/bin/moar: error while loading shared libraries: libmoar.so: cannot enable executable stack as shared object requires: Invalid argument” 16:51
El_Che cowens 16:52
yes 16:53
github.com/nxadm/rakudo-pkg/releas...2017.03_03
use the ubuntu 16.04 packages and run /opt/rakudo/bin/fix_windows10 16:54
github.com/nxadm/rakudo-pkg/blob/m..._windows10
"execstack -c libmoar.so" in short
16:55 mcmillhj joined 16:58 domidumont joined
cowens thanks 17:01
El_Che I am not much of a windows user, so if you use the pkg feedback is appreciated 17:05
17:08 Cabanossi left 17:09 Cabanossi joined 17:11 titsuki_ joined 17:12 titsuki left 17:14 Sound left
cowens Not much of a Windows user either, but I am using a Windows 10 box as a portable monitor 17:15
I thought I might as well get Perl 6 on it
El_Che hehe
I thought that since I already had Ubuntu packages, they should work 17:16
the mostly do :)
they probably add the missing capability later on
so far it seems it's not needed by rakudo
cowens My understanding is no one should be using it anymore 17:17
it is a security hole
El_Che rakudo? :) 17:18
cowens libmoar.so requiring an executable stack
it probably doesn’t
17:18 pierrot left
cowens but leaving it with an executable stack is a security hole 17:18
based on what I was reading
El_Che true
17:18 pierrot joined
El_Che I'll ping kanathan when he's around 17:18
good point
[Coke] I believe the issue really needs to be fixed upstream. 17:19
cowens the execstack -c is clearing the requirement
El_Che yes, I know what it does, I just never questioned why it had that on linux
good point 17:20
jnthn: in case you're awake. "execstack -c libmoar.so" is needed to make it work on Windows. Shouldn't it be the default (cowens++)? 17:22
[Coke]: define upstream
[Coke] moarvm uses 3rd party libs. Pretty sure this is coming in via one of them. 17:25
El_Che I see
[Coke] hurls github.com/MoarVM/MoarVM/issues/470 17:26
Geth Swapped META.info → META6.json in 1 dists in github.com/perl6/ecosystem/commit/915406ad9e 17:34
17:35 Sound joined, Sound is now known as Guest47447 17:36 Guest47447 left 17:40 eliasr joined
jnthn El_Che: "On Windows" - as I understand it, this only affects the Linux/Windows integration thing, not Windows builds, and as [Coke]++ already noted it comes in via dyncall, and afaik they already agree it wants fixing and are working on doing that. 17:44
not *native* Windows builds, I should have said 17:45
17:45 ChoHag left
jnthn If you can build libffi on the Linux/Windows thingy, then you can instead configure MoarVM to use that instead (you'd have to install or build the library yourself) 17:45
(If it's available in the package manager then it's even easier, though probably needs the -dev) 17:46
Which I'd imagine avoids the problem in the meantime
Provided libffi doesn't have the same problem :)
El_Che jnthn: yeah, [Coke] pretty much was spot on 17:47
in the mean time point people that pop on the channel and want to run rakudo on WSL to my package to to the fix I use: github.com/nxadm/rakudo-pkg/blob/m..._windows10 17:49
jnthn Ah, cool :)
El_Che++ # docker images 17:50
Dinner time; bbl
El_Che jnthn: they are actually images to build rakudo (the pkgs are in released). Have a look at the .travis.yaml to see how they are built 17:51
17:54 TEttinger joined 17:55 espadrine joined 17:56 cowens left 18:06 zakharyas left 18:10 cdg_ left 18:12 ChoHag joined
samcv morning all :) 18:16
raschipi g'day 18:17
18:17 domidumont left
samcv oo yay up to 42.2% modules with license fields now. :) 18:18
so close to above 50% i can almost taste it
raschipi When you can finally taste it, tell us what it tastes like. 18:19
samcv ok :) 18:20
jnthn
.oO( chicken! )
jnthn added a new module today with a license field, and notes that everyone can help the percentage by doing that ;-) 18:21
samcv jnthn, i just checked it right now :) 18:22
thanks
jnthn Phew, I got it right :)
samcv was literally looking at your META6.json for the new submisssion 2 secs ago
jnthn Updated SSH::LibSSH to use Concurrent::Progress today also 18:23
So now you can scp a file up/down and get progress reports :)
zengargoyle hrm, travis just croaked installing panda (which worked a few minutes ago).
travis-ci.org/zengargoyle/Text-For.../226508120 18:24
samcv traviiiiiiiiissssssss 18:25
zengargoyle i think my old travis config is too old. Your branch is up-to-date with 'origin/master'. 18:26
error: pathspec 'nom' did not match any file(s) known to git.
panda for nom not found
Installing latest panda instead.
samcv travis-ci.org/zengargoyle/Text-For...08121#L967 yeah
maybe try zef?
masak I'd like to imagine above-50% modules ĝith license fields tastes a little bit of umami 18:27
with*
masak .oO( down! bad Esperanto keyboard layout! )
zengargoyle yeah, i'll admit to not keeping up for quite a while and recon some best-practices have changes a bit. is there and actual howto for module creation yet? 18:28
my stuff is still doing build your own rakudo via rakudobrew and follow 'nom'. 18:30
samcv zengargoyle, you could try building zef like this github.com/scriptkitties/p6-Hash-M...travis.yml
jnthn zengargoyle: I think there's one linked from the top of modules.perl6.org
18:34 john51_ left, john51 joined
zengargoyle jnthn: cool, like license it was all a bit hand-wavey since i last looked. just accepted a couple of pull-requests for some META6 changes and *poof* travis goes bonk on me. (i switched to zef for myself long ago...) i'll take a fresh glace at the docs. 18:34
18:37 tharkun_ joined 18:38 Juerd_ joined, cibs_ joined, bartolin_ joined, Juerd_ is now known as Juerd 18:39 jantore joined, mcmillhj left 18:42 mcmillhj joined
zengargoyle strange thing is, that Text-Fortune module got built and then failed some IO related tests just an hour or so ago and now it doesn't even get past the install panda phase. 18:43
i think if i wait a while it will magically start working again. :P 18:46
18:47 grumble left
samcv zengargoyle, also try putting "nom" as one of the perl6's to test. that tests against the dev branch too 18:47
or you can always put in the last version it passed under
zengargoyle death was in panda dep File::Which
samcv it pases for me 18:48
using zef at least 18:49
zengargoyle yeah, my travis.yml says 'latest' so i'm going to blame this on upstream things ATM. 18:51
and blame it on my horrible luck of always running into the weird. 18:53
18:53 grumble joined
zengargoyle hail Eris! 18:56
sena_kun zengargoyle, Eris? From some blessed world or I mistook your reference? 19:00
timotimo nah, zengargoyle is just a discordianist 19:01
19:01 zakharyas joined
sena_kun ah, okay then 19:02
timotimo (is my guess)
geekosaur or referencing same
timotimo still sour about ddate being thrown out of coreutils 19:03
sena_kun well, I would be VERY impressed if it is Eris I thought about. Nevermind me, just peeked here a little before going to bed~
19:06 leont left 19:10 sena_kun left
Ulti m: say "hello" . "world" 19:17
camelia 5===SORRY!5=== Error while compiling <tmp>
Unsupported use of . to concatenate strings; in Perl 6 please use ~
at <tmp>:1
------> 3say "hello" .7⏏5 "world"
Ulti m: say "hello" ."world"
camelia 5===SORRY!5=== Error while compiling <tmp>
Malformed postfix call (only alphabetic methods may be detached)
at <tmp>:1
------> 3say "hello" .7⏏5"world"
Ulti m: say "hello"."world"
camelia 5===SORRY!5=== Error while compiling <tmp>
Quoted method name requires parenthesized arguments. If you meant to concatenate two strings, use '~'.
at <tmp>:1
------> 3say "hello"."world"7⏏5<EOL>
Ulti one of those is not like the others
:)
is the Malformed postfix call way too common? 19:18
raschipi It's common because people want to split it at the end of the line or align it with other lines. 19:19
m: say "hello"␤."world"
camelia 5===SORRY!5=== Error while compiling <tmp>
Malformed postfix call (only alphabetic methods may be detached)
at <tmp>:2
------> 3.7⏏5"world"
Ulti samcv++ for the Atom syntax hilighting improvements awwaiid++ for the cool linting 19:20
19:20 yqt joined
samcv you're welcome Ulti 19:20
rindolf m: say "Hello"
camelia Hello
samcv MadCapJake surfaced yesterday. but i feel i may have been too late in my PR which would have his module install the new language-perl6 and then disable the old one 19:21
Ulti samcv: do you know if that will ever get picked up by VSCode ? or is that another highlighter?
samcv i'm sure it uses the same highlighter. otherwise MS would be dumb
because why not be lazy
Ulti samcv: yeah he left a relatively :( commit on his repo 19:22
samcv yeah
Ulti :(
samcv github.com/MadcapJake/language-per...-297557267
ok so we have another 6months to go until next resurface :'(
and he added a note to the README.md on github. but unless the package actually gets released 19:23
nobody installing packages using atom will see it
Ulti in fairness if someone took anything Ive ever done and ran with it I would consider that mission accomplished.... its yet to happen
samcv heh
yeah he did a lot of good ground work for sure. :)
19:23 Cabanossi left
samcv he made a twitter post. made a comment on the github. now. hm 19:24
Ulti samcv is the issue that both are listed in the Atom installer?
19:24 Cabanossi joined
samcv yes 19:24
so people are still using his. but i made a PR that fixes it basically. he needs to merge it then do a release 19:25
and then when people install his, it will install the new one and disable the old one, automatically
Ulti yeah I did have to double check what was up but the "perl6" officialness of the GitHub user helped prompt me to remember what was going on
samcv heh
Ulti ahh right
samcv took me a fair amount of hours to get that working too
since atom doesn't let you have dependencies on atom packages
only on node packages. so i have a node package as a dependency then a main.js file which loads that node package, and then it installs the new package then disables itself when that's done 19:26
19:26 Ven joined
samcv what a pain 19:26
19:26 Ven is now known as Guest68828
samcv i mean not that hard when you've figured it out. but way harder than it ever should be 19:27
Ulti you should make one thats even more meta so that it uses the dependency names to work out what to disable or something :) feels like standard npm style practice 19:28
I guess another issue is its between more than one authority too
its one thing to disable your own module from the same authority but something else to just throw off someone elses
samcv hm Ulti i found this marketplace.visualstudio.com/items...om-grammar 19:29
this was released in january though it has an update that says since last update their thingy aims to have feature equivilance
Ulti, i mean i could have published atom-language-perl6 to npm... but then i'd have to force disable the language-perlfe grammar. at least this way if they don't have internet it still works, if somehow they install it and get disconnected 19:30
Ulti they support p6 code already I just wasnt sure if its their own super basic stats/perl style markup
samcv totally seamless. installs new one, disables old. perfect handoff
it's probably the same as atom's
that's a nice enough thing to try doing today i guess. 19:32
.o(maybe i should publish on npm just to make sure i keep language-perl6)
and nobody steals it
Ulti probably worth it given you have the *official* stamp for that name 19:33
tbrowder samcv: i've been noticing the msgs to non-conforming modules and i noticed you refer to META, you ought to be mentioning changing to META6... 19:34
samcv msgs?
well if they have a META.info the commit message says META.info. if the PR is for a META6.json that is what's in the title of the PR 19:35
Geth Swapped META.info → META6.json in 1 dists in github.com/perl6/ecosystem/commit/d47d922fb4
tbrowder well, emails coming from somewhere about ecosystem and non-conforming modules license-wise
samcv but it says the name of the actual file in the repo 19:36
so if they have META.info, then the message mentions that, if it's META6.json it mentions that
i suppose could have been cool to rename it, but i didn't want to mess up zoffix's automated thingy 19:37
or even know about that unti a few days ago
tbrowder speaking of all the ecosystem cleaning, i have a module that is soon to be deprecated and replaced by another. is there a way to get the deprecated module removed at some point? 19:39
i think that" 19:40
i think that's almost impossible with cpan.
19:41 ufobat___ left
samcv uh you remove it. just make sure you use uh 19:41
design.perl6.org/S22.html#superseded-by
and the other one use design.perl6.org/S22.html#supersedes 19:42
(the new one)
tbrowder thanks! 19:45
samcv oh heh. atom-language-perl6 has syntax highlighting for META.info. gotta make some changes to that 19:46
almost forgot about that one
Ulti, how to install VSCode extensions/packages/modules/things 19:54
19:57 TBSliver left 20:01 raschipi left 20:08 Cabanossi left 20:09 Cabanossi joined 20:15 hankache joined
hankache hola #perl6 20:17
timotimo hola 20:19
hankache hi timotimo
20:21 cdg joined
samcv hola hankache 20:25
hankache hi samcv 20:26
20:30 mcmillhj left
pmurias where can I get the unicode data that moar builds it database from? 20:31
timotimo there's tools in moarvms tools/ folder fro that
and also, samcv has a repository named UCD
it also has a fetcher script, and those tools in there are going to become the "new" unicode database generation stuff in the future 20:32
samcv uh. which data do you want pmurias
our scripts generate C code. if you want some specific data a i can help you out
or do you mean the raw text files?
pmurias I found the fetchers scrips, ucd2c has a comment with a broken url 20:33
samcv yes ignore that comment
timotimo oh, that's not so great
samcv fetcher script here github.com/samcv/UCD i think is more updated
pmurias samcv: if I fetch the raw data, I can just look at what ucd2c is using an replicate the process to get the unicode info for my js backend 20:34
samcv kk 20:35
i'd use the fetcher script in the UCD repo
since it has less issues 20:36
20:36 zakharyas left
awwaiid Ulti++ for giving me undeserved karma 20:37
yoleaux 25 Mar 2017 20:45Z <[Coke]> awwaiid: if they can check out github.com/perl6/doc/issues/1247
samcv is the latest revision or whatever 20:38
.o(i think Emoji 5.0 was released, haven't updated our things for it yet?) but that's fine should add in support in the next few months, unicode says 20:39
well implementers should i mean, in the 2-3+ months after the full final spec is published (ideally)
20:42 hankache left 20:47 clasclin joined 20:49 setty1 left 20:51 labster joined, Guest68828 left
clasclin I'm curious about a subroutine that appears in the docs 'parse-names' Is this subroutine implemented in rakudo-star-2017.01? when I try on REPL 'BUTTERFLY'.parse-names I get Undeclared routine and the suggestion is about 'parse-base' 20:54
timotimo no, it's newer than that
sorry
clasclin Oh, it's ok. Thanks 20:56
20:59 wamba left
samcv bisectable6, 'BUTTERFLY'.parse-names 21:01
bisectable6 samcv, Bisecting by exit code (old=2015.12 new=aa23a91). Old exit code: 1
samcv i think like two months ago?
bisectable6 samcv, bisect log: gist.github.com/89ec676022df2fccaf...bc838111fe
samcv, (2017-03-02) github.com/rakudo/rakudo/commit/5c...3d5f350676
samcv newer than march for sure
timotimo samcv: i'm just now running UCD-gen again
pmurias samcv: will the UCD module be used by the ucd2c.pl Perl 6 replacement?
samcv yeah gotta be at least 2017.03
21:01 skids left
samcv yeah 21:01
that is the plan pmurias
pmurias, also if you run UCD-gen.p6, use --no-names to make it faster 21:02
or uh. --less=1000 to make it even more faster-er
--no-names will cut build time in half, and --less=1000 even more so
timotimo it takes 4:35 for the whole thing at the moment
samcv without any command line options?
timotimo aye 21:03
samcv pmurias, so if you can fit your generation of your data into UCD-gen.p6 that would be swell
nice timotimo
timotimo oh
i lied
it's --names-only
samcv hehe
timotimo which part do i need to develop the "give index, get cp text" C code?
samcv yeah that seemed like 1/2 the time
--names-only
timotimo that's good
it's snippets/names/tail.c where i'd be writing code, yeah?
21:03 espadrine left
samcv one of those files. lemme check 21:04
yeah
timotimo make names is good
samcv dusts off the 'ol UCD repo. i knew i had a readme :)
timotimo it does, aye 21:05
samcv POD6 ftw
21:05 AlexDaniel joined
samcv running pod-render.p6 *should* genenerate the pod perfectly i believe 21:05
looks like it uses pod from "UCD-gen.p6", "lib/UCDlib.pm6", "lib/bitfield-rows-switch.pm6";
21:05 ChoHag left
timotimo huh, how come i don't get debug symbols in build/names 21:06
at least gcc doesn't think there are any
samcv did you do make names-debug 21:07
timotimo oh, i didn to
why is that not the default :D
samcv heh 21:08
it is now 21:10
21:11 clasclin left
timotimo wow holy hell this is spittin' out some hot garbage 21:12
U+7742 'VARIATION SELECTOR-256' 21:13
is this the last one we have? like, at all?
because after that it seems to be reading from memory that's not meant to be read by this
samcv uh 21:14
i get that too yes
timotimo nah,there's supposed to be lots and lots after that
at least from HIGHEST_NAME_CP
samcv no i'm sure U+F71E 'B2XLETTER' is a real codepoint 21:15
no bamboozle
m: say "\c[VARIATION SELECTOR-256]".ord.base(16)
camelia E01EF
timotimo i like EZLETTER 21:16
EZ EVERY TIME
samcv be happy it gets up to E01EF
or something. i don't know
21:17 jonas1 left
samcv u: U+635 21:17
unicodable6 samcv, U+0635 ARABIC LETTER SAD [Lo] (ص)
samcv U+635 'ARABIC LETTER BEHEH'
close
like 25 off
21:17 ChoHag joined
samcv oh timotimo i think it doesn't skip certain sections 21:17
though also the array hm 21:19
idk. well regardless that's not what you have to fix timotimo
timotimo yeah, it shouldn't put any into our compressed cp array
for the to-be-skipped sections
samcv yeah it doesn't
all you need to worry about is that you can get the name at a certain number
timotimo right, we're already generating a lookup table for fast skips, right? 21:20
samcv instead of having to do it all in one stream
yes
name_index i think
yep that's it
it's the first data in the names.c file
timotimo and get_cp_name is the function i'm going to improve
samcv should be every other name 21:21
yep
so i would focus on only going up to the first correct cp
err last correct
u: U+F53 21:22
unicodable6 samcv, U+0F53 TIBETAN LETTER NA [Lo] (ན)
samcv u: U+81E
unicodable6 samcv, U+081E SAMARITAN VOWEL SIGN OVERLONG AA [Mn] (◌ࠞ)
samcv u: U+195
unicodable6 samcv, U+0195 LATIN SMALL LETTER HV [Ll] (ƕ)
21:22 bjz joined
samcv u: U+90 21:22
unicodable6 samcv, U+0090 <control-0090> [Cc] (control character)
timotimo ah the main function is already using that to get each codepoint
samcv err. hm. anyway. or not even that. just get the ones at the offset
21:23 Cabanossi left
timotimo the function already does go through a "predefined bunch of areas" function 21:23
before it attempts to go through our compressed array
samcv yeah as long as we can access individual names, i can fix the code which corrects the offset/substitutes created names with sprintf like for control codes
21:24 Cabanossi joined
samcv yeah. so it checks the offset with get_uninames, if it has an offset it gets one back. if it gets 0, then it knows it generated the name using sprintf 21:24
and doesn't have to query 21:25
21:25 mcmillhj joined
timotimo oooh, it's actually using get_uninames in the main loop 21:26
that's bogus, isn't it?
samcv so you could take out get_uninames, and just start from 0 and try and get the names stored linearly (in the data structure) and that is sufficient for the work you need to do
timotimo right
ah, that's not bogus 21:27
samcv yeah
just doesn't yet have all of the sections without names in it yet
so not all offsets are correct after a certain point
timotimo get_cp_name has a return value but no return statement
samcv that's just a test function for debugging 21:28
since it's only used for getting 0x20 SPACE atm. and printing out some info
21:29 captain-adequate joined
samcv hmm i think get_cp_name was an attempt at getting a specific codepoint 21:29
as opposed to iterating through from start to finish
timotimo right
that's the one i want to work on
samcv i'm sure it doesn't work XD
so replace anything you want
yup yup 21:30
i'm gonna get some more tea
tyil can you set a minimum rakudo version in the meta6.json? 21:31
it seems Config::TOML fails tests on 2017.03, and I have a module depending on it, so I'd like to clearly specify it requires .04 21:32
can also put it on the readme file, but it might be nicer to inform people when trying to install it with zef that may need to upgrade 21:33
timotimo only a minimum language version
you can put a version check into the mainline code and "note" a warning
tyil should I open a PR on the meta6 spec to see if people are interested in adding such a thing?
timotimo we're hoping to encourage more implementations of perl6 21:34
putting a "minimum-rakudo" thing into the meta6 sounds like a terrible idea for that
and it's already good that the module fails its tests on a too-old rakudo
21:34 raschipi joined, kurahaupo joined
timotimo on top of that it could output "tests are known to fail with the rakudo version you have running" 21:35
tyil what about an object for minimums, { "rakudo": "2017.04", "other-implementation": "whatever" }
21:36 mcmillhj left
Ulti awwaiid: are you a different person or just modest? <___< 21:44
samcv: no idea how to do stuff in VSCode sorry 21:45
samcv: github.com/sergot/vscode-perl6 21:46
21:48 rindolf left
tyil you can uninstall it and get a better editor 21:55
raschipi One that doesn't use electron, of course. 21:56
tyil vim :>
timotimo eclipse 21:58
tyil [triggered] 22:02
raschipi Eclipse wouldn't be my choice, but at least it's not cancer. 22:03
timotimo github.com/meh/cancer ? 22:04
raschipi github.com/electron/electron
tyil tfw using atom for my perling, an advice of eater and samcv 22:05
on advice of*
ugexe uses sublime 3 22:06
tyil thats proprietary software
that hardly counts as usable in any perspective :p
22:07 Cabanossi left 22:08 pmurias left 22:09 Cabanossi joined 22:10 dct left 22:11 ZofBot joined, ChanServ sets mode: +v ZofBot 22:12 huggable joined, ChanServ sets mode: +v huggable 22:13 geekosaur left, cgfbee left 22:14 sunnavy left, nine joined, smash joined 22:15 damnlie joined 22:16 sunnavy joined, DrForr joined 22:17 revdiablo joined, hobbs joined, hobbs left, hobbs joined, obfusk joined, dylanwh joined, geekosaur joined, kst` joined, lucs joined, ccakes joined, cgfbee joined 22:18 avar joined, avar left, avar joined 22:19 sQuEE joined 22:20 j75 joined, kshannon joined
Geth ecosystem: 118d742744 | cygx++ (committed using GitHub Web editor) | META.list
Project maintenance

Change META.info to META6.json and remove some bitrotted modules
22:20
22:20 raschipi left, cxreg joined 22:21 PotatoGim joined, skids joined
samcv i'm idk why you'd use VSCode, but i'm all up for making perl 6 syntax highlighting if somebody can figure out how 22:26
and releasing it with the releases of the main thing.
nap &
22:28 bjz left 22:29 zapwai joined 22:46 ugexe joined 22:50 mcmillhj joined 22:54 mcmillhj left 22:55 committable6 left, bisectable6 left 22:58 committable6 joined, evalable6 joined, bloatable6 joined, bisectable6 joined, quotable6 joined, ChanServ sets mode: +v committable6, ChanServ sets mode: +v evalable6, ChanServ sets mode: +v bloatable6, ChanServ sets mode: +v bisectable6, ChanServ sets mode: +v quotable6, unicodable6 joined, ChanServ sets mode: +v unicodable6, benchable6 joined, ChanServ sets mode: +v benchable6, statisfiable6 joined, ChanServ sets mode: +v statisfiable6 23:01 pochi_ joined 23:03 azawawi joined
azawawi hi 23:03
timotimo greetings
23:03 pochi left 23:12 John[Lis` left 23:28 cdg left 23:30 AlexDaniel left 23:34 imcsk8_ left, imcsk8 joined 23:35 SCHAPiE joined
Geth Swapped META.info → META6.json in 1 dists in github.com/perl6/ecosystem/commit/9dc9346b63 23:36
ecosystem: d449c0d0ea | (Ahmad M. Zawawi)++ (committed using GitHub Web editor) | META.list
[Parse::Selenese] META.info -> META6.json
23:45
23:46 pat_js left 23:49 azawawi left 23:51 cpage_ left