»ö« 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
|